Skip to content

Prompt 优化的 A/B 测试:线下固定评测集、配对比较与四指标权衡(口播版) ​

原文:

👔面试官:你平时做 prompt 优化的时候是怎么设计 ab 测试?比如评测集怎么定?两个版本怎么比较?除了质量之外还会看哪些指标?简单说说你的做法。

🙋‍♂️我:面试官您好,prompt 的 ab 测试我一般不会一上来就跑线上,而是先在线下把评测集固定下来。我的做法是先建一个大概五十到一百条的评测集,覆盖典型场景和边界情况,每条都有参考答案或者评分标准。

🙋‍♂️我:这个评测集是固定的,每次对比两个 prompt 版本都跑同一批输入,这样结果才可比,不然每次换一批题根本不知道是 prompt 变了还是题变了。

🙋‍♂️我:然后是比较方式,我一般用配对比较,就是同一个输入 a 版本和 b 版本各跑一次,让评估模型或者人工去判断哪个更好,配对比较比单独打分更稳。因为人或者模型对两个答案做相对判断比给一个绝对分数要一致的多。

🙋‍♂️我:这里我会尽量控制变量,一次只改一个地方,比如只改角色设定或者只加一个示例,不然改了好几个地方,最后效果好也不知道是哪个改对了。

🙋‍♂️我:统计检验这块我觉得产品经理不用自己算 p 值,但得知道要看显著性。如果两个版本在评测集上差个一两条,那大概率是噪声,不能直接下结论,我会看差异是不是稳定出现在多个相似 case 上,或者让评估跑个两三遍看结果稳不稳。

🙋‍♂️我:还有一点我觉得特别重要,就是不能只看质量,质量之外长度、成本、延迟都要一起看。有时候 b 版本质量是高了一点,但输出长度翻了一倍,token 成本上去了,延迟也多了几百毫秒,这个提升在业务上可能不划算。我会把质量、长度、成本、延迟放在一张表里对比,看综合收益。

🙋‍♂️我:最后线下评测跑完之后,如果两个版本差距明显,我会再拿一小部分线上流量做灰度,看真实用户的反馈。因为线下评测集再全也代表不了真实用户的问法。

面试高频问题:你平时做 Prompt 优化怎么设计 A/B 测试?评测集怎么定?两个版本怎么比较?除了质量还看哪些指标? 一句话答案:先线下、后线上 —— 建 50~100 条固定评测集(典型场景 + 边界情况,每条带参考答案或评分标准),用配对比较(同一输入 A/B 各跑一次,判断哪个更好)替代绝对打分,一次只改一个变量;判读时质量、长度、成本、延迟放一张表看综合收益;线下差距明显后再拿小流量灰度验证真实用户。 适用面次:二面深度 / 三面综合(Prompt 工程 + 评测方法论) 本版定位:口语应答脚本 —— 先给「开口就能说」的话术,再给速记要点。


【30 秒极简版】(面试官随口一问时用) ​

我不会一上来就跑线上,而是先在线下把评测集固定下来:50 到 100 条,覆盖典型场景和边界情况,每条都有参考答案或评分标准。评测集固定,两个版本永远跑同一批输入,结果才可比 —— 否则分不清是 Prompt 变了还是题变了。 比较用配对比较:同一个输入 A、B 各跑一次,让评估模型或人工判断哪个更好;相对判断比绝对打分稳得多。同时一次只改一个地方,只改角色设定或只加一个示例,不然效果好了也不知道是哪个改对了。 最后不能只看质量:长度、成本、延迟一起进表看综合收益;线下差距明显,再拿一小部分线上流量灰度,看真实用户反馈。


【2 分钟完整口播】(正式被问到时的主干回答) ​

我按「定评测集 → 配对比较 → 控变量 → 看显著性 → 四指标权衡 → 灰度验证」六步说。

第一,先线下,不直接跑线上。 线上流量贵、噪声大,Prompt 改一版就上线上试,等于拿真实用户体验做实验。所以第一步是把评测集固定下来。

第二,评测集怎么定。 我一般建 50 到 100 条,覆盖典型场景 + 边界情况,每条都配参考答案或者评分标准。数量不是关键,覆盖才是 —— 典型场景保证主流程不退步,边界情况保证改动没有踩到角落。更重要的是这个评测集是固定的:每次对比两个版本都跑同一批输入,结果才可比;否则每轮换一批题,根本不知道分数变化是 Prompt 带来的还是题变难了。

第三,怎么比较:配对比较,不是绝对打分。 同一个输入,A 版本和 B 版本各跑一次,让评估模型或人工去判断哪个更好。配对比较比单独打分更稳 —— 人对两个答案做相对判断,一致性远高于给一个绝对分数(7 分还是 8 分,不同人、不同时候差别很大)。

第四,控制变量。 一次只改一个地方:只改角色设定,或者只加一个示例。如果同时改了好几处,最后效果好也不知道是哪个改对了,下一轮优化就失去了方向。

第五,显著性要有概念,但不必自己算 p 值。 产品/业务视角不用手算统计量,但必须知道要看显著性:两个版本在评测集上只差一两条,大概率是噪声,不能直接下结论。我的做法是看差异是不是稳定出现在多个相似 case 上,或者重复跑两三遍看结果稳不稳 —— 单条 case 的输赢不构成结论。

第六,质量之外,长度、成本、延迟必须一起看。 有时候 B 版本质量是高了一点,但输出长度翻了一倍,token 成本上去了,延迟也多了几百毫秒 —— 这个提升在业务上可能不划算。所以我会把质量、长度、成本、延迟放在一张表里对比,看综合收益,而不是只看质量分。

