背景

在日常使用大语言模型的过程中,Prompt 的质量直接决定了输出结果的好坏。但大多数人在优化 Prompt 时往往凭感觉——觉得”不够好”就改一些措辞,缺乏系统性的方法。

本文分享一种经过实战验证的 Prompt 优化三步骤迭代方法,通过结构化评分驱动迭代,将基线从 7.25 分提升到 9.75 分。这套方法来源于真实项目 R338,在 prompt_optimization_loop_sop 的实战中验证有效。

核心思想:先外后内

我们的核心发现是:Prompt 优化应该先修结构、再修内容。结构不对时,花再多时间优化内容也是事倍功半。

什么叫”结构”?指 Prompt 的格式框架:

  • 是否有清晰的标签/角色定义(tags, role_id)?
  • 是否有明确的边界条件(输入为空、超长截断)?
  • 占位符是否一致({input} vs )?
  • 规则段是否完整(必须做什么、禁止做什么)?

什么叫”内容”?指 Prompt 的语义层面:

  • 指令是否具体可执行?
  • 示例是否贴切?
  • 约束条件是否合理?

类比写代码:函数签名错了(参数/返回类型不对),实现再漂亮也无法调用。Prompt 的结构就像函数签名,内容是函数体——签名不对,内容再好也没用。

评分体系

我们使用 5 维度的评分体系,每项 1-10 分:

维度 说明 权重
格式(Format) Prompt 结构是否清晰,标签是否完整 20%
规则(Rules) 边界条件是否完整,约束是否明确 20%
角色(Role) 角色定义是否明确且一致 20%
内容(Content) 指令是否具体,是否覆盖所有场景 20%
示例(Examples) 是否提供示例,示例是否贴切 20%

总分 = 各维度加权平均。

三步骤迭代法

Step 1: 基线评估(v1 → 7.25分)

初始 Prompt 如下:

1
2
你是一个有用的AI助手。请回答用户问题。
回答要准确、简洁、完整。

初次评分结果:

维度 得分 问题
格式 2/10 无结构化标签,纯文本格式
规则 5/10 无边界条件,输入为空或复杂时行为未定义
角色 8/10 角色基本明确,可接受
内容 9/10 指令简洁明确,但缺乏具体性
示例 6/10 无示例,用户需自行理解

综合得分:7.25/10

5 个弱项主要集中在格式规则维度。

Step 2: 修复结构维度(v2 → 8.75分,+1.50)

目标:提升格式和规则维度的得分。此阶段不修改任何内容相关的部分,只调整框架。

修改后的 Prompt

1
2
3
4
5
6
7
8
9
10
11
12
13
# Role: AI助手
你是一个专业、准确的AI助手,负责回答用户的问题。

## Rules
1. 如果用户输入为空,请友好提示用户输入问题
2. 如果用户输入过长(超过2048 tokens),请主动摘要后回复
3. 如果用户问题包含敏感内容,请礼貌拒绝并引导至合适话题
4. 每次回复必须引用相关信息来源(如果有)

## Output Format
- 使用 Markdown 格式
- 复杂问题分点回答
- 代码使用代码块标注语言

评分变化

维度 v1得分 v2得分 变化原因
格式 2 8 +6:增加标签分段(#Role, ##Rules, ##Output Format)
规则 5 9 +4:补充4条完整的边界规则
角色 8 8 0:保持原样
内容 9 9 0:未修改
示例 6 6 0:未修改

综合得分:8.75/10(+1.50)

关键收获:仅通过调整结构框架,就获得了 1.5 分的提升。验证了”先外后内”的正确性。

Step 3: 修复内容+示例维度(v3 → 9.75分,+1.00)

目标:在稳固的结构基础上优化语义内容。

修改后的 Prompt(在 v2 基础上增加):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Role: AI助手
(v2 的结构保留不变)

## Rules
(v2 的规则保留)

## Content Guidelines
1. 对于技术问题,必须提供:概念解释 + 代码/命令示例 + 注意事项
2. 对于开放性问题,必须提供:多角度分析 + 个人立场 + 论据支撑
3. 禁止使用模糊表述(如"可能"、"大概"),除非确实存在不确定性
4. 每条回答结束后,提供1-3条相关阅读建议

## Examples

用户问题:如何用Python读取CSV文件?

正确回答:
```python
import pandas as pd
df = pd.read_csv('file.csv')
print(df.head())
```
注意事项:如果文件编码非UTF-8,需指定encoding参数。

用户问题:什么是机器学习?

正确回答:
机器学习是人工智能的核心分支,通过数据训练模型来进行预测或决策。
### 主要类型
- 监督学习:数据有标签(分类、回归)
- 无监督学习:数据无标签(聚类、降维)
- 强化学习:通过奖励信号学习(游戏、机器人)

### 实际应用
- 推荐系统(抖音/Netflix)
- 图像识别(自动驾驶)
- 自然语言处理(ChatGPT)

评分变化

维度 v2得分 v3得分 变化原因
格式 8 8 0:保持
规则 9 9 0:保持
角色 8 8 0:保持
内容 9 10 +1:增加 Content Guidelines,覆盖不同场景
示例 6 10 +4:增加具体的问答示例,覆盖不同问题类型

综合得分:9.75/10(+1.00)

关键经验总结

1. 先外后内 —— 最重要的原则

这是整套方法中最核心的教训。格式和规则错了,内容再好也没用

我们的数据清晰展示了这一点:

  • 修复格式+规则(结构维度)→ +1.50分
  • 修复内容+示例(语义维度)→ +1.00分

结构的 ROI 比内容高 50%。如果你觉得 Prompt “不好用”,先检查结构和规则是否完整,而不是急着改文字措辞。

2. 评分驱动,消除主观偏差

每次迭代都通过评分来驱动,而不是凭”感觉”。评分体系的优势:

  • 可量化:7.25→8.75→9.75 的进步清晰可见
  • 可定位:知道哪个维度是弱项(如格式只有2分)
  • 可比较:不同迭代的效果可以横向对比

3. 小步快跑,每次只改 1-2 个维度

一次改太多会导致无法判断哪个变更有效。推荐节奏:

  • 第1轮:只改结构(格式+规则)
  • 第2轮:只改内容(内容+示例)
  • 第3轮:微调(如果还需要的话)

4. 保留版本历史,形成可复用经验

每次迭代都保存 Prompt 版本和评分记录。这样能:

  • 回溯每个修改带来的提升
  • 形成组织级的 Prompt 优化知识库
  • 新人可以快速上手最佳实践

适用场景

这套方法适用于以下场景:

场景 适用性 说明
系统 Prompt 设计 ⭐⭐⭐ 需要稳定输出的生产环境
Agent 指令编写 ⭐⭐⭐ 需要精确控制 Agent 行为
任务模板优化 ⭐⭐⭐ 需要批量使用的标准化 Prompt
API 调用配置 ⭐⭐ 需要控制成本和输出质量
一次性对话 简单的场景可能过度工程

局限性

这套方法也有一些局限性需要说明:

  • 评分主观性:虽然评分体系结构化,但评分本身仍有主观成分。建议多人交叉评分降低偏差。
  • 过度工程:对于一次性使用的简单 Prompt,三步迭代法可能过度工程。灵活把握投入度。
  • 领域差异:不同任务类型(创意写作 vs 代码生成)的评分权重可能需要调整。

结语

Prompt Engineering 不是玄学,而是一门可以系统化优化的工程学科。通过”先外后内”的结构化迭代方法,我们可以在短时间内大幅提升 Prompt 的质量。

从 7.25 到 9.75 的提升不是终点,而是证明这套方法论有效的起点。下次你需要优化 Prompt 时,不妨试试这个三步骤迭代法——先修结构,再修内容,小步快跑,评分驱动

如果你有自己的 Prompt 优化经验或心得,欢迎在评论区分享交流。