--- name: better-prompt description: 当用户明确要求"优化 prompt"、"改进提示词"、"润色指令"或"将简陋 prompt 转换为最佳实践版本"时使用。基于 OpenAI 和 Anthropic 官方最佳实践,对用户提供的简陋 prompt 进行结构化优化,输出符合社区标准的高质量版本。 metadata: author: Bensz Conan keywords: - better-prompt - prompt optimization - prompt engineering - 提示词优化 --- # Better Prompt - Prompt 优化器 ## 与 bensz-collect-bugs 的协作约定 - 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。 - 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。 将简陋的 prompt 优化为符合社区最佳实践的高质量版本。 ## 版本与兼容性 - **适用于**:Claude 3.x/4.x、GPT-4/5、Gemini 等主流 LLM - **最佳实践来源**:OpenAI/Anthropic 官方文档(2026-02) - **更新策略**:官方文档重大更新时同步修订 ## 不适用场景 以下情况不建议使用本技能: - prompt 已经经过专业优化(评分 ≥ 8/10) - 只需要诊断问题,不需要修改建议 - 超长 prompt(>10000 字)需要专业拆分 - 用户明确要求保持原始风格 ## 输入要求 用户提供一个待优化的原始 prompt(可以是任意形式的简陋版本)。 ## 优化框架 基于 **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(示例) 示例输入 示例输出 # Context(上下文) [任务相关的背景信息、参考资料] ``` > **Examples 的使用规则**: > - 对于复杂任务(复杂度 ≥ 3/5),Examples 是**必需的** > - 对于简单任务,Examples 可以省略 > - 如原始 prompt 已有示例,优化时应保留或增强 ### Step 4: 输出优化结果 输出包含三个部分(默认全部包含,可通过 config.yaml 调整): 1. **优化分析**:简要说明做了哪些改进 2. **优化后的 prompt**:符合最佳实践的高质量版本 3. **使用建议**:针对特定场景的调整建议 ## 输出格式 ```markdown ## 优化分析 | 维度 | 原始状态 | 优化措施 | |------|---------|---------| | 清晰度 | ... | ... | | 完整性 | ... | ... | | 结构化 | ... | ... | | 示例性 | ... | ... | | 约束性 | ... | ... | ## 优化后的 Prompt # Identity ... # Instructions ... # Examples(如适用) ... # Context(如适用) ... ## 使用建议 - 适用于:[模型类型/场景] - 调整建议:[如需针对特定场景调整的建议] ``` ## 优化效果评估 对优化前后的 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=优秀 ## 质量标准 优化后的 prompt 必须满足: | 标准 | 要求 | |------|------| | **明确性** | 核心任务一句话能说清 | | **可执行性** | AI 能直接理解并执行 | | **完整性** | 不缺少必要信息 | | **结构化** | 使用 Markdown/XML 清晰组织 | | **可测试性** | 能判断输出是否符合预期 | ## 特殊场景处理 根据 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)