📌 内容摘要

  • Prompt Engineering 不是玄学,是一套可学习、可复用的方法论——本文提供20个经过验证的核心技巧。
  • 从基础(角色设定、格式控制)到进阶(思维链、Few-shot、XML结构化)到高阶(元提示、自我校验),三个层次递进。
  • 每个技巧附”改写前 vs 改写后”对比示例,以及可直接复用的模板。
  • 文末提供一套完整的 Prompt 调优流程,帮你系统地把一个普通 Prompt 优化到专业水平。

一、为什么 Prompt Engineering 对 Claude 特别重要?

Claude 是一个极其强大但对指令高度敏感的模型。同样的问题,不同的问法可以让输出质量相差数倍。这不是 Claude 的缺陷,而是它的特性:它会尽力按照你给的信息来工作,你给的信息越精确,它的输出就越符合你的预期。

Anthropic 官方文档明确指出,Claude 相比其他模型更善于遵守明确的指令、更诚实地处理不确定性、更愿意在指令和默认行为之间以指令为优先。这意味着写好 Prompt 在 Claude 上的回报率极高。

第一层:基础技巧(适合所有人)

技巧一:给 Claude 一个具体的角色

角色设定是最简单、效果最显著的技巧之一。不是简单说”你是专家”,而是给出职业身份 + 核心专长 + 相关背景三要素。

❌ 效果差

你是一个专家,帮我看看这段代码有什么问题。

✅ 效果好

你是一名有8年经验的 Python 后端工程师,专注于高并发系统设计,熟悉 FastAPI 和 PostgreSQL。请审查以下代码,重点关注线程安全和数据库查询效率。

技巧二:明确输出格式

如果你需要特定格式,直接说出来。Claude 非常善于遵守格式约束,但它不会主动猜测你想要什么格式。

请分析这份数据,输出格式要求:
- 用 Markdown 表格对比三个方案
- 每个方案必须包含:优点(2-3条)、缺点(2-3条)、适用场景
- 最后一行给出"综合推荐",说明推荐哪个方案及核心理由
- 总字数控制在600字以内

技巧三:说明目标受众

同样的内容面向不同受众,深度、用词、举例方式完全不同。明确受众能让 Claude 自动调整表达。

❌ 模糊

解释一下什么是容器化技术。

✅ 清晰

请向一位完全不懂技术的初创公司 CEO 解释容器化技术。他关心的是:能帮公司省多少钱?部署会不会更稳定?用商业语言,不要技术术语,举一个他能理解的日常类比。

技巧四:明确说”不要什么”

负面约束和正面要求同样重要,有时甚至更重要。把你最不想看到的输出特征列出来。

帮我写一篇关于远程工作的文章。

不要:
- 不要用"在这个快节奏的时代"这类开场白
- 不要用"首先、其次、最后"这种八股结构
- 不要超过800字
- 不要加没有实质内容的总结段落
- 不要用感叹号超过2个

技巧五:给出具体的字数/长度要求

Claude 默认倾向于给出相对完整的答案。如果你需要简短精炼的内容,必须明确说出来:

场景 字数约束写法
电梯 pitch 30秒内能说完,约100字
微信推文标题 给我5个标题备选,每个不超过20字
邮件正文 3段,每段不超过3句话,总字数200字内
深度分析 详细分析,不限字数,确保覆盖所有角度

第二层:进阶技巧(显著提升质量)

技巧六:背景-任务-要求三段式结构

把信息分为三类分开写,Claude 的理解准确率会大幅提升。这是最通用的结构化 Prompt 框架:

【背景】
我是一家10人 SaaS 公司的产品经理,产品是面向中小企业的 HR 管理系统。
我们下周要向一家有500人的制造业企业做产品演示,对方的决策者是 HR 总监和 IT 总监。

【任务】
帮我准备一份15分钟的演示脚本。

【要求】
- 开头2分钟:用他们的业务痛点引入,不要从产品功能讲起
- 中间10分钟:展示3个最关键的功能,每个功能要说明能解决什么具体问题
- 结尾3分钟:处理常见异议(价格、数据安全、迁移成本)
- 语气专业但不死板,避免推销感
- 穿插1-2个同行业客户的使用案例

技巧七:Chain of Thought(思维链)

对于需要推理的复杂问题,要求 Claude 先展示思考过程,再给结论。这能大幅减少”快速但错误”的回答:

❌ 直接要结论(容易出错)

我们公司的新产品定价应该是多少?

✅ 要求展示推理过程

我们公司的新产品定价应该是多少?请先列出你认为最关键的定价影响因素,逐一分析每个因素对定价的影响,然后再给出建议区间和理由。产品是面向中小企业的 AI 写作工具,主要竞品定价在 ¥199-499/月,我们有独特的多语言支持功能,目标客户是50-200人的出海企业。

技巧八:Few-shot(给例子引导输出风格)

当你需要特定风格或格式时,给1-3个示例比描述更有效:

