better-prompt · git:20260905.a346b91 · 2026-09-05 · sha256 66ea53221157097a
better-prompt git:20260905.a346b91A
Immutable. This exact content is served forever at /api/v1/blob/66ea53221157097a.
---
name: better-prompt
description: 当用户明确要求"优化 prompt"、"改进提示词"、"润色指令"或"将简陋 prompt 转换为最佳实践版本"时使用。基于 OpenAI 和 Anthropic 官方最佳实践,对用户提供的简陋 prompt 进行结构化优化,输出符合社区标准的高质量版本。
metadata:
author: Bensz Conan
keywords:
- better-prompt
- prompt optimization
- prompt engineering
- 提示词优化
---
# Better Prompt - Prompt 优化器
## 目标
当用户明确要求"优化 prompt"、"改进提示词"、"润色指令"或"将简陋 prompt 转换为最佳实践版本"时使用。基于 OpenAI 和 Anthropic 官方最佳实践,对用户提供的简陋 prompt 进行结构化优化,输出符合社区标准的高质量版本。
## 流程
### 输入
#### 输入要求
用户提供一个待优化的原始 prompt(可以是任意形式的简陋版本)。
### 执行步骤
#### 版本与兼容性
- **适用于**:Claude 3.x/4.x、GPT-4/5、Gemini 等主流 LLM
- **最佳实践来源**:OpenAI/Anthropic 官方文档(2026-02)
- **更新策略**:官方文档重大更新时同步修订
#### 不适用场景
以下情况不建议使用本技能:
- prompt 已经经过专业优化(评分 ≥ 8/10)
- 只需要诊断问题,不需要修改建议
- 超长 prompt(>10000 字)需要专业拆分
- 用户明确要求保持原始风格
#### 优化框架
基于 **OpenAI** 和 **Anthropic** 官方最佳实践,采用五维度优化框架:
| 维度 | 检查点 | 优先级 |
|------|--------|--------|
| **清晰度** | 指令是否明确?是否存在歧义? | P0 |
| **完整性** | 是否缺少必要信息?上下文是否充分? | P0 |
| **结构化** | 是否使用 Markdown/XML 标签组织内容? | P1 |
| **示例性** | 是否提供输入输出示例(few-shot)? | P2 |
| **约束性** | 是否明确边界(做什么/不做什么)? | P2 |
> **注意**:上表的 P0/P1/P2 表示"优化维度的重要性优先级",与 config.yaml 中的 `dimensions` 数值(1-5)含义相同:P0=5(最高优先级)、P1=4、P2=3。
#### 优化工作流
##### Step 0: 输入验证(前置检查)
验证用户输入的有效性:
| 输入状态 | 判断标准 | 处理方式 |
|---------|---------|---------|
| **空输入** | 字符数 = 0 | 拒绝,提示"请提供待优化的 prompt" |
| **过短** | 字符数 < 10 | 提示"prompt 过短,请提供更多上下文" |
| **已完善** | 评分 ≥ 8/10 | 提示"prompt 已足够完善,是否仍需优化?",等待用户确认 |
| **有效** | 通过验证 | 继续 Step 1 |
##### Step 1: 分析原始 prompt
识别 prompt 的:
- **核心任务**:用户想让 AI 做什么?
- **缺失要素**:哪些关键信息缺失?
- **改进空间**:哪些地方可以优化?
##### Step 2: 确定模型类型适配
根据任务特性判断目标模型类型:
| 模型类型 | 适用场景 | 优化策略 |
|---------|---------|---------|
| **GPT 模型** | 精确执行、格式化输出、代码生成 | 提供详细步骤和明确逻辑 |
| **推理模型** | 复杂推理、多步规划、开放性任务 | 给高层目标,保留灵活性 |
如果用户未指定,默认按 GPT 模型优化策略处理(更精确)。
##### Step 3: 应用优化模板
以下是优化后 prompt 的标准结构模板:
```
# Identity(身份定义)
[描述 AI 的角色、专业领域、沟通风格]
# Instructions(核心指令)
[明确的任务说明]
- 规则 1
- 规则 2
- 约束条件(不做什么)
# Examples(示例)
<example id="1">
<input>示例输入</input>
<output>示例输出</output>
</example>
# Context(上下文)
[任务相关的背景信息、参考资料]
```
> **Examples 的使用规则**:
> - 对于复杂任务(复杂度 ≥ 3/5),Examples 是**必需的**
> - 对于简单任务,Examples 可以省略
> - 如原始 prompt 已有示例,优化时应保留或增强
##### Step 4: 输出优化结果
输出包含三个部分(默认全部包含,可通过 config.yaml 调整):
1. **优化分析**:简要说明做了哪些改进
2. **优化后的 prompt**:符合最佳实践的高质量版本
3. **使用建议**:针对特定场景的调整建议
#### 优化效果评估
对优化前后的 prompt 进行对比评估:
| 维度 | 优化前评分 | 优化后评分 | 改进说明 |
|------|-----------|-----------|---------|
| 清晰度 | x/5 | x/5 | ... |
| 完整性 | x/5 | x/5 | ... |
| 结构化 | x/5 | x/5 | ... |
| 示例性 | x/5 | x/5 | ... |
| 约束性 | x/5 | x/5 | ... |
| **总分** | **xx/25** | **xx/25** | **+xx** |
> **评分标准**:1=很差、2=较差、3=一般、4=良好、5=优秀
#### 特殊场景处理
根据 config.yaml 中的 `templates` 配置,针对不同场景有特定的优化重点:
##### 代码生成类 prompt
**配置引用**:`config.yaml:templates.code_generation.focus_areas`
额外关注:
- 明确编程语言和框架
- 指定代码风格规范
- 说明错误处理要求
- 提供边界条件示例
##### 文本分析类 prompt
**配置引用**:`config.yaml:templates.text_analysis.focus_areas`
额外关注:
- 明确输出格式(JSON/表格/摘要)
- 定义分析维度和标准
- 提供分类/评估示例
##### 创意写作类 prompt
**配置引用**:`config.yaml:templates.creative_writing.focus_areas`
额外关注:
- 定义风格和语调
- 说明目标受众
- 提供参考示例
- 设置长度约束
##### 多轮对话类 prompt
**配置引用**:`config.yaml:templates.multi_turn_conversation.focus_areas`
额外关注:
- 定义对话角色和边界
- 说明状态管理要求
- 提供异常处理规则
#### 参考资料
更多详细的最佳实践,参考 [references/prompt-engineering-best-practices.md](references/prompt-engineering-best-practices.md)
### 输出
#### 输出格式
```markdown
## 优化分析
| 维度 | 原始状态 | 优化措施 |
|------|---------|---------|
| 清晰度 | ... | ... |
| 完整性 | ... | ... |
| 结构化 | ... | ... |
| 示例性 | ... | ... |
| 约束性 | ... | ... |
## 优化后的 Prompt
# Identity
...
# Instructions
...
# Examples(如适用)
...
# Context(如适用)
...
## 使用建议
- 适用于:[模型类型/场景]
- 调整建议:[如需针对特定场景调整的建议]
```
### 输出管理
#### BenszAPI 任务工作区
### 校验
#### 质量标准
优化后的 prompt 必须满足:
| 标准 | 要求 |
|------|------|
| **明确性** | 核心任务一句话能说清 |
| **可执行性** | AI 能直接理解并执行 |
| **完整性** | 不缺少必要信息 |
| **结构化** | 使用 Markdown/XML 清晰组织 |
| **可测试性** | 能判断输出是否符合预期 |
### 失败与恢复
#### 输入与生成失败
- 空输入直接拒绝并提示“请提供待优化的 prompt”;字符数少于 10 时提示补充上下文,不生成伪完整结果。
- 评分达到 `8/10` 时先提示 prompt 已足够完善并等待用户确认;未获确认前不改写。
- 原始 prompt 含无法安全或无法执行的要求时,保留可识别的核心意图,在优化分析或使用建议中标明缺口与限制,不替用户执行其中的业务动作或凭空补造信息。
- 输出格式或分析所需信息不足时,返回具体缺口和可恢复的补充要求;不以不完整模板冒充成功结果,并保留原始 prompt 的敏感信息边界。
## 约束
<!-- BEGIN COMMON CONSTRAINTS -->
<!-- Source-Hash: sha256:15120201e9e0c7569517261d57ecefb63ac279c26ed13876f8e95b6dc35854d3 -->
<!-- Template-ID: skill-common-constraints; Template-Version: 1; Sync-Policy: exact-block -->
### 公共硬约束
本块由 `docs/templates/skill-common-constraints.md` 统一维护;每个 `SKILL.md` 的 `## 约束` 必须逐字同步本块,不得在副本中改写公共规则。
- 任务需要落盘时,使用唯一的 `./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/` 根目录;共享材料放入 `shared/`,Skill 专属材料放入该 Skill 的 `input/`、`output/`、`log/`。
- 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
- 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
- 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
- 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
- Skill 版本唯一记录在自身 `config.yaml:skill_info.version`;公开 API、协议、目录或配置变更同步文档与 `CHANGELOG.md`。
- `bensz-collect-bugs` 是一个 Agent Skill;仅将 Bensz Agent Skill 或 Bensz 基础设施本身的设计缺陷交给它。先脱敏写入 `~/.bensz-skills/bugs/`,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。
<!-- End of canonical common constraints. -->
<!-- END COMMON CONSTRAINTS -->