2025年8月6日水曜日

专业级Prompt工程

Hannah和Christian两位工程师手把手教学,从案例来推导出一份好的提示词该如何写好。还有很清晰的步骤。那到底啥是提示词工程?简单说,就是通过测试、评估、分析和优化,系统性地改进LLM应用的提示词。这可不是随便写写,而是一门真正的技术活儿!需要掌握:
  • 🎯 自然语言编程
  • ✍️ 清晰准确的写作
  • 🧠 概念工程思维
  • 🔬 科学评估方法
  • 💭 产品思维
  • 📊 测试与分析
👍记住:提示工程是一门经验科学!
核心循环就三步:
  1. 📝 设计初步提示词
  2. 🧪 测试各种案例
  3. 🔧 优化改进提示词
然后?继续循环!这就是为啥视频里说要"always test your prompts & iterate often"!
来到底怎么写提示词了?第一步:掌握完整的10层黄金结构看到没?Anthropic的完整提示词结构竟然有10层!这才是真正的"工程级"模板:
1. Task context(任务背景)
2. Tone context(语气语调)
3. Background data, documents, and images(背景数据)
4. Detailed task description & rules(详细任务描述和规则)
5. Examples(示例)
6. Conversation history(对话历史)
7. Immediate task description or request(即时任务或请求)
8. Thinking step by step / take a deep breath(逐步思考)
9. Output formatting(输出格式)
10. Prefilled response (if any)(预填充响应)
下面举个例子:实战案例:AI职业顾问Joe
<!-- 1-2层:角色和语调 -->
你将扮演AdAstra Careers公司创建的AI职业顾问Joe。
你需要保持友好的客服语调。

<!-- 3层:背景文档 -->
这是你回答时应该参考的职业指导文档:
<guide>{{DOCUMENT}}</guide>

<!-- 4层:详细规则 -->
重要的交互规则:
- 始终保持Joe的角色
- 不确定时说"抱歉,我不明白,请重复问题"
- 无关问题时引导回职业咨询

<!-- 5层:标准示例 -->
<example>
用户:Hi Joe,你是如何被创建的?
Joe:你好!我是Joe,由AdAstra Careers创建...
</example>

<!-- 6层:对话历史 -->
<history>{{HISTORY}}</history>

<!-- 7层:当前问题 -->
用户问题:<question>{{QUESTION}}</question>

<!-- 8层:思考提示 -->
回答前请先思考。

<!-- 9-10层:输出格式 -->
请将回答放在<response></response>标签内。
<response>
第二步:任务背景要给足视频里有个超经典的案例——瑞典保险公司的车险理赔。
第一版提示词:就简单说"分析这个事故报告"
结果:Claude以为是滑雪事故... 😂第二版提示词:明确说明这是"瑞典保险公司的AI系统,帮助理赔员审核交通事故报告"
结果:Claude立马知道是车祸,分析准确率直接起飞!关键语气设定:
  • 要实事求是,保持自信
  • 不确定就不要瞎猜
  • 只有充分把握时才下判断
第三步:信息组织的艺术——XML标签大法重要提醒:无组织的提示词,Claude很难理解!就像人类阅读需要标题和段落一样,Claude也需要清晰的信息分割。看看这个对比:❌ 混乱的写法:
你是旅行助手,用户想去某个地方几天,有什么偏好,帮他制定行程...
✅ 结构化写法:
<location>{{LOCATION}}</location>
<num_days>{{NUM_DAYS}}</num_days>
<user_preferences>{{USER_PREFERENCES}}</user_preferences>

请在<itinerary>标签内输出行程:
为什么偏爱XML标签?
官方给出了明确理由:
  • 📍 边界清晰:Claude能精确知道信息的开始和结束
  • 💰 Token高效:比其他分隔符更节省Token
  • 🎯 语义明确:标签名本身就说明了内容类型
