Token 和 Temperature:LLM 的两个控制旋钮
2026年6年14日 · 774 字
写在前面
用 ChatGPT 的时候有没有遇到过:同一个问题问两遍,答案差很远。或者模型突然开始胡言乱语,编出一堆不存在的概念。
这不全是模型的锅。控制输出结果的,有两个藏在引擎盖下的参数:Token 和 Temperature。
这篇文章就解释这两件事。理解了它们,你在写 prompt 的时候就知道该拧哪个旋钮。
Token — LLM 的计数单位
LLM 看到的不是"字",是 token。
Tokenizer 会把文本切成固定大小的片断。中文 1 个字 ≈ 1.5~2 token,英文 1 个 word ≈ 1.3 token。各家 tokenizer 切法不一样,同段文字在不同模型里 token 数可能不同。
WARNING: "1 个字 = 1 token" 是新手最常见的误解。写 prompt 的时候想省钱,得先搞清楚你的 tokenizer 怎么切的。
Token 数决定了三件事:
- 你能输入多长。Context window 以 token 计,1M token ≈ 75 万中文字。
- 你要花多少钱。总价 = 输入 token × 单价 + 输出 token × 单价。
- 模型能输出多长。输出长度直接绑 token 预算,max token 设太小,回答会断在半路。
Temperature — 随机性开关
LLM 每一步都在猜"下一个最可能的 token 是什么"。它产生的是一个概率分布——每个候选 token 都有自己的分数。
Temperature 就是用来缩放这个分布的。
- Temperature 接近 0:概率分布变瘦高。最可能的 token 几乎被 100% 选中,输出稳定、可预测。
- Temperature 接近 1:分布变扁平。排名第二、第三的 token 也有机会被选中,输出更多样。
- Temperature > 1:分布近乎平均,模型开始胡言乱语。实战极少用。
大厂里喜欢设 0.8-0.9 做创意写作,设 0.1-0.3 做代码生成和 JSON 输出。
TIP: Temperature 和 Top-p 通常一起调。Temperature 控制概率分配的"形状",Top-p 控制"考虑多少个候选"。先把 Temperature 调到你想要的方向,再用 Top-p 收窄范围。
两个旋钮怎么配合
这两个参数不是独立的。关键发现:
低温度 + 少 token = 精确简短。代码补全、事实问答。模型会倾向于选最高概率的 token,一旦找到答案就停。
高温度 + 长 token 预算 = 创意输出。文案、头脑风暴。模型会探索次优 token,给你意想不到的表达。
高温度 + 少 token = 最差组合。预算太少,发散还没形成结构就到头了,输出反而稀碎。
IMPORTANT: 现实里 temperature 和 context window 还有另一层关系。Context window 越长,中间段的内容被模型注意到的概率越低——不是因为"忘了",而是因为注意力分数在序列两端天然更高。开大 temperature 在长上下文中可能让模型更注意两端的噪声。
总结
Token 决定输入上限和钱包。Temperature 决定你得到的是稳定输出还是随机创作。
写 prompt 之前先问自己:我想要精确还是创意?答案决定了你该往哪个方向拧旋钮。