一句话总结
Claude 按字面执行指令,把类 XML 标签当作硬边界来解析,并且最看重你写的最后一条指令。所以可靠的套路是:长输入放最上面,任务和约束放最下面,结构用标签包起来,给 3-5 个示例,再写清输出格式。Anthropic 官方文档明确说:在一段多文档的长 prompt 里,把问题放到最后,在他们的测试中能让答案质量提升最多 30%。下面所有内容都是围绕这一点搭起来的。
截至 2026 年 6 月,这些方法在当前整条产品线上都适用:Claude Opus 4.7(顶配模型)、Claude Sonnet 4.6(主力),以及 Claude app、Claude Code、Claude Cowork 里跑的同一批模型。
Opus 4.7 带来的变化
如果你以前调好的 prompt 现在感觉”不对劲”,原因多半在这里:Claude Opus 4.7(2026 年 4 月发布)比前代更”按字面”执行。4.6 会去猜你大概想要什么、把合理的空白自己补上;4.7 则倾向于你让它做什么它就做什么,不多也不少。
两个实操上的后果:
- 范围要写明。“把这个格式套到每一节,不只是第一节”现在真的有用了,因为 4.7 不会再悄悄把一条规则从某一项推广到其余项。
- **少喊大写。**如果你旧 prompt 里用”CRITICAL: 你必须……”来逼某个工具或行为,新模型现在反而可能被这种语气”过度触发”。平实地写”在……时使用此项”效果更好。
这篇适合谁看
每天通过 claude.ai 或 API 用 Claude 的人:写作者、工程师、研究者、客服负责人——总是拿到”差一点对”的结果、调来调去很烦。如果你平均 prompt 只有一两句话,这套提升幅度最大。
脑暴时不要这套结构——那种时候”意外”是好事。但凡对一致性有要求的场景就用它:客户交付、可复用工作流、代码改动、内容模板、所有要引用或要发布的东西。
真正管用的结构
结构化上下文用类 XML 标签包起来。Claude 训练时大量见过这种风格,会把标签当作指令、上下文和变量部分之间的干净边界。标签名要有描述性(<context>、<task>、<draft>、<constraints>);只要名字说明了里面装的是什么,Claude 任何标签名都认。
<context>
你在评审一封面向 fintech 受众的营销邮件。
口吻:自信、白话、不要术语。
</context>
<task>
把下面草稿重写到 180 字。CTA 必须在最后一行。
</task>
<draft>
[这里粘草稿]
</draft>
<constraints>
- 不要感叹号
- 不要超 4 个音节的英文词
- 标题必须 50 个字符以内
</constraints>
注意顺序。背景和原文素材放最前,真正的需求和硬约束放最后。对长输入来说这不是装饰。Anthropic 的长上下文指南说得很直白:把长文档和数据放在 prompt 顶部、在你的问题和示例之上,光这一步在复杂的多文档 prompt 上就能把质量拉高最多 30%。
把输出格式写死
“回一个 180 字的单段”比”简洁点”强。Claude 新一代模型会按它判断的任务复杂度来调长度,而不是固定话痨程度——所以你不写清楚要什么形状,每次就给你不同形状。
几个真能撬动模型的格式杠杆:
- 给出确切形状。“返回一个 JSON 数组,每项有
title、summary、priority字段。” - 写”要做什么”,别写”不要做什么”。“用顺畅的散文段落写”比”不要用 bullet”管用。Anthropic 也正是出于这个原因推荐正面指令而非反面指令。
- **让 prompt 的风格贴近你想要的输出。**想要散文,就把自己 prompt 里的 markdown 去掉;prompt 里 markdown 一多,答案里 markdown 也会跟着多。
- **在 API 上优先用 Structured Outputs,别再靠 prefill。**以前常用”预填 assistant 回合”来逼 JSON。从 Claude 4.6 这代起这招没了:预填最后一条 assistant 消息会返回
400错误。改用 Structured Outputs 功能、直接要 schema,或者让它把输出包进 XML 标签里。
示例是杠杆率最高的一处改动
几个挑得好的示例(few-shot / multishot)对准确度和一致性的撬动,胜过任何抽象描述。Anthropic 的建议:放 3-5 个示例,每个用 <example> 标签包起来(整组用 <examples>),并且既要相关(贴近你的真实场景)又要多样(覆盖边角情况,免得 Claude 抓住一个偶然的套路)。
<examples>
<example>
输入:"synergize cross-functional deliverables"
输出:"让几个团队做同一件事"
</example>
<example>
输入:"let's circle back on the action items"
输出:"我们之后跟进这些任务"
</example>
</examples>
把这句改成大白话英文:"We need to leverage our core competencies."
如果一条弱 prompt 你只能改一处,就改示例。一个具体的”坏示例”只在失败模式很微妙时才帮得上忙,否则只会添噪音。
结尾加一句自检
在末尾加一条具体的核验步骤,Claude 会真的去执行:“返回前先核对字数、确认没有感叹号。“这种自检在代码和数学上尤其能稳定地揪出错误。要写具体——“再检查一遍”等于没说,“确认 schema 里每个 JSON 字段都在”才有效。
一个值得知道的细节:当扩展思考关着时,Claude 对”think”这个字眼很敏感。如果一句自检触发了比你想要的更多推理,把它换成”consider""verify""confirm”。
持久默认设置一次定好
稳定的偏好该放进设置,而不是每个对话重打一遍:
- **claude.ai:**把写作口吻、代码风格、以及”不要编数据”这类规则放进 custom instructions,每个对话就从你的默认开始,而不是从 Anthropic 默认开始。
- **带共享文件的重复工作:**用 Claude Project,项目知识和指令会自动跟着走。
- **在终端里写代码:**把仓库约定写进
CLAUDE.md,Claude Code 每次开会话都会加载。
在单个对话里临时改这些不会持久化。如果你发现自己反复”绕开”同一条 custom instruction,那条绕开恰恰是该把这条指令本身更新掉的信号。
速查表:杠杆、何时用、怎么写
| 杠杆 | 什么时候用 | 具体怎么做 |
|---|---|---|
| XML 标签 | prompt 混了指令、上下文和输入 | 各部分分别包:<context>、<task>、<constraints> |
| 输入在顶、问题在底 | 文档有 2 万+ token | 原文在前、问题在后(最多约 30% 质量提升) |
| 3-5 个示例 | 输出格式或口吻要稳定 | 用 <example> 标签包;相关 + 多样 |
| 显式格式规约 | 输出要解析或要发布 | ”返回带 x、y 字段的 JSON” / “一段 180 字” |
| 正面指令 | 调风格 | 写”用散文”,别写”不要 bullet” |
| 范围写明 | 规则要广泛套用(Opus 4.7) | “套到每一节,不只第一节” |
| 自检句 | 有硬约束(字数、schema、数学) | “结束前核验 [具体标准]“ |
| Structured Outputs(API) | 需要保证 JSON 形状 | 用 schema 功能;prefill 现在返回 400 |
容易踩的坑
- **一段流水的 prompt。**Claude 按顺序执行指令,没结构的输入产出没结构。
- 不写格式规约。“简洁点”每次解读都不一样,何况现在长度还按任务复杂度自调。
- **零示例。**杠杆率最高的一处改动,白白放掉。
- **堆 10 条以上约束。**过 5-6 条 Claude 开始丢中间几条。约束要紧凑、分等级。
- **以为规则会自动推广。**在 Opus 4.7 上不会,范围得写明。
- **还靠 prefill 逼 JSON。**在 4.6 这代模型上会报错,改用 Structured Outputs。
- **在单个对话里改 custom instructions。**不会持久化,放进设置、Project 或
CLAUDE.md。
FAQ
- XML 标签真有用还是迷信?: 真有用。Anthropic 自家的 prompt 工程文档把 XML 结构化放在最前面,作为让复杂 prompt 不歧义的办法,Claude 会把标签解析成指令、上下文和输入之间的边界。任何有描述性的标签名模型都认。
- 原文放开头还是结尾?: 长输入时,原文放顶部、你的问题放底部。Anthropic 报告在复杂的多文档 prompt 上,把问题放最后能带来最多 30% 的质量提升。“最近指令”偏向也意味着你最后那条指令在打平时胜出。
- Claude prompt 该多长?: 不歧义就够,能让你回读为止。认真工作 200-500 字是常见值。长度本身不是目标,去掉歧义才是。
- 还能用预填回复来逼 JSON 吗?: 当前模型上不行了。从 Claude 4.6 这代起,预填最后一条 assistant 回合会返回
400错误。改用 Structured Outputs、直接要 schema,或把输出包进 XML 标签。 - 我为 Claude 3.5 调的 prompt 还能用吗?: 大多还能,但要重测。Opus 4.7 更按字面执行,靠它”自己补空白”的 prompt 现在可能不到位,旧的”你必须”式强调还可能造成过度触发。把语气调平、把范围写明。
- 要说”请”和”谢谢”吗?: 礼貌既不会显著加分也不会扣分,清晰更重要。这些字数花在格式和约束上更划算。