Oleksandr Moccogni

Anthropic删掉了Claude Code超过80%的提示词,我把CLAUDE.md砍掉了79%

发布于 更新于 阅读约 34 分钟
简而言之

上下文工程在Claude 5之后变了:Anthropic删掉了Claude Code超过80%的提示词。这是我在自己的CLAUDE.md里删了什么、移了什么、留了什么,以及原因。

Anthropic删掉了Claude Code超过80%的提示词,我把CLAUDE.md砍掉了79%

7月24日,Anthropic宣布,它为最新模型删掉了Claude Code系统提示词的80%以上。编码评测的分数没有下降。你去年读到的上下文工程(Context Engineering)经验,尤其是大多数CLAUDE.md最佳实践,一夜之间都变得可疑。

如果你在维护一份CLAUDE.md,这应该让你不太舒服。Anthropic现在把许多老建议称为「迷思」:多给规则,多给示例,所有东西都放在最前面,重要的话说上几遍。

我检查了自己的配置。9月下旬,我把CLAUDE.md砍掉了79%,从40,405个字符减到8,641个。

但我并没有把大部分内容删掉。我是把它们移到了指针后面。Anthropic的故事主要是删,我的故事主要是移。这个差别,说明了你的指令到底是什么。

我读了Anthropic的原文,读了Opus 5、Opus 5.5、Fable 5.1和Sonnet 5.5提示指南的相关章节,也读了Claude Code文档,并把每一处引文都追溯到了出处。我是从Claude Fast上的一篇摘要入手的,其余部分都回到了一手来源。

要点先看

  • Anthropic删掉了Claude Code系统提示词的80%以上,编码评测上没有可测量的损失。 Anthropic没有公布过同样的测试结果来覆盖营销、写作或运营类工作。
  • Anthropic的诊断是约束过度。 过时的最坏情况规则,加上互相冲突的规则,让模型还没开工就先当裁判。长度同样有影响。
  • 一个测试决定每一行的去留: 没有这一行,强模型的表现会变差吗?再加第二个问题:万一它猜错了,最坏的后果有多严重?
  • 删掉复制模型能力的指令。把偶尔才用的流程移到指针后面。留下任何模型都猜不到的、关于你的事实。 我的文件缩小79%,主要靠移动。
  • 把验证放进机器会判失败的检查里。 测试、钩子和拒绝规则是确定性的。「请仔细」只是一个建议,还要花token。
  • 删减是一种习惯,不是一次事件。 我的文件在13天里又长了17%。给每条规则标上日期,写下它存在的原因,这样模型更换时你可以重新测试。

什么是上下文工程?它和提示词工程有什么区别?

上下文工程,是设计模型在你的问题之外读到的一切:系统提示词、CLAUDE.md文件、技能、记忆、工具描述和参考文件。 一条提示词只服务一次请求。上下文却会在成千上万次请求中反复使用,所以一行写错的内容,就成了你每次都要交的税。

CLAUDE.md是放在项目根目录的纯文本文件,Claude Code在每次会话开始时都会读取它。里面放的,是模型猜不到的事实、规则和指针。 好的上下文工程会让它简短、具体,并且不包含模型本来就会遵守的规则。

这个词在2025年6月火了起来。当时Simon Willison汇总了各方反应,Shopify的Tobi Lütke和Andrej Karpathy都说,比起「提示词工程」,他们更喜欢这个说法。Anthropic在2025年9月29日的文章里确立了一条至今有效的原则:找到最小的一组高信号token,让你想要的结果最有可能出现。

上下文还有单条提示词没有的失败方式。Drew Breunig在2025年6月命名了四种:污染、分心、混淆和冲突。冲突,指新信息与上下文中已有的内容相矛盾,是Anthropic在7月那篇文章里最清楚的例子。

Anthropic删掉了什么

那篇文章叫The new rules of context engineering for Claude 5 generation models,作者是Thariq Shihipar,阅读时间七分钟。核心说法是:对于Claude Opus 5和Claude Fable 5这类模型,Anthropic删掉了Claude Code系统提示词的80%以上,“在我们的编码评测上没有可测量的损失”。

