果然还是延期了!不过没关系,Fable 5 照用不误。
为了赶在 7 月 7 日之前完成测试,我一口气跑了大量游戏开发类的用例。整体感觉是,让 Fable 5 来设计核心引擎、搭建整体架构、攻克最棘手的技术难点,然后交给 Opus 4.8 去打磨细节——这套搭配目前看相当顺手。之前那个坦克大战 2026 项目,就是这么干的。
今天刷推特,官方正好也聊到了类似的操作思路。我这边是手动实现,官方已经可以通过 API 机制自动化完成。值得收藏学习——以后调用 API 或者做智能体的时候,这招能帮上大忙。根据官方测评,这种方案大概能省一半的成本,同时保留 Fable 5 九成以上的效果。
7eaf722e-646c-40f3-806c-6218c82081d0
把官方的信息转过来了,顺便也加深一下自己理解。这是官方开发者账号上发布的一个帖子,分享了他们在 Fable 5 中的两种模式:一种是顾问模式,一种是协调器模式。
1、顾问模式
顾问模式的核心思路是:把 Fable 5 当作顾问,让 Sonnet 作为执行器去调用它,获取指导。
说白了,绝大多数活还是 Sonnet 5 来干,遇到搞不定的难题,再去请教一下 Fable 5。效果怎么样?官方在专业的编程基准 SWE-bench Pro 上做过测试:Sonnet 5 + Fable 5 顾问工具,以约 63% 的成本,实现了 Fable 5 约 92% 的分数。
整个流程大致是:Fable 5 每个任务只被调用一次(大约一次),用来指明方向,而 Sonnet 5 执行者完成大部分工作。实现方式的核心代码如下:
client=anthropic.Anthropic()
response=client.beta.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
betas=["advisor-tool-2026-03-01"],
tools=[{
"type":"advisor_20260301",
"name":"advisor",
"model":"claude-opus-4-8",
}],
messages=[{
role:"user",
content:"Build a concurrent worker pool in Go with graceful shutdown."
}],
)
print(response)
这个功能基于 Claude API,本质上是调用 Messages API 时,在 tools 里配置一个 advisor,让执行模型中途去请教一个更强模型。执行逻辑大致是:先把 advisor 加到 tools 里 → 执行模型自己判断要不要调用 → 执行模型发出 server_tool_use → Anthropic 服务端单独跑一次顾问模型 → 顾问模型看到完整上下文 → advisor 返回建议 → 执行模型继续生成答案。整个过程通常只需要一次 API 请求,特殊情况会中途暂停,且 advisor 本身不能用工具。
官方文档里还是 4.6 咨询 Opus 4.8,现在可以把 4.6 换成 Sonnet 5,把 4.8 换成 Fable 5,整个能力又上了一个台阶。
2、协调器模式
顾问模式已经比 solo 好多了,保持大部分能力的同时,成本降低了不少。但作为有追求的开发者,永远不会满足(直到把自己替代)。
于是有了第二种策略:将 Fable 5 作为协调器。Fable 5 负责规划并委托给工作者(Sonnet 5),大多数令牌按较低的工作者费率计费。这种方案相当于让顾问升级成了项目经理——Fable 5 全局把握,Sonnet 负责执行。从结构上看,效果应该更好,也更省钱。
官方测试数据:分布情况如下——96% 的性能,46% 的价格。果然性价比更高。
实现方式的核心代码如下:
# 子Agent
research_agent=client.beta.agents.create(
name="researcher",
model="claude-haiku-4-5",
mcp_servers=[{
"type":"url",
"name":"github",
"url":"https://api.githubcopilot.com/mcp/"
}],
tools=[{"type":"mcp_toolset", "mcp_server_name":"github"}],
)
# 主控Agent
coordinator=client.beta.agents.create(
name="coordinator",
model="claude-opus-4-8",
tools=[{"type":"agent_toolset_20260401"}],
multiagent={"type":"coordinator","agents": [{"type":"agent","id":research_agent.id}]},
)
# 会话
session=client.beta.sessions.create(
agent=coordinator.id,
environment_id=environment.id,
vault_ids=[vault.id],
)
print(session.id)
核心代码围绕三件事:创建几个子 Agent,创建一个 Coordinator 主 Agent,创建 Session 让主 Agent 去调度子 Agent。整体思路很清晰,具体实现还得看文档慢慢调、慢慢测。目前主要用 Claude Code,还没到大量调用 Anthropic API 和 Agent 的阶段,先收藏学习,后面有空再研究。
为了方便以后翻看,还把相关的几个文档都找出来了。之前让 Opus 4.8 做了一个中文版的 Claude 文档镜像站,几乎一模一样扒下来了,目录结构和内容一致,样式没有扒,但看起来也还不错。右上角还提供了一些辅助功能,可以直接复制或下载 MD 文档,也可以调用 Claude、ChatGPT 或国内的 DeepSeek 来辅助解读。