最后,线下跑完再灰度。 如果两个版本差距明显,我会拿一小部分线上流量做灰度,看真实用户的反馈 —— 因为线下评测集再全,也代表不了真实用户的问法,线上更口语、更短、更脏。


一、速记要点 ​

1. 六步流程 ​

步骤做什么关键原则
① 定评测集50~100 条,典型 + 边界,每条有参考答案或评分标准固定,两版跑同一批输入
② 配对比较同一输入 A/B 各跑一次,判断哪个更好相对判断 > 绝对打分
③ 控变量一次只改一处(角色设定 / 一个示例)保证可归因
④ 看显著性差一两条大概率噪声;看是否稳定出现在多个相似 case;重复跑 2~3 遍不拿单条 case 下结论
⑤ 四指标权衡质量、长度、成本、延迟放一张表看综合收益,不看单项
⑥ 灰度验证小流量上线,看真实用户反馈评测集代表不了真实问法

2. 评测集设计要点 ​

  • 规模:50~100 条起步,够跑通对比即可,不在多而在覆盖;
  • 结构:典型场景(保主流程)+ 边界情况(防角落退化);
  • 标注:每条带参考答案或评分标准,否则无法判断对错;
  • 固定:版本之间不换题,才能把「分数变化」归因到 Prompt 变化;
  • 演进:线上 badcase 定期回流扩充,但新旧版本对比时必须用同一套。

3. 为什么用配对比较 ​

方式做法稳定性
绝对打分给单个答案打 1~10 分差:不同人、不同时间尺度漂移大
配对比较同输入 A/B 两份答案,二选一或判平好:相对判断一致性强

补充一句技术细节会加分:配对比较在统计上对应配对检验(二分类结果常用 McNemar,连续分数用配对 t 检验;非正态用 Wilcoxon 符号秩)。不过业务面试里说出「配对」和「显著性」两个概念就够了。

4. 质量之外的四个指标 ​

指标看什么常见陷阱
输出长度平均 / P95 输出 tokenLLM 评委天然偏爱长答案,长度涨了质量分可能虚高
成本输入 + 输出 token、调用次数、工具费用只算输出 token,忽略多轮重试与上下文膨胀
延迟首响 / 端到端 P50、P95只看均值,尾部延迟被平均掉
稳定性同输入重复跑的一致性单次跑分就下结论,把随机性当提升

5. 什么时候可以下结论 ​

  • 差距只在一两条 → 视为噪声,不下结论;
  • 差距稳定出现在多个相似 case → 可信度上升;
  • 重复跑 2~3 遍结果一致 → 可以进入灰度;
  • 灰度阶段再看:任务完成率、点赞点踩、转人工率、追问率等真实信号。

二、追问预案 ​

Q:50~100 条评测集够吗?

起步够,但要看场景方差:意图多、长尾重的业务需要更大覆盖。原则是先按场景分层抽样(每类意图、每类边界各占几条),保证结构完整,再随 badcase 回流扩充;单纯堆数量不解决问题。

Q:评估模型自己有偏差怎么办?

三个手段:位置互换(A/B 顺序对调再评一次,抵消位置偏好)、多模型交叉评审(不同厂商模型各评一遍,看结论是否一致)、人工抽检校准(抽 10%~20% 对齐评估模型与人的判断)。另外 LLM 评委偏爱长答案,所以长度必须单独进表。

Q:线上线下结论不一致怎么办?

正常,因为分布不同:线下是精心构造的题,线上是又短又口语的真实问法。处理方式是把线上 badcase 回流进评测集,让线下集逐步逼近真实分布;同时线上灰度只看业务信号,不指望它复现线下分数。

Q:为什么不直接线上 A/B?

线上 A/B 成本高、周期长,且改动早期版本质量可能明显更差,直接上量伤用户。线下筛掉大部分坏版本,线上只验证少数好版本,这是效率最高的顺序。


三、露馅点 vs 加分点 ​

  • ❌ 一上来就讲流量分桶、p 值、样本量 → ✅ 先说线下固定评测集,再说线上灰度(顺序体现工程判断)
  • ❌ 评测集每轮重新出题 → ✅ 强调同一批输入才可比,否则无法归因
  • ❌ 只说「让模型打分」→ ✅ 讲配对比较,并说明相对判断比绝对打分稳
  • ❌ 一次改五处 Prompt → ✅ 讲单变量控制,保证知道是哪处改动生效
  • ❌ 只看质量分 → ✅ 质量、长度、成本、延迟一张表,给「质量涨一点但成本翻倍」的反例
  • ❌ 差一两条就宣布胜利 → ✅ 讲噪声判断:看相似 case 是否稳定、重复跑是否一致
  • ❌ 线下评测完直接全量 → ✅ 讲小流量灰度,承认评测集代表不了真实问法

四、一句话收尾 ​

Prompt 的 A/B 测试不是「跑个分看谁高」,而是用固定的题、配对的比法、单一的变量,换一张含质量/长度/成本/延迟的总账,最后用小流量灰度对真实世界负责。


关联笔记:24Agent性能量化评估-五维指标体系(指标采集与回归集)、07腾讯Agent面试题-进阶全新型下(S6 线上 A/B 框架与显著性检验代码)、18数据飞轮-智能体越用越聪明的底层逻辑(badcase 回流扩充评测集)、12PDF文档RAG工程化-四环节流水线(检索评测集的建法)