Claude Fable 5.1 单次消息 Effort 与会话中途工具变更:三个 Beta 控制项,不会打断缓存前缀

Anthropic 9 月 1 日的 API 更新带来三个 beta 功能:逐消息 effort 控制、轮次限定 system 消息、会话中途工具增删,让运营商无需失效缓存前缀就能在长对话里动态调整算力强度、指令和工具可见性。

发布于 来源 Anthropic

归档条目:由 AI 根据所引信源辅助生成,发布时未经逐篇审阅。责任编辑:Joe Werner。

抽象路由示意图,展示三个动态控制通道接入已缓存的对话前缀,编辑风格

在 Claude 上跑长 agentic 会话时,运营商一直做不干净的一件事是在对话过程中改变模型行为,同时不付缓存代价。修改顶层 system 字段加一条新约束,之前的缓存前缀就失效了,之后那一轮的输入按标准价格重新计算。对 tools 数组做同样的动作,结果一样。想在同一个会话里让模型对快速查询少花 token、对复杂分析多花 token,要么接受全程一个 effort 等级,要么每次重配置都付缓存失效的代价。

9 月 1 日的 Claude API 更新在 Claude Fable 5.1、Mythos 5.1 和 Opus 5 上通过三个 beta 功能处理了上面三个场景。设计原则相同,让运营商改掉需要改的东西,同时不碰缓存已经持有的前缀。

三个 beta,同一个设计方向

逐消息 effort 控制(beta header mid-conversation-output-config-2026-07-01)允许在会话任意位置插入一条 role: "system" 消息来设定 output_config.effort,从那一轮起生效。之前的前缀(system prompt、tool 定义、早期对话轮次)保持缓存不变。一个典型请求结构如下所示。

messages = [
    {"role": "user", "content": "快速总结一下这个代码库。"},
    {"role": "system", "content": [{"type": "output_config", "output_config": {"effort": "low"}}]},
    {"role": "assistant", "content": "..."},
    {"role": "user", "content": "现在对 auth 模块做一次完整的安全审计。"},
    {"role": "system", "content": [{"type": "output_config", "output_config": {"effort": "high"}}]},
]

没有这个功能时,运营商要么把整个会话锁定在一个 effort 等级,要么为每个 effort 层级开新会话,代价是放弃共享长前缀带来的缓存命中。

轮次限定 system 消息(beta header mid-conversation-system-clear-at-2026-08-21)解决了另一个常见的与缓存相关的问题。逐轮注入的提醒信息会在历史里越堆越多。典型的 agentic 模式会在每轮注入一条短提醒,比如"你正在审查文件 X,关注 auth 部分"。普通的 mid-conversation system 消息会把这些提醒全留在历史里,每次后续请求都要计算它们的 token。设置 clear_at: "next_user_message" 之后,这条消息只在当前轮次呈现给模型,之后以零 token 成本留在历史里。不失效缓存,也不累积。

会话中途工具变更(beta header mid-conversation-tool-changes-2026-07-01)是工具层的对应功能。tools 数组在 hash 过的请求前缀里位于最靠前的位置,修改它会让整个会话的缓存失效。这个 beta 允许把所有工具在初始 tools 里一次声明,用 defer_loading: true 标记暂时不开放的工具,然后在会话中途用 role: "system" 消息里的 tool_addition 和 tool_removal block 来增删工具可见性。tools 数组本身不变,前缀保持有效。

tools = [
    {"name": "read_file", ...},
    {"name": "write_file", ..., "defer_loading": True},  # 暂时不对模型开放
]

# 后续某轮,需要写文件时
messages.append({
    "role": "system",
    "content": [
        {"type": "tool_addition", "tool": {"type": "tool_reference", "name": "write_file"}}
    ]
})

对运营商的路由影响

这三个功能对跑长共享前缀会话的运营商影响最明显,比如把大型代码库装进上下文、多 agent 协作的多轮工作流、带有长 system prompt 的企业会话。Fable 5.1 的缓存读取定价是 $0.25/MTok,是 $10/MTok 基础输入价的 0.025 倍,跨多轮保住缓存前缀的收益非常直接。

之前的问题是运营商为了在会话里改变行为,往往不得不做导致缓存失效的修改,下一轮就要按标准价为原本已缓存的前缀重新付费。以 Fable 5.1 上一个 500k token 的 system prompt 为例,一次缓存未命中的输入成本是 $5.00,命中时只需 $0.125。一个会话里十次意外失效就是 $48.75 的冗余支出。

多云覆盖方面,Amazon Bedrock 和 Google Cloud 对同款模型已支持这三个 beta 功能。Azure Foundry 当前文档里没有列出,在 Foundry 上使用这些 beta header 前需要先确认支持情况。

Gateway 运营商有一个具体的问题需要关注,这些 beta header 必须原样透传。代理层如果过滤掉未知的 anthropic-beta header,beta 功能会静默失效,请求本身仍然成功,但逐消息 effort 变更被忽略,轮次限定的 system 消息变成普通累积消息,延迟加载的工具永远不会被开放。失败以行为异常而非 4xx 错误的形式出现,监控层可能感知不到。需要确认 gateway 会把客户端发出的所有 anthropic-beta header 原样转发给 Anthropic API。

请求构造方式的变化

在这几个 beta 之前,需要在轮次之间改变 effort 或工具的 gateway 和编排层有三个选项,开新会话、接受缓存失效代价、或者用临时 workaround。现在多了一个第四选项,在缓存层面没有代价。

Effort 的迁移路径比较直接。把请求根部的顶层 output_config.effort 移出去,改成在第一条用户消息前注入一条 role: "system" mid-conversation 消息,后续随会话进展继续注入新的 effort 值。顶层参数仍然有效且是默认行为,逐消息 effort 是叠加而非替换。

工具变更的调整幅度稍大。所有工具要在初始 tools 里一次性声明,用 defer_loading: true 标记不立即开放的工具;编排层维护当前活跃工具的状态,在适当的轮次注入 tool_addition 或 tool_removal block。如果当前架构在请求之间直接修改 tools 数组,迁移路径是改为一次声明加 block 增删,行为结果相同,但前缀得以保留。

三个功能都需要对应的 beta header。如果通过 SDK 封装层调用,需要确认 SDK 版本能正确转发 beta header,旧版本可能不支持。anthropic-beta header 接受逗号分隔的列表,可以在一个 header 里同时启用多个 beta。

值得关注的地方

这些功能还是 beta 状态,Anthropic 尚未承诺在 GA 前保持当前请求格式稳定。header 名称里的 mid-conversation-output-config-2026-07-01 日期后缀沿用了此前 beta 的命名惯例,之前的 beta 在 GA 时有的换了 header,有的直接不再需要 header。关注 platform release notes 的 GA 提升信号。

多 provider 路由层有一个具体风险需要提前处置。如果会话中途因为 fallback 切到备用 provider(比如从直连 Anthropic 切到 Bedrock),而 Bedrock 侧的 SDK 版本或 beta rollout 进度不同,切换后逐消息 effort 和延迟加载工具的行为可能发生变化,且难以通过监控感知。在 GA 之前,建议把使用这几个 beta 的会话固定在单一 provider,或者至少提前测试 fallback provider 的行为。

对通过 gateway 把 API 指向 Anthropic 的 Claude Code 用户,这里需要说清楚一件事。Claude Code 自身的会话管理内部使用 prompt caching 和 mid-conversation system 消息,这几个新 beta 是面向直接调用 API 的开发者自建编排层的控制项,不涉及 Claude Code 托管会话。两层不冲突,但分属不同的控制平面。

帮助与联系