Temperature:AI 的“脑洞旋钮”
2026/7/1 4:33:51 网站建设 项目流程

《AI 知识卡片》第 02 期 · 一个参数,决定 AI 是严谨还是放飞

同一个问题,你问 AI 两遍:有时两次答得几乎一样,有时却差挺多?这个“时而稳定、时而多变”,其实是可以调的。控制它的旋钮,就叫temperature(温度)

一句话:温度越低,AI 越稳定、越确定;温度越高,AI 越爱变花样、越放飞。

从 LLM 的工作原理讲起

要理解temperature,得先知道 LLM每一步在做什么

当 LLM 生成下一个字(token)时,它并不是直接写出一个答案,而是先算出“词汇表里每个 token 出现的概率”。比如给定前文“今天天气真”,模型内部会算:好(32%)、热(18%)、冷(12%)、不错(10%)、糟糕(5%)、…(后面可能还有几万个候选,概率都很小)

然后,它照着这张概率表来挑词。而temperature,管的就是它挑得有多守规矩

低温和高温的差别

你可以把温度理解成在调整这张表里“高分词和低分词的差距”

温度调低:差距被拉大——本来领先的“好”会变得更强,几乎独占概率。于是 AI 每次都挑它,输出稳定、确定、可复现,但也保守、没惊喜。

温度调高:差距被抹平——像“冷”“糟糕”这些低分词也有了出头的机会。于是输出多样、有创意,但也更容易跑偏。

Temperature 就是用来“掰弯”这张概率表的旋钮温度低,强者通吃;温度高,雨露均沾。

那到底该怎么设

记住一句口诀就行:要“准”往低拧,要“创意”往高拧。

实战速查表:

场景temperature说明
Agent 决策 / 工具调用0 ~ 0.2选错一步全盘乱,要最稳
分类 / 判断0要可复现,同样输入同样结果
信息提取 / 翻译0 ~ 0.3要忠实原文,不能自己加戏
代码 / SQL 生成0 ~ 0.3语法要严谨,不能瞎写
日常问答 / 内容总结0.3 ~ 0.7既准确又读得顺
文案 / 起名 / 写作0.8 ~ 1.2要多样、要有花样
头脑风暴0.9 ~ 1.3就指望它给点意外灵感

在代码里,它就是一个参数:

# 写作/起名等要多样 → 温度调高client.chat.completions.create(model="gpt-4o",messages=[...],temperature=1.0)# 调用工具/决策要准、要可复现 → 温度压到 0client.chat.completions.create(model="gpt-4o",messages=[...],temperature=0)

两个理解误区

误区一:

以为“温度越高 AI 越聪明”。高温只是让它更敢用冷门词,跟懂不懂、对不对没关系。该答错的,高温下照样错,只是错得更花哨。

误区二:

以为“调低温度能治胡说八道”。压低温度能让它少乱来,但如果模型本来就记错了某个事实,低温只会让它更稳定地答错,稳定不等同于准确。治“幻觉”得靠别的办法(比如把资料喂给它、允许它说“不知道”),这个以后单独聊。

顺便认识几个“兄弟参数”

调 AI 时,温度常和下面几个参数一起出现,大致了解一下:

参数职责说明
temperature敢不敢变本文主角,控制随机性高低
top_p(核采样)在多大范围里挑只在概率最高的一小撮词里选,如0.9= 凑够 90% 概率就够,长尾词不看。值越小越保守
top_k在多大范围里挑更直接,只在概率最高的 k 个词里选,如50= 只看前 50 个候选
max_tokens什么时候停输出长度上限,防止啰嗦没完,也能控成本
stop什么时候停碰到指定的词就立刻收笔,如遇到"\n\n"就停

最重要的一条:top_ptemperature一次只调一个,同时拧两个会互相干扰,结果反而难捉摸。

归类理解:temperature管“敢不敢变”,top_p/top_k管“在多大范围里挑”,max_tokens/stop管“什么时候停”。

一句话总结

temperature不改变 AI 懂多少,只改变它敢不敢“乱来”。要稳,压低它;要野,调高它。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询