提示词工程最佳实践
来自 Claude 团队的提示词工程技巧,帮助你获得更好的 AI 输出结果。
在使用 LLM 的过程中,上下文工程变得越来越重要,而提示词工程是其中最基础的构件。
提示词工程是一门组织指令的技艺,目标是让 AI 模型产出更好的结果。它包括如何措辞提问、指定风格、提供上下文,以及引导模型行为来达成你的目标。
模糊指令和精心设计的提示词之间,可能就是泛泛而谈的输出和你真正需要的结果之间的差距。结构糟糕的提示词可能需要多轮来回澄清意图,而设计良好的提示词往往一次就能到位。
为了帮助你入门,我们整理了团队的一些最佳实践,包括可以立刻改善结果的实用方法。我们会先从今天就能用的简单习惯开始,再逐步进入适合复杂项目的高级方法。
如何使用提示词工程
最基础地说,提示词工程就是修改你交给 LLM 的查询。很多时候,它只是你在真正提出请求前给查询补充信息;但知道哪些信息才是该提供的正确信息,才是设计出优秀、有效提示词的关键。
核心技巧
这些提示词工程技巧构成了有效 AI 交互的基础。持续使用它们,你会很快看到回答质量提升。
明确而清晰
现代 AI 模型非常适合处理清楚、明确的指令。不要假设模型会自动推断你的意图,而是直接说出来。用简单语言准确说明你想要什么,避免歧义。
关键原则:准确告诉模型你想看到什么。如果你想要全面输出,就明确提出。如果你想要特定功能,就列出来。像 Claude 这样的现代模型尤其受益于明确指令。
示例:创建分析仪表盘
模糊:“Create an analytics dashboard”
明确:“Create an analytics dashboard. Include as many relevant features and interactions as possible. Go beyond the basics to create a fully-featured implementation.”
第二个版本明确要求完整功能,并传达出你希望模型不止完成最低要求。
最佳实践:
• 用直接的动作动词开头:“Write”“Analyze”“Generate”“Create”
• 省略铺垫,直接提出请求
• 说明你希望输出包含什么,而不只是说明要处理什么主题
• 具体说明你对质量和深度的期待
提供上下文和动机
解释某件事为什么重要,可以帮助 AI 模型更好理解你的目标,并给出更有针对性的回答。这对较新的模型尤其有效,因为它们能围绕你的底层目标进行推理。
示例:格式偏好
效果较差:“NEVER use bullet points”
效果更好:“I prefer responses in natural paragraph form rather than bullet points because I find flowing prose easier to read and more conversational. Bullet points feel too formal and list-like for my casual learning style.”
第二个版本帮助模型理解规则背后的原因,因此它能在相关格式选择上做出更好的判断。
什么时候提供上下文:
• 解释输出的用途或受众
• 说明为什么存在某些约束
• 描述输出会如何被使用
• 指出你正在尝试解决什么问题
具体一点
提示词工程里的具体性,指的是用明确的指南和要求来组织指令。你对想要的结果描述得越具体,结果通常越好。
示例:膳食计划
模糊:“Create a meal plan for a Mediterranean diet”
具体:“Design a Mediterranean diet meal plan for pre-diabetic management. 1,800 calories daily, emphasis on low glycemic foods. List breakfast, lunch, dinner, and one snack with complete nutritional breakdowns.”
什么样的提示词才算足够具体?
包括:
• 清晰约束(字数、格式、时间线)
• 相关上下文(受众是谁、目标是什么)
• 期望的输出结构(表格、列表、段落)
• 任何要求或限制(饮食需求、预算限制、技术约束)
使用示例
示例并不总是必需,但在解释概念或展示特定格式时非常有用。这也叫 one-shot 或 few-shot prompting:用示例来“展示”而不只是“说明”,可以澄清那些很难只靠描述表达的细微要求。
现代模型的重要注意点:Claude 4.x 和类似高级模型会非常仔细地关注示例里的细节。确保你的示例与想鼓励的行为一致,并尽量减少你不想看到的模式。
示例:文章摘要
没有示例:“Summarize this article”
下面是我想要的摘要风格示例:文章:[关于 AI 监管的文章链接] 摘要:欧盟通过全面 AI Act,聚焦高风险系统。关键条款包括透明度要求和人工监督要求。2026 年生效。现在请用同样风格总结这篇文章:[你的新文章链接]
什么时候使用示例:
• 期望格式比起描述,更容易通过展示说明
• 你需要特定语气或风格
• 任务涉及细微模式或惯例
• 简单指令无法稳定产出一致结果
专业建议:先从一个示例开始(one-shot)。只有当输出仍然不符合需求时,再增加更多示例(few-shot)。
允许 Claude 表达不确定性
明确允许 AI 在不确定时说出来,而不是猜测。这可以减少幻觉,提高可靠性。
示例:“Analyze this financial data and identify trends. If the data is insufficient to draw conclusions, say so rather than speculating.”
这个简单补充会让回答更可信,因为它允许模型承认限制。
高级提示词工程技巧
这些核心习惯已经能帮你走很远,但你仍会遇到需要更复杂方法的场景。当你构建 Agentic 方案、处理复杂数据结构,或需要拆解多阶段问题时,高级提示词工程技巧就会发挥作用。
预填充 AI 的回答
预填充可以帮你替 AI 的回答开头,从而引导格式、语气或结构。这个技巧在强制输出格式或跳过开场白时特别有用。
什么时候使用预填充:
• 你需要 AI 输出 JSON、XML 或其他结构化格式
• 你想跳过对话式开场白,直接进入内容
• 你需要保持特定声音或角色
• 你想控制 AI 如何开始回答
示例:强制 JSON 输出
如果没有预填充,Claude 可能会说:“Here's the JSON you requested: {...}”
使用预填充(API 用法):
messages=[ { "role" : "user" , "content" : "Extract the name and price from this product description into JSON." }, { "role" : "assistant" , "content" : "{" } ]
AI 会从左花括号继续生成,只输出有效 JSON。
注意:在聊天界面中,你可以通过非常明确的指令来近似实现:“Output only valid JSON with no preamble. Begin your response with an opening brace.”
思维链提示
思维链(CoT)提示指的是要求模型先进行逐步推理再回答。这个技巧适合复杂分析任务,因为这类任务受益于结构化思考。
现代做法:Claude 提供 extended thinking 功能,可以自动进行结构化推理。当可用时,extended thinking 通常比手写思维链提示更合适。不过,理解手写 CoT 仍然有价值,尤其是在 extended thinking 不可用,或者你需要可检查的透明推理时。
什么时候使用思维链:
• extended thinking 不可用(例如免费 Claude.ai 方案)
• 你需要可以检查的透明推理
• 任务需要多个分析步骤
• 你想确保 AI 考虑特定因素
思维链有三种常见实现方式:
基础思维链
只需在指令中加入 “Think step-by-step”。
为捐赠者撰写个性化邮件,邀请他们为今年的 Care for Kids 项目捐款。项目信息:<program> {{PROGRAM_DETAILS}} </program> 捐赠者信息:<donor> {{DONOR_DETAILS}} </donor> 写邮件前请逐步思考。
引导式思维链
组织提示词,让它包含明确的推理阶段。
写邮件前先思考。首先,根据这位捐赠者的捐赠历史,思考什么样的信息可能打动他。然后,考虑 Care for Kids 项目中的哪些方面会引起他的共鸣。最后,基于你的分析写出个性化捐赠者邮件。
结构化思维链
使用标签把推理和最终答案分开。
写邮件前,请在 <thinking> 标签中思考。首先,分析什么样的信息会打动这位捐赠者。然后,识别相关项目要点。最后,基于你的分析,在 <email> 标签中写出个性化捐赠者邮件。
注意:即使 extended thinking 可用,显式 CoT 提示对复杂任务仍可能有帮助。这两种方法是互补的,不是互斥的。
控制输出格式
对于现代 AI 模型,有几种有效方法可以控制回答格式:
1. 告诉 AI 要做什么,而不是不要做什么
不要说:“Do not use markdown in your response”。可以说:“Your response should be composed of smoothly flowing prose paragraphs”。
2. 让你的提示词风格匹配期望输出
提示词本身使用的格式风格,可能会影响 AI 的回答风格。如果你希望少用 Markdown,就减少提示词中的 Markdown。
3. 明确说明格式偏好
如果需要细粒度控制格式:
撰写报告或分析时,请用清楚、流畅的完整段落表达。使用标准段落分隔来组织内容。Markdown 主要只用于 inline code、代码块和简单标题。除非你在呈现真正离散的项目且列表格式最合适,或用户明确要求列表,否则不要使用有序列表或无序列表。不要用 bullet 列出项目,而是把它们自然融入句子中。你的目标是写出可读、连贯的文本,自然引导读者理解观点。
提示词链式拆解
不同于前面的技巧,提示词链式拆解无法用单个提示词完成。它会把复杂任务拆成更小的顺序步骤,每一步使用单独提示词。每个提示词处理一个阶段,上一步输出会进入下一步指令。
这种方法用更高延迟换取更高准确性,因为每个单独任务都变得更容易。通常它会通过工作流或程序实现,但你也可以在收到回答后手动继续提供下一步提示词。
示例:研究摘要
• 第一个提示词:“Summarize this medical paper covering methodology, findings, and clinical implications.”
• 第二个提示词:“Review the summary above for accuracy, clarity, and completeness. Provide graded feedback.”
• 第三个提示词:“Improve the summary based on this feedback: [feedback from step 2]”
每个阶段都通过聚焦指令进一步打磨结果。
什么时候使用提示词链式拆解:
• 你的请求复杂,需要拆成多个步骤
• 你需要迭代式改进
• 你在做多阶段分析
• 中间验证能带来价值
• 单个提示词产出不稳定
权衡:链式拆解会增加延迟(多次 API 调用),但对复杂任务常常能显著提高准确性和可靠性。
你可能听说过的技巧
一些在早期 AI 模型上流行的提示词工程技巧,对 Claude 这样的模型来说已经没那么必要。不过,你仍可能在旧文档里遇到它们,或在特定情况下发现它们有用。
用 XML 标签组织结构
XML 标签曾经是给提示词增加结构和清晰度的推荐方式,尤其是在引入大量数据时。虽然现代模型即使没有 XML 标签也更擅长理解结构,但它们在特定场景下仍有用。
示例:
<athlete_information> - 身高:6'2" - 体重:180 lbs - 目标:增肌 - 饮食限制:素食 </athlete_information> 根据上面的运动员信息生成膳食计划。
什么时候 XML 标签仍然可能有帮助:
• 你在处理极其复杂、混合多种内容类型的提示词
• 你需要非常确定内容边界
• 你在使用较旧版本的模型
现代替代方案:对大多数用例来说,清晰标题、空白分隔和明确措辞(例如“Using the athlete information below...”)同样有效,而且开销更低。
角色提示
角色提示会在提问方式中定义专家人设和视角。它可以有效,但现代模型已经足够成熟,很多时候不需要很重的角色设定。
示例:“You are a financial advisor. Analyze this investment portfolio...”
重要提醒:不要过度约束角色。“You are a helpful assistant” 往往比 “You are a world-renowned expert who only speaks in technical jargon and never makes mistakes” 更好。过于具体的角色可能限制 AI 的有用性。
什么时候角色提示可能有帮助:
• 你需要许多输出保持一致语气
• 你正在构建需要特定人设的应用
• 你希望复杂主题带有领域专家视角
现代替代方案:通常,直接说明你想要什么视角会更有效。比如说“Analyze this investment portfolio, focusing on risk tolerance and long-term growth potential”,而不是先指定一个角色。
在 Claude 中试试。
综合使用
你现在已经分别看过各个技巧,但它们真正的力量来自有策略地组合使用。提示词工程的艺术,不是把所有技巧都用上,而是为你的具体需求选择合适组合。
组合多种技巧的示例:
从这份季度报告中提取关键财务指标,并以 JSON 格式呈现。我需要把这些数据用于自动处理,因此你的回答必须只包含有效 JSON,不要有开场白或解释。使用这个结构:{ "revenue": "带单位的数值", "profit_margin": "百分比", "growth_rate": "百分比" } 如果报告中没有明确说明某个指标,请使用 null,不要猜测。请以左花括号开始回答:{
这个提示词组合了:
• 明确指令(具体要提取什么)
• 上下文(为什么格式重要)
• 示例结构(展示格式)
• 允许表达不确定性(不确定时使用 null)
• 格式控制(以左花括号开始)
选择合适技巧
不是每个提示词都需要每种技巧。下面是一个决策框架:
从这里开始:
• 你的请求是否清楚明确?如果不是,先提高明确性
• 任务是否简单?只使用核心技巧(具体、清晰、提供上下文)
• 任务是否需要特定格式?使用示例或预填充
• 任务是否复杂?考虑拆解(链式拆解)
• 任务是否需要推理?使用 extended thinking(如果可用)或思维链
技巧选择指南:
排查常见提示词问题
即使出发点很好,提示词也可能产生意外结果。下面是常见问题和修复方法:
• 问题:回答太泛泛而谈 → 解决:增加具体性、示例,或明确要求全面输出。要求 AI “go beyond the basics”。
• 问题:回答跑题或没抓住重点 → 解决:更明确地说明你的真实目标。提供你为什么提出这个问题的上下文。
• 问题:回答格式不一致 → 解决:加入示例(few-shot),或使用预填充控制回答开头。
• 问题:任务太复杂,结果不可靠 → 解决:拆成多个提示词(链式拆解)。每个提示词都只做好一件事。
• 问题:AI 加入不必要的开场白 → 解决:使用预填充,或明确要求:“Skip the preamble and get straight to the answer.”
• 问题:AI 编造信息 → 解决:明确允许它在不确定时说 “I don't know”。
• 问题:你想让 AI 直接实现,但它只提出建议 → 解决:明确动作:“Change this function”,而不是 “Can you suggest changes?”
专业建议:从简单开始,只在需要时增加复杂度。测试每个新增内容,确认它是否真的改善结果。
需要避免的常见错误
从这些常见坑中学习,可以节省时间并改善你的提示词:
• 不要过度工程化:更长、更复杂的提示词并不总是更好。
• 不要忽略基础:如果核心提示词不清楚或很模糊,高级技巧也帮不上忙。
• 不要假设 AI 会读心:具体说明你想要什么。留下歧义,就给了 AI 误解空间。
• 不要一次使用所有技巧:选择能解决你当前问题的技巧。
• 不要忘记迭代:第一个提示词很少一次完美。测试并改进。
• 不要依赖过时技巧:对现代模型来说,XML 标签和重角色提示没那么必要。先从明确、清晰的指令开始。
提示词工程注意事项
处理长内容
实现高级提示词工程的挑战之一,是它会因为额外 token 使用而增加上下文开销。示例、多个提示词、详细指令都会消耗 token,而上下文管理本身也是一项技能。
记得只在合理时使用提示词工程技巧,并确保它们的使用是值得的。关于如何有效管理上下文的完整指导,可以查看我们关于上下文工程的博客文章。
上下文感知改进:包括 Claude 4.x 在内的现代 AI 模型已经显著提升上下文感知能力,有助于缓解历史上的 “lost-in-the-middle” 问题,也就是模型难以均衡关注长上下文各部分的问题。
为什么任务拆分仍然有帮助:即使有这些改进,把大任务拆成更小、更独立的部分仍然很有价值。原因不只是上下文限制,而是它能帮助模型在非常明确的一组要求和范围内专注发挥。边界清晰的聚焦任务,通常比试图在单个提示词中完成多个目标更能产出高质量结果。
策略:处理长上下文时,用清晰结构组织信息,把最关键细节放在开头或结尾。处理复杂任务时,考虑是否把它拆成聚焦子任务,以提升每个部分的质量和可靠性。
好的提示词是什么样?
提示词工程是一项技能,要掌握它需要尝试几次。判断自己做得对不对的唯一方法,就是测试并观察。第一步就是自己动手试一试。你会立刻看到使用和不使用本文技巧之间的差异。
要真正打磨提示词工程能力,你需要客观衡量提示词效果。好消息是,这正是我们在 anthropic.skilljar.com 的提示词工程课程中会讲的内容。
快速评估建议:
• 输出是否符合你的具体要求?
• 你是一轮就得到结果,还是需要多次迭代?
• 多次尝试时,格式是否一致?
• 你是否避开了上面列出的常见错误?
最后建议
提示词工程归根到底是沟通:用能让 AI 最清楚理解你意图的语言表达。从本指南开头介绍的核心技巧开始。持续使用它们,直到它们成为第二天性。只有当高级技巧能解决具体问题时,再逐层加入。
记住:最好的提示词不是最长或最复杂的,而是用必要的最少结构,可靠达成目标的提示词。随着练习增加,你会逐渐形成直觉,知道哪些技巧适合哪些场景。
向上下文工程的转变并不会削弱提示词工程的重要性。相反,提示词工程是上下文工程中的基础构件。每个精心设计的提示词都会成为更大上下文的一部分,与对话历史、附件文件和系统指令一起塑造 AI 行为,带来更好的结果。
更多资源
• 提示词工程文档
• 交互式提示词工程教程
• 提示词工程课程
• 上下文工程指南