你有没有发现一个诡异的现象:同一个 AI,同一句话,你问两次,出来的答案居然不一样?
上一篇我们聊了 Prompt——你说的话就是给 AI 写的程序。但就算你把 Prompt 写得一模一样,AI 的回答每次都有微妙的变化。有时候措辞不同,有时候思路不同,有时候甚至结论都不一样。这背后有很多因素,比如采样方式、随机种子、模型版本和产品设置;其中最典型、最容易理解的一个参数,叫 Temperature。
Temperature 是什么
Temperature 翻译过来就是"温度",但在 AI 世界里,它更像一个冒险程度的旋钮。
拧到最低(Temperature=0),AI 会变得极度保守——几乎只选它认为概率最高的那个词,输出通常最稳定。拧高之后,AI 会保留更多随机性;如果高到 1 以上,概率较低的词也会获得更多机会,每次回答都可能出现不同的路径。
用一个具体的数字来感受一下。假设你问 AI"今天的天气很____",模型内部分配的概率可能是:
| 候选词 | 概率 |
|---|---|
| 好 | 35% |
| 热 | 20% |
| 冷 | 15% |
| 不错 | 12% |
| 奇怪 | 8% |
| 适合出门 | 5% |
Temperature=0 时:AI 几乎每次都选"好"。因为它概率最高,AI 不做任何冒险。
Temperature=1.0 时:AI 不再只盯着第一名,而是大体按照原始概率分布去抽样。"好"仍然最可能被选中,但"热""冷""不错"也都有机会出现。于是同样的问题,你可能得到"天气很好""天气很热""天气很奇怪"不同的回答。
Temperature>1 时:概率分布会被进一步"拉平",低概率词的机会变大,回答也会更发散。
这就是为什么 AI 每次答得不一样——Temperature 会改变模型选择下一个词时的随机性。
为什么要有这个旋钮
你可能会想:为什么不把 Temperature 固定成 0,每次都给一样的答案,多稳定?
因为稳定不总是好事。
想想看,如果你让 AI 帮你写代码——你希望它每次都用最可靠、最标准的写法。这时候 Temperature=0 就对了。但如果 Temperature=1,它可能今天用常规循环,明天用递归,后天给你整个骚操作——你不需要这种"创意"。
反过来,如果你让 AI 帮你想一个品牌 slogan——你可不希望它每次都说"科技改变生活"这种正确但无聊的答案。把 Temperature 调高,它会尝试更多意想不到的组合,给你惊喜。
Temperature 的本质是:在"准确"和"创意"之间做取舍。
低 Temperature → 偏准确、可预测、重复性强 高 Temperature → 偏创意、有变化、不确定性大
什么时候该调高,什么时候该调低
这不是一个需要背的公式,而是一个直觉——你想要确定性还是可能性?
调低 Temperature 的场景(0 ~ 0.3):
- 写代码:你需要的是正确的、可运行的代码,不是"有创意"的代码
- 做数据分析:数据就是数据,不需要 AI 发挥想象力
- 事实问答:"Python 的 list 怎么排序"——只有一种正确答案
- 提取信息:从一段文字里提取人名、日期、金额——越精确越好
调高 Temperature 的场景(0.7 ~ 1.0):
- 写故事/小说:你需要意想不到的情节转折
- 头脑风暴:越天马行空越好,好点子往往藏在低概率区域
- 写广告文案:千篇一律的文案没人看,你需要"奇"的东西
- 取名/创意:品牌名、产品名、标题——越独特越好
大多数场景用默认值就好。 很多 API 或应用会给你一个偏中间的默认采样设置,在"靠谱"和"有趣"之间取平衡。普通用户通常不用手动调——除非你明确想要更稳定,或者更发散。
Temperature=0 就真的每次一样吗
严格来说,不是。
即使 Temperature=0,AI 的输出也不一定 100% 复现。因为真实服务里还有硬件并行计算、批处理、模型版本、系统提示词、并列候选词处理等因素。但相比高 Temperature,它通常已经是最稳定的设置——你可以把它理解为"几乎确定"。
这也是为什么在做评测、跑 benchmark、或者要求输出可复现的场景下,大家都会把 Temperature 设成 0。
一个更深层的视角:AI 的"创造力"到底是什么
理解了 Temperature,你就能理解一件更本质的事:从生成机制上看,AI 的"创意"首先不是灵感,而是概率采样里的低概率组合被选中了。
当你把 Temperature 调高,AI 并没有突然变得更有灵感——它只是在概率分布上加了更多的随机性。低概率词被选中后,碰巧产生了让你觉得新颖的组合。这不是心血来潮,是概率游戏。
这不是在贬低 AI。恰恰相反——理解了这一点,你就能更好地利用它。你知道什么时候该让它"稳"(低 Temperature),什么时候该让它"浪"(高 Temperature),而不是笼统地觉得"AI 有时候聪明有时候傻"。
AI 的表现不取决于它"心情好不好",而是取决于 Prompt、参数和上下文共同把它推向了哪条生成路径。
一句话总结
Temperature 是控制 AI 回答随机性的旋钮——调低它稳定准确,调高它创意多变。同一个 AI 的"聪明"和"犯傻"之间,有时只差一个参数。
下一篇我们聊 AI 幻觉:为什么 AI 会一本正经地胡说八道。理解了 Temperature 你就会发现,有时候 AI "胡说"不完全是随机性的问题,而是它的生成机制本身决定的。当高 Temperature 遇上模型知识的盲区,"胡说八道"就变得特别丝滑。