OlithmRouter · AI API 中轉站
OlithmRouter › 知識庫 › Anthropic Messages API 橋…

Anthropic Messages API 橋接:/v1/messages 的相容性細節

Anthropic Messages API Bridging (/v1/messages)

TL;DR — Anthropic Messages API 與 OpenAI 格式的差異是結構性的:system 是頂層參數而非訊息、回覆內容是 content blocks 陣列、工具呼叫走 tool_use/tool_result 配對、串流事件是 message_start/content_block_delta/message_delta 序列。可靠的橋接層必須在閘道內做完整的雙向轉換,而不是讓客戶端改格式。

本頁目錄

  1. 四個結構性差異
  2. 為什麼橋接應該做在閘道層
  3. 驗證橋接品質的方法
  4. 常見問題

四個結構性差異

①system 位置:Anthropic 是頂層 system 參數;OpenAI 放在 messages 陣列第一個。②回覆結構:Anthropic 回 content:[{type:'text',text:...}] blocks 陣列;OpenAI 回 message.content 字串。③工具:Anthropic 用 tool_use/tool_result content blocks 配對;OpenAI 用 assistant.tool_calls 與 role:'tool' 訊息。④串流:Anthropic 是 message_start→content_block_delta→message_delta→message_stop 事件序列。

任何一個環節轉換不完整,Claude Code、Cline 這類客戶端就會出現工具呼叫失靈或串流卡死。

為什麼橋接應該做在閘道層

在客戶端轉格式 = 每個工具都要自己維護一份轉換邏輯;在閘道層轉 = 寫一次、所有客戶端受益。OlithmRouter 的 /v1/messages 橋接在閘道內完成請求重寫、上游回應重組、串流事件重編碼,Claude Code 與 anthropic-python 零修改直連。

推理模型的 thinking 欄位、token 計數(input_tokens/output_tokens 與 cache 命中)也在橋接層統一處理,控制台日誌與計費才能逐筆對得上。

驗證橋接品質的方法

三個測試:①多輪工具呼叫迴圈(發起 tool_use → 客戶端回 tool_result → 模型續答)至少 3 輪不斷;②長文串流的 message_delta 事件順序與 stop_reason 正確;③system 頂層 + cache_control 標註能觸發上游快取。

常見問題

Claude Code 真的能零修改用嗎?
可以。OlithmRouter 的 /v1/messages 是原生實作,Claude Code 只需設定 base_url 與 token 兩個環境變數。
thinking(延伸思考)模式支援嗎?
支援。thinking blocks 在橋接層雙向轉換,控制台日誌可看到思考強度標記。
cache_control 標註有用嗎?
有。Anthropic 的 prompt caching 依賴 cache_control 標註,橋接層會如實傳遞,多輪對話成本可顯著下降。
跟「OpenAI 格式調用 Claude」差在哪?
假相容方案會丟失 tool_use 細節與串流事件語義;原生橋接則完整保留,這也是選中轉站時最重要的差異點之一。

相關文章

準備好試用了嗎?

OlithmRouter 提供 48+ 主流模型、多級分組定價與免費體驗分組——註冊後建立一把金鑰即可開始。

OlithmRouter模型與價格接入文檔