用户问 AI 同一个问题 10 次,得到 10 个不同答案。
他们会觉得 AI "智能"吗?
不会。他们会觉得 AI "不可靠"。
问题的两面性
太随机 → 用户觉得 AI 在瞎猜
太确定 → 用户觉得 AI 在背书
好的 AI 产品,需要在两者之间找到平衡点。
案例一:代码生成
用户:写一个快排
AI:[版本 A 的实现]
用户:再写一次
AI:[版本 B 的实现,变量名不同]
用户会想:
- 为什么两次不一样?
- 哪个版本更好?
- AI 是在试探我吗?
问题: 代码需要确定性,但 LLM 天生随机。
解决方案:
- 添加"种子模式"(seed mode)
- 同一输入 + 同一种子 = 同一输出
- 让用户可以选择"稳定模式"或"创意模式"
案例二:创意写作
用户:帮我写个产品介绍
AI:[版本 A]
用户:换个风格
AI:[版本 B,完全不同]
用户会想:
- 这次很好!
- 我喜欢这种"惊喜感"
问题: 创意需要多样性,但用户需要可控性。
解决方案:
- 明确告知:"我会生成 3 个版本"
- 用参数控制多样性:temperature 0.7/1.0/1.3
- 让用户看到"调节旋钮"
可解释的不可预测性
关键不是消除随机性,而是让随机性可见、可控、可解释。
原则 1:告知用户
"我将生成 3 个不同版本,请选择最合适的"
原则 2:显示参数
"当前模式:创意(temperature=1.0)"
"切换到稳定模式"
原则 3:提供历史
"你上次选择了版本 2,要基于它继续吗?"
实现示例
def generate_response(prompt, mode="stable"):
if mode == "stable":
temperature = 0.3
seed = hash(prompt) % 10000
elif mode == "creative":
temperature = 1.0
seed = None
else: # balanced
temperature = 0.7
seed = None
return llm.generate(
prompt,
temperature=temperature,
seed=seed
)
用户界面:
[○ 稳定模式] [● 平衡模式] [○ 创意模式]
用户的认知模型
用户不关心"temperature"、"seed"这些技术细节。
他们关心的是:
- 预期管理: 我知道会得到什么
- 控制感: 我能调节结果
- 可复现: 我能回到之前的结果
实用建议
如果你在设计 AI 产品:
- 默认平衡模式 - temperature=0.7,不太随机也不太死板
- 提供模式切换 - 稳定/平衡/创意,三个选项足够
- 显示"为什么不同" - "因为切换了创意模式"
- 保存种子历史 - 让用户能"回到之前的状态"
- 在随机时告知 - "这次生成了 3 个版本供你选择"
最后
不可预测性是 LLM 的特性,不是 bug。
但产品的艺术在于:把特性变成功能。
让用户觉得:"AI 很智能,而且我懂它的规则"。
—— https://www.80aj.com