模块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