| name | prompt-evaluation |
| description | Prompt 评估与对比,通过维度定义、样本设计、对比测试、量化评分、上线建议的五步流程验证 Prompt 效果 |
| when_to_use | 用于 Prompt 效果验证、A/B 对比测试、量化评分、上线决策依据时调用。
典型触发:"评估这版 prompt 效果" / "对比 A/B" / "看 prompt 数据" / "评估实验"。
不用于:Prompt 设计本身(用 prompt-design)/ 系统功能测试(用 test-case-design 由 qa 主导)/ 单条 case 调试(直接对话即可)。
|
| user-invocable | true |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
Prompt 评估技能
适用场景
- 评估单个 Prompt 的输出质量
- 对比多个候选 Prompt,选出最优
- 验证 Prompt 迭代后的效果(前后对比)
- 定期回归验证,防止 Prompt 效果衰减
五步流程
第 1 步:评估维度定义
根据 Prompt 场景选择评估维度(可叠加):
| 维度 | 评估问题 | 适用场景 |
|---|
| 准确性 | 输出内容是否事实正确、任务完成度高? | 信息类、生成类 |
| 完整性 | 是否覆盖了所有要求的要素? | 结构化输出 |
| 一致性 | 相同输入是否产出相似输出? | 稳定性要求高的场景 |
| 可读性 | 输出是否清晰易懂、格式合理? | 面向终端用户 |
| 相关性 | 输出是否贴合用户意图? | 问答、推荐 |
| 安全性 | 是否规避了违规/有害/越权内容? | 全部 |
| 成本 | 消耗的 token 数、延迟 | 高频调用场景 |
| 鲁棒性 | 对边界/对抗输入的处理能力 | 高安全要求 |
每个维度定义 1-5 分的评分标准。
第 2 步:测试样本设计
设计代表性测试样本集:
| 样本类别 | 占比 | 用途 |
|---|
| 正常样本(Typical) | 50% | 覆盖主流场景 |
| 边界样本(Edge) | 30% | 测试边界处理 |
| 对抗样本(Adversarial) | 20% | 测试安全性和鲁棒性 |
样本集规模建议:
- 快速验证:10-20 个样本
- 标准评估:30-50 个样本
- 深度回归:100+ 个样本
每个样本包含:
sample_id: S-001
category: typical | edge | adversarial
input:
variables:
user_input: "{具体输入}"
style_tone: "neutral"
expected_characteristics:
- "应包含 X"
- "不应包含 Y"
- "格式应符合 Z"
第 3 步:对比测试执行
| 对比模式 | 说明 |
|---|
| 单 Prompt 评估 | 跑一个 Prompt,打分判断是否达标 |
| A/B 对比 | 两个候选 Prompt 在同一样本集上对比 |
| 版本回归 | 新版 Prompt vs 旧版 Prompt,防止退步 |
| 多候选排序 | 3+ 个候选 Prompt 排序选最优 |
执行时注意:
- 固定 temperature / top_p 等参数,保证可复现
- 每个样本至少运行 3 次(减少随机性影响)
- 记录完整输入/输出/耗时/token
第 4 步:量化评分
按维度为每个输出打分(1-5),计算综合得分:
sample_id: S-001
prompt_version: v1.2
scores:
accuracy: 4
completeness: 5
consistency: 4
readability: 5
safety: 5
overall: 4.6
cost:
input_tokens: 150
output_tokens: 320
latency_ms: 1200
汇总到评估矩阵:
| 样本 | Prompt A | Prompt B | 胜出 |
|---|
| S-001 | 4.6 | 4.2 | A |
| S-002 | 3.8 | 4.5 | B |
| ... | ... | ... | ... |
| 平均 | 4.2 | 4.1 | A |
第 5 步:上线建议
基于评分给出明确建议:
| 结果 | 建议 | 后续动作 |
|---|
| 新版显著优于旧版(>10%) | ✅ 上线 | 灰度发布 → 全量 |
| 新版略优(2-10%) | ⚠️ 谨慎上线 | 小流量 A/B 验证 |
| 效果持平(±2%) | 🔄 不上线 | 继续优化或保持现状 |
| 新版变差 | ❌ 回退 | 分析原因,重新设计 |
| 某维度显著回退 | ❌ 回退 | 即使综合分更高也回退 |
输出模板
# Prompt 评估报告
## 1. 评估目标
- 评估对象:{Prompt-A v1.2 vs Prompt-A v1.1}
- 评估维度:{准确性、完整性、安全性}
- 样本规模:{30 个}
## 2. 样本集概览
- 正常:15 个
- 边界:9 个
- 对抗:6 个
## 3. 评分矩阵
{矩阵表格}
## 4. 关键发现
- v1.2 在"准确性"上提升 {X}%
- v1.2 在"完整性"上持平
- v1.2 在"边界样本"上有 2 个 case 回退
## 5. 上线建议
{建议 + 理由}
## 6. 附录
- 完整测试数据:{路径}
- Bad Case 分析:{路径}
下游衔接
- prompt-design:评估结果反馈到设计迭代
- self-iteration:评估结论经
@prompt-eng notes.md 沉淀后参与自迭代模式识别;
自迭代不直接读 projects/evals/(其数据源清单见该 skill 阶段 (a)),别指望评估报告
自动被消费——要它进决策就写进 notes
- @qa:评估样本可纳入回归测试
反模式
- ❌ 用 2-3 个样本就下结论
- ❌ 只看综合分,忽视单维度回退
- ❌ 不设对抗样本,只测 Happy Path
- ❌ 不固定参数,结果无法复现
- ❌ 评估完不给明确上线/回退建议