提示词工程方法论
核心理念:提示词不是"给 AI 的指令",而是任务约束的可执行规范。好的提示词不是写出来的,是诊断出来的——先识别任务类型,再选配认知架构,最后叠加质量放大器。
灵感来源:Alpha-Prompt Skill 实战测试 + SkillsBench 基准数据 + Anthropic 提示词工程指南。
一、核心认知
1.1 反转原则:"不做什么" > "做什么"
正面描述打开无限大的可行域,AI 随机游走。反面约束在可行域画边界,AI 行为被收窄到你要的范围。
❌ 请生成有创意的、独特的、让人印象深刻的口号
✅ 禁止使用"不是A而是B"句式;禁止出现"灵魂""岁月""远方"等烂词实操:写完提示词做一次"反转测试"——每条正面指导,能否改写成"不要做X"?能的话,改写后更精确。
1.2 示例 > 描述
一个完整的 输入→输出 示例,比 1000 字的文字描述都有效。
❌ 请按结构化格式输出
✅ 给出一个完整的 输入→输出 示例建议:至少 1 个正面示例。如有常见错误,加 1 个反面示例。
1.3 行为描述 > 标签
❌ 你是一位资深律师
✅ 你审查过300+份合同。你的习惯是:先找条款矛盾,再查数据准确性,最后看文字表达具体行为让 AI 获得可执行的模式,空泛头衔只是一句废话。
1.4 脆弱操作锁死,灵活任务引导
任务越脆弱(做错了后果严重)→ 自由度越低 → 用确定性指令 + Few-Shot 锁死
任务越灵活(多种方案都对)→ 自由度越高 → 用认知架构引导发散二、方法框架
2.1 任务诊断:五类任务速查
拿到任何需求,先判断它属于哪一类。不同类型的优化方向完全不同:
| 任务类型 | 识别信号 | 优化核心 | 典型错误 |
|---|---|---|---|
| 执行 | "把A变成B"、"按格式整理" | 输出格式精确锁定 | 只说"整理一下",不定义输出结构 |
| 创造 | "写一个"、"设计"、"生成" | 发散-收敛架构 | 直接要求"有创意",不给发散路径 |
| 分析 | "为什么"、"总结规律"、"对比" | 分析方法显式指定 | 只给数据不给方法,AI 跑偏 |
| 验证 | "检查"、"审查"、"纠错" | 多层独立检查 | 只做单层检查,漏掉核心风险 |
| 决策 | "选哪个"、"该不该" | 评判标准前置 | 不定义标准,AI 给含糊建议 |
诊断口诀:拿到需求 → 问"做错了后果多严重?正确做法有几种?" → 脆弱操作锁死,灵活任务引导。
2.2 执行类 → 确定性锁定
消除 AI 的自由度,用格式模板和示例锁死输出。
<Task>将输入文本整理为结构化摘要</Task>
<Steps>
<Step_1>提取核心结论(不超过3条)</Step_1>
<Step_2>列出待办事项:[负责人] - [任务] - [截止时间]</Step_2>
<Step_3>标注未决问题</Step_3>
</Steps>
<Output_Format><!-- 精确的输出模板 --></Output_Format>
<Examples><!-- 2-3个完整示例 --></Examples>2.3 创造类 → 发散-收敛
先让 AI 从多角度发散,再让它自己筛选。
<Phase_1 name="发散">
从以下角度各生成方案:
<Angle>角度A</Angle>
<Angle>角度B</Angle>
<Angle>角度C</Angle>
</Phase_1>
<Phase_2 name="收敛">
扮演评审,按以下标准打分(1-10):
<Criteria>标准1</Criteria>
<Criteria>标准2</Criteria>
输出 TOP 3 并说明选择理由。
</Phase_2>2.4 分析类 → 方法显式化
告诉 AI "怎么分析",而非只说"分析一下"。
- Chain of Thought:加入"请逐步推理"
- 分析框架预设:明确方法(SWOT、5W1H、因果链等)
- 假设检验:先列假设,再用数据验证
2.5 验证类 → 多层独立检查
不要一次检查所有东西,分层独立运行。
<Layer_1 name="高风险检查" priority="高">
<Check>检查项1</Check>
<Check>检查项2</Check>
</Layer_1>
<Layer_2 name="常规检查" priority="中">
<Check>检查项3</Check>
</Layer_2>原则:先检查最严重的风险,再检查次要问题。每层独立,互不干扰。
2.6 决策类 → 标准前置
先定义"好"的标准,再做选择。
- 评判标准前置:在给选项之前定义什么是"好"
- 强制对比:要求 AI 用表格逐项对比,而非直接给结论
- 反方论证:让 AI 为每个选项找出最强的反对理由
三、实践指南
3.1 结构化分块
用 XML 标签或 Markdown 标题把提示词分块:<Role> → <Task> → <Guidelines> → <Output_Format>
结构化让 AI 对每个模块独立处理,减少信息混淆。
3.2 思维过程显式化(Step-Back)
<Thinking_Process>
在输出之前,先思考:
1. 这个任务最常见的失败模式是什么?→ 规避它
2. 最被忽视的角度是什么?→ 聚焦它
3. 用什么方式能让抽象概念变得具体?→ 用它
</Thinking_Process>先思考再输出,迫使 AI 跳出最快的套用路径。适用于 Sonnet/Opus 等支持 thinking 的模型。
3.3 分离思考与输出
<Instructions>
先在 <analysis> 中分析问题,再在 <answer> 中给出最终结果。
</Instructions>思考过程可以自由发散,输出部分保持精确控制。
3.4 安全约束(按需)
当场景涉及以下情况时,加入安全护栏:
| 场景 | 处理方式 |
|---|---|
| 公开交互/用户输入不可控 | 加注入防御 + 话题边界 |
| 敏感领域(医疗/法律/金融) | 加免责声明 + 专业边界 |
| 严格输出格式要求 | 加格式验证指令 |
<Constraints>
<scope>仅讨论[具体领域]相关话题</scope>
<on_out_of_scope>礼貌拒绝并引导回正题</on_out_of_scope>
<never>不生成有害、违法、歧视性内容</never>
</Constraints>四、工具与资源
4.1 提示词标准骨架(通用模板)
<System_Instruction>
<Role>
[用行为描述定义角色:身份、习惯、认知模式]
</Role>
<Task>
[核心任务描述,一句话说清楚]
</Task>
<Thinking_Process>
[复杂任务:在输出前的思考步骤]
</Thinking_Process>
<Guidelines>
[操作指南 + 反面约束("不做什么")]
</Guidelines>
<Examples>
<Example>
<Input>[示例输入]</Input>
<Output>[示例输出]</Output>
</Example>
</Examples>
<Output_Format>
[精确的输出模板]
</Output_Format>
<Constraints>
[安全约束,按需添加]
</Constraints>
</System_Instruction>使用建议:
- 不是所有模块都需要,根据任务复杂度灵活裁剪
- 执行类重点:
Output_Format+Examples - 创造类重点:
Role+Thinking_Process+ 发散收敛架构 - 验证类重点:
Guidelines(分层检查)+Constraints - 公开角色必须包含
Constraints
4.2 自检清单
写完提示词后,逐项检查:
