模型协议:
最广泛的是用的 OpenAI compatible 系列:也就是从最早的 Chat completion chat assistants->responses 协议其次是 AnthropicMessage 协议和 Google 的协议。
openai 的协议格式,可以很明显地看出是从 chatbot 时代进化到现在的 agent loop 时代一个底层工具变化。
Anthropic Message 的工具格式用 tool_useopenai Response 的工具格式用 function call。
Chat completion 使用 message[]作为容器,解析 choice[].message.content,纯粹就是以文本回答为核心在设计的——消息列表协议。
Responses 以 item 为核心容器,然后把 functioncall 独立出来,不再混在一起,因此可以有力地区分有顺序有 ID 有状态的执行器节点,message 就相当于 item 的一种——类型化执行轨迹协议
Anthropic = 内容块协议
如下所示:Chat CompletionsMessage = role + content + tool_calls
ResponsesItem = Message | Reasoning | FunctionCall | FunctionCallOutput | WebSearchCall | FileSearchCall | ComputerCall | ...
AnthropicContentBlock = Text | Thinking | ToolUse | ToolResult | ...
对于普通的 agent loop 和各种角色设定这些 schema 都一样,但是拉开差距的是,hosted tools 调用的时候,就会发生变化,更加快速了。
更快的就是 deepssek harness 的 dtc 模式了,直接用代码去执行工具调用。