Opus 别全程开着:Claude Code 里更省钱的分工方式
把 Sonnet 当主力、Opus 当顾问、Haiku 做只读子代理,Claude Code 的 advisor 工具把贵模型的判断留给关键节点。附命令、成本和几个容易踩的坑。
Claude Code 里可以把主模型和顾问模型拆开用。推文作者 xsmryze 给了一个具体分工:Sonnet 5.5 跑主会话写代码,Haiku 5.5 并行做搜索、grep、读文档,Opus 5.5 只在关键节点当顾问。启动命令是:
claude --model sonnet --advisor opus
这个用法来自 Claude Code 的 advisor 工具。官方文档写清楚:advisor 是实验性功能,只支持 Anthropic API,Bedrock、Claude Platform on AWS、Google Cloud Agent Platform、Microsoft Foundry 都用不了。行为、价格和可用性可能变。先把限制说在前面,免得把它当成万能开关。
它解决的不是模型不够强
长任务里,大多数轮次是常规改动,计划质量决定结果。全程开 Opus,贵,而且很多轮次用不上这个判断力。全程用 Sonnet,到了锁定方案、反复报错、收尾检查时,又容易缺一层独立判断。advisor 让主模型在关键节点咨询更强模型。顾问会收到完整对话,包括每次工具调用和结果,返回指导。
Claude 决定何时调用,文档说通常落在三类时刻:锁定方案前,同一错误反复出现,宣布任务完成前。推文作者也把这三类写进 CLAUDE.md,当作固定规则。
会话里能看到 Advising 一行,结果分 Reviewed、Declined、Unavailable。有可读建议时按 Ctrl+O 查看。Claude 通常会跟建议走,但发现证据冲突时会暴露冲突,不会无条件照做。这个细节重要,顾问是第二意见,不是替主模型背锅。
怎么开,成本在哪
三种方式:会话里跑 /advisor opus;在 settings 里把 advisorModel 设为 opus;启动时加 claude --advisor opus。关闭用 /advisor off,彻底禁用设 CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1。
主模型要支持 advisor,顾问等级不能低于主模型。文档里 Sonnet 5.5 可接受的顾问包括 Fable、Opus 5 或更高、Sonnet 5.5。Haiku 4.5 能调用顾问,但不能当顾问。模型别名和版本以本地 /advisor 输出为准。
成本别忽略。每次顾问调用都会读完整会话,按顾问模型费率计费;订阅计划计入用量限制。它不在每轮调用,通常比全程开强模型便宜,但调用次数多也会上去。切换 /advisor 不会让主模型的 prompt cache 失效,顾问自己的读取不缓存,每次全量读。
推文里的三层结构
推文作者把结构画成一棵树:Sonnet 5.5 主会话改代码;Haiku 5.5 跑三个只读子代理,search 摸仓库,grep 找调用点,docs 拉 API 参考;Opus 5.5 当顾问,被咨询时读完整 transcript;JEV 处理微决策,比如选文件、选工具、重试还是停,毫秒级返回。
JEV 不在 advisor 官方文档里,是推文作者另一层工程设想。别把两者混成一个功能。
推文里给了一段可粘贴的 prompt,让 Claude Code 先出 diff 再改。核心四步:主会话 Sonnet 5.5 配 Opus 5.5 顾问;建三个只读 Haiku 5.5 子代理;在 CLAUDE.md 加规则,锁定计划前、同一错误两次后、任务完成前咨询顾问;快速确定性分叉走 JEV。它强调先 show diff,等你说 go 再编辑。这个习惯比架构本身更值得抄。
适合谁
长重构、调试反复报错、需要独立检查再收尾的任务,适合。短任务、每轮都需要最强模型的任务,直接切主模型更简单。先在一个小仓库试,记录 advisor 调用次数、/usage 里的成本,再决定要不要固化到 CLAUDE.md。别为了三层而三层。
参考:
发布时间: 2026-10-31 15:45