20 min · temperature、top-p、logprobs、max_tokens、seed——每个旋钮的机理与 agent 场景的默认答案
🎒 预备知识:完成上一课「L2」(零基础入口:第 0 课)
L1 说模型预测"下一个 token"。精确机制:模型对词表里每个 token 都给出一个原始分数 (logit),softmax 把分数变成加起来为 1 的概率分布——"的"可能 35%、"了" 12%、"是" 8%、其余分摊。 采样就是从这个分布里抽签。所有采样参数都是在改抽签规则:改分布形状(temperature)、 砍候选集(top-p/top-k)、改抽签次数与停止条件。理解了这一句,下面每个参数都不用背——推一遍就出来。
T → 0 分布尖锐化:几乎永远选最高概率 token(贪心)——确定、稳定、可能复读
T = 0.2 高概率仍占优,偶有变化——agent 的常用区间
T = 1.0 原始分布——模型"本色"
T = 1.5+ 分布拉平:低概率 token 频繁中标——发散、冒险、易胡说
为什么 agent 要低温度?三个工程理由:① 路由一致性——温度高时"这个任务用哪个技能" 今天选 A 明天选 B,用户感知为"不稳定";② 评测前提——A11 的评测要求可复现, 温度高的系统跑两遍结果不同,评测得分是噪音;③ 错误率放大——十步循环里每步 3% 的随机失误率,全程至少错一次的概率近 1/4;低温度把每步失误压到最小。 注意 T=0 也不是严格确定(浮点/批处理微小差异),但工程上可当确定用。
top-p(nucleus):只在累积概率达到 p 的最小集合里抽—— 分布本来就尖时候选少,分布平时候选多,自适应;top-k 则固定保留 k 个候选,不分青红皂白。 实践纪律:temperature 和 top-p 只动一个——两个都拧会互相干扰且无法归因(A13 同款归因纪律)。 默认组合参考:agent 决策/结构化输出 T=0–0.3;文案创作 T=0.7–1.0;brainstorm T=0.8–1.2。
请求时开 logprobs,响应会附带每个位置 top 候选的对数概率——这是模型的自信度仪表:
最高候选的 logprob 接近 0(概率接近 1)= 模型很确定;几个候选概率接近 = 模型在犹豫。
工程用途:① 低自信度触发兜底(分类任务置信度低 → 转人工或换提示重问);
② 抽取式任务的定位校验;③ 离线分析哪些输入让模型犹豫。多数人不知道这个旋钮——
它把"模型觉得靠谱吗"从玄学变成了可读数。
max_tokens:输出上限。与 L2 联动——设太少会把 JSON 生成到一半截断
(结构化解析失败的隐形杀手);设大只是上限,不会多花钱(按实际用量计费)。
stop:停止序列,模型生成到该字符串立即停——经典用法是 "\nUser:"
防止模型自导自演接下来的对话。seed:请求级随机种子,provider"尽力而为"地复现——
跨模型版本不保证,所以别拿 seed 当测试的唯一手段,评测要靠统计(A11)。
reasoning effort / thinking 档位:推理模型专用(L5),控制思考 token 预算——
简单任务降档省大量 thinking token。
坑 1:agent 用默认温度(常为 1.0)。路由抖动、评测不可复现都是症状——先降温再谈稳定。
坑 2:temperature 和 top-p 一起调。归因灾难:效果变了不知道是谁的功劳。
坑 3:把温度当质量旋钮。温度改变的是分布形状不是知识——降温度治不稳定,
不治幻觉(错的依然自信地错,L5)。
坑 4:忽略 logprobs。唯一免费的自信度信号,质检和兜底都用得上。
你的 agent 有"给文案打分"的工具调用和"生成 5 个备选标题"的创作步骤——一个 agent 两种任务, 温度分别配多少、为什么?再加一题:打分结果想按置信度做"低分转人工",用本课哪个机制实现? 发到对话里我批改。