温度参数是什么

入门与上手

讲清温度参数怎么影响大模型输出的随机性,给出按任务类型调参的方向和自查顺序,并说明哪些场景不该调它。

很多人第一次在 API 里看到 temperature 这个字段,要么不管它、要么随手填个数字,结果同一段提示词有时答得稳、有时飘得离谱。这篇不背定义,直接说清它调的是什么、往高往低分别会发生什么,再给一套按任务分档的调参参考和排查顺序;如果你只是用聊天网页,也能看懂平台默认值背后在做什么取舍。

很多人第一次在 API 文档里看到 temperature 这个字段,要么直接无视它,要么随手填个数字,结果同一段提示词有时答得稳、有时飘得离谱,还以为是模型抽风。其实这个旋钮调的东西很具体:它不改变模型的知识,只改变模型在每一步挑下一个词时有多敢冒险。

这篇不背定义,先说清它调的是什么、往高往低分别会发生什么,再给一套按任务分档的调参方向和自查顺序,最后说清楚哪些场景根本不该动它。如果你只是用聊天网页,也能借此看懂平台默认值背后在做什么取舍。

温度参数到底在调什么

模型生成回答是一个词一个词往外蹦的。每蹦一个词之前,它会给所有候选词算一个分数,温度负责把这些分数变成的概率分布压平或者拉尖,然后再按概率抽一个。温度低,分布被拉尖,高概率词更容易被选中;温度高,分布被压平,原本没什么机会的词也开始有机会。

低温
候选词概率差距被放大,输出更集中、更可预测,但不等于唯一答案
高温
候选词机会被拉近,输出更发散,但不是乱答,只是更愿意选次优词
累积效应
每选一个词都会影响后面的上下文,一个词选偏,整段跟着偏,这就是两次结果差很远的常见来源
top_p 配合
另一个采样参数,和温度同时往激进方向调,随机性会叠加放大,别两个一起猛推

理解这一点很关键:温度影响的不是「对不对」,而是「稳不稳」。它没法让一个没给清楚要求的提示词变得准确,只能让你在同样模糊的情况下,拿到差异更大或者更小的结果。

按任务类型选方向:一张对照表

调温度的第一步不是查数字,而是先问自己:这个任务有唯一正解吗?答案越唯一,越往低温走;答案越开放,越可以往高温走。下面这张表可以直接照着对号入座。

任务类型调参方向判断标准
抽取字段、分类打标低温换个说法就错了吗?错了说明要更稳
格式转换、代码改写低温输出结构容易跑偏就继续降
总结、解释、日常问答平台默认附近先别动,觉得不好再微调
起名、头脑风暴、多备选文案高温十个答案里有几个真的不一样
长文写作分段低温开头亮眼但后面跑题,就拆段写
  • 有唯一正解的活,往低温方向走,宁可重复也别跑偏
  • 要发散、要多个候选的活,往高温方向走,允许一部分答案没用
  • 多数平台的默认值就在中间档,先按默认跑,觉得不对再调
  • 长文尤其要小心:高温在开头几段可能很出彩,写到中后段容易跑题,拆成几段、每段用低温更稳
  • 具体数值区间别记死,各家刻度口径不一样,到 /ai-dict/category/tips 对照当期说明
  • 同一任务换模型后要重新试,变量名和取值范围都不一定一样

调参顺序与常见误区

很多人的排查顺序是反的:一上来先怀疑温度、再怀疑模型、最后才回头看提示词。更省时间的顺序是从最可控的地方开始。下面这套步骤可以照着走。

  1. 先审提示词检查有没有给输出格式、有没有说清什么算对什么算错。这一步没做,后面的调参都是白调。
  2. 锁定一个变量一次只动温度,提示词和模型都别换。同时动三个,出了问题你分不清是谁的锅。
  3. 小样本对比同一个提示词跑几遍,看差异集中在开头还是结尾。差异集中在结尾通常是长文问题,不是温度问题。
  4. 判断该不该降如果错法是格式漂移、字段漏填、说法换来换去,往低温调;如果错法是完全答非所问,调温度没用,回去改提示词。
  5. 确认是否值得追复现多数接口本身不保证逐字一致,要工程稳定应该靠结构化约束和结果校验,而不是死磕某个温度值。

什么时候不适用这套思路:做创意探索、陪聊、生成多样候选的时候,强行低温会让输出干瘪重复,这时候「稳定」反而是缺点,该让它多飘一点。

去站内哪几页核对口径

温度这个字段看着简单,坑在「各家不统一」。参数名、取值范围、默认值、甚至它和别的采样参数怎么配合,不同服务商写得都不一样,所以接入前一定要以你实际要调用的那家为准,别拿别处的经验硬套。

  • 接入前先到 /models 找到目标模型,看它标注的参数说明和默认值
  • 看到不认识的采样参数名,先到 /ai-dict/category/basics 查一眼再动手
  • 想估算长输出带来的用量变化,可以在 /tools/model-cost-calculator 粗算一遍
  • 怀疑中转站转发时没传这个字段、或者改写了默认值,可以到 /tools/verify 看检测口径
  • 实际价格、限速这类会变的数字,以站内页面当期的展示为准

需要强调一句:温度通常和计费、限速没有直接关系,但温度调高后输出变长、跑偏重试变多,间接会用得更多。这不是温度本身的成本,是它带来的行为后果。

下一步把你手头最常跑的那个任务,先按上面的步骤只调温度、提示词不动,跑几遍对比差异;然后到 /models 核对目标模型的参数口径,确认你填的默认值和服务商说的是一回事。

常见问题

温度设成 0 是不是就能百分百复现同一个答案?

不一定。温度只是把采样压到最保守,服务端并行、版本更新、上下文稍有差别都可能让结果变化;真要可复现,得把提示词、参数、模型标识一起固定下来,再对输出做结构校验,而不是只盯着温度一个值。

网页聊天里能调温度吗?

多数对话产品不暴露这个参数,用的是平台预设值;想自己控制就得走 API,或者用支持填写参数的客户端。反过来说,你觉得网页回答太飘或太死板,未必是温度问题,先检查提示词是不是给足了约束。

写代码时温度该给多少?

代码类任务通常偏低温,因为它要的是能跑对而不是花样多;但补全、起变量名、写测试用例这类需要有差异的活,可以略高一点。别再靠猜具体值,改完跑一遍自己的用例集,看通过率变化再定。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。