实际效果对比:
右边的圣托里尼行程输出,格式完美、内容丰富,这就是结构化的威力!
<itinerary>
Adventure-Packed 3-Day Itinerary for Santorini, Greece

Day 1: Exploring the Caldera
Morning:
• Start with challenging hike from Fira to Oia (3-4 hours)
• Enjoy breakfast at local café in Oia...
</itinerary>
第四步:系统提示词要用好把不变的信息放进系统提示:
  • 表格格式说明(比如瑞典车险表17个选项的含义)
  • 评判标准
  • 输出格式要求
瑞典车险事故报告表格说明:
表格标题:xxx
两列分别代表车辆A和B
第1行:xxx情况
第2行:xxx情况
...
友情提醒:系统提示里的信息可以用提示缓存,省钱又高效!
更牛的是这些1、Few-Shot示例的威力——比千言万语更有效官方明确指出:与其用文字描述,不如直接给Claude看1-2个例子!为什么示例这么牛?
  • 🎯 具体模板:Claude能直接复制你的格式
  • 📝 一致性保证:特别适合需要统一格式的任务
  • 💡 行业标准:遵循特定术语或规范
示例设计的黄金法则:
  • 相关性:示例要贴近实际场景
  • 多样性:至少3-5个不同类型的例子
  • 数量适中:通常1-2个就够了,别太多
实战对比:
<!-- ❌ 纯文字描述 -->
请创建专业的旅行行程,要包含景点、餐饮、住宿建议,
格式要整齐,内容要丰富...

<!-- ✅ 直接给示例 -->
<example>
Day 1: Exploring the Caldera
Morning:
• Start with challenging hike from Fira to Oia (3-4 hours)
• Enjoy breakfast at local café in Oia...
</example>
2、长提示词的终极技巧第5点"重复关键指令"是针对超长提示词的神技!当你的提示词超过几千字时,Claude可能会"忘记"前面的重要指令。解决方案:
<!-- 开头定义任务 -->
你需要创建旅行行程...

<!-- 中间一大堆内容 -->
各种规则、示例、数据...

<!-- 结尾再次强调 -->
记住:基于位置、天数和偏好创建行程,
请在<itinerary>标签内输出结果!
3、变量占位符的产品思维
<location>{{LOCATION_🏝️}}</location>
<num_days>{{NUM_DAYS_📅}}</num_days> 
<user_preferences>{{USER_PREFERENCES_💭}}</user_preferences>
这不仅是技术实现,更是产品设计!让提示词变成可复用的"模板"。4、"Take a deep breath"的科学依据看到第8层的"Thinking step by step / take a deep breath"了吗?这不是开玩笑!研究表明,让AI"深呼吸"能显著提升推理能力:
回答前请先思考你的回答。
Put your response in <response></response> tags.
Extended Thinking vs 传统提示工程什么时候用Extended Thinking?
  • 🧠 给Claude更多思考时间:复杂推理任务的第一选择
  • 🔍 调试AI思路:通过思考痕迹了解Claude的推理过程
  • 🎯 优化系统提示:根据思考轨迹改进提示词
但要注意缺点:
  • 💰 Token消耗更大:需要"重新发明轮子",成本更高
  • 🎲 一致性较差:temperature=1,结果可能不够稳定
实战建议:
<!-- 开发阶段:用Extended Thinking调试 -->
启用扩展思考,分析推理过程

<!-- 生产环境:用优化后的提示词 -->
基于分析结果,写出精准的step-by-step指令
这就是为什么提示工程如此重要——它能把Extended Thinking的洞察固化成高效、稳定的生产级提示词!5、预填充响应的神奇技巧第10层"Prefilled response"是个高级技巧:
<response>
就这样!让Claude从这里开始输出,能:
  • 强制按格式输出
  • 节省tokens
  • 提高响应一致性
6、对话历史的重要性第6层专门处理历史对话,这对聊天机器人至关重要:
<history>{{之前的对话内容}}</history>