有两个细节很重要。第一个是范围:编码评测。文章没有拆分说明,哪些类型的任务扛住了。

第二个是诊断。Anthropic说,它给模型加了过多约束,来源包括系统提示词、CLAUDE.md文件和技能。它自己的对话记录显示,同一个请求里会出现互相冲突的信息,比如一处写着“酌情保留文档”,另一处写着“不要添加注释”。模型能想明白你要什么,但它得先多费一番脑筋。

Anthropic并不只是删。它还把验证和代码审查移进了技能,至于那80%里删除和移动各占多少,它没有公布。

两个小小的律师举着写有NO COMMENTS和DOCUMENT IT的牌子,站在一位疲惫的火花形法官面前,旁边身穿马甲的黏土风格营销人充当法警,举着一块写有ONE RULE的牌子

拿注释规则来说。旧的系统提示词让Claude默认不写注释、不写长文档字符串、不写规划文档,除非有人要求。这是一种取舍:老模型写的注释很糟,所以Anthropic接受了一条规则,哪怕有人想要文档时,这条规则就是错的。

新的提示词用一句话取代了它:

写出读起来像周围代码的代码:匹配它的注释密度、命名和惯用写法。

Claude Fast把这个转变总结得很好:大多数时候正确的规则,变成了任何时候都正确的标准。

你在营销里见过这种模式。品牌手册说一套,代理公司的简报说另一套,CEO深夜发来的邮件又是第三套。模型就是那个要交出一份成果、同时满足三方的人。

六大转变,写给不写代码的人

Anthropic列出了六个变成迷思的旧习惯。下面是每一个的商业版本,因为这套逻辑适用于你交给人或机器的任何一份简报。

过去现在商业版本
给Claude定规则让Claude自己判断给资深员工目标和边界,而不是40条清单
给Claude举例子设计接口长长的示例清单会缩小模型尝试的范围。写明字段和允许的取值,只留一两个风格各异的示例
一次全放在前面渐进式披露一套归档系统,而不是每次开会前都要读一遍的活页夹
反复强调简洁的工具描述只说一次,说在用到它的地方
记忆放在CLAUDE.md里自动记忆让工具自己做笔记。需要你出面辩护的决定,放在你自己的文件里
简单的规格说明丰富的参考资料直接发效果图、测试或评分标准,而不是一段描述

第二个转变在一年前就有近亲。2025年7月,Manus团队写道,语言模型是“出色的模仿者”。他们的智能体在筛选20份简历时,常常陷入某种节奏,把同一种模式重复下去。Anthropic发现,工具描述里的示例会缩小模型探索的范围;在文章的一张图里,TodoWrite的描述从约9,100个字符缩成了一行。场景不同,但效应相关。

第四个转变是我最喜欢的。老模型对上下文末尾的内容,可能比对开头听得更认真,所以团队会把关键规则重复几遍。Anthropic删掉了重复,把工具的使用指引移进了工具描述。

重复也是矛盾的来源。一条规则说在三个地方,迟早有一天你只改了其中两处。

每一行背后的那一个测试,以及它漏掉的问题

Claude Fast把这套方法浓缩成对每一行的一个问题:没有这一行,强模型的表现会变差吗? 如果不会,就删掉。

这是个好测试,但并不新。Claude Code文档里早有一个孪生版本:“删掉这一条,Claude会出错吗?”后面跟着“如果不会,就删掉。”文档还补充了原因:臃肿的CLAUDE.md会让Claude忽略你真正的指令。7月的变化在于,不及格的行变多了。

这个测试漏掉了一件事:最坏的情况有多糟? Anthropic说,早期的规则是为了避免删除文件之类的最坏情形。强模型可能1,000次里有999次都做对。第1,000次,就是让你丢掉一个客户的那一次。

即便Anthropic的Sonnet 5.5指南递给你一段提示词来提高自主性,它也补了一句:这段提示词“不能取代你自己针对高风险或不可逆操作制定的规则。请把这些规则保留在系统提示词中。”