我需要为产品功能写简短说明,请参考以下风格:

【示例1】
功能名:智能排班
说明:根据员工技能和历史出勤,自动生成最优排班方案,减少排班冲突90%。

【示例2】
功能名:一键报税
说明:自动汇总工资数据,生成符合税务要求的报表,30分钟完成过去需要2天的工作。

现在请用同样风格,为以下功能写说明:
功能名:员工画像
(功能描述:收集和分析员工的工作表现、技能、学习记录,生成个人发展报告)

技巧九:XML 标签结构化(Claude 特别响应)

Claude 对 XML 标签格式有特别好的响应——它能精确区分不同类型的输入,适合复杂多参数的 Prompt:

<task>
  审查以下代码,找出所有安全漏洞
</task>

<context>
  这是一个处理用户支付的 Python 后端服务,每天处理约10万笔交易
</context>

<requirements>
  - 按严重程度分级:Critical / High / Medium / Low
  - 每个问题说明:漏洞描述、攻击场景、修复建议
  - 给出优先修复顺序
</requirements>

<code>
def process_payment(user_id, amount, card_number):
    query = f"SELECT * FROM users WHERE id = {user_id}"
    # ... 更多代码
</code>

技巧十:让 Claude 先列大纲再展开

对于长篇内容,先要大纲、确认结构,再逐节展开,最终质量比一次性生成高得多:

第一步:请先给我这篇文章的详细大纲
主题:如何用 AI 工具提升内容营销效率
目标读者:中小企业市场部负责人
大纲要求:3-5个主要章节,每章节列出2-3个子要点,在每个要点旁注明核心论据

(我看完大纲满意后,再让你逐章节写完整内容)

技巧十一:提供对比参照(告诉 Claude 你要”更像什么”)

帮我改写这段产品描述,风格要更像苹果的产品文案——
苹果的风格特点:短句、留白感、强调用户感受而非技术参数、有一种轻盈的自信。
不要学到华丽堆砌的那种"苹果风",要学到它的克制。

原文:[粘贴原文]

技巧十二:要求给多个备选方案

不要满足于第一个答案。明确要求备选项,能获得更多角度的解决方案:

给我这篇文章的标题,提供6个备选:
- 2个适合知乎(深度感、知识价值突出)
- 2个适合微信公众号(情绪触发、引发共鸣)
- 2个适合小红书(生活化、个人视角)

每个标题后注明它的吸引点和潜在风险。

第三层:高阶技巧(专业 Prompt 工程师水平)

技巧十三:让 Claude 在回答前先问清楚

对于复杂任务,与其让 Claude 基于假设开始工作,不如让它先提问再动手:

我需要你帮我制定一套社交媒体内容策略。
在开始之前,请先向我提出你认为必须了解的5个关键问题。
不要假设任何信息,先问我,我回答完之后你再给出策略方案。

技巧十四:自我校验(让 Claude 检查自己的输出)

生成内容后,立即让 Claude 对自己的输出进行批判性审查,能发现很多第一遍遗漏的问题:

(Claude 生成代码后,紧接着说:)
现在请用挑剔的眼光审查你刚才写的代码:
1. 有没有边界条件没有处理?
2. 有没有潜在的安全漏洞?
3. 如果这段代码在生产环境中遇到最坏情况,会发生什么?
如果发现问题,直接给出修复后的版本。

技巧十五:角色扮演调试(让 Claude 扮演你的用户/对手)

现在请扮演一个对我们产品持怀疑态度的 B2B 采购经理。
他关心:价格是否值得、能否替代现有工具、实施难度、售后支持。
我会介绍我们的产品,你负责提出他最可能问的刁钻问题。
准备好了就告诉我,我来开始介绍。

技巧十六:迭代精炼(利用对话上下文逐步优化)

把 Claude 当成一个需要沟通的协作者,而不是一次性的查询工具。第一轮给方向,后续轮次精炼细节:

第一轮:[描述大体需求]
第二轮:整体方向对,但第二段太技术化了,改成更口语的表达
第三轮:好多了,把第三条建议的那个例子换成更贴近中国用户的场景
第四轮:最终版了,帮我把整篇的标点符号检查一遍

技巧十七:提示词分层(System + User 分离)

API 开发者必须掌握的技巧——把不变的规则放 System Prompt,把变化的任务放 User Message:

import anthropic
client = anthropic.Anthropic()

# System Prompt:固定的角色和规则,每次都一样
SYSTEM = """你是一名专业的中文技术写作编辑。
写作原则:
- 句子不超过25字
- 每段不超过4句
- 专业术语首次出现时附简短解释
- 不用被动语态
- 避免"总之""综上所述"这类过渡词"""

# User Message:每次任务不同
def edit_article(raw_text: str) -> str:
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=4096,
        system=SYSTEM,
        messages=[{
            "role": "user",
            "content": f"请按照你的写作原则润色以下文章:\n\n{raw_text}"
        }]
    )
    return response.content[0].text