用户问题:<question>{{当前问题}}</question>
这样Claude就有"记忆"了!防止Claude"胡编乱造"的终极秘籍生产环境最怕的就是AI"一本正经地胡说八道"!Anthropic给出了4个防幻觉的核心技巧:
🚫 技巧1:让Claude承认"不知道"
如果你不确定答案,请直接说"我不知道"
不要猜测或编造信息。
🎯 技巧2:要求高置信度回答
只有在你非常确信答案正确时才回答,
不确定的内容请明确标注。
🤔 技巧3:让Claude先思考再回答
请先仔细思考这个问题,然后再给出答案。
在<thinking></thinking>标签中展示你的思考过程。
📝 技巧4:引用式回答(适合长文档)
请先从文档中找到相关的具体引用,
然后基于这些引用来回答问题。

引用格式:
<quote>"原文内容"</quote>
基于以上引用,我的答案是...
一些小技巧
  1. 温度设置为0:需要精确分析时用这个
  2. Max tokens设大点:别让Claude发挥受限
  3. 善用Claude 4:新模型理解力更强
  4. XML标签更高效:比Markdown、JSON等更节省Token
  5. 示例胜过千言:1个好例子比100行描述更有效
  6. 防幻觉是关键:生产环境必须加入防护机制
  7. 多模态很香:图片+文字一起分析
  8. Extended Thinking:开发调试神器,生产环境需谨慎
关于分隔符的选择:
  • ✅ XML标签:<tag>content</tag> (推荐)
  • ⚠️ Markdown:## 标题 (可用但不如XML)
  • ❌ 大括号:{content} (Claude容易混淆)
  • ❌ 长分隔符:======== (浪费Token)
关于示例的数量:
  • 🎯 最佳数量:1-2个精品示例
  • ⚠️ 避免过多:超过5个示例会稀释注意力
  • 💡 质量>数量:相关性和多样性更重要
总结这期Anthropic官方教程真的干货满满,完整的提示工程方法论让我们看到了"正确打开方式":👍📋 10层结构框架:
  1. 任务背景:明确角色和场景
  2. 语气语调:定义AI的"人设"
  3. 背景数据:提供必要的文档和图片
  4. 详细规则:step-by-step操作指南
  5. 标准示例:few-shot学习的威力
  6. 对话历史:让AI有"记忆"
  7. 即时请求:当前具体要做什么
  8. 思考提示:让AI"深呼吸"
  9. 输出格式:结构化响应控制
  10. 预填充:引导AI按格式开始
🛡️ 防幻觉核心技巧:
  • 让Claude承认"不知道"
  • 要求高置信度回答
  • 先思考再回答
  • 基于引用回复
🔄 工程化思维:
  • 测试 → 优化 → 迭代循环
  • XML标签结构化组织
  • 示例胜过千言万语
  • Extended Thinking调试,提示工程生产
说实话,以前我们写提示词真的是在"瞎摸索",现在有了这套官方方法论,写出高质量提示词就像有了GPS导航一样轻松!写在最后在AGI时代,掌握好提示工程就像学会了"AI驯兽术"。这不仅能提升工作效率,更是AI副业变现的核心技能。记住Hannah和Christian的话:提示工程是一门迭代的经验科学,最好的学习方法就是多练多上手!👍提示工程的核心能力:
  • 理解LLM的工作原理
  • 聚合分析失败案例并找到解决方案
  • 让LLM适应更广泛的输入场景
  • 用科学思维创建评估体系
  • 防止AI幻觉,确保输出可靠性
特别是最后一点,对生产环境至关重要!没有防幻觉机制的AI应用,就像没有刹车的跑车——看起来很快,但危险得要命。这就是为什么提示工程师这么值钱的原因——它需要编程思维、产品思维和工程思维的完美结合,还要有风险控制意识!

0 件のコメント:

コメントを投稿