总览
你可以把整个 tool calling 生态分成三层:
第一层:模型接口层
这里关心的是 provider API:
- OpenAI 的
tool_calls - Anthropic 的
tool_use - Gemini 的
function calling
这一层解决的是:模型如何表达“我想调用工具”。
第二层:宿主执行层
这里关心的是你的程序怎么接住调用:
- 参数解析
- 函数映射
- 错误处理
- 重试与超时
- 日志与幂等性
这一层解决的是:工具怎么真的被执行。
第三层:Agent Runtime 层
这里关心的是像 OpenClaw 这样的 agent 宿主:
- 会话
- 消息路由
- 多工具命名空间
- 子代理
- 权限与策略
- 多 channel 输出
这一层解决的是:工具如何在真实 agent 系统中被组织与治理。
为什么 ToolCalls.org 应该覆盖三层
因为只讲模型接口不够用。
很多人卡住不是因为不会写 tools=[...],而是因为:
- 不知道 tool loop 怎么收口
- 不知道副作用操作怎么控权
- 不知道 provider 差异怎么抽象
- 不知道在 OpenClaw 这类 runtime 里该走哪个能力
这也是本站内容组织的核心思路。