所以每一行要打两次分。模型自己做对的可能性有多大,做不对的代价有多高?代价低、很可能做对:删掉。代价高:保留规则,再用无法争辩的东西给它兜底。文档自己划了这条线:CLAUDE.md里的指令是建议性的,而钩子是确定性的。

10月9日,Claude Code的自动模式(由另一个分类器模型审查操作)拦下了一个即将写入线上生产系统的脚本。它一直被拦着,直到我写下一句话,点明操作、资源和脚本。一句“继续吧”不够。

文件里的规则是建议。第二个模型来审查更好。只有钩子或拒绝规则,才是保证。

Claude 5之后的上下文工程:CLAUDE.md该删、该留还是该移

我的知识库是一个运行在Claude Code上的第二大脑。配置方式我在第二大脑那篇文章里讲过。根目录的CLAUDE.md是内核:每次会话都会加载,不管我是在做客户、做活动,还是写这个博客。

到9月,它已经膨胀到40,405个字符。9月26日,我让智能体重建了它。新文件是8,641个字符,砍掉了79%。同一轮里,五份工作记忆笔记缩小了41%到79%,其中一份从17,363个字符降到4,883个。

转折来了。我没有把大部分内容删掉,而是移走了。

79%指的是常驻加载的体积。旧文件的19个章节,现在分布在七个wiki页面里,由触发条件打开。留下来的内核有六个短章节:身份与风格、会话开始与记录、写作与搜索、硬性约束、一张含13个触发条件的表,以及维护这个文件本身的规则。

每个触发条件都写着:做这件事时,先打开那个页面。没有任何导入。新的风险是触发条件没有触发,所以每个触发条件都写明了自己的页面。

动手之前,我的智能体用校验和备份了18个文件。完成后,它们核对了孪生文件AGENTS.md逐字节完全一致,也确认了内核、手册和时间线里的205个链接全都能正常跳转。

信息图《THE CLAUDE.md DIET》:40,405个字符缩减到8,641个,减少79%,下方是分别标着DELETE、KEEP和MOVE的三个箱子,一位黏土风格的营销人指向这些数字,一个火花形的小助手坐在MOVE箱子上挥手

为什么是移而不是删?因为我的指令本身是什么。 Claude Fast说,它删掉的大部分是指令,不是信息:那些叫模型要小心、要一步步想的话。Anthropic没有逐项列出它的80%。我的则大多是关于一个人的业务的事实,任何模型都推导不出来。

模型猜不到我默认要用意大利语。它不知道我的CDN会拒绝Python脚本的默认user agent。它也不知道,没有我明确说go,任何广告活动都不能改。Claude Fast把这类东西叫作“模型无法推导出的信息”。它能通过任何测试,唯一的问题是放在哪里。

去向测试放进去的内容
删除强模型本来就会这么做,或者两条规则互相矛盾一条旧的检索规则指向外部自动记忆,而另一条规则又禁止这样做。我只留了一条
保留,放在内核里模型推导不出来,或者最坏情形代价很高我的语气和语言规则、启动流程、支出与审批上限、触发条件表
移走有时需要,不是每次都需要发布流程、各项服务的操作手册、品牌规范、图片规则:19个章节变成7个页面

Claude Fast还有一句提醒,说得对。有些行看起来无聊,其实是金子。项目事实“是你的CLAUDE.md里价值最高的几行,而它们看起来很无聊,这恰恰让它们成了一轮热情高涨的删减最先毁掉的东西。”

渐进式披露就是好的归档

对于「所有东西都放在最前面」,Anthropic的解法是一棵可以在合适时机加载的文件树。文章把相反的做法称为迷思:以为必须把所有做法放在一个中心文件里,因为Claude“否则找不到它”。Claude Fast说得更短:Claude找得到。

我的做法是一套有体积预算的归档系统:

  1. 路由器。 一份企业与领域的索引笔记,几千个字符。
  2. 领域索引。 一家公司的客户和活动。
  3. 单项活动的工作笔记。 目标1,000到3,000个字符,上限10,000个。
  4. wiki页面和原始资料。 只在任务需要时才打开。

会话开始时,模型读内核和一份工作笔记,其余一概不读。我的大部分记忆躺在磁盘上,在触发条件把它们打开之前,不花一分钱。

