模块9:系统化优化与评估
难度:⭐⭐⭐⭐⭐ 专家 | 建议时长:3-4小时
目标:掌握提示词优化方法论、A/B测试、调试技巧和质量评估体系
9.1 迭代优化方法论(PDCA 循环)
PDCA = Plan(计划)/ Do(执行)/ Check(检查)/ Act(处理)——经典质量管理循环,由戴明提出。这里借用它做提示词的迭代优化。
提示词优化不是灵感,是工程
很多人觉得写提示词靠”灵感”,写不好就换一种说法碰运气。实际上,好的提示词是”测”出来的,不是”想”出来的。
┌──────────────────────────────────────────┐
│ 提示词优化循环(PDCA) │
│ │
│ ① Plan(设计)→ 写初始提示词 │
│ ↓ │
│ ② Do(测试)→ 用多个测试用例运行 │
│ ↓ │
│ ③ Check(评估)→ 分析质量,找问题 │
│ ↓ │
│ ④ Act(改进)→ 针对问题修改 │
│ ↓ │
│ 回到 ① 继续 │
└──────────────────────────────────────────┘
第一步:确定”什么是好的输出”
通用评估维度(每项 1-5 分):
1. 准确性 → 内容是否正确?有没有事实错误?
2. 相关性 → 是否紧扣主题?有没有跑偏?
3. 完整性 → 该覆盖的内容都覆盖了吗?
4. 一致性 → 格式是否符合要求?多次运行一致吗?
5. 可用性 → 输出能直接用吗?还需要大量修改?
第二步:系统化测试
1. 正常用例:标准输入,确认基本功能正常
2. 边界用例:极端输入(很长/很短/特殊字符)
3. 对抗用例:可能"误导"AI 的输入
4. 多样性用例:不同类型的输入,确认泛化能力
每类至少 3 个测试用例,共 12+ 个。
第三步:问题诊断速查表
| 问题 | 可能原因 | 优化方向 |
|---|---|---|
| 输出太笼统 | 缺少具体要求 | 增加细节和示例 |
| 偏离主题 | 指令不明确 | 加强约束条件 |
| 格式不稳定 | 缺少格式模板 | 添加输出示例 |
| 内容有错 | 缺少验证要求 | 添加”检查”步骤 |
| 太长/太短 | 没有长度要求 | 明确字数限制 |
| 风格不对 | 没有风格说明 | 添加角色和语气 |
| 遗漏重要内容 | 指令不完整 | 用 checklist 确保覆盖 |
9.2 A/B 测试方法
核心原则:每次只改一个变量
步骤1:准备两个版本(只有一个地方不同)
版本A:[当前版本]
版本B:[只改了角色设定的新版本]
步骤2:准备 5-10 个测试输入
步骤3:分别运行,记录输出
步骤4:盲评(不看版本号,只评价输出质量)
步骤5:统计哪个版本在多数情况下更好
记录模板
| 编号 | 测试输入 | A版评分 | B版评分 | 哪个好 | 原因 |
|------|---------|--------|--------|--------|------|
| 1 | ... | 4/5 | 3/5 | A | ... |
| 2 | ... | 3/5 | 5/5 | B | ... |
| 3 | ... | 4/5 | 4/5 | 平局 | ... |
修改的变量:[A和B的区别]
结论:[哪个更好,为什么]
下一步:[下一轮优化方向]
常见的测试变量
每次只改一个:
1. 角色设定:"助手" vs "10年经验的产品经理"
2. 指令措辞:"总结文章" vs "提取3个核心论点"
3. 示例数量:0个示例 vs 2个示例
4. 输出格式:"用文字" vs "用表格"
5. 约束强度:"简要回答" vs "恰好3句话,每句不超过20字"
6. 思维链:"直接回答" vs "请一步一步思考"
9.3 调试技巧四件套
技巧1:添加”自我检查”
[你的主要指令]
在给出最终答案前,请先检查:
1. 是否完整涵盖了所有要求
2. 是否有事实性错误
3. 格式是否符合要求
4. 如果发现问题,修正后再输出最终版本
技巧2:让 AI 解释自己的理解
[你的问题]
回答后请额外说明:
1. 你理解的任务是什么?(确认理解正确)
2. 你选择这种回答方式的原因?
3. 你对自己回答的信心(1-10分)
4. 要改进的话还需要什么信息?
技巧3:对比调试
以下两个输出,哪个更好?为什么?
输出A(不满意的):
"""
[之前得到的输出]
"""
输出B(理想的):
"""
[你期望的输出]
"""
请分析差异,帮我优化提示词使其更接近输出B。
技巧4:渐进式调试
不要一次改很多,逐步排查:
第1轮:只改角色设定 → 测试
第2轮:只调指令措辞 → 测试
第3轮:只加约束条件 → 测试
第4轮:只增加示例 → 测试
记录每次改动的效果,找到最有效的改进点。
9.4 CLEAR 评估框架
C - Correct(正确性)→ 输出准确无误? 评分 1-5
L - Logical(逻辑性)→ 推理合理有条理? 评分 1-5
E - Efficient(高效性)→ 最少篇幅最大价值?评分 1-5
A - Applicable(实用性)→ 可以直接使用? 评分 1-5
R - Reproducible(可复现)→ 多次运行一致? 评分 1-5
总分 = C + L + E + A + R(满分 25)
评估示例:
提示词:"用200字总结《三体》的核心主题"
C - 正确性:5分(内容准确)
L - 逻辑性:4分(条理清晰,层次可更好)
E - 高效性:4分(字数达标,信息密度高)
A - 实用性:4分(可作为书评使用)
R - 可复现:3分(每次侧重点略不同)
总分:20/25
改进方向:增加结构化输出要求以提高可复现性
9.5 扩展阅读:自动化提示优化方向
方向1:Automatic Prompt Engineer(APE)
Automatic Prompt Engineer 的核心思想不是“人工一版版改提示词”,而是:让模型先生成多个提示词候选,再通过评估机制选出更好的版本。
传统方式:人写一个提示词 → 跑一下 → 不满意 → 人工再改
APE方式:让模型生成多个提示词候选 → 批量测试 → 选出效果更好的版本
适合了解的场景:
- 需要批量尝试不同提示词写法
- 希望把提示优化流程自动化
- 已经有比较明确的评估标准
不适合初学者直接重度使用的原因:
- 你必须先定义“什么叫好结果”
- 你需要测试集,而不是只看一两个例子
- 工程复杂度明显高于手工改 Prompt
方向2:Active-Prompt
Active-Prompt 可以理解为:先让模型在一批问题上作答,找出它最不确定、最容易出错的题,再重点补示例或重点优化。
类比:
- 普通练习:每道题平均复习
- Active-Prompt:先找最容易失分的题,集中补弱项
它的价值在于:
- 不把优化精力平均分配到所有输入上
- 优先解决真正容易出错的样本
- 更适合“问题很多、时间有限”的场景
方向3:Generated Knowledge Prompting
Generated Knowledge Prompting 的思路是:不要让模型直接回答,而是先让它生成与问题相关的知识点、背景信息或中间理解,再基于这些内容回答。
例如:
直接问:为什么某个产品策略会失败?
先生成知识再回答:
1. 先列出影响产品策略成败的关键因素
2. 再分析这个案例分别在哪些因素上出了问题
3. 最后给出结论
这种方式更适合:
- 需要背景知识支撑的分析题
- 需要先搭建思路再下结论的复杂问题
提醒:以上这些方法更偏研究和高级优化,不是日常写 Prompt 的入门必备。对大多数工作场景,先把 PDCA、A/B 测试、结构化输出、Few-shot、链式拆解用好,收益通常更高。
9.6 动手练习
练习1:优化循环
选一个常用提示词,进行 3 轮 PDCA 优化,记录每轮的评分变化。
练习2:A/B 测试
为”写周报”设计两个版本的提示词,用 3 个不同场景 A/B 测试,记录结果。
练习3:CLEAR 评估
用 CLEAR 框架评估你个人提示词库中评分最高和最低的提示词,分析差距。
本章小结
✅ 优化循环:Plan → Do → Check → Act,持续迭代
✅ A/B 测试:每次只改一个变量,对比效果
✅ 调试四件套:自我检查、解释理解、对比调试、渐进排查
✅ CLEAR 评估:正确、逻辑、高效、实用、可复现
✅ 核心理念:好的提示词是"测"出来的,不是"想"出来的
下一步 → 10_AI应用架构.md