跳到正文
ByteSpike
← 全部文章

我们押注 Anthropic 协议

我们选 Anthropic Messages API 作为默认协议。这里说为什么 tool_use、cache_control、thinking 是最值得原汁原味保留的 API 表面 —— 以及我们如何 shim 其余协议而不丢精度。

KL4 分钟阅读

每个网关都必须选一套默认协议,而这个选择悄悄决定了用户能表达什么、不能表达什么。我们选了 Anthropic Messages。

为什么是它

  • tool_use 是一等公民 —— 不是 function-call 适配补丁。模型可以在同一条流里交错推理、工具调用与叙述。
  • cache_control 是显式的。你自己决定缓存什么、多久。不会有隐式的 auto-cache 让你的账单变怪。
  • thinking block 与输出分离。你可以选择展示或隐藏,可以选择计费或不计费。不管怎样,wire format 把哪段是哪段写得明明白白。

那 OpenAI 用户呢?

我们在同一个 base URL 上暴露了 Chat Completions。这层 shim 本质上有损 —— function-call schema 没法忠实表达 thinking block —— 但对已经说 Chat Completions 的代码而言,迁移成本就是改一行 base URL 加一把 key。

如果你是新写的代码,建议直接说 Anthropic 形状。等到模型可以告诉你它正在第三个工具调用的一半时,你会感谢现在的自己。