顾问工具
给主模型配一个更强的顾问模型,Claude 在关键时刻向它征询意见:何时使用、启用方式、可接受的模型搭配、会话中的显示、成本、提示缓存影响、要求与关闭(实验性)。
顾问工具是实验性的,需要 Anthropic API,在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上不可用。行为、定价和可用性可能变化。
顾问工具让 Claude 在任务的关键时刻征询第二个、通常更强的模型:例如在选定做法之前、卡在反复出现的错误上时,或在宣布任务完成之前。顾问接收完整的对话(包括每次工具调用及其结果),返回指导意见,Claude 在继续之前应用它。
顾问以服务端工具的形式运行在 Anthropic 的基础设施上,订阅账号和按 API 计费的账号都能用。你选择哪个模型当顾问,Claude 决定何时调用它。本页涵盖如何启用顾问、哪些模型搭配可以接受、征询期间 Claude 显示什么,以及顾问用量如何计费。
什么时候用顾问
顾问适合长的、多步骤的任务:大多数轮次是例行的,但计划的质量决定结果。例子包括大型重构、错误反复出现的调试会话,以及你想在 Claude 宣布完成之前独立检查的任务。
在几乎没什么可规划的短任务上,或每一轮都需要最强模型的工作上,它的价值较小。对这些情况,改为切换主模型,或看下面「与相关功能的比较」,了解 opusplan 和子智能体这些获取第二意见的其他途径。
启用顾问
可以用三种方式设置顾问模型:
/advisor命令:在会话中途设置或更改顾问,并保存为默认值。advisorModel设置:在设置文件里配置持久的默认值。--advisor标志:在启动时为单个会话设置顾问。
每种方式都会为主模型支持它的会话启用顾问。会话开始后,Claude Code 显示 Advisor Tool (experimental) is on and may use more tokens · /advisor 通知。要停止使用顾问,见「关闭顾问」。在部分套餐上,Fable 当顾问还需要你一次性同意把 Fable 用量计入用量额度;在你给出同意之前会发生什么,见「Fable 顾问与用量额度」。
用 /advisor 命令
不带参数运行 /advisor 打开列出可用顾问模型的选择器,或直接传模型:
/advisor opus命令用 Advisor set to 加顾问模型名确认。你的选择保存到用户设置的 advisorModel,跨会话持久,只有设置参考里 advisorModel 条目列出的、仅适用于当前会话的情形除外。
这个命令在没有终端选择器的地方也能用:带 -p 的非交互模式、Agent SDK、桌面应用,以及 Remote Control(需要 Claude Code v2.1.260 或更高)。在这些界面上:不带参数运行 /advisor 会打印当前的顾问模型和它接受的别名;带模型运行(如 /advisor opus)来设置;运行 /advisor off 关闭。
Claude Code 不会调用被你组织的 availableModels 允许列表排除的已保存顾问;要使用顾问,用 /advisor 挑一个被允许的模型。你当前的主模型不支持的顾问,Claude Code 仍会保存:它在你用 /model 切到兼容的主模型之后生效。如果 API 在当前对话里已经拒绝过已保存的顾问,它保持关闭直到 /clear 或 /compact,即使你之后切换了模型。
在设置里设 advisorModel
要不打开会话就把顾问配置为默认值,在设置文件里设置:
{
"advisorModel": "opus"
}用 --advisor 标志
要在不改变已保存设置的情况下为单个会话设置顾问,用标志启动:
claude --advisor opus该会话里 Claude Code 使用标志而不是 advisorModel 设置。claude --help 里不列出 --advisor。在以下情况下,Claude Code 在启动时带着错误退出:
- 会话的主模型不支持顾问
- 请求的模型(如 Haiku)不能当顾问
- 你组织的
availableModels允许列表排除了请求的模型 - 你请求了 Fable,而你的账号仍需要用量额度同意
如果你用 --advisor 启动后台会话而上述情况之一适用,Claude Code 会在没有顾问的情况下启动会话,而不是退出。
选择顾问模型
Claude Code 和 API 都要求顾问至少与主模型一样强,而且两者对一些模型的排序不同。各主模型可接受的顾问如下(具体的模型版本和搭配以官方为准,会随新模型发布而变):
| 主模型 | 可接受的顾问 | 备注 |
|---|---|---|
| Haiku 4.5 | Fable、Opus、Sonnet | Haiku 可以调用顾问,但不能当顾问 |
| Sonnet 4.6 | Fable、Opus、Sonnet | |
| Sonnet 5 | Fable、Opus 4.7 或更新、Sonnet 5 或更新 | Sonnet 4.6 顾问被拒绝,API 拒绝 Opus 4.6 顾问 |
| Sonnet 5.5 | Fable、Opus 5 或更新、Sonnet 5.5 | Sonnet 4.6 顾问被拒绝,API 拒绝 Sonnet 5、Opus 4.6、Opus 4.7 或 Opus 4.8 顾问 |
| Opus 4.6 | Fable、Opus、Sonnet 5 或更新 | Sonnet 4.6 顾问被拒绝 |
| Opus 4.7 或 Opus 4.8 | Fable,以及 Opus 4.7 或更新 | Opus 4.6 或 Sonnet 顾问被拒绝 |
| Opus 5.5 或 Opus 5 | Fable,以及 Opus 5 或更新 | Opus 4.6 或 Sonnet 顾问被拒绝,API 拒绝 Opus 4.7 或 Opus 4.8 顾问 |
| Fable 5 | Fable 5.1 或 Fable 5 | Opus 或 Sonnet 顾问被拒绝 |
| Fable 5.1 | Fable 5.1 | Opus 或 Sonnet 顾问被拒绝,API 拒绝 Fable 5 顾问 |
Fable 5.1 需要 Claude Code v2.1.257 或更高;两个 Fable 模型都需要 Fable 访问权。
把顾问设为 fable、opus 或 sonnet:这些别名解析为 Claude Code 为每个模型系列内置的默认版本,随新的 Claude Code 发布而前移;你也可以传完整的模型 ID,如 claude-opus-5-5。子智能体继承配置的顾问,并对自己的模型应用同样的搭配检查。
Claude Code 在发送请求之前验证搭配,API 再验证一次:
- 对表中列为「被拒绝」的顾问,Claude Code 不会把它附加到主模型的请求上;
/advisor命令输出和一条通知会显示这一点。自身模型满足搭配的子智能体仍可使用该顾问。 - 对表中列为「API 拒绝」的顾问,Claude Code 会附加它而 API 拒绝它,随后 Claude Code 不带顾问地重发该请求,对话的其余部分也不带顾问运行,所以你看不到错误,也没有顾问调用。用
/advisor挑一个被接受的顾问;更改在/clear或/compact之后和新会话里生效。 - 主模型或顾问是 Claude Code 不认识的模型时,不附加顾问。
Fable 顾问与用量额度
在部分套餐上,Fable 用量计入用量额度,Fable 当顾问也以同样方式计费。如果你的账号要求一次性同意把 Fable 用量计入用量额度,Claude Code 会在你用 /model 选 Fable 模型时请求同意,并且在你接受之前不会应用 Fable 顾问。
接受之前:输入 /advisor fable 或在 /advisor 选择器里选 Fable 时,Claude Code 不会把 Fable 保存为顾问,而是指引你去用 /model fable;claude --advisor fable 在启动时退出并给出指向 /model fable 的消息,在后台会话里则不带顾问启动而不是退出;已经保存了 Fable 作为 advisorModel 时,Claude Code 不带顾问发送请求,并在主模型支持顾问的交互会话里显示指向 /model fable 的通知。要接受同意,运行 /model fable 并选择继续使用 Fable;Claude Code 记录同意并把 Fable 保存为你选定的模型,然后再把 Fable 选为顾问。
常见模型搭配
任何被接受的搭配都能用。这些组合以不同方式平衡成本和能力:
| 搭配 | 何时使用 |
|---|---|
| Sonnet 主模型 + Opus 顾问 | Sonnet 处理例行工作,把规划、含糊的失败和完成检查升级给 Opus |
| Sonnet 主模型 + Fable 顾问 | 在决策点获得 Fable 的指导,而不用全程运行 Fable;需要 Fable 访问权 |
| Haiku 主模型 + Opus 顾问 | 成本最低的主模型配强规划;成本比单用 Haiku 高,但比把主模型换成 Sonnet 或 Opus 低 |
| Opus 主模型 + Opus 顾问 | 第二个 Opus 评审第一个;适合独立检查比成本更重要的高风险任务 |
| Fable 主模型 + Fable 顾问 | Fable 可用时能力最高的搭配;Claude Code 不把 Opus 或 Sonnet 顾问应用到 Fable 主模型 |
| Sonnet 主模型 + Sonnet 顾问 | 较低成本的第二意见,用来抓住例行疏漏 |
Claude 何时咨询顾问
Claude 决定何时调用顾问。它倾向于在选定做法之前、错误反复出现时、以及宣布任务完成之前咨询,但时机由模型驱动而不是基于规则。你可以像请求任何工具一样在提示里要求一次咨询,例如 consult the advisor before you continue。没有限制或强制顾问调用次数的设置;如果希望 Claude 在任务中更多或更少地咨询,在指令里说明即可。
会话里你看到什么
Claude 调用顾问时,转录里在调用进行期间显示带顾问模型名的 Advising 行;结果返回时,该行报告顾问是否给出了指导:
- Reviewed:该行确认顾问已审阅对话;顾问返回了可读指导时,按
Ctrl+O阅读。 - Declined:该行是
Advisor declined to advise on this request;顾问给出了理由的话,按Ctrl+O阅读。 - Unavailable:顾问调用失败,该行是
Advisor unavailable (<error_code>),其中<error_code>是调用返回的代码。
Claude 通常遵循顾问的指导,但当自己的证据与某个具体论断相矛盾时会做调整:如果推荐的步骤试了失败,或文件内容与建议矛盾,Claude 会把冲突摆出来,而不是无条件遵循指导。顾问总是接收完整对话,由 Claude 控制时机。
成本
Claude 调用顾问时,顾问模型会读取对话,所以每次调用除主模型用量外,还会按顾问模型的费率消耗 token。这些顾问 token 如何计费取决于你的付费方式:
- API 计费:顾问 token 按顾问模型的输入和输出费率付费。
- 订阅套餐:顾问用量计入你套餐的用量限额,只是在 Fable 用量计入用量额度的套餐上,Fable 顾问计入用量额度。
如果你的账号需要用量额度同意,在你给出同意之前 Fable 顾问不产生任何计费,因为 Claude Code 在那之前不应用该选择。Claude 在决策点而不是每一轮调用顾问,所以把更快的主模型与更强的顾问搭配,通常比全程运行更强的模型便宜。顾问用量计入 /usage 显示的会话总量。顾问 token 在 API 响应里如何报告,见 Claude API 文档里的 Usage and billing。
对提示缓存的影响
在会话中途启用或禁用顾问不会使主模型的提示缓存失效。与切换模型不同,切换 /advisor 保持缓存前缀完整,顾问返回的指导在之后的轮次里作为转录的一部分被缓存。顾问模型自己对对话的读取不被缓存:每次顾问调用都重新处理完整转录,调用之间没有复用。
要求
顾问工具要求以下全部满足:
- 仅限 Anthropic API:顾问是服务端执行的工具,在 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry 上不可用。经配置了
ANTHROPIC_BASE_URL的 LLM 网关使用时,可用性取决于网关是否把请求完整转发给 Anthropic API;如果网关或其上游不认识顾问工具,Claude Code 如何响应见网关协议页的自动重试和错误转发。 - 受支持的主模型:Fable、Opus 4.6 或更新、Sonnet 4.6 或更新,或 Haiku 4.5;各自接受哪些顾问见上面「选择顾问模型」。
- 功能标志获取:Claude Code 通过从 Anthropic 获取的功能标志打开顾问。在设置了会关闭标志获取的变量(如
DISABLE_TELEMETRY)的会话里,顾问保持关闭。
关闭顾问
要停止使用顾问,运行 /advisor off,或在 /advisor 选择器里选 No advisor:
/advisor off要彻底禁用顾问工具,设置 CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1:/advisor 命令变得不可用,任何配置的 advisorModel 都被忽略,--advisor 标志被接受但没有效果。
与相关功能的比较
顾问是结合模型强项的几种方式之一,按你想让第二个模型何时介入来选择。
| 方式 | 更强的模型何时运行 | 如何开始 |
|---|---|---|
| 顾问工具 | 任务中途的决策点 | Claude 需要指导时调用它 |
opusplan | 在 availableModels 允许时的 plan 模式期间,随后切换到 Sonnet 执行 | 你进入 plan 模式 |
设置了 model 的子智能体 | 整个被委派的子任务期间 | Claude 委派,或你调用子智能体 |
/model | 从下一个请求开始 | 你切换模型 |
另见
- 模型配置:切换模型、设置 effort 级别和使用
opusplan。 - 有效管理成本:跨模型跟踪 token 用量。
- Claude API 里的顾问工具:理解底层的服务端工具,或直接从 Messages API 使用它。
- 顾问策略(Anthropic 博客):为什么快的主模型配更强的顾问行得通。