Skip to content

Provider 对照总表

这一页把 OpenAI、Anthropic、Gemini 在 tool calling 上最核心的差异压成一张表,方便查阅。

维度OpenAIAnthropicGemini
常见术语tool callstool usefunction calling
工具定义入口toolstoolsfunction declarations / tools
调用请求承载message.tool_callscontent blocks 中的 tool_useSDK / response parts
参数形态常见为字符串化 JSON常见为对象取决于 SDK/响应结构
回填方式role=tool + tool_call_idtool_result block依 SDK 而异
流式处理难点delta 拼接 argumentscontent block 增量事件SDK 封装差异大

一个最重要的结论

三家语义相近,但协议细节并不兼容。

所以如果你想同时支持多个 provider,最好尽快抽一层统一 adapter,而不是把业务逻辑直接绑死在某家响应结构上。

快速结论

什么时候 OpenAI 最省心

  • 想快速搭一个最小闭环
  • 想找教程和示例最多的路线
  • 想用最直观的 tool_calls 心智模型

什么时候 Anthropic 更要小心解析

  • content blocks 混合 text / tool_use / tool_result
  • 不能想当然按 OpenAI 的消息结构写解析器

什么时候 Gemini 最容易踩 SDK 坑

  • 同一个概念在不同 SDK 包装形式不同
  • 很多人看到的是示例,而不是清晰的原始协议说明

推荐继续看

聚焦 OpenClaw、tool_calls、function calling 与 agent 实战。