Claude Code 的 advisor 工具:给主模型配一个更强的顾问,以及用令牌接中转站时为什么用不了
advisor 让便宜的主模型在关键时刻请教一个更强的模型:定方案之前、同一个错反复出现时、宣布做完之前。本文整理它怎么开、哪些模型能配对、怎么计费。本站通过中转站实测的结果是用不了:命令不存在,启动参数被悄悄忽略,没有任何报错。原因在文档里能找到,附三种替代办法。
本文根据公开分享整理,本站尚未实测。操作前请对照文末的原始来源。
这篇教程解决一个问题:全程用最强的模型太贵,全程用便宜的模型又怕它在关键的地方想错。有没有办法让便宜的模型干活,只在要紧的时候请教一下强的?
Claude Code 有一个实验性的功能就是做这个的,叫 advisor(顾问)。
先说本站的实测结论,免得你白读:本站的测试环境是用令牌接的中转站,在这种接法下 advisor 用不了,而且不报错。 下面“怎么用”的部分整理自官方文档,本站没有跑通过;“为什么用不了”和“替代办法”那两节是实测加文档。
| 实测环境 | |
|---|---|
| 日期 | 2026-10-12 |
| 版本 | Claude Code 2.1.296 |
| 系统 | Ubuntu 24.04 |
| 连接方式 | 通过酷站AI 中转站:设置里是 ANTHROPIC_BASE_URL 加 ANTHROPIC_AUTH_TOKEN |
它是什么
advisor 让 Claude 在任务中途请教第二个模型,通常是一个更强的。请教的时机由 Claude 自己定,文档说常见的是三种:
- 定下一个方案之前;
- 同一个错误反复出现、卡住的时候;
- 宣布任务完成之前。
顾问模型会收到完整的对话,包括每一次工具调用和结果,然后给出意见,Claude 拿到意见后接着干。
它是在 Anthropic 的服务器上运行的。文档管这类东西叫“服务器工具”:不是 Claude Code 在你机器上执行的,所以它没有可以写进权限规则或 hook 的名字。
适合的任务:步骤多、大部分步骤很常规、但方案的好坏决定结果的。比如大的重构,一个错反复冒出来的排查,想在它说“做完了”之前有人独立看一眼的任务。
不适合的:很短、没什么可规划的任务;或者每一步都需要最强模型的工作。后一种直接换主模型更合适。
怎么开(整理自文档)
三种办法,都是指定“谁来当顾问”:
| 办法 | 写法 | 作用范围 |
|---|---|---|
| 会话里的命令 | /advisor opus |
立刻生效,并存成以后的默认值 |
| 设置文件 | "advisorModel": "opus" |
以后的会话 |
| 启动参数 | claude --advisor opus |
只这一次 |
/advisor 不带参数会打开一个选择器。开了之后,会话开头会有一行提示:Advisor Tool (experimental) is on and may use more tokens · /advisor。
关掉用 /advisor off。想彻底禁用,设环境变量 CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1。
想让它多请教或少请教,文档说没有专门的设置,直接在提示里说,比如“动手之前先咨询 advisor”。
哪些模型能配对
规则只有一条:顾问不能比主模型弱。文档给的对照(从弱的主模型到强的):
| 主模型 | 可以当顾问的 |
|---|---|
| Haiku 4.5 | Fable、Opus、Sonnet、Haiku 5.5 |
| Sonnet 4.6 | Fable、Opus、Sonnet、Haiku 5.5 |
| Sonnet 5 或 Haiku 5.5 | Fable、Opus 4.7 及以后、Sonnet 5 及以后、Haiku 5.5 |
| Sonnet 5.5 | Fable、Opus 5 及以后、Sonnet 5.5 |
| Opus 5 或 Opus 5.5 | Fable、Opus 5 及以后 |
| Fable 5.1 | Fable 5.1 |
顾问可以写别名(fable、opus、sonnet),也可以写完整的模型 ID。
文档举的几种常见搭配:
| 搭配 | 什么时候用 |
|---|---|
| Sonnet 干活,Opus 当顾问 | 常规工作交给 Sonnet,定方案、查疑难、收尾检查请教 Opus |
| Haiku 干活,Opus 当顾问 | 主模型最便宜,规划靠 Opus。比只用 Haiku 贵,比换成 Sonnet 或 Opus 便宜 |
| Opus 干活,Opus 当顾问 | 让第二个 Opus 复核第一个。事情要紧、独立检查比省钱重要的时候 |
| Sonnet 干活,Sonnet 当顾问 | 便宜的第二意见,抓常规的疏漏 |
会话里看到什么
Claude 请教顾问时,记录里出现一行 Advising,带着顾问模型的名字。结果回来后有三种可能:
- 已审阅:顾问看过了。有意见的话按
Ctrl+O看。 - 拒绝:
Advisor declined to advise on this request。 - 不可用:
Advisor unavailable (错误码),这次调用失败了。
文档说 Claude 一般会照顾问的意见做,但如果自己手上的证据和某条意见矛盾(比如建议的步骤一试就失败),它会把矛盾摆出来,不会无条件照办。
怎么计费
每次请教,顾问模型都要把整段对话读一遍,这部分按顾问模型的价格算,加在主模型的用量之外。
- 按量计费:付顾问模型的输入和输出价格。
- 订阅:计入套餐的用量额度。
文档提到两点和缓存有关的:
- 开关 advisor 不会让主模型的提示缓存失效,这一点比中途换模型划算。
- 顾问自己读对话那一遍不走缓存,每次请教都是全量重读。
所以对话越长,请教一次越贵。它省钱的前提是“只在少数几个节点请教”。
实测:用令牌接中转站,用不了
本站试了四件事。
一、交互会话里输入 /advisor:
● Unknown command: /advisor
二、非交互运行 claude -p "/advisor":
/advisor isn't available in this environment.
三、启动时带上 --advisor opus,主模型用 Sonnet。 会话正常启动,开头没有“advisor 已开启”的那行提示,也没有任何报错。
四、带着这个参数跑一个真实的任务。 任务是修一个算折扣的 bug,提示里特意让它“动手之前先想清楚折扣该在哪一层算”。跑完看这次运行的记录:
主模型:claude-sonnet-5-5
调用过的工具:Bash 2 次,Edit 2 次
用到的模型:只有 claude-sonnet-5-5
花费估算:0.0862 美元
没有一次顾问调用,用量里只有 Sonnet 一个模型。bug 是修好了,三个测试全过,但那是 Sonnet 自己修的。不带参数再跑一遍,结果是一样的。
最要留意的是第三、四条:参数被悄悄忽略了。 如果你在启动脚本里加了 --advisor,然后以为有一个更强的模型在把关,实际上并没有。
原因
文档的“要求”一节列了三条,其中两条和这种接法有关。
一、它要靠一个功能开关才打开。 Claude Code 的一部分功能是通过从 Anthropic 取回的功能开关启用的,advisor 是其中之一。文档在环境变量那页专门说明了一种取不到开关的情况,和本站的配置完全对得上:
用
ANTHROPIC_AUTH_TOKEN认证、没有 API key,同时ANTHROPIC_BASE_URL指向 Anthropic 以外的地址(比如一个网关)时,Claude Code 没有凭据去取这些开关。
多数中转站的接入文档让你填的正是这两个变量。
二、就算开关打开了,还要看中转站转不转发。 advisor 是服务器端的工具,请求里会带一个中转站可能不认识的工具类型。文档的说法:通过网关用时,能不能用取决于网关是否把请求原样转给 Anthropic。网关或它的上游不认这个工具时,Claude Code 会去掉它重发一次,之后这个会话里不再带 advisor,/advisor 命令也会消失。
本站遇到的是第一种,还没走到第二步。
另外,设了下面两个环境变量里的任何一个,Claude Code 也不会去取功能开关,advisor 同样打不开:
DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
直连官方的人如果为了隐私关了遥测,会碰到一样的现象。
同一个原因影响的其他功能
文档列了取不到功能开关时用不了的东西,除了 advisor 还有:
/import(从 Codex、Gemini CLI、Cursor 导入配置);/skill-doctor(看每个 skill 占多少上下文、用得多不多);- 把 claude.ai 账号上启用的 skills 和插件同步到终端;
- 让 Claude 把大段粘贴的内容标记成“粘贴的”而不是“你打的”;
- 自动排除输入格式不合规的 MCP 工具。
本站在交互会话里试了前两个,输入后都是 Unknown command。
替代办法
目的都是“便宜的模型干活,强的模型在关键处把关”。这三种办法不依赖功能开关。
| 办法 | 强模型什么时候上场 | 怎么触发 | 本站的教程 |
|---|---|---|---|
| 指定了模型的子代理 | 整个被委派的子任务 | Claude 委派,或者你点名 | 子代理实战 |
opusplan:plan 模式用 Opus,执行用 Sonnet |
出计划的阶段 | 你进入 plan 模式 | plan 模式见重构和迁移 |
| 中途换模型 | 从下一条消息开始 | /model |
怎么省用量 |
最接近 advisor 的是第一种:写一个只读的“评审”子代理,model 设成强模型,让主会话在定方案之前和收尾之前各请它看一次。和 advisor 的差别是,子代理拿不到主会话的完整对话,只能看到你交给它的那部分,所以委派时要把背景说清楚。
通过中转站用子代理有过一个坑:子代理和主会话用不同的模型时,主会话后续的请求曾经报 400。本站在中转站兼容性那篇里记过,酷站AI 已经修复;别家碰到的话,先把子代理改成和主会话同一个模型试试。
第三种要注意缓存:每个模型有自己的提示缓存,换模型后的第一句会把整段对话按没有缓存的价格重读一遍。在会话开头或者刚 /compact 之后换,损失最小。
怎么判断你的环境能不能用
- 交互会话里输入
/advisor。出来选择器就是能用;提示Unknown command就是没打开。 - 能打开的话,选一个顾问,然后发一句“先咨询 advisor 再回答”。记录里出现
Advising一行才算真的通了。 - 出现
Advisor unavailable加错误码,说明开关是开的,但请求在中转站或上游被拒了。
不要只凭启动时没报错就认为它在工作。
这一趟花了多少
约 0.3 美元:两次修 bug 的任务各 0.09 美元,其余是几次很短的启动和提问。这是 Claude Code 按官方价格估算的数字,不是中转站实际扣的金额。
这次实测没有覆盖到的
- advisor 本身没有跑通过。 怎么开、怎么配对、看到什么、怎么计费,都是文档的内容。
- 没有在直连官方、或者用 API key 接网关的环境里测。 那两种情况下功能开关能不能取到、中转站转不转发,本站都不知道。
- 只测了酷站AI 一家,一种接法。
- “取不到功能开关”是对照文档得出的解释,本站没有办法直接看到开关的状态。
- 替代办法里的三种是否和 advisor 效果相当,没有做对比。