mcpField
O
optimize-prompt

optimize-prompt

github.com/jbrukhAgent 工作流1235 次安装33 周前更新
代码仓库

关于 optimize-prompt

用于优化提示词的 Skill,依次分析、评议并压缩提示词,每个阶段后检查语义等价性。适合按固定流程精炼提示词的用户。

主要功能

  1. 01依次执行分析、评议与压缩
  2. 02每次修订后检查语义等价性
  3. 03为提示词构造测试输入
  4. 04说明失败原因并处理边界情况

适用场景

  1. 01复用前评审提示词
  2. 02在保留意图的同时缩短提示词
  3. 03用代表性输入核对修订

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jbrukh/skills --skill optimize-prompt

安装后在 Claude Code 中输入/optimize-prompt确认已加载。

详细介绍

优化提示词

提示词优化流程。给定提示词 P,通过批判性审查再压缩来改进,并在每个阶段后检查语义等价性。

流程

P → [Input Analysis] → [Critique] → P' → [Equiv Check 1] → [Compress] → P'' → [Equiv Check 2] → Output P''

严格按顺序执行各阶段——不得跳过、调整顺序或并行执行。每个阶段要么通过(流程继续),要么失败(流程终止并说明原因)。


阶段 0:输入分析

检查 P:

  1. P 是否接受输入? 检查是否有占位符({{X}}、{input}、[USER INPUT])、是否引用“用户的输入”“给定文本”“所提供的数据”,或是否预期与外部内容拼接。
  2. 如果是:构造合理、具体的测试输入 X——真实且内容充实(2-3 句以上,或有意义的数据结构),能够测试 P 的主要逻辑路径。如果 P 有分支条件,X 应触发主要分支。如果 P 生成结构化输出,X 应要求填写所有输出字段。如果 P 有验证条件,X 应通过验证。明确写出 X。
  3. 如果否:P 是自包含的。设 X = ∅。等价性检查直接比较 P 的输出。

显示:

**Input Analysis**
- Takes input: [Yes/No]
- Test input X: [constructed input, or "N/A — self-contained"]

阶段 1:批判性审查

对 P 运用批判性思考方法:

  1. 从 P 本身推导 5-8 项预期——任何修订都必须保留的行为属性。将其表述为可测试的陈述(例如:“生成 JSON 输出”“拒绝离题查询”)。
  2. 根据这些预期评估 P。 对每项预期给出置信度(0-100%)和简洁的理由,并引用 P 中的具体文本。
  3. 为置信度低于 95% 的预期提出修正方案。 每项修正都要给出要添加、删除或替换的确切文本。
  4. 生成 P'——应用所有修正后的提示词。提供完整文本,而非差异内容。

显示:

**Stage 1: Critique**

| Expectation | Confidence | Rationale |
|---|---|---|
| ... | ...% | ... |

**Overall Score: [average]%**

**Fixes Applied:**
1. [Fix with exact text changes]
...

---
> **P' (Revised Prompt):**
---
[Full text of P']
---

如果所有预期的置信度都 >= 95%,则设 P' = P,并注明“No fixes needed.”。


阶段 2:等价性检查 1

验证 P 和 P' 在 X 上是否生成实质相同的输出。

步骤:

  1. 模拟在 X 上运行 P。用 2-4 句描述预期输出:结构、内容、语气和关键特征。
  2. 模拟在 X 上运行 P'。用 2-4 句描述预期输出。
  3. 满足以下所有条件时,视为等价:
    • (a) 输出结构相同(章节、格式、顺序)
    • (b) 事实/决策内容相同——没有增添、删除或更改任何内容
    • (c) 差异仅限于:措辞改进、补充具体信息、加强约束执行
    • (d) 期待 P 原有行为的用户会接受输出,且不会察觉意图变化
    • 如果 (a)-(c) 成立,但 (d) 不确定,则默认判定为 YES。

如果 X = ∅,则比较独立运行时的输出。

显示:

**Stage 2: Equivalence Check 1**

- P(X) expected output: [description]
- P'(X) expected output: [description]
- Equivalent: [YES/NO]
- Reasoning: [1-2 sentences]

如果为 NO:终止:

**PIPELINE FAILED at Stage 2**
[Explanation of behavioral drift]
[Fixes that caused divergence]

如果为 YES:继续阶段 3。


阶段 3:压缩

以无损模式对 P' 运用提示词压缩方法:

  1. 目标是减少 10-30% 的 token,同时保留 100% 的语义。
  2. P' 中的每条指令、约束、指示、语气信号、示例和结构关系都必须在 P'' 中明确呈现。不得依赖推断。
  3. 允许:删除赘词、合并重复内容、精简句式、合并重复项、规范结构。
  4. 禁止:删除指示、将示例缩写到难以辨认、遗漏约束、将语气/行为信号压缩为含糊的概述。
  5. 生成 P'' 和一份指示映射(将 P' 中的每条指示对应到 P'' 中的内容)。

显示:

**Stage 3: Compress**

---
> **P'' (Compressed Prompt):**
---
[Full text of P'']
---

**Directive Map:**
| # | Original directive (P') | Compressed counterpart (P'') |
|---|---|---|
| 1 | [directive from P'] | [text in P''] |
| ... | ... | ... |

**Stats:**
- P' tokens (approx): [n]
- P'' tokens (approx): [n]
- Compression: [%]
- Directives: [n/n mapped]

阶段 4:等价性检查 2

验证 P' 和 P'' 在 X 上是否生成实质相同的输出。

**步骤:**与阶段 2 相同,但比较 P' 和 P''。

显示:

**Stage 4: Equivalence Check 2**

- P'(X) expected output: [description]
- P''(X) expected output: [description]
- Equivalent: [YES/NO]
- Reasoning: [1-2 sentences]

如果为 NO:终止:

**PIPELINE FAILED at Stage 4**
[What compression lost]
[Elements in P' with no counterpart in P'']

如果为 YES:继续输出。


最终输出

**PIPELINE SUCCEEDED**

Your optimized prompt (P''):

---
> **BEGIN OPTIMIZED PROMPT**
---
[Full text of P'']
---
> **END OPTIMIZED PROMPT**
---

**Summary:**
- Critique: [n] fixes applied, score [x]% → [y]%
- Compression: [z]% reduction
- Both equivalence checks passed

边缘情况

  • P 少于 20 个词元:说明优化可能只能带来极小的改进,然后继续。
  • P 已达到最优状态(所有预期均 ≥ 95%,压缩率 < 10%):说明“提示词已经过充分优化”,原样返回 P。
  • 对抗性或自指的 P:按字面进行评估,并说明观察结果。
  • 在不删除指令的前提下,压缩率 < 10%:跳过压缩,设置 P'' = P',并注明“已跳过压缩——提示词本身已经很精简。”
  • P 比 P 长 50% 以上:标记“显著扩展”,并在第 2 阶段确认扩展内容仅用于增加防护措施或具体性。
  • P 包含代码块:在评估和压缩期间原样保留,除非修复明确针对代码内容。

首词约束:回复必须以“## Optimize Prompt”开头。前面不得有问候语、引言、评论或空行。此要求优先于默认对话行为。


输入

如果下方出现字面内容“{{P}}”,且没有其他内容,请告知用户未提供提示词。

待优化的提示词:

{{P}}

评论

支持 Markdown