上篇我们讲了Prompt——通过改变输入指令来控制模型行为。
但即使Prompt完全一样,AI的两次回答也可能不同。
这是测试人员经常遇到的问题:
“同一个问题问三次,AI给了三个不同的答案——这是Bug吗?”
答案取决于:这些差异是采样机制的正常表现,还是质量问题。
这篇把采样机制拆清楚,你就能判断了。
1先理清两个容易混淆的概念
很多人会把AI输出的“随机性”和“注意力机制”混为一谈。
注意力机制影响的是:模型在计算时,更关注输入中的哪些部分。它决定的是“模型看到了什么”。
采样机制影响的是:模型在生成Token时,从概率分布中如何选择下一个Token。它决定的是“模型怎么选”。
AI每次回答不一样,主要来自采样机制,不是注意力。
2模型生成Token时发生了什么
模型生成每一个Token时,会计算一个概率分布。
例如,模型预测“中国的首都是”后面的Token:
如果每次都选概率最高的“北京”,输出会非常稳定。这种方式叫Greedy Decoding(贪心解码) ,对应Temperature=0的情况,输出是确定性的。
但现代LLM通常不会每次都选最高概率。它可能以5%的概率选了“上海”,这就导致回答变了。
采样机制控制的就是:按什么规则从概率分布里选Token。
3Temperature
Temperature是最常见的采样参数。
通俗理解:
Temperature控制概率分布的“陡峭程度”。
Temperature低(如0.1) :
概率分布变“陡”,高概率Token被放大,低概率Token被压制。
效果:输出更稳定、更保守、更可预测。
Temperature高(如0.9) :
概率分布变“平”,低概率Token也有机会被选中。
效果:输出更多样、更有创造性、更不可预测。
用概率分布示意:
低Temperature(0.1) :
高Temperature(0.9) :
注意:Temperature是采样参数,不是模型能力参数。它不会让模型“变聪明”或“变笨”,只会影响输出的稳定性。
4Top-K采样
Top-K限制模型只能从概率最高的前K个Token中选择。
假设K=3:
候选池:北京、上海、南京
广州被排除,其他更低的也被排除。
如果K=1:每次都选概率最高的,输出完全确定。
K值越大,候选越多,输出越多样。
5Top-P采样(Nucleus Sampling)
Top-P从累计概率达到P的Token集合中选择。
假设P=0.9:
候选池:北京、上海(累计达到90%)
Top-P和Top-K可以同时使用,候选池取两者的交集。
6Seed
Seed是随机数种子。
如果设置固定Seed(如Seed=42),Temperature和Top-K/Top-P不变,输出通常能保持一致。
这在测试中很有用——需要复现问题时,固定Seed能让结果更可复现。
注意:固定Seed可以提高可复现性,但不同模型版本或部署环境下结果仍可能不同。Seed不是“绝对保证一致”的手段。
7测试人员怎么处理随机性
1. 先确认业务场景是否需要确定性
● 金融、医疗、法律:需要稳定输出 → 低Temperature + 固定Seed
● 创意写作、头脑风暴:允许多样性 → 可接受高Temperature
2. 采样参数是测试的一部分
测试时检查:
● Temperature是否设置合理?
● Top-K/Top-P是否配置正确?
● Seed是否固定(如果要求可复现)?
3. 区分“正常随机”和“质量问题”
不是所有变化都是Bug:
● Temperature=0.7时,两次回答用词不同但意思一致 → 正常
● Temperature=0.1时,两次回答内容冲突(如一次说“退款3天”,一次说“退款7天”)→ 质量问题
● Temperature=0.7时,两次回答结论完全相反 → 可能模型推理能力不足
4. 测试稳定性时的参考标准
● Temperature=0或固定Seed时,对输出稳定性要求更高
● Temperature>0时,允许表述差异,但关键事实必须一致
8随机性问题排查链路
案例:客服机器人,VIP退款知识库写“3个工作日”,AI有时回答“3天”,有时回答“7天”。
排查顺序:
| 1 | RAG召回内容是否一致? ↓ 是 |
| 2 | Prompt是否要求严格按照知识库回答? ↓ 是 |
| 3 | Temperature是否设置过高? ↓ 否 |
| 4 | 输入、知识、参数都正确,模型仍输出不一致 ↓ → 才可能归因到模型能力或推理稳定性 |
9面试时说
AI输出随机性主要来自采样机制,包括Temperature、Top-K和Top-P等参数,它们控制模型从概率分布中选择Token的方式。测试时需要根据业务场景确认采样参数是否合理:要求稳定性的场景应使用低Temperature和固定Seed,允许多样性的场景可以适当提高Temperature。测试要区分“正常的输出多样性”和“质量问题”,前者是采样机制的正常表现,后者表现为结论不一致或违反业务约束。
10记住这三句
| 1 | Attention影响模型如何理解输入,Sampling影响模型如何选择输出 |
| 2 | Temperature低→稳定,Temperature高→多样,它不改变模型能力本身 |
| 3 | 测试要区分“正常随机”和“质量问题”,前者是特性,后者是Bug |