Anthropic 最新发布的 Prompt Engineering 指南介绍了元提示、模板、系统角色和XML标签等关键技术,强调固定与变量内容的结合。
良好的prompt应具备角色赋予、清晰的上下文和优化技巧,如添加示例和思维链。使用XML标签可提高结构清晰度,预填充和链式提示有助于处理复杂任务,同时应注意避免越狱和提示注入的风险。
什么是Prompt模板?
Prompt就像是给AI的"工作指令",包含两部分:
- 固定部分:角色设定、输出格式等
- 变量部分:用户输入、数据库查询结果等(每次都不同)
用{{变量名}}来标记变量,就能做成可复用的模板。
🎯 评价:把Prompt当成"代码"来管理,而不是随手写的文本。这样才能版本控制、团队协作、持续优化。
一、好Prompt的核心要素
对比案例
❌ 差的例子:
从下面的标题中找出这句话属于哪篇文章:
标题:{{titles}}
句子:{{sentence}}
✅ 好的例子:
你是一个文本分类专家。
<article_titles>
{{titles}}
</article_titles>
<sentence_to_classify>
{{sentence}}
</sentence_to_classify>
请按以下步骤操作:
1. 找出句子的关键概念
2. 匹配最相关的3个标题
3. 选出最佳答案
只输出标题名称,不要解释。
1.1 角色设定三要素
- 身份:你是谁(财务分析师、法律顾问等)
- 背景:在什么场景下工作
- 任务:要完成什么目标
🎯 评价:角色不是装饰,而是"激活"AI相关知识的开关。说"你是律师"比说"请用法律术语"效果好10倍。
1.2 清晰的任务描述
必须说清楚:
- 给谁看(目标受众)
- 用在哪(使用场景)
- 什么要求(长度、语气、必含要素)
- 怎么算成功(可检验的标准)
🎯 评价:写Prompt就像写需求文档,越具体越好。"写个邮件"不如"写150字专业邮件给技术总监汇报进度"。
二、四大优化技巧
2.1 加示例(Few-shot)
<example>
输入:仪表板加载太慢,找不到导出按钮!
输出:
- 类别:UI/UX、性能
- 情感:消极
- 优先级:高
</example>
现在分析:{{新反馈}}
🎯 评价:一个好例子胜过十行说明。但别给太多,3-5个涵盖主要情况就够了。
2.2 思维链(让AI"打草稿")
三个进化阶段:
- 基础版:加一句"请逐步思考"
- 引导版:明确思考步骤
- 结构版:用标签分离思考和答案
<thinking>
这里写分析过程...
</thinking>
<answer>
这里写最终答案...
</answer>
🎯 评价:不是所有任务都需要思维链。简单任务用了反而慢。复杂逻辑、数学计算、多步骤分析时才用。
2.3 XML标签(结构化神器)
作用:
- 清晰分区,减少误解
- 方便程序提取结果
- 便于维护和修改
<context>背景信息</context>
<task>具体任务</task>
<constraints>限制条件</constraints>
<output_format>输出格式</output_format>
🎯 评价:把Prompt想象成网页HTML,用标签来组织内容。但别过度,超过8个标签说明该简化了。
2.4 预填充(强制格式)
在prompt末尾预先写出输出的开头:
提取产品信息为JSON格式:
<description>{{产品描述}}</description>
{
AI会自动续写完成JSON。
🎯 评价:这招对付"爱闲聊"的模型特别有效,直接把它拉回正轨。
三、高级技巧
3.1 链式提示(复杂任务分解)
把大任务拆成小步骤:
- 提取风险 →
- 起草邮件 →
- 优化语气
每步一个明确目标,用XML标签传递结果。
🎯 评价:就像编程的"函数拆分"。每个环节都能单独调试,出错也容易定位。适合文档分析、内容创作等复杂流程。
3.2 长文本处理技巧
- 文档放前面,指令放后面
- 每个文档用标签包装
- 先提取相关引用,再基于引用分析
<documents>
<document index="1">
<source>报告.pdf</source>
<content>{{内容}}</content>
</document>
</documents>
先找出相关段落,再回答问题。
🎯 评价:处理长文本时,"先筛选后分析"能大幅提高准确率。就像读书先看目录一样。
3.3 深度思考框架
给AI提供成熟的分析框架:
- SWOT分析
- 波特五力
- 5W1H方法
🎯 评价:框架就是"思维模板",防止AI东拉西扯。特别适合战略分析、方案设计等需要系统思考的任务。
3.4 防止"胡说八道"
关键策略:
- 允许说"我不知道"
- 要求引用原文作证据
- 所有结论标注来源
- 无法验证就标记[]
如果信息不足,请说"无法确定"而不是猜测。
所有观点必须引用原文[编号]。
🎯 评价:这是法律、医疗、财务等高风险领域的必备技巧。宁可不答,不可乱答。
3.5 稳定输出格式
- 明确定义JSON/XML结构
- 提供完整示例
- 使用预填充技巧
- 空值用null或[]
🎯 评价:格式稳定=后端省心。在生产环境中,这比"回答质量"更重要。
3.6 安全防护(防越狱)
分层防御:
- 预审查用户输入
- 在prompt中明确价值观和限制
- 设定标准拒绝回复
- 链式验证关键输出
<values>
- 不协助违法行为
- 保护用户隐私
- 拒绝有害内容
</values>
违反以上原则时回复:"抱歉,我不能协助此类请求。"
🎯 评价:安全不是加个警告就行,要像建防火墙一样层层设防。特别是涉及金融、医疗的应用。
总结
好的Prompt Engineering不是"调参数",而是"建系统":
- 把prompt当代码管理
- 用工程思维解决问题
- 持续测试和优化
- 安全永远是第一位
记住:清晰的结构 + 具体的示例 + 适度的约束 = 稳定的输出
🎯 建议:建立自己的prompt库,不断积累和优化。今天的"最佳实践"可能明天就过时了,保持学习和实验的心态最重要。
原文:https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
本文由公众号“空格的键盘”授权AI产品之家转载,原文连接: https://mp.weixin.qq.com/s/Ksb8beDlWlTFieP9da8C1A