Claude Opus 5提示词泄露,记忆与商业规则全公开
源自26位全网作者
19:30
精选参考来源
1
# Claude 官博:Claude 5 代模型的上下文工程新规则> 我们为更先进的模型删掉了 Claude Code 系统提示词中超过 80% 的内容。本文介绍如何将这些经验应用到 Claude Code 的上下文工程,以及你自己构建的智能体中。| 项目 | 信息 ||---|---|| 分类 | Claude Code、Agents || 产品 | Claude Code、Claude Enterprise、Claude Platform || 日期 | 2026 年 7 月 24 日 || 阅读时长 | 5 分钟 || 作者 | Thariq Shihipar,Anthropic 技术团队成员 |---我之前写过,如何为最新一代 Claude 5 模型设计更有效的提示词,以及如何通过迭代式协作,逐步弄清楚你真正想构建什么。但当你向 Claude 发送一条消息时,提示词只是它所接收上下文中的一小部分。大量上下文来自:- 系统提示词- Skills- `CLAUDE.md` 文件- 记忆- 其他信息源我们把这一整套工作称为**上下文工程**。无论你是在使用 Claude Code,还是在构建自己的智能体,上下文工程都会显著影响最终生成的结果。与单次提示词不同,上下文通常会被用于大量不同的请求,因此不能写得过于具体。那么,在无法预先知道用户会提出什么请求的情况下,应该怎样为 Claude 编写这种通用提示和指导?随着 Claude 自身能力不断进化,这件事可能比想象中更加困难。最近,我们注意到,为最新一代 Claude 模型设计提示词的方式发生了巨大变化。对于 Claude Opus 5、Claude Fable 5 等模型,我们删除了 Claude Code 系统提示词中超过 80% 的内容,而在代码能力评测中,没有发现可测量的性能损失。下面是我们在为这类新模型设计提示词时总结出的经验,以及你可以如何利用这些经验更新自己的上下文工程。我们还把这些最佳实践集成到了 `claude doctor` 中。你可以在 Claude Code 里使用 `/doctor` 命令,将 Skills 和 `CLAUDE.md` 文件调整到合适的规模。---## 给 Claude 松绑总体来看,我们发现,过去无论是系统提示词,还是 `CLAUDE.md` 文件和 Skills,都对 Claude Code 施加了过多限制。例如,当我们查看内部使用 Claude Code 的对话记录时,经常会发现,同一个请求中同时存在多条彼此冲突的指令,比如:- “根据需要补充文档”- “禁止添加注释”系统提示词、Skills 和用户请求之间可能会互相冲突。通常情况下,Claude 仍然能够理解用户意图,并得出正确答案。但面对这些重叠甚至互相矛盾的信息,Claude 必须投入更多推理,才能决定究竟应该怎么做。过去,为了避免最坏情况,这些限制确实是必要的。但现在我们发现,其中很多规则都可以删除,让模型根据周围上下文和自身判断来做决定。此外,Claude Code 现在也拥有了更多工具。过去,Claude 主要依赖 `CLAUDE.md` 来保存:- 记忆- 信息- 操作指导现在,我们有了记忆、Artifacts 和 Skills。Claude 可以通过这些机制,以新的方式在不同会话之间加载和共享上下文。---## 今昔对照过去有不少上下文工程的最佳实践,如今已经逐渐变成了不再适用的“经验神话”。---### 过去:给 Claude 制定规则### 现在:让 Claude 自行判断Claude Code 刚推出时,我们必须确保 Claude 能避开删除文件之类的最坏情况。因此,我们会给出非常强硬的指导,即使这些指导并不适用于所有场景。例如,过去的系统提示词中曾写道:> 编写代码时,默认不要添加注释。>> 绝对不要编写多段式文档字符串或多行注释块,最多只能写一行简短注释。>> 除非用户明确要求,否则不要创建规划、决策或分析文档。>> 应直接利用对话上下文工作,不要创建中间文件。但对于某些请求,这种指导显然是错误的。以文档为例:- 用户可能有自己的注释偏好;- 复杂代码中的某些部分,确实可能需要多行注释块;- 某些项目本身就要求编写详细文档。不过,对于旧模型来说,如果没有这些防护规则,Claude 添加的注释在很多情况下都会出错,因此当时我们只能接受这种取舍。而新模型具备更好的判断力,即使没有明确规则,也能够妥善处理这些决定。在新的系统提示词中,我们只会这样说:> 编写与周围代码风格一致的代码:匹配现有代码的注释密度、命名方式和惯用写法。---### 过去:给 Claude 提供示例### 现在:设计好接口过去,工具使用的首要原则,是给 Claude 提供具体使用示例。但在最新模型上,我们发现,示例反而会把模型限制在某个固定的探索空间中。与其提供示例,不如更认真地设计工具、脚本和文件的接口。需要重点考虑:- Claude 可以使用哪些参数?- 参数之间是什么关系?- 参数能否充分表达不同意图?- 工具接口是否能够自然暗示正确的使用方式?例如,在 Todo 工具中,仅仅把 `status` 定义为以下三个枚举值:```textpendingin_progresscompleted```这已经能够向 Claude 暗示工具的使用方式。再加上一条规则:> 始终只保留一个处于 `in_progress` 状态的任务。这就足以定义我们希望它遵循的行为。---### 过去:把所有信息都放在最前面### 现在:使用渐进式披露由于 Claude Code 主要面向编程场景,它的系统提示词过去包含了大量关于代码审查和验证的详细信息。这些信息并非每次都需要,但一旦需要,它们又非常关键。此后,Claude Code 在使用**渐进式披露**方面已经变得非常成熟:> 只在合适的时间,加载合适的上下文。例如,我们把验证和代码审查相关的指导从系统提示词中移出,分别放进独立的 Skills。Claude Code 可以在需要时选择性调用这些 Skills。但渐进式披露并不只适用于 Skills,我们也把它用在工具上。部分工具采用了“延迟加载”机制。这意味着,智能体在使用工具前,必须先通过 ToolSearch 搜索并加载工具的完整定义。这样一来,我们就可以提供更多工具,例如 Task 类工具,而不必在工具尚未使用时,就让它们占据上下文空间。同样的思路也可以应用到你自己的 `CLAUDE.md` 和 `Skill.md` 文件中。一种常见误区是:> 应该把 `CLAUDE.md` 或 `Skill.md` 建成一个集中式知识库,把未来可能遇到的所有实践都放进去,因为 Claude 否则可能无法找到这些信息。更好的做法,是建立一棵文件树,让 Claude 在合适的时候加载对应文件。例如:```textCLAUDE.mdskills/├── verification/│ ├── SKILL.md│ ├── frontend.md│ └── backend.md├── code-review/│ └── SKILL.md└── deployment/ └── SKILL.md```这样,Claude 不需要在每次请求中读取所有规则,只需加载当前任务真正需要的部分。---### 过去:反复重复指令### 现在:使用简洁的工具描述早期 Claude 模型有时需要反复接收同一条指令。它们也可能更容易遵循上下文窗口末尾的指令,而忽略开头的内容。因此,过去我们的系统提示词中,经常会同时在以下位置重复介绍某个工具的使用方式:- 主系统提示词- 工具描述- 工具使用示例现在我们发现,可以删除这些重复内容。只需在工具描述中清晰说明工具的用途和使用方式,而不必再写进系统提示词。换句话说:> 工具相关的规则,应尽量放在工具自身的描述中。---### 过去:把记忆写进 `CLAUDE.md`### 现在:自动记忆过去,我们会鼓励用户把信息保存到 Claude 的记忆中。例如,用户可以使用 `#` 快捷键,自动把内容写入 `CLAUDE.md`。现在,Claude 会自动保存与你本人以及当前工作相关的记忆。因此,`CLAUDE.md` 不再需要同时承担项目说明、操作规则和个人记忆等多种职责。---### 过去:简单规格说明### 现在:丰富的参考材料在规划模式中,Claude Code 过去高度依赖包含计划内容的 Markdown 文件。把计划保存在文件里,可以让 Claude 在需要时再次引用。类似的最佳实践还包括:> 把规格说明保存在代码仓库中,方便 Claude 在长期项目中持续参考。但我们发现,Claude 现在能够处理越来越复杂的参考材料。参考资料不必再局限于简单的 Markdown 文件。Claude 也可以引用由新版 Artifacts 功能创建的 HTML 工件。你还可以直接把代码作为参考材料。一份规格说明可以是:- 一套详细的测试用例;- 另一个代码库中的某个函数;- 一个需要移植到当前项目的实现;- 一个可运行的原型;- 一份 HTML 页面;- 一套接口定义;- 一份评分准则。评分准则也是一种参考材料。评分准则可以帮助 Claude 理解并验证你在特定领域中的偏好。例如:> 优秀的 API 设计应该是什么样?Claude 可以运行动态工作流,并启动带有这些评分准则的验证智能体,对结果进行检查。---## 把这些原则应用到你的上下文中把以上内容整合起来后,在实际组装上下文时,应该怎样分别处理不同组成部分?---## 1. 系统提示词系统提示词与产品环境高度相关。它负责告诉 Claude:- 自己正在什么产品中运行;- 当前承担什么职责;- 可以使用哪些能力;- 应遵守哪些最基本的产品级约束。对于 Claude Code,你通常不会修改它的系统提示词。但如果你正在构建自己的智能体运行框架,那么系统提示词是一个值得投入大量时间设计的部分。系统提示词应该描述产品和角色,而不是塞入所有任务细节。---## 2. `CLAUDE.md`让 `CLAUDE.md` 保持轻量。可以简要说明代码仓库的用途,但应把大部分 token 留给代码库中真正容易踩坑、无法直接看出的特殊规则。例如,你的项目可能规定:> 所有类型定义必须统一放在一个大型文件中,其他地方不得定义类型。这类约定就很适合写进 `CLAUDE.md`。不要写那些 Claude 通过查看文件系统或代码仓库就能自然推断出的“显而易见”的内容。例如,通常没有必要写:```markdown这是一个 TypeScript 项目。源代码位于 src 目录。测试文件位于 tests 目录。```如果这些信息可以直接从仓库结构和配置文件中看出来,就没有必要占用上下文。应大量使用渐进式披露。例如,如果你有一整套独特的工作验证流程,可以创建一个专门的验证 Skill,再从 `CLAUDE.md` 中引用它,而不是把所有细节直接塞进 `CLAUDE.md`。示例:```markdown# Repository overview这是一个用于处理企业支付的 TypeScript 服务。## 重要约定- 所有领域类型统一定义在 `src/types/domain.ts`。- 不要直接修改生成的 API 客户端。- 修改支付流程后,必须执行验证 Skill。## 按需加载- 验证流程:`skills/verification/SKILL.md`- 发布流程:`skills/release/SKILL.md````---## 3. Skills可以把 Skills 理解为轻量级指南,帮助 Claude 在需要时找到相关信息。除非涉及非常重要的领域,否则不要把 Skill 写得过度受限。对于内容较长的 Skill,应尽可能采用渐进式披露:- 将内容拆分成多个文件;- 把不同场景分别存放;- 只在入口文件中保留导航和关键规则;- 让 Claude 根据当前任务继续加载细节。最有价值的 Skills,通常用于编码那些属于以下范围的内容:- 你个人的特定偏好;- 团队内部约定;- 产品特有知识;- 领域最佳实践;- 公司内部流程;- 不容易通过代码直接发现的操作经验。Skills 不应只是重复 Claude 已经知道的通用知识。---## 4. 参考材料你可以使用 `@` 提及文件,把它们加入当前任务的参考上下文中。参考材料让 Claude 能够查阅与当前计划有关的深入信息。这些材料可以是:- 规格说明文件;- 设计稿;- HTML 原型;- 测试文件;- 接口定义;- 评分准则;- 完整代码库;- 另一个项目中的参考实现。一般来说,应优先选择以代码形式表达的文件。代码能够用 Claude 非常熟悉的语言,提供清晰、高保真的指令。例如,一个设计方案的 HTML 原型,通常会比以下材料产生更好的结果:- 对设计的文字描述;- 一张静态截图;- 一组模糊的自然语言要求。可以简单理解为:> 可执行、可验证、结构化的参考材料,通常优于抽象描述。---## 试着做减法无论是系统提示词、Skills,还是 `CLAUDE.md` 文件,你可能都需要像我们一样,对现有内容进行简化。可以重点检查以下问题:- 是否存在重复指令?- 是否存在互相冲突的规则?- 是否写入了 Claude 本来就能自行判断的内容?- 是否把只在少数场景需要的信息放进了全局上下文?- 是否可以把长规则拆成按需加载的 Skill?- 是否能通过更好的工具接口,代替冗长的工具示例?- 是否可以使用代码、测试或原型作为更高保真的参考材料?我们推出了一个名为 `claude doctor` 的新命令,可以帮助你自动完成这项工作。如果希望进一步了解如何专门为更先进的模型设计提示词,可以参阅 Fable 实战指南。---## 核心结论对于新一代 Claude 模型,上下文工程的重点正在发生变化。过去的思路是:- 写更多规则;- 提供更多示例;- 重复重要指令;- 把所有信息提前放入上下文;- 用 `CLAUDE.md` 保存一切。现在更有效的思路是:- 相信模型的判断力;- 设计表达能力更强的接口;- 使用渐进式披露;- 把工具规则放进工具描述;- 使用自动记忆;- 提供丰富、高保真的参考材料;- 删除重复、显而易见和过度限制性的内容。最终目标不是让上下文包含尽可能多的信息,而是:> 在正确的时间,为模型提供完成当前任务所需的正确信息。
2
一夜之间,Claude Code删掉了80%系统提示词
全部
来源
来源
内容由AI生成
0
0
0评论
当前文章无评论,是时候发表评论了
提示信息
取消
确认
评论举报
最新文章
热门文章
-
又学到了,暑期旅行的15个隐藏妙招,学会可太省心了!428 110 -
网龄十年,为何有人月领30GB,有人只有1GB?52 122 -
评论有奖|这几件夏季洗护小事全网愣是争了好几年,今天一次性说清楚148 376 -
罗永浩怒斥电视机厂商:不毁灭没天理!120 389
已收藏
去我的收藏夹