一位黏土风格的营销人从巨大卡片目录柜的一个打开的抽屉里抽出一张卡片,柜上挂着写有OPEN ON DEMAND的铭牌,站在一摞书上的火花形小助手恰好只递出一本书

有个值得知道的陷阱:导入不等于渐进式披露。 Claude Code文档对此说得很直白:导入能帮你整理一个很长的文件,但不会降低它的上下文成本,因为被导入的文件同样会在启动时加载。把一个600行的文件拆成六个导入,你得到的是六个文件和同样的600行。真正省上下文的,是只对特定文件夹加载的规则、技能,或者模型需要时才会跟随的一个普通指针。

这个转变的另一半,是用标准取代阈值。Claude Fast的例子,是按文件数量把工作分给专家智能体。一次涉及40个文件的重命名越过了阈值,却只是一项机械工作。一次只改三个文件的变更,如果同时碰到数据库迁移、API契约和表单,就需要三种专业能力。所以标准改成了领域数量,外加一个说明界线在哪里的实例。

你在预算里见过这个。“任何超过5,000的支出都要审批”是阈值。“任何无法撤销的事都要审批”是标准。阈值会放过那笔4,900的错误。我把标准当作规则,只有客户设定了真实上限时,才保留一个数字。

别矫枉过正。Shihipar的Fable实战指南提醒,如果你说得太具体,即使转向更好,Claude也会照着你说的做。说得太含糊,它就会拿通用的最佳做法去填补空白。用测试找到中间点。

验证陷阱,以及17美元的教训

我见过的每一份指令文件里,几乎都有某个版本的“汇报前请验证你的工作”。这感觉很勤勉。Anthropic的Opus 5指南却说它适得其反。Opus 5不用人说,就会验证自己的工作,而明确的验证指令“会导致Claude Opus 5过度验证,删除这些指令可以减少浪费的token,且质量没有损失。”

同一份指南还警告,Opus 5比早期模型更愿意把任务委派给子智能体,并建议对同时运行的数量设置确定性的上限。

10月9日,我明白了原因。我让自己的系统调研一篇文章。它并行启动了十个调研智能体,它们继承了会话的最高effort。另外还计划了八个。

六分钟后我叫停了它。它发起了233次调用,处理了约3,100万个token,几乎全是对上下文里已有网页的重复读取。用量表显示约17美元。调研产出是零,一份完成的资料都没有。

那天早上的第二个工作流没有设置effort,在40分钟里处理了约2.87亿个token。Anthropic早就警告过,它自己的工作流“最终可能消耗明显更多的token”。

一位黏土风格的营销人用标着EFFORT LOW的灭火器对准一个显示$17的计量表,钞票像烟一样升起,旁边一个举着许多放大镜的机器人一遍又一遍盖同一个对勾章,一个火花形的小助手举起停止牌

我的第一个修补是一套仪式:每个工作流之前先估算成本,再问我。我否决了它:更慢,也没有更安全。第二个修补是一个接口。effort成了每次智能体调用的必填参数: 网页调研和机械性工作用low,写作和翻译用medium,只有真正困难的判断才用high。

Anthropic的Opus 5.5指南解释了这为什么有效:降低effort会减少思考,成本和延迟随之下降,而且“比提示词指令更可靠”。这就是第二个转变的实际应用。不要用文字去描述行为,要设计控制手段。

不过,effort减少的是思考,不是重复读取。更强的刹车是上限。Opus 5指南列出了CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS、CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH,以及SDK用的max_budget_usd,都来自Claude Code 2.1.217。这些是设置,不是建议。

还有两点细节。Sonnet 5.5指南说,在编码任务的最高effort下,一条禁止审查型子智能体的停止指令,让会话成本降低了约三分之一,质量没有变化。它还说,在低effort下Sonnet 5.5可能跳过检查,用一条简短的提示要求真正去检查,这种情况就很少见。这取决于模型和effort。

那么验证该放在哪里?放在项目已有的检查里:测试、构建、钩子。只有在品味或风险很高的地方,才像Anthropic的工作流那样另加一个带评分标准的审查者,因为模型往往偏爱自己的结果。一个机器会判失败的检查,胜过一句要求小心的话。

