快速结论:该问题出现在通过 LiteLLM 代理、以 /v1/responses 或 /v1/messages 调用 Bedrock Invoke 上的 Claude 时,属于翻译桥接层丢失 Claude 原生特性的缺陷:延迟工具(deferred tool)的调用结果未按 OpenAI Agents SDK 预期结构返回、工具搜索记录在后续轮次被丢弃、以及 compaction 参数及对应 beta 头在到达 Bedrock 前被剥离。优先排查 LiteLLM 版本是否已包含对应修复(main 上的 #50602、#50821、#51223 + #51272),升级到包含修复的发布版本是首选路径。
适用环境:自托管 LiteLLM 代理;模型路由 bedrock/invoke/anthropic.claude-opus-5,区域 ap-northeast-2;客户端为 OpenAI Agents SDK 0.24.0,使用 OpenAIResponsesModel 指向代理的 /v1/responses;环境变量 LITELLM_LOCAL_ANTHROPIC_BETA_HEADERS=true;复现版本包括 main(fd4cef22)、v1.108.0、v1.109.0rc1。Issue 未提供操作系统、Python、CUDA 或显卡信息。
最快修复方案:暂无确认的一步修复方案(Issue 中作者用自建 Agents SDK 模型类直连 Bedrock Invoke 绕过,但这并非对 LiteLLM 的修复)。上游修复已合入 main,随下一个发布版本提供,升级后复测是 Issue 中确认的收敛路径。
注意事项:Issue 中明确说明修复已合入 main,但在写作时尚未指明具体发布版本号,因此不要假定某个已发布版本一定包含修复;客户端侧 namespace = name 变通在 Issue 中被验证为无效,回传路径会把两者拼接成 get_reporting_categories__get_reporting_categories。Converse 接口不适用,因为不支持工具搜索。
问题场景
用户通过自托管 LiteLLM 代理,在 OpenAI Agents SDK 中用 OpenAIResponsesModel 调用 Bedrock Invoke 上的 Claude Opus 5。主 Agent 挂载约 50 个函数工具,为压缩请求体积将工具标记为 defer_loading=True,并配合 ToolSearchTool() 让 Claude 在服务端搜索并按需加载工具(不发送 execution,因此走 Claude 服务端搜索)。此外长对话需要服务端压缩,使用 anthropic-beta: compact-2026-09-04 调用 /v1/messages。相同调用直连 Bedrock 正常,经 LiteLLM 后三处行为失效。
报错原文
ModelBehaviorError: Tool get_reporting_categories not found in agent ia
另外两个现象无显式报错:后续轮次的 Bedrock 请求只带 tool_use,缺少 server_tool_use / tool_search_tool_result;/v1/messages 请求体到达 Bedrock 时既无 compaction 也无对应 beta,返回普通轮次而非 stop_reason: "compaction"。
原因分析
- 条目 1:
/v1/responses到 chat completions 的桥接层返回工具搜索命中的function_call时未带namespace == name,而这是 Agents SDK 为延迟顶层工具保留的结构,导致 SDK 在本地 Agent 中找不到该工具。 - 条目 2:桥接层只返回
tool_search_call条目并丢弃搜索结果;客户端回放历史时,tool_search_call也被丢弃,于是 Claude 看到的是延迟工具的tool_use,却没有加载它的搜索记录。 - 条目 3:
compaction顶层参数被剥离,且bedrock的 beta 映射中没有compact-2026-09-04,请求按普通轮次执行,静默失效。 - 可能原因:桥接层对 Anthropic 原生服务端工具(工具搜索、压缩)的字段透传与回放逻辑不完整,与 #46444(GPT 方向工具搜索)和 #44747(Vertex AI / Azure AI 路由自动注入压缩 beta)属同族但非重复问题。
环境排查
- 确认 LiteLLM 版本,以及是否包含
main上的 #50602、#50821、#51223 和 #51272;v1.108.0、v1.109.0rc1 在 Issue 中被确认存在问题。 - 确认模型路由为
bedrock/invoke/anthropic.claude-opus-5,且未误用 Converse 接口(不支持工具搜索)。 - 确认
LITELLM_LOCAL_ANTHROPIC_BETA_HEADERS=true以及打包的 beta 列表是否包含compact-2026-09-04。 - 确认 OpenAI Agents SDK 为 0.24.0,工具是否设置
defer_loading=True,请求是否未携带execution。 - 用回调或抓包查看实际到达 Bedrock 的请求体,核对是否含
compaction、anthropic-beta、tool_search_call及搜索结果。
解决步骤
- 在
/v1/responses路径上复现条目 1:用带defer_loading=True的工具加ToolSearchTool(),提问需要某个延迟工具的问题,确认是否出现ModelBehaviorError。 - 不要采用客户端
namespace = name变通;Issue 已验证该做法会让回传路径拼出get_reporting_categories__get_reporting_categories。 - 升级到包含修复的 LiteLLM 发布版本(
main上由 #50602 覆盖条目 1,条目 2 的修复由 #50821 带入main,条目 3 由 #51223 配合 #51272 修复)。若暂时无法升级,可先采用 Issue 中作者的做法:在自家 Agents SDK 模型类中直连 Bedrock Invoke,绕开代理。 - 升级后逐项复测:条目 1 看运行是否越过首次模型调用;条目 2 检查后续 Bedrock 请求是否携带搜索记录;条目 3 用
POST /v1/messages携带"compaction": {"type": "summarize"}与anthropic-beta: compact-2026-09-04,核对实际请求体。
验证方法
条目 1:同一段 Agent 运行不再以 ModelBehaviorError 中断,且在后续模型调用中能拿到搜索到的延迟工具。条目 2:抓取后续发送到 Bedrock 的请求,确认 tool_use 伴随相应的 server_tool_use / tool_search_tool_result。条目 3:抓取到达 Bedrock 的请求体,确认 compaction 与 compact-2026-09-04 beta 均存在,且响应为 stop_reason: "compaction"。建议按 Issue 中用户的计划,在 ap-northeast-2、Opus 5 上对升级后的版本完整复测并在 Issue 中反馈结果。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Bug]: Can't log in to MCP toolset URLs from Claude Code or Codex](https://www.chat-gpts.plus/wp-content/uploads/2026/11/46295-d9d02ca0-768x403.jpg)
![[speculative/mtp] Flash-Attention crash in gemma4-assistant: Query head dimension mismatch (neq0 != HSK / D=2048/4096)](https://www.chat-gpts.plus/wp-content/uploads/2026/11/29419-eee099a4-768x403.jpg)
