文章详情

Claude Code 额度烧得快?搜代码的子 Agent 也在跑 Opus 5.5,两行设置换成 Haiku

一句话看懂

主对话开着 Opus 5.5 时,被派去翻文件的内置子 Agent 默认也跟着跑 Opus 5.5。去设置文件里加两行环境变量,就能把这些跑腿的活换成 Sonnet 5.5 或 Haiku 5.5。

11 月 3 日,Reddit 的 r/ClaudeAI 社区里有个吐槽额度掉太快的帖子盖了 67 条回复,其中一位网友说自己开 ultracode 模式时额度大块大块地往下掉,有一次 Claude Code 一口气派出了 78 个子 Agent(在主对话之外另开的帮手,各有自己的上下文,但和你主对话共用同一份用量限额)。按 Anthropic 的默认规则,你主对话用 Opus 5.5,内置专门用来翻文件、搜代码的只读帮手 Explore,以及负责做计划的 Plan,全都跟着一起用 Opus 5.5(如果你是 Claude 会员、主对话开着 Fable,Explore 也会改用 Opus)。让最贵的模型去干翻目录的体力活,就像雇了年薪百万的架构师专门帮你按 Ctrl+F,一次还派出去几十个,额度自然见底。

官方文档写明:Explore 默认用主对话的模型 · 图片来源:截图自 Claude Code 官方文档,11 月 4 日

翻文件的体力活差出四十倍价钱

Anthropic 没有公布会员额度具体按什么比例扣,但看一眼官方 API 的标准定价就能算出这笔账:Opus 5.5 每百万 Token 输入 4 美元、输出 20 美元;Sonnet 5.5 刚好砍半,输入 2 美元、输出 10 美元;而 Haiku 5.5 在单次请求不超过 10 万 Token 时,输入只要 0.10 美元、输出 0.50 美元(超过 10 万 Token 则是输入 0.50、输出 2.50)。

也就是说,单次请求在 10 万 Token 以内时,叫 Haiku 5.5 跑一趟腿的开销只有 Opus 5.5 的四十分之一。像 Explore 这种只读不写、专门搜代码和翻文件的差事,在长任务里被叫起的次数最多,也是最该换掉的一个。X 用户 @LawrenceW_Zen 在 11 月 3 日发帖分享这套设置时专门提了一句:「子 Agent 用的还是同一份额度。换便宜模型是少花,不是另算一份。」

只改一行环境变量管不住内置帮手

很多人听说环境变量 CLAUDE_CODE_SUBAGENT_MODEL 能改子 Agent 的模型,去设置里加上这一行就以为万事大吉了。在 v2.1.251 之前,这招确实能盖过一切;但从 v2.1.251 开始,官方把这个变量降级成了「只当默认值」——Claude 某次调用时临时指定的模型,以及子 Agent 定义文件里写的 model 字段,优先级都排在它前面。

更要命的是官方文档里写死的一条规矩:「Setting CLAUDE_CODE_SUBAGENT_MODEL by itself doesn't change the model the built-in Explore and Plan subagents run on.」只设这一个变量,内置的 Explore 和 Plan 根本不理你,照旧跟着主对话烧 Opus 5.5。以前只设了这一个变量的人,升级之后一部分子 Agent 也会改按定义文件里的模型跑。

想把所有子 Agent(包括 Explore 和 Plan)一刀切换成便宜模型,得先把 Claude Code 升到 v2.1.257 或更高版本,然后在 settings.json 的 env 里把新出的 CLAUDE_CODE_SUBAGENT_MODEL_FORCE 也一起写上,一共两行:

  • "CLAUDE_CODE_SUBAGENT_MODEL": "haiku"
  • "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"

加上 FORCE 之后,子 Agent 定义文件里的 model 会被忽略,Claude 也不能再给某次调用临时指定模型;只有分叉出来的子对话(fork)和明确写了 model: inherit 的技能,还会继续跟着主对话的模型走。

两行设置的官方示例 · 图片来源:截图自 Claude Code 官方文档,11 月 4 日

怎么挑改法,以及怎么验明正身

全换成 Haiku 虽然省,但要是把写代码、做设计判断的子 Agent 也一竿子打成 Haiku,省下来的额度大概率会被返工吃回去。折中的办法是把上面配置里的 "haiku" 换成 "sonnet",价格是 Opus 5.5 的一半,脑子够用。

如果你不想一刀切,还想留着某些子 Agent(比如专门做代码审查的)继续用强模型,那就别开 FORCE。去用户或项目的子 Agent 目录(.claude/agents/)里,自己新建一个同名的 Explore 子 Agent,在里面写上 model: haiku(这里支持填 sonnet、opus、haiku、fable、像 claude-opus-5-5 这样的完整型号,或者代表跟主对话一样的 inherit)。你自建的这个 Explore 会直接盖过内置的那个,至于其他子 Agent,各自在定义文件里写好 model 就行。

无论选哪条路,改完配置别光凭感觉。把 Claude Code 升到 v2.1.242 以上,趁子 Agent 正在干活的时候输入 /tasks,列表里每一行都会老老实实写出它当前实际运行的模型和思考档位,看一眼那上面是不是变成了 Haiku 或 Sonnet 才算数。

出处(5)
  1. Create custom subagents · Anthropic(Claude Code 文档)
  2. Claude Code CHANGELOG · GitHub · anthropics/claude-code
  3. Pricing · Anthropic(Claude 平台文档)
  4. What the hel is happening with limits · Reddit r/ClaudeAI
  5. Claude Code 其实可以给子 Agent 单独指定模型了 · X @LawrenceW_Zen

内容有误?告诉我们,核实后会更正,并在这里写明改了什么。

评论

还没有人评论,来写第一条。

发表评论

编辑器加载中…