第224期科技3分钟浏览 48
发布 · 杂学书库 别馆
同一个问题问聊天机器人两次,答案为什么会不一样?
聊天机器人按概率挑选下一段文字再接着写,所以即使把温度调到0,答案也可能分叉
对同一个问题问AI聊天机器人两次,答案常常不一样。这不是故障,而是因为它按概率一次挑一小段接下来要写的文字,再接着往下写。就算把名为温度的设置值一路降到0,答案也不会完全相同。
按概率挑选文字小段
聊天机器人不是一次写出整篇文字。它会看目前为止写下的内容,为接下来可能出现的每一小段文字,按合适程度计算出概率。这样的小段叫作token。然后它按这些概率挑出一个,接在文字末尾,再不断重复这个过程。
如果第一次挑选就出现了不同的小段,后面的句子就会全都改变。这有点像从同一个起点扔出的纸飞机,被一缕风吹成了不同的弧线。
调低温度,摆动就变小
开发者使用聊天机器人时可以调节的数值之一是温度(temperature)。OpenAI的API文档说明,这个值在0到2之间,像0.8这样较高时输出更随机,像0.2这样较低时输出更集中、更稳定。
数值越低,概率高的小段被选中的次数越多。设为0时总是选最高的那个候选,所以在理论上,同一个问题应该总是得到同一个答案。
温度为0也不相同
但是,Thinking Machines Lab在2025年9月发表的文章里,用开源模型Qwen3-235B,在温度0下把“Tell me about Richard Feynman”这个问题问了1,000次。结果出现了80种不同的答案,最常见的那种也只出现了78次。前102个token全部相同,到第103个才分开:992次接着写“Queens, New York”,8次接着写“New York City”。
文章解释的原因是:服务器同时处理的请求数量不同,计算顺序就会改变,由此产生极小的数值差异。把计算方式固定之后,1,000次的答案全部相同。所以,聊天机器人的回答里如果有必须一字不差的部分,最好另外保存下来。
聊天机器人按概率写作,同一个问题也会得到不同的答案,把温度降到0也不保证完全相同。
整理与参考笔记 · OpenAI API文档、Thinking Machines Lab(2025). 温度的说明来自OpenAI的API文档,温度0的实验来自Thinking Machines Lab 2025年9月的文章。这只是一种开源模型的结果,不同服务可能有所不同。
小测验