技巧十八:输出格式强约束(确保结构化输出)

需要程序化处理输出时,用强约束要求纯 JSON:

分析以下用户评论的情感倾向,以 JSON 格式返回。

严格要求:
- 只返回 JSON,不要任何解释文字
- 不要 markdown 代码块标记(不要```json```)
- 严格遵守以下结构,不要增减字段

JSON 结构:
{
  "sentiment": "positive|negative|neutral",
  "confidence": 0到1的小数,
  "key_points": ["要点1", "要点2"],
  "suggested_response_tone": "apologetic|appreciative|informative"
}

用户评论:[粘贴评论]

技巧十九:给 Claude “思考空间”(延迟判断)

要求 Claude 在给出最终答案前先探索多个可能性,能大幅提升复杂问题的答案质量:

这是一个架构设计问题,在给出你的建议之前:
1. 先列出至少3种不同的技术方案
2. 分析每种方案的优缺点和适用条件
3. 再基于我的具体场景,推荐最合适的方案并说明理由
4. 如果你不确定某个方面,直接说"这里我不确定,建议你验证XXX"

问题:[描述技术挑战]

技巧二十:元提示(让 Claude 帮你优化 Prompt)

这是最高级的技巧——用 Claude 来改进你写的 Prompt:

我正在写一个 Prompt,但感觉效果不够好。请帮我分析问题并优化:

我的原始 Prompt:
[粘贴你的 Prompt]

我期望的输出效果:
[描述你想要什么样的结果]

实际得到的输出(不满意的地方):
[描述哪里不对]

请告诉我:这个 Prompt 的问题在哪里?给我一个改进后的版本,并解释改动的原因。

三、Prompt 调优完整流程

把一个普通 Prompt 优化到专业水平,通常需要以下几个步骤:

Step 1 - 写初稿
明确你要什么(任务),先写一个最简单的版本测试 Claude 的理解。

Step 2 - 识别缺口
对比实际输出和期望输出,找出最大的差距:
  - 方向错误 → 需要加更多背景信息
  - 格式不对 → 需要明确格式要求
  - 深度不够 → 需要加角色设定或要求展开推理
  - 风格偏差 → 需要加 Few-shot 示例或风格约束

Step 3 - 逐一添加约束
不要一次加太多东西,每次只改一个变量,
观察每次改动对输出的影响,找到最有效的优化点。

Step 4 - 压力测试
用边缘案例测试你的 Prompt:
  - 输入极短时表现如何?输入极长时呢?
  - 遇到模糊问题会胡说还是主动澄清?
  - 连续多轮对话后会不会偏离初始设定?

Step 5 - 固化最优版本
把测试效果最好的版本保存下来,
用于 Projects 指令、API System Prompt 或 Prompt 模板库。

四、万能 Prompt 框架模板

把本文所有技巧整合起来,这是一个适用于90%以上专业任务的通用框架:

# 角色
你是[职业身份],有[N年/特定]经验,擅长[核心专长]。

# 背景
[2-4句话描述任务背景和你的具体情况]

# 任务
[明确说明你需要什么,一件事说清楚]

# 格式要求
- 长度:[字数/段落数]
- 结构:[用列表/表格/标题/段落等]
- 风格:[正式/口语/专业/轻松]
- 输出格式:[Markdown/纯文本/JSON]

# 不要
- [列出你不想看到的内容特征]
- [列出禁止的表达方式]

# 参考示例(可选)
[如果有特定风格,粘贴1-2个例子]

# 思考要求(复杂任务可选)
在给出最终答案前,先[列举方案/分析利弊/提出关键问题]

常见问题

Q:Prompt 越长越好吗?
不是。精准胜过冗长。关键信息必须给,不相关的背景反而会稀释 Claude 对重点的注意力。一个好的 Prompt 通常在100-400字之间,把该说的说清楚,不该说的一个字不加。

Q:中文 Prompt 和英文 Prompt 效果有差别吗?
对于中文输出任务,直接用中文写 Prompt 效果更好——避免了语言切换可能带来的语义损耗。Claude 4 系列的中文理解能力已经非常成熟,不需要为了”效果更好”特意翻译成英文。

Q:Claude 不按格式输出怎么办?
先检查格式要求是否足够具体。如果已经很明确还是不遵守,在 Prompt 最开头加”请严格遵守以下格式要求,这是强制规定”,或者在输出要求部分加”每个字段都必须出现,不得省略”。

总结

Prompt Engineering 的本质是把你脑子里的需求,用 Claude 能准确理解的语言表达出来。20个技巧里最值得先掌握的三个:给具体角色(技巧一)、三段式结构(技巧六)、思维链(技巧七)——掌握这三个,80% 的日常任务质量都能显著提升。其余技巧按需使用,遇到特定问题时拿出来对号入座。最好的学习方式是:遇到一个输出不满意的任务,对照这20个技巧逐一检查,找到最有效的改进点。