Anthropic Messages API 协议

别名: Messages API

Anthropic 的消息接口:`POST /v1/messages`,鉴权用 `x-api-key` + `anthropic-version` 版本头;`max_tokens` 必填、`system` 抽成顶层字段、`content` 是 block 数组、从 `content[0].text` 取文本、结束原因是 `stop_reason`、用量字段是 `input_tokens` / `output_tokens`。与 OpenAI 的逐项差异对比见[第 04 章](/chapters/04-provider-abstraction/)。

它是什么

Anthropic Messages API 是 Anthropic 的消息接口:POST /v1/messages,鉴权用 x-api-key + anthropic-version 版本头。与 OpenAI 的差异集中在八处(第 04 章对照表):端点、鉴权头、system 位置(顶层字段,messages 里不允许)、content 结构(block 数组)、max_tokens 必填、响应正文路径(content[0].text)、结束原因(stop_reason)、用量字段(input_tokens / output_tokens)。

差异的本质

这些差异全在「请求构造与响应解析」两端,业务语义(发消息、拿文本、拿结束原因、拿用量)与 OpenAI 相同——这正是 provider-abstraction 要翻译的东西。stop_reasonend_turn / max_tokens / tool_use 与 OpenAI 的枚举值不强行一一映射。

常见坑

把 system 塞进 messages 直接吃 400(翻译时要 filter(m => m.role !== 'system'));content 是 block 数组不是字符串;用量字段名拿错会静默得到 undefined。对照 openai-compat 词条逐项对比着记。

相关词条

出现在这些章节