AI测试团子公众号文章

Temperature和采样机制——为什么AI每次回答可能不一样?

上篇我们讲了Prompt——通过改变输入指令来控制模型行为。但即使Prompt完全一样,AI的两次回答也可能不同。

AI测试团子

公众号 · 5 篇文章

上篇我们讲了Prompt——通过改变输入指令来控制模型行为。

但即使Prompt完全一样,AI的两次回答也可能不同。

这是测试人员经常遇到的问题:

“同一个问题问三次,AI给了三个不同的答案——这是Bug吗?”

答案取决于:这些差异是采样机制的正常表现,还是质量问题。

这篇把采样机制拆清楚,你就能判断了。

1先理清两个容易混淆的概念

很多人会把AI输出的“随机性”和“注意力机制”混为一谈。

注意力机制影响的是:模型在计算时,更关注输入中的哪些部分。它决定的是“模型看到了什么”。

采样机制影响的是:模型在生成Token时,从概率分布中如何选择下一个Token。它决定的是“模型怎么选”。

AI每次回答不一样,主要来自采样机制,不是注意力。

2模型生成Token时发生了什么

模型生成每一个Token时,会计算一个概率分布⁠。

例如,模型预测“中国的首都是”后面的Token:

Token
概率
北京
85%
上海
5%
南京
3%
广州
2%
其他
5%

如果每次都选概率最高的“北京”,输出会非常稳定。这种方式叫Greedy Decoding(贪心解码) ,对应Temperature=0的情况,输出是确定性的。

但现代LLM通常不会每次都选最高概率。它可能以5%的概率选了“上海”,这就导致回答变了。

采样机制控制的就是:按什么规则从概率分布里选Token。

3Temperature

Temperature是最常见的采样参数。

通俗理解:

Temperature控制概率分布的“陡峭程度”。

Temperature低(如0.1) :

概率分布变“陡”,高概率Token被放大,低概率Token被压制。

效果:输出更稳定、更保守、更可预测。

Temperature高(如0.9) :

概率分布变“平”,低概率Token也有机会被选中。

效果:输出更多样、更有创造性、更不可预测。

用概率分布示意:

低Temperature(0.1) :

Token
概率
北京
90%
上海
6%
南京
3%
广州
1%

高Temperature(0.9) :

Token
概率
北京
40%
上海
25%
南京
20%
广州
15%
注意:Temperature是采样参数,不是模型能力参数。它不会让模型“变聪明”或“变笨”,只会影响输出的稳定性。

4Top-K采样

Top-K限制模型只能从概率最高的前K个Token中选择。

假设K=3:

Token
概率
北京
85%
上海
5%
南京
3%
广州
2%
其他
5%

候选池:北京、上海、南京

广州被排除,其他更低的也被排除。

如果K=1:每次都选概率最高的,输出完全确定。

K值越大,候选越多,输出越多样。

5Top-P采样(Nucleus Sampling)

Top-P从累计概率达到P的Token集合中选择。

假设P=0.9:

Token
概率
累计
北京
85%
85%
上海
5%
90%
南京
3%
93%
广州
2%
95%

候选池:北京、上海(累计达到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

前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →