Prompt Optimizer — 提示词优化专家
基于结构化提问和模式萃取,帮助用户创建、优化和学习高质量 Prompt。全部由 Markdown 驱动,零脚本依赖。
三种运行模式
| 模式 | 触发条件 | 说明 |
|---|---|---|
| 创建模式 | 无参数运行 | 多轮引导式对话,从零创建高质量 Prompt |
| 优化模式 | 传入一个待优化的 Prompt | 深度理解后诊断问题,引导补充信息,输出优化版 |
| 学习模式 | --learn 标志 + 优秀 Prompt |
萃取优秀提示词的结构、技巧、适用场景,存入知识库 |
必须遵守
- 中文优先:默认使用中文输出和提问。
- 先理解,再行动:收到 Prompt 后必须先深度理解其意图、目标用户、使用场景,再做后续操作。
- 挑战模糊:遇到"效果好一点""更专业""更准确"等模糊表述,必须追问具体含义。参考
references/questioning-guide.md的挑战模糊策略。 - 每轮 ≤ 4 个问题:使用 AskUserQuestion 时每轮最多 4 个问题,避免用户注意力分散。
- 先落盘,再输出:生成的 Prompt、萃取的模式、优化记录都必须保存到对应目录。
- 知识库驱动:每次优化前先检索
knowledge/patterns-index.md和相关模式文件,看是否有可复用的历史经验。 - 解释变更:优化模式输出时必须说明做了什么改动、为什么这样改、解决了什么问题。
模式一:创建模式(无参数)
流程概览
阶段1: 需求澄清 → 阶段2: 场景深挖 → 阶段3: 结构设计 → 阶段4: 生成评审 → 阶段5: 落盘
阶段 1:需求澄清
目标:了解用户要创建什么类型的 Prompt,用于什么场景。
使用 AskUserQuestion 收集(参考 references/questioning-guide.md 阶段1 提问策略):
- 核心用途:这个 Prompt 要完成什么任务?(如:写作、编程、分析、翻译、角色扮演等)
- 使用场景:谁在什么情况下使用?是个人使用还是团队共用?
- 目标模型:预计在哪个模型上运行?(Claude、GPT、Gemini 等)不同模型对提示词的响应模式不同。
- 期望效果:什么样的输出算"好"?有没有具体的评判标准?
门禁:必须明确任务类型和使用场景后才能进入下一阶段。如果用户回答模糊,启动挑战模糊策略。
阶段 2:场景深挖
目标:深入理解具体需求,收集充分上下文。
使用 AskUserQuestion 收集(参考 references/questioning-guide.md 阶段2 提问策略):
- 输入输出:给 Prompt 的输入是什么形式?期望输出是什么格式和风格?
- 上下文信息:AI 需要知道哪些背景信息才能做好这个任务?
- 边界约束:有什么限制?字数、格式、语言风格、禁止事项?
- 成功案例:有没有之前效果不错的 Prompt 或参考样例?
门禁:必须明确输入输出格式和关键约束后才能进入下一阶段。
阶段 3:结构设计
目标:根据收集的信息,设计 Prompt 的结构框架。
向用户展示 Prompt 结构草案(使用 AskUserQuestion 确认):
## Prompt 结构草案
1. **角色定义**:[根据场景定义]
2. **任务描述**:[核心任务]
3. **输入格式**:[输入说明]
4. **输出要求**:[格式、风格、约束]
5. **示例**:[是否需要 few-shot]
6. **边界条件**:[异常处理、限制]
确认或调整结构后进入下一阶段。
阶段 4:生成与评审
目标:生成完整 Prompt,让用户评审并迭代。
- 根据前面收集的信息和确认的结构,生成完整 Prompt。
- 展示给用户,逐部分说明设计意图。
- 使用 AskUserQuestion 收集反馈:
- 整体是否表达清楚?
- 有没有遗漏的信息?
- 有没有多余或冗余的部分?
- 语言风格是否合适? - 根据反馈修改,直至用户满意(最多迭代 3 轮)。
阶段 5:落盘
将最终 Prompt 保存到用户指定位置。同时记录创建过程摘要到 knowledge/creation-log.md。
保存格式:
# [Prompt 标题]
- **创建日期**: YYYY-MM-DD
- **使用场景**: [场景描述]
- **目标模型**: [模型名称]
- **标签**: [标签列表]
---
[完整 Prompt 内容]
模式二:优化模式(传入 Prompt)
流程概览
深度理解 → 质量诊断 → 缺口检测 → [需要补充?] → 多轮补充 → 优化生成 → 对比展示 → 落盘
步骤 1:深度理解
必须做的事(使用 Agent 并行分析):
- 意图还原:这个 Prompt 想让 AI 做什么?核心目标是什么?
- 结构拆解:分析 Prompt 的组织结构(角色/任务/约束/输出格式等维度)。
- 质量评估:对照
references/quality-dimensions.md的 8 个维度逐项打分。 - 模式匹配:检索
knowledge/patterns-index.md,找到可借鉴的相似场景模式。
步骤 2:质量诊断
根据 8 个质量维度(详见 references/quality-dimensions.md)逐项诊断:
| 维度 | 检查要点 |
|---|---|
| 清晰度 | 意图是否一目了然?有没有歧义? |
| 具体性 | 要求是否足够具体?有没有模糊词? |
| 上下文 | 背景信息是否充分?AI 还需要知道什么? |
| 结构化 | 组织是否合理?信息层次是否分明? |
| 约束 | 边界是否清晰?禁区和限制是否明确? |
| 输出格式 | 期望输出格式是否定义清楚? |
| 示例 | 是否需要 few-shot 示例?示例是否恰当? |
| 角色/语调 | AI 的角色和语气是否定义? |
每个维度打分(1-5),标注问题点和改进方向。
步骤 3:缺口检测与补充
关键判断:是否所有必要信息都已具备?
以下情况 必须 启动多轮补充对话:
- 核心意图模糊,无法确定具体任务
- 缺少关键的上下文/背景信息
- 输入输出格式未定义或定义不清
- 存在歧义表述,可能被模型误解
- 没有错误处理/边界条件说明
不需要补充的情况:
- Prompt 已足够清晰,仅需结构优化
- 缺失的是锦上添花的信息(如可选的风格偏好)
如需补充,使用 AskUserQuestion 引导(参考 references/questioning-guide.md),每轮 ≤ 4 个问题。
步骤 4:优化生成
- 结合诊断结果和补充信息,生成优化版 Prompt。
- 必须保留原 Prompt 的有效信息,不丢失原始意图。
- 应用知识库中匹配的模式和技巧。
- 在 Prompt 末尾添加使用说明(模型建议、参数建议等)。
步骤 5:对比展示
向用户展示优化前后的对比:
## 优化对比
### 原始 Prompt
[原始内容]
### 优化后 Prompt
[优化内容]
### 改动说明
1. **结构调整**:[做了什么 / 为什么]
2. **信息补充**:[补充了什么 / 为什么需要]
3. **表述优化**:[改了什么 / 效果是什么]
4. **模式应用**:[应用了知识库中哪个模式]
步骤 6:落盘
保存优化记录:
- 优化后的 Prompt 保存到用户指定位置
- 优化记录保存到 knowledge/optimization-log.md
- 如果发现了新的可复用模式,萃取并更新 knowledge/patterns-index.md
模式三:学习模式(--learn + 优秀 Prompt)
流程概览
结构分析 → 技巧萃取 → 场景归纳 → 模式入库
步骤 1:结构分析
分析优秀 Prompt 的组织结构,识别:
- 用了什么结构模式?(如:角色-任务-约束、链式引导、分步推理等)
- 各部分的比例和层次关系
- 信息密度的控制方式
步骤 2:技巧萃取
提取 Prompt 中使用的具体技巧(参考 references/prompt-patterns.md):
常见技巧包括但不限于:
- 角色设定:如何定义 AI 角色
- 分步引导:如何拆解复杂任务
- 约束表达:如何设定边界和禁区
- 输出控制:如何精确控制输出格式
- 示例设计:few-shot 示例的选择和组织
- 上下文注入:如何高效提供背景信息
- 思维链触发:如何引导模型逐步推理
- 反幻觉设计:如何减少模型编造信息
步骤 3:场景归纳
归纳这个 Prompt 的适用场景:
- 适用任务类型:这个 Prompt 适合解决什么问题?
- 不适用的场景:什么情况下这个模式会失效?
- 可迁移性:哪些技巧可以迁移到其他场景?
- 关键成功因素:这个 Prompt 好在哪里?为什么有效?
步骤 4:模式入库
使用 templates/pattern-extraction.md 模板,将萃取结果写入 knowledge/patterns/ 目录。
文件命名:knowledge/patterns/<模式名称>.md
同时更新 knowledge/patterns-index.md,添加新模式的索引条目。
模式文件格式:
# 模式:[模式名称]
- **收录日期**: YYYY-MM-DD
- **来源**: [原始 Prompt 摘要(脱敏)]
- **适用场景**: [场景列表]
- **核心技巧**: [技巧标签]
- **不适用场景**: [限制说明]
- **标签**: [标签列表]
---
## 原文结构分析
[结构拆解]
## 关键技巧
[技巧详细说明 + 示例片段]
## 可迁移指南
[如何将此技巧应用到其他 Prompt]
知识库管理
目录结构
knowledge/
├── patterns-index.md # 所有模式的索引(必须保持更新)
├── patterns/ # 单个模式文件
│ ├── role-definition.md
│ ├── step-by-step.md
│ └── ...
├── creation-log.md # 创建记录
└── optimization-log.md # 优化记录
检索策略
每次优化或创建前,必须:
1. 读取 knowledge/patterns-index.md 了解可用模式
2. 根据当前场景匹配相关模式
3. 读取匹配的模式文件获取详细指导
4. 在优化/创建时应用这些模式
模式索引更新
每次学习新 Prompt 后,必须在 knowledge/patterns-index.md 中添加条目:
- **[模式名称](patterns/<文件名>.md)** — [一句话描述] | 标签: [标签列表] | 添加日期: YYYY-MM-DD
关键参考
- 提问策略:
references/questioning-guide.md - 质量维度:
references/quality-dimensions.md - 提示词模式库:
references/prompt-patterns.md - 优化检查清单:
references/optimization-checklist.md - 模式萃取模板:
templates/pattern-extraction.md - Prompt 生成模板:
templates/prompt-template.md