关于真正的检查除了一句要求小心的话还需要什么,请看我写的AI幻觉与Human in the Loop。

删减在哪里会出错

这是一个编码结果。 Anthropic写的是“在我们的编码评测上没有可测量的损失”。正如AI Weekly所指出的,文章没有拆分说明哪些任务类别扛住了。我没有找到关于品牌语气、法务文案或客户报告的公开测试。请测你自己的任务。

这是Claude 5的建议。 即便在同一个家族内,各份指南也不一样:Anthropic的Opus 5.5指南说,不同模型的effort级别名称,并不对应同样的思考量。如果你的技术栈混用多种模型,像我这样在Claude旁边还用GLM和Kimi,就要按模型分别调整行为规则。我那些镜像文件能共用一个内核,只因为它大多是与模型无关的事实和指针。如果你想看开放权重的一面,我写过GLM 5.3。

如果你在不同的Claude模型之间分配工作,我的Claude价格与模型对比把价格和各自适合的活放在了一起。

大窗口不等于有注意力。 Chroma在2025年7月发布的Context Rot报告测试了18个模型,包括Claude 4,发现即使是简单任务,输入越长,可靠性越低。Anthropic说,Claude Opus 5的指令遵循、工具调用和推理在整个1M token的窗口里保持一致,但指南没有公布数字。模型不同,相隔一年:两边我都不敢下注。

无论哪种说法成立,有两点都实用。在Chroma的记忆测试里,聚焦的输入胜过完整的输入。Manus还指出,在Claude Sonnet上,缓存的输入token只有未缓存的十分之一价格,所以稳定的前缀能省钱。

Claude Code记忆:租用还是自有

第五个转变说,#快捷键已经过时,自动记忆登场:Claude现在会保存与工作和与你相关的记忆。我在用。Claude Code文档给出了细则。自动记忆默认存在本机,每次会话只加载其索引的前200行或25KB,并且会跳过Claude能从你的代码中推导出的内容。

由Claude决定保存什么,这对习惯和纠正来说很好,这些小事你本来也不会去写。但对于你要在会议上辩护的决定,它不是合适的归宿。它是你可以审阅的普通markdown,却仍然放在某一个工具的文件夹里。

我的规则:规范放在我自己拥有的文件里,自动记忆保持简短,主要是指针和小的纠正。 知识库会在我的几台设备之间移动,同样的规则通过AGENTS.md这个孪生文件传达给其他智能体。文档现在写到,Claude Code可以读取AGENTS.md来代替CLAUDE.md,所以这个孪生文件可能是我可以放下的习惯。

当我为我的photoshop开源替代品那篇文章审计十二个PhotoCraft仓库时,每一个仓库都带着一份AGENTS.md。上下文文件,就是新的README。

删减是一种习惯,不是一次事件

下面这部分,没人会放进标题。10月9日,在我砍掉之后的第十三天,我的CLAUDE.md有10,127个字符。 比我精简那天大了17%,也超过了我给自己定的10,000上限。指令文件会像杂草一样长回来,每次只加一条合理的内容。

所以我把每条规则都当成带日期的假设。我笔记里的一条规则,会写明做什么、为什么、怎么用,以及我做出决定的那一天。7月,我在三天里设定了三次压缩阈值,也就是长会话被总结时的token数:先是500,000,然后400,000,再到约100,000。这段历史就放在规则旁边。

再给你的规则加一个字段:你怎么知道可以安全地移除它。新模型一到,问问自己,当初的理由是否还成立。

一位戴白手套的黏土风格营销人在挂满带日期铭牌的博物馆墙上扶正一幅装裱的旧规则,旁边一个火花形的小助手指着一块发光的、写着WHY的铭牌

Claude Fast有一句话说的正是这个:“你过去的指导并不会事后变成错的。”变的是取舍,不是逻辑。我希望未来的自己,把我的规则读作在旧条件下做出的决定,而不是错误。

今天就能跑完的30分钟CLAUDE.md审计

