A/B对比两版提示词
手头两版提示词不知道哪个效果更好,凭感觉挑容易挑错,想要个说得清楚的对比结果。
有人这样说「我俩提示词都试了,但分不清哪个更好,发群里让同事评也不靠谱。」
能替你选的都选好了。不想动,直接点下面「交给 AI 办」,点一下就开始做;想改,就点一下要的那个。
已替你选好想改就点一下
只有你知道的不填就先空着,成品里留【待填】
还能补充
还想怎么改可以不选
高级选项一般不用动 · 这件事通常 1 分钟左右做好
示例成品全文按上面这组示例选项真跑出来的
直接照这个流程做,能出结论。
1. 测试集准备
表格就四列:
| id | 问题 | 标准答案 | 关键点 |
|---|---|---|---|
| 1 | 为什么太阳会发光? | 太阳核心发生核聚变,氢聚变为氦释放能量,以光/电磁辐射发出 | 核聚变;释放能量;光/电磁辐射 |
要求:
- 100-200条,随机抽,别挑顺手的。
- 每条标准答案拆1-3个核心关键点,别抠字眼。
- 标准答案、关键点绝对不能写进A/B提示词,只在评分阶段用。
- 你调试提示词时用过的例子,不要放进测试集。
2. 跑测试
固定条件:
- 同一GPT系列模型,比如都用
gpt-4o。 - 参数固定:
temperature=0。 - 用户消息统一为:
问题:{question} - A/B提示词分别作为系统提示词。
版本A系统提示词:
请根据用户问题给出简洁准确的回答,避免冗余信息。版本B系统提示词:
请以清晰、完整的方式回答用户问题,确保信息全面。每条问题分别用A、B各跑一次,记录:
| id | question | answer_A | answer_B |
|---|
3. 裁判打分
把标准答案、关键点和AI回答交给GPT裁判。裁判提示词直接用这个:
你是严格阅卷员。根据下面的【标准答案】和【关键点】判断【待评回答】。
规则:
1. 命中:覆盖全部关键点,且没有与标准答案冲突的事实错误。
2. 跑偏:出现与标准答案冲突的事实错误,或答非所问。
3. 漏答:没有覆盖全部关键点,但没有事实错误。
注意:多余的正确内容不影响命中;多余的冲突内容算跑偏。
只输出JSON,格式如下:
{"命中": true/false, "跑偏": true/false, "理由": "一句话"}
【问题】
{问题}
【标准答案】
{标准答案}
【关键点】
{关键点}
【待评回答】
{AI回答}裁判跑完后,表格变成:
| id | question | answer_A命中 | answer_A跑偏 | answer_B命中 | answer_B跑偏 |
|---|
4. 结果计算
A命中率 = A命中数 / 总条数
B命中率 = B命中数 / 总条数
A跑偏率 = A跑偏数 / 总条数
B跑偏率 = B跑偏数 / 总条数5. 怎么判
按这个优先级:
- 先看跑偏率,跑偏率低的赢。
- 再看命中率,命中率高的赢。
- 如果命中率差距不到5个百分点,100-200条规模下别当强结论,可能只是波动。
- 如果命中率、跑偏率都接近,选A,因为更简洁。
6. 示例:为什么太阳会发光?
假设标准答案关键点是:
- 核聚变
- 氢聚变为氦释放能量
- 以光/电磁辐射发出
A回答:
因为太阳内部发生核聚变。裁判结果:
{"命中": false, "跑偏": false, "理由": "只覆盖核聚变,漏掉释放能量和光辐射两个关键点"}B回答:
太阳核心在高温高压下发生氢聚变为氦的反应,释放巨大能量,并以光辐射形式发出。裁判结果:
{"命中": true, "跑偏": false, "理由": "覆盖全部三个关键点"}这只是示例,不代表真实结果。
7. 几个避坑点
- 别只测顺手的case,测试集要随机。
- 别用30条下最终结论,30条可以预实验,最终看100-200条全量。
- 测试集泄漏进prompt是最容易犯的错,标准答案和关键点只能出现在裁判阶段。
- 如果裁判明显乱判,把关键点拆粗一点,比如每条只留1-2个核心事实点。
8. 预判
从设计上看:
- A更可能少跑偏,但可能漏关键点。
- B更可能覆盖全,但可能加戏甚至跑偏。
最终选谁,看数据:跑偏率低、命中率高者赢。