AI Pulse
📡 X 信号

博主验证Claude Code系统提示词删减 结果和官方说法不符

Anthropic声称,他们为Opus 5删掉了Claude Code中80%的系统提示词。博主@chenchengpro想要验证这一说法,因此将Claude Code的命令行工具指向本地小型服务器,抓取工具实际发送的内容。

实际抓取得到的字符数统计如下:Opus 4.7版本为15225字符,Opus 4.8为4467字符,Opus 5为7694字符。系统提示词的删减发生在Opus 4.8版本,而非Opus 5;Opus 5的系统提示词比上一代Opus 4.8大了72%。

80%的删减比例确实是真实数据。每个版本都内置两套提示词,由硬编码子串匹配的函数决定发送哪套,只有符合特定条件的旧型号才会使用长提示词,Opus 4.8不在旧型号名单内,默认使用短提示词。

仅统计手写的策略正文,旧版本路径下共12443字符,新路径下为2308字符,实际减少了81%。原有的六个章节内容被全部删除,替换为一节1702字符的# Harness,内容只说明运行环境,没有对模型行为作出规定。原先整套编写注释的规则,也缩减为一句要求代码匹配现有风格的描述。

用户可以手动控制这个开关,设置环境变量CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=1,就能让任意模型使用短提示词。测试显示,Opus 4.5使用该设置后拿到的提示词,和Opus 4.8的默认提示词仅两行差异。

Opus 5确实重新增加了内容,新增# Delivering work(2019字符)和# Corrections(1736字符)两段内容,这两段内容在旧版本中不存在,仅Opus 5拥有对应的功能。其中# Corrections的内容和Anthropic给第三方开发者的Opus 5迁移指南中要求抄入的内容完全一致,目的是让模型主动 flag 并详细解释自己之前的错误。

「模型越强越不需要规则」的说法并不成立。删减提示词是上一代模型就完成的工作,新模型出现新的出错方式,规则就会随之变成针对模型的补丁。

还有两个额外发现:如果模型ID未被识别,且使用Bedrock、Vertex或自定义基础URL,会默认回退到15K字符的旧提示词,判断规则同时检查服务提供商,不只是模型本身。同一个开关也会精简工具描述,总字符数从53328降到37167,上下文占用的大头其实并不在系统提示词中。

博主给出了自行验证的方法:搭建小型HTTP服务存储响应后返回400,将ANTHROPIC_BASE_URL指向该服务,再用指定模型发送请求即可。

博主最后提到,自己也写过很多类似的规则兜底内容,现在很难分辨哪些是模型已经不需要的,只能逐条删除测试效果。

查看 X 原帖

📬 订阅 AI Pulse

每天三次更新,不错过重要信号

▲ 回到顶部