首页/AI/提示词工程速查/temperature 采样温度

temperature 采样温度

控制随机性的核心采样参数:数值越低输出越集中稳定,越高越发散;按任务类型选择起点,而不是所有场景共用一个值。

提示词工程速查AI更新于 2026-10-13

temperature 是什么

temperature 是控制采样随机性的参数。模型对下一个词会给出一整张概率分布,temperature 在采样前对分布做缩放:小于 1 时放大高概率项、让输出更集中稳定,大于 1 时拉平分布、让低概率词也有机会被选中。它不改变模型的知识,只改变每次在候选之间挑哪个,因此同一提示在不同温度下会得到风格不同、但知识基础相同的回答。

取值怎么定

各家接口的合法范围并不统一,常见是 0 到 2,也存在只接受 0 到 1 的实现,具体以官方文档为准。表中数值是实验起点,不是标准答案:抽取、判定类任务从低温起步,创作类从中高温起步,再用自己的测试集校准。评价一个温度值要看多次运行的整体分布,只看一次输出很容易误判。

场景与起点建议

场景起点原因
结构化抽取 / 分类0 - 0.2优先稳定与一致,减少字段漂移
代码生成 / 数学计算0 - 0.3减少分支猜测,便于复现与回归
改写 / 文案创作0.6 - 0.9保留多样表达,避免每次输出雷同
头脑风暴 / 起名1.0 及以上鼓励发散,注意跑题与事实漂移
带工具调用的多步流程0 - 0.2参数与动作序列需要可预测

机制与边界

机制对词表概率分布做缩放后再采样:低温放大高概率项,高温拉平分布
不改变什么不改变上下文里的事实,也不提升模型不具备的能力
与 top_p 的关系两者都影响采样范围;官方文档多建议一次只调其中之一
可复现性温度大于 0 时同输入未必同输出;要做回归对比需固定参数并记录版本
常见误区把温度当成准确率旋钮:低温减少发挥,不能纠正知识错误

调参时的操作习惯

  • 先固定提示版本,再动参数:否则分不清是提示改了还是参数改了
  • 一次只改一个参数,其余保持不变,用同一批用例对比
  • 每个候选配置至少跑 5-10 次,看通过率的分布而不是单次结果
  • 把参数与提示版本一起存档,同一提示不同参数算两个版本
  • 上线后保留切换开关,遇到线上问题时能快速回退到低温配置

调用参数示例

调用参数示例
# 抽取类任务:低温 + 结构化输出
{
  "model": "<按平台文档填写>",
  "temperature": 0.1,          # 追求字段稳定,减少同义变体
  "messages": [ ... ]
}
# 创作类任务:中高温,保留表达多样性
{
  "temperature": 0.8,          # 与抽取任务分开配置,不要共用一个值
  "messages": [ ... ]
}
推理类模型往往不暴露或不建议调整温度参数,行为由平台默认策略决定;迁移模型时要重新评估原参数是否仍然生效。
同一提示在温度 0 附近仍可能出现差异,原因包括并行计算顺序、上下文长度变化与模型版本更新,复现实验要把这些一起记录。

易错点

  • 所有任务共用一个温度值,抽取任务输出不稳定、创作任务输出雷同,两边都不讨好
  • 把温度调到 0 就以为结果必然可复现,忽略了模型版本与上下文变化的影响
  • 用单次输出判断某个温度的好坏,样本量太小,结论不可靠
  • 抽取任务用高温导致字段名与枚举值漂移,下游解析随机失败
  • 同时大幅调整 temperature 与 top_p,出问题时无法归因到具体参数
  • 把降低温度当成提升准确率的手段:抽取类任务确实更稳,但模型的知识性错误并不会因此减少
  • 线上不同任务共用一组采样参数,创作类请求与抽取类请求互相迁就,其中一类效果长期受损
  • 把温度参数写死在代码里而不做配置,后续按任务分流调整时要改代码发版,代价远超换个配置值

数据来源与参考

  • OpenAI API 文档:temperature 参数说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