一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Claude Fable 5 使用 tool advisor 时为什么出现 Incompatible model?

时间:2026-09-12 20:50:01 编辑:袖梨 来源:一聚教程网

Claude Fable 5 使用 tool advisor 时出现 Incompatible model,通常不是 MCP 工具本身执行失败,而是 Claude Code 的 Tool Search 请求组合了不兼容的主模型与 advisor 模型。公开案例中,请求主模型是 claude-fable-5,工具顾问却是 claude-opus-4-8,API 在执行任何工具前就返回 HTTP 400。

错误信息说明了什么

tools.10.model: 'claude-opus-4-8' cannot be used as an advisor
when the request model is 'claude-fable-5'

字段 tools.10.model 指向请求中的一个工具定义。该工具不是用户要调用的普通业务工具,而是用于按需寻找其他工具的 advisor。服务器校验请求模型组合时发现不兼容,因此拒绝整个请求。

Tool Search 为什么会引入 advisor

连接大量 MCP 工具时,把每个完整 schema 都塞进上下文会占用大量 token。Tool Search 会先延迟加载工具定义,仅保留工具名称;模型需要某项能力时,再通过搜索加载少量相关工具。

这个额外搜索步骤需要模型与 tool_reference 协议兼容。当前官方文档明确列出 Sonnet 4 及以上、Opus 4 及以上支持 Tool Search,但没有把 Fable 列入该兼容列表。

为什么升级后才突然出现

公开问题发生在 Claude Code 2.1.170。升级可能启用了新的工具搜索路径,或改变了何时为大量 MCP 工具添加 advisor。原本直接加载全部工具的会话因而开始发送带模型字段的搜索工具。

这不表示某个 MCP server 在同一时间损坏。若关闭 Tool Search 后相同工具可以调用,故障边界就在工具发现层,而不是服务器连接或业务参数。

第一步:记录版本和最小复现

先运行 claude --version,记录模型、平台和完整错误。新建空会话,只连接必要的 MCP server,然后提出一个必然需要搜索工具的问题。

如果错误稳定指向 advisor model,而不是具体 MCP 工具名或 handler 错误,就不要先修改 MCP 实现。

第二步:更新 Claude Code

该原始 issue 已以重复、stale 和 not planned 状态关闭,没有对应的公开修复版本。仍应先升级到当前稳定版,再重新启动全新会话验证,因为旧客户端的请求构造逻辑不会被服务端文档自动修复。

升级后保留前后版本与同一最小提示的结果。只有在当前版本仍可复现时,后续配置绕过才有意义。

第三步:临时关闭 Tool Search

ENABLE_TOOL_SEARCH=false claude --model claude-fable-5

关闭后,MCP 工具定义会在会话开始时直接加载,不再经过 advisor 搜索。这适合工具数量较少、schema 能放入上下文的环境,也是判断问题是否来自 Tool Search 的直接对照。

代价是每轮请求会携带更多工具定义,增加上下文占用。连接几十个或数百个工具时,不应把它当作无成本的永久设置。

第四步:只让核心 MCP server 预加载

如果只需要少数关键服务器,可以在 MCP 配置中为它们设置 alwaysLoad

{
  "mcpServers": {
    "core-tools": {
      "type": "http",
      "url": "SERVER_ENDPOINT",
      "alwaysLoad": true
    }
  }
}

这样核心工具会在启动时进入上下文,其他服务器仍可保持延迟加载。此项需要 Claude Code 2.1.121 或更高版本,而且 alwaysLoad 服务器会阻塞启动直到连接完成或超时。

第五步:切换受支持模型

工具目录很大、必须依赖 Tool Search 时,使用官方明确支持的 Sonnet 或 Opus 是更稳妥的临时方案。可以仅在需要发现和调用大量工具的会话中切换模型,其他 Fable 任务保持不变。

不要通过手工伪造 advisor model 字段绕过服务端校验。Claude Code 的内部请求格式可能变化,非官方修改还会让升级和故障复现失去可比性。

如何验证绕过有效

  1. 相同提示不再返回 HTTP 400。
  2. MCP server 状态正常,目标工具能够被列出或调用。
  3. 关闭搜索时,检查上下文占用是否明显增加。
  4. 恢复 Tool Search 后,错误是否只在 Fable 上出现。
  5. 用 Sonnet 或 Opus 对照,确认工具 schema 本身有效。

哪些情况不是这个问题

如果错误是 MCP server 连接失败、权限拒绝、工具参数校验失败或 handler 返回 isError,应按相应服务器排查。只有消息明确提到 advisor 与 request model 不兼容,才属于本文范围。

FAQ

关闭 Tool Search 会禁用 MCP 工具吗?

不会。工具改为启动时直接加载,只是不再按需搜索。工具过多时会增加上下文成本。

设置 auto 能保证 Fable 不报错吗?

不能。auto 仅根据工具定义占上下文比例决定是否启用搜索;一旦达到阈值,仍可能进入不兼容路径。

原 issue 关闭是否表示已经修复?

不能。它被标记为重复、stale,并以 not planned 关闭,没有公开修复版本。应以当前客户端实测和官方兼容列表为准。

总结

Fable 5 的 tool advisor 兼容错误发生在工具发现请求层。先升级并建立最小复现;若当前版本仍失败,可用 ENABLE_TOOL_SEARCH=false 验证并临时绕过,或让少量核心服务器 alwaysLoad。大量工具场景优先切换到官方明确支持 Tool Search 的 Sonnet 或 Opus,并避免修改内部请求字段。

热门栏目