温度(Temperature):为什么同一个问题,它每次答得不一样
一个 0 到 1 之间的旋钮,控制它"保守"还是"发散"。调低更稳定,调高更有创意,但不能调掉错误。
一句话定义:温度是控制模型输出随机性的参数,值越低越保守、越可重复,值越高越发散、越有意外。
一个比喻:像给一个说话的人设定"敢不敢冒险"。温度低,他只挑最有把握的词;温度高,他愿意试试冷门表达。
它到底改了什么
模型每一步都在算"下一个词的概率"。温度的作用是把这张概率表压平或拉尖:
- 温度低(接近 0):概率高的词更占优势 → 每次都选最稳的,输出几乎不变
- 温度高(接近 1):概率分布被拉平 → 冷门词也有机会被选到,输出更多样
所以你问同一个问题两次,得到两个答案,不是它"记性差",是这个参数在起作用。
你什么时候能碰到它
普通聊天界面里,通常看不到这个参数——产品已经帮你定好了。
能看到它的地方:
- API 调用:
temperature是标准参数,常见范围 0–2 - 部分产品的"高级设置"或"创意度"滑杆
- 本地部署的工具(如各类开源模型客户端)
该设多少
| 任务 | 建议 | 原因 |
|---|---|---|
| 抽取信息、格式转换 | 0–0.3 | 要稳定、可重复 |
| 写代码 | 0.2–0.5 | 要正确,不要花活 |
| 写文案、头脑风暴 | 0.7–1.0 | 要多样 |
| 起标题、想创意 | 0.9–1.2 | 越离谱越可能有惊喜 |
一个实用技巧:要它稳定输出表格或 JSON 时,把温度调低。 这是格式不稳定的常见原因之一。
一个常见误解
"温度调低就不会胡说"——不对。
温度只影响选择的随机性,不影响它有没有这个知识。它不知道的事,温度 0 也会编,而且会编得更"标准"、更像真的。
降低幻觉要靠给资料、要求标注不确定、外部核查,不是靠调参数。