AI Agent A/B测试:改了Prompt,变好了还是变差了?
🩺 摘要
改了一行System Prompt,Agent行为大变。但怎么知道是变好了还是变差了?A/B测试给你答案。
📝 详情
一个常见的困境:你改了几个词的描述,Agent选工具变得更准了——但这是真的变好了,还是只是今天的模型状态好?
没有A/B测试,你永远分不清"改进"和"随机波动"。
怎么给Agent做A/B测试
Step 1:定义指标 - 任务完成率(主要指标) - 平均步骤数 - Token消耗 - 用户满意度
Step 2:分流
# 按用户ID分流
if hash(user_id) % 2 == 0:
result = agent_v1.run(query)
else:
result = agent_v2.run(query)
Step 3:统计分析 跑够样本量(建议每个版本>500次调用),对比指标差异的显著性。
测什么
- System Prompt的不同版本
- Temperature参数
- 工具列表和描述
- 记忆策略
- 路由策略
总结
没有A/B测试的Agent优化跟猜没区别。 改了什么、效果如何、能不能上线——用数据说话。
样本量计算
A/B测试需要多少样本才能下结论?
import math
def required_sample(base_rate, min_effect, alpha=0.05, power=0.8):
# base_rate: 当前成功率(如75%)
# min_effect: 你认为有意义的最小提升(如5%)
z_alpha = 1.96 # 95%置信度
z_beta = 0.84 # 80%统计功效
p_pooled = base_rate * (1 - base_rate)
n = (2 * (z_alpha + z_beta)**2 * p_pooled) / (min_effect**2)
return int(n)
一般每个版本需要300-500次调用才能下结论。跑够量再决定改还是不改。
💬 评论 (0)