Claude 5代模型上下文工程新规则
Claude 5代模型上下文工程的新规则
针对更先进的模型,我们删除了Claude Code中超过80%的系统提示。如何将我们学到的经验应用到你自己的Claude Code上下文工程以及你自己的Agent中。
- 分类Claude CodeAgents
- 产品Claude CodeClaude EnterpriseClaude Platform
- 日期2026年7月24日
- 阅读时间5分钟
- 分享复制链接https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models
我之前写过一篇文章,介绍如何更好地给最新一代Claude 5模型写提示词,并通过迭代协作来发现你想构建的内容。
但当你向Claude发送消息时,提示词只是它获取上下文的一小部分。大部分上下文来自你的系统提示、Skills、CLAUDE.md文件、记忆以及其他来源。我们称之为上下文工程,它对你使用Claude Code或构建自己的Agent时生成的结果有重大影响。
与提示词不同,上下文会被多个请求通用,因此不能太具体。那么,如何为Claude构建这些通用提示和指导,尤其是当你不知道用户会输入什么提示时?
随着Claude自身能力的提升,这个问题变得异常棘手。最近,我们注意到在给新一代Claude模型写提示词的方式上出现了巨大飞跃。对于Claude Opus 5和Claude Fable 5这类模型,我们删除了Claude Code中超过80%的系统提示,而编码评估结果几乎没有下降。
以下是我们从给这类新模型写提示词中学到的经验,以及如何利用它们更新你的上下文工程。我们将这些最佳实践放入了`claude doctor`命令中;在Claude Code中使用命令/doctor来调整你的Skills和CLAUDE.md文件。
为Claude松绑
总的来说,我们发现无论是系统提示词、CLAUDE.md 文件,还是技能配置,都对 Claude Code 限制过多了。
举个例子,我们翻阅内部使用 Claude Code 的日志时,经常看到单次请求里出现相互矛盾的指令,比如“酌情保留文档注释”和“禁止添加注释”同时出现——系统提示词、技能配置和用户需求彼此冲突。

通常情况下,Claude 能理解用户的意图并给出正确答案,但面对这些重叠冲突的指令,它需要更仔细地权衡才能决定下一步行动。
以前为了防止最坏情况(比如误删文件),我们不得不设置这些约束。但现在我们发现,很多约束都可以删掉,让模型自己根据上下文和判断力来做决策。
另外,Claude Code 现在拥有更多工具。过去 Claude 依赖 CLAUDE.md 来存储记忆、信息和指导,现在我们有了 memory、artifacts 和 skills,Claude 可以用它们跨会话创建新的上下文加载和共享方式。
No items found.PrevPrev0/5NextNextGet Claude Code curl -fsSL https://claude.ai/install.sh | bashCopy command to clipboardirm https://claude.ai/install.ps1 | iexCopy command to clipboardOr read the documentationTry Claude CodeTry Claude CodeTry Claude CodeDeveloper docsDeveloper docsDeveloper docseBook过去与现在
以前有些上下文工程的最佳实践,现在已经成了过时的神话,比如:

过去:给 Claude 定规则
现在:让 Claude 自己判断
最初推出 Claude Code 时,我们得确保它不会出现最坏情况(比如删除文件)。所以我们会给出非常强硬的指导,但这些指导并不总是对的。例如,系统提示词里我们曾经这样写:
代码方面:默认不写注释。不要写多段文档字符串或多行注释块——最多一行短注释。除非用户要求,否则不要创建规划、决策或分析文档——直接从对话上下文工作,而不是中间文件。
但对某些提示词来说,这条指导原则并不适用。比如在文档场景下,用户可能有自己的偏好,或者非常复杂的代码特定部分确实需要多行注释块。
不过,如果没有这些针对旧模型的护栏,Claude 写的注释在很多情况下会出错,我们不得不接受这种权衡。但新模型的判断力更强,即使没有明确规则,也能很好地处理这些决策。
在新的系统提示词中,我们这样说:写代码时要像周围代码那样——匹配其注释密度、命名风格和惯用法。
过去:给 Claude 提供示例
现在:设计接口
工具使用的首要规则是给 Claude 提供使用示例。但通过最新模型,我们发现提供示例反而会限制它的探索空间。

