Claude Code刚宣布大幅精简提示词,紧接着就被曝出Opus 5出现了“反弹”迹象,增幅竟高达72%。这组看似自相矛盾的数据,分别源自Anthropic官方公告和网友陈成的实测。此前官方声称大幅删减了80%以上的提示词,结果很快就被陈成抓了现行。
让我们先来看看Anthropic这次具体删减了什么。根据官方文章,早期的Claude Code为了防止模型犯错,会在系统提示词里写入大量明确甚至绝对化的规则。比如默认不要写注释、不要写多段文档字符串,除非用户要求,否则不要创建计划和分析文档。换句话说,模型在哪些地方容易翻车,人类就提前补上一条规定。久而久之,Claude Code背后的系统提示词,就越来越像一本厚厚的《员工行为手册》。
这套方法在早期模型身上确实有用,但随着Claude能力的提升,问题也逐渐冒了出来。最直接的,就是来自不同位置的指令很容易互相打架。面对这些重叠甚至冲突的信息,Claude还没开始干活,就得先花力气判断究竟该听谁的。于是,Anthropic索性给Claude Code的提示词动了一场“大手术”。
其中一个很直观的变化,就发生在注释和文档规则上。过去那一长串默认不要写注释、绝对不要写多段文档字符串等规定,如今被压缩成了一句话:编写符合周围代码风格的代码,与其注释密度、命名方式和惯用写法保持一致。用通俗的话说就是:先看看这个项目原来怎么写,再结合实际情况自己判断。当然,类似的改动还有很多。总之,Anthropic把Opus 5、Fable 5等新一代模型中超过80%的系统提示内容都删掉了。值得一提的是,根据Anthropic的编程评测,此次大规模删减没有带来可测量的性能下降。
然而,面对官方的“瘦身”声明,开发者陈成(@chenchengpro)决定亲自验证。他通过抓取模型实际接收到的系统提示词,发现了一个有趣的反转:从Opus 4.7升级到Opus 4.8,提示词确实遭遇了一场“大砍刀”,从15225字符缩减至4467字符。但到了最新的Opus 5,剧情突然反转——它真正收到的系统提示词又从4467字符增加到7694字符,相比Opus 4.8足足长了约72%。
这就引出了一个关键细节:Claude Code实际上同时带着两套提示词,再由一个函数根据模型ID,决定最终向模型发送哪一套。Sonnet、Haiku、Claude 3和部分旧版Opus模型会走更详细的旧提示词;Opus 5、Fable 5等新模型,则会使用经过大幅精简的新提示词。换句话说,Claude Code确实给新模型拆掉了大量旧规矩,只是到了Opus 5,模型又出现了一些新的行为习惯,Anthropic不得不重新补充更有针对性的约束。
细心的网友进一步发现,Opus 5增加的内容主要分为两块:“交付工作”和“纠正机制”。这两部分加起来约3755字符,基本覆盖了Opus 5与Opus 4.8之间的差值。至于为什么又要补回这些内容,主要和Opus 5变得更主动有关。根据Anthropic发布的提示指南,Opus 5更喜欢在执行任务时汇报进度,生成的回答和文档通常更长,也更愿意调用子Agent、扩大任务范围和反复验证结果。
虽然这些习惯在复杂长程任务中能派上用场,但如果用户只想修改几行代码,Opus 5依旧拉起一支子Agent小队,再顺手检查好几轮,Token消耗和等待时间也会跟着往上涨。因此,新提示词又加入了更有针对性的要求:什么时候适合调用子Agent、汇报进度需要多频繁、任务做到什么范围该停,以及怎样控制最终输出长度。
到这里,前面那组看似矛盾的数据也就说得通了。Claude Code此次删掉的,大多是给旧模型留下的繁琐操作细则,而Opus 5长回来的72%,则主要用于约束新模型变强之后的主动行为。模型越能自己干活,人类需要手把手教它的地方越少,但模型越来越有主见以后,哪些事情可以主动做、做到哪一步该停,还是得提前划条线的。这么看下来,Claude Code的提示词确实瘦了,只是Opus 5换了个地方长肉。看来,AI也逃不过这个规律:旧毛病减下去了,新毛病又会精准长在别处。