设个计时器。短文件按30分钟算,大文件更久。你需要一份副本和一双诚实的眼睛。

  1. 复制文件,或者把它提交到git。 保留原件。只要能找回来,你删掉的东西就不算丢。
  2. 运行/doctor prompt-audit。 需要Claude Code v2.1.283或更高版本。读一读报告里的失效引用、矛盾,以及为老模型写的规则。先别应用任何修改。
  3. 挑3到5个真实任务,保存输出。 这是你的基线。
  4. 逐行分类:删除、保留或移走。 删掉你已经测试过、强模型本来就会做的,比如“请小心”。保留模型推导不出来的、以及猜错代价高的。其余的移到指针后面。如果测试显示有帮助,就保留一个角色设定或一句先思考再动手的话,尤其是在编码之外。
  5. 查找重复和矛盾。 对每条核心规则做一次搜索。如果它出现在三个地方,你就有了它的三个版本。
  6. 把“请小心”变成机器会判失败的检查。 一个测试、一个钩子、一条拒绝规则。只有在品味本身就是产品的地方,才加一个带评分标准的审查者。
  7. 用标准替换阈值。 再加一个说明界线在哪里的实例。
  8. 分批删减,重跑任务。 哪一批让结果变差,就恢复哪一批。然后给留下的内容标上日期、写明原因,并在日历里为下一个模型发布设一个提醒。

对那些你舍不得删的行要多留个心眼。有些是金子,大多数是疤痕。

一位黏土风格的营销人隔着书桌,把一把修枝剪递向观众,桌上有显示无尽长文件的笔记本电脑、设为30 MIN的计时器,以及一个指着计时器的火花形小助手

常见问题

一定需要CLAUDE.md吗?

不一定,但它是存放Claude猜不到的东西最便宜的地方。Anthropic的建议是保持轻量,说明这个仓库是做什么的,把大部分token花在陷阱上。习惯和纠正可以交给自动记忆。

CLAUDE.md应该多长?

Claude Code文档的目标是每个文件200行以内,因为更长的文件会占用上下文,降低遵循度。行数只是粗略的衡量:我的文件有71行,却约有10,000个字符,所以我盯的是矛盾和字符数。

删减指令会让Claude变差吗?

在编码评测上,Anthropic没有发现可测量的损失。对于其他类型的工作,没有公开测试,所以请小批量删减,并用你自己的任务做对比。Claude Code文档提到过一个症状:如果Claude总是忽略某条规则,文件很可能太长了。

/doctor是做什么的?

据文档,做两件事。一是精简检查:为已提交的CLAUDE.md提出删减建议,它会去掉Claude能从代码中推导出的内容,比如目录结构和依赖清单,保留陷阱、理由和非默认约定(需要Claude Code v2.1.206或更高版本)。二是/doctor prompt-audit:找出为老模型写的指令、失效引用和矛盾,并提出修改建议,但不会直接应用。

提示词工程已经死了吗?

没有。每一项工作,你仍然要写任务说明。死掉的,是上下文工程里的一种做法:往常驻上下文里塞满强模型本来就会遵守的规则。

我的结论

Anthropic给我们的教训不是“少写”。而是:不要再写强模型本来就会遵守的指令,开始整理它无从知道的东西。

Claude 5之后的上下文工程,一张卡片就写得下:

  1. 删掉重复模型能力的内容。
  2. 保留只有你知道的东西。
  3. 移走偶尔才用的内容。
  4. 锁住一切危险操作,靠机制,不靠一句话。
  5. 标上日期,然后回来复查。

本页反映的是截至2026年10月9日的各份指南。Anthropic经常修订它们,所以在依赖任何细节之前,请先核对日期。

刚开始用智能体做东西?从我的氛围编程指南开始。已经在用,想让另一双眼睛看看你的指令文件或整套配置?联系我。

标签: 上下文工程CLAUDE.mdClaude 5Claude CodeCLAUDE.md最佳实践Claude Code记忆第二大脑AI智能体

继续阅读

全部文章 →
订阅通讯

抢先一步。

偶尔分享关于 AI 营销、增长与演讲的思考。绝无垃圾邮件。