与其用示例,不如多思考工具、脚本和文件的设计——Claude 有哪些参数?如何让它们更具表现力?
例如,在 Todo 工具示例中,仅将状态枚举为 pending、in_progress 和 completed,就能暗示 Claude 如何使用。而“只保持一个项目为 in_progress”这条指令,则帮助我们明确了所需的行为。
过去:把所有信息放在前面
现在:使用渐进式披露
由于 Claude Code 专注于编码,我们的系统提示词中包含了关于如何进行代码审查和验证的详细说明。这些信息并非总是需要,但一旦需要就至关重要。
从那以后,Claude Code 已经非常擅长渐进式披露——在合适的时机加载合适的上下文。例如,我们将验证和代码审查拆分为独立的技能,让 Claude Code 能有选择地调用。
渐进式披露不仅适用于技能,也适用于工具。我们有些工具采用“延迟加载”机制,也就是说,代理在使用它们之前必须通过 ToolSearch 查找完整的定义。这样一来,我们就能拥有更多工具(比如 Task 工具),这些工具只在需要时才占用上下文。
同样的做法也适用于你自己的 CLAUDE.md 和 Skill.md 文件。一个常见的误区是,你觉得应该把所有可能用到的实践都塞进一个中央仓库,否则 Claude 就找不到。但实际上,不妨考虑采用树状文件结构,在合适的时机加载。
过去:重复指令
现在:简洁的工具描述
早期的 Claude 模型有时需要重复指令,或者更倾向于听取上下文窗口末尾的指令,而不是开头的。这导致我们的系统提示中既要在主提示里引用工具,又要在工具描述中重复说明。我们发现可以删掉这些重复示例,把工具的使用说明直接放在工具描述里,而不是系统提示中。
过去:记忆存在 CLAUDE.md 文件中
现在:自动记忆
我们过去鼓励用户通过 # 快捷键自动写入 CLAUDE.md 来保存记忆。而现在,Claude 会自动保存与你和工作相关的记忆。
过去:简单的规格说明
现在:丰富的引用
在计划模式下,Claude Code 严重依赖包含计划的 markdown 文件。把这些文件存为计划,有助于 Claude 在需要时引用。另一个类似的最佳实践是在代码库中存放规格说明,让 Claude 在跨长期项目工作时参考。但我们发现 Claude 已经能处理越来越复杂的引用了。除了简单的 markdown 文件,Claude 还可以引用我们新 artifacts 功能创建的 HTML 工件。你也可以给 Claude 提供代码形式的引用。一个规格说明可能就是一个详细的测试套件,或者是 Claude 可能移植的另一个代码库中的某个函数。
评分标准是另一种形式的参考。借助评分标准,Claude 可以通过动态工作流启动验证代理,来尝试理解和验证你在特定领域(比如好的API设计是什么样的)的偏好。
将这些应用到你的上下文中
综合来看,在组装上下文时,它应该是什么样子?

System Prompt
系统提示词与产品上下文紧密相关。它告诉 Claude 它运行在哪个产品中以及要做什么。在 Claude Code 中,你很可能永远不需要修改它,但如果你在构建自己的代理框架,这里就值得投入大量时间。
CLAUDE.md
保持 CLAUDE.md 轻量,简要描述仓库的用途,但把大部分 token 用来描述代码库中的坑点。例如,你可能把所有类型定义集中在一个大文件中,而其他地方没有。避免说那些 Claude 通过查看文件系统或仓库就能知道的“显而易见”的事情。
大量使用渐进式披露。例如,如果你有多个关于如何验证工作的独特指令,那就创建一个验证技能,并在 CLAUDE.md 中引用它。
Skills
将技能视为轻量级指南,让 Claude 在需要时找到信息。除非在非常重要的领域,否则不要过度约束它们。
对于较长的技能,尽量使用渐进式披露——拆分成多个文件,分散开来。
最好让技能承载你、你的团队或产品特有的观点、知识或最佳实践。
References
你可以通过 @ 提及文件来将其作为参考。参考允许 Claude 查阅当前计划的深度信息。
这些可以是规格文件、设计稿,甚至整个代码库。通常,你应该优先选择代码形式的文件,因为它们能用 Claude 非常熟悉的语言提供清晰、高保真的指令。例如,设计稿的 HTML 模型通常比设计描述或截图效果更好。
尝试简化
在你的系统提示、技能和 CLAUDE.md 文件中,你可能需要像我们一样做减法。我们推出了一个新命令 `claude doctor`,它也能帮你自动完成这件事。想了解更多针对高级模型的提示技巧,请查阅我们的 Fable 现场指南。
本文由 Anthropic 技术团队成员 Thariq Shihipar 撰写。
常见问题
未找到项目。相关文章
探索更多产品新闻,以及团队使用 Claude 的最佳实践。
Claude 模型详解:如何为你的用例选择最佳模型
企业AIClaude 模型详解:如何为你的用例选择最佳模型Claude 模型详解:如何为你的用例选择最佳模型Claude 模型详解:如何为你的用例选择最佳模型Claude 模型详解:如何为你的用例选择最佳模型在 Claude Code 中利用技能构建验证循环
Claude Code在 Claude Code 中利用技能构建验证循环在 Claude Code 中利用技能构建验证循环在 Claude Code 中利用技能构建验证循环在 Claude Code 中利用技能构建验证循环Anthropic 如何保障其 AI 原生软件开发生命周期安全
Claude Code Anthropic 如何保障 AI 原生软件开发安全 Anthropic 如何保障 AI 原生软件开发安全 Anthropic 如何保障 AI 原生软件开发安全 Anthropic 如何保障 AI 原生软件开发安全Anthropic 如何使用 Claude Code 进行大规模代码迁移
Claude Code Anthropic 如何使用 Claude Code 进行大规模代码迁移 Anthropic 如何使用 Claude Code 进行大规模代码迁移 Anthropic 如何使用 Claude Code 进行大规模代码迁移 Anthropic 如何使用 Claude Code 进行大规模代码迁移用 Claude 改变组织运作方式
查看定价 查看定价 查看定价 联系销售 联系销售 联系销售获取开发者新闻通讯
产品更新、操作指南、社区亮点等。每月发送到您的邮箱。