|

GPT-6.1 工具調用改走 Responses:3 個模型、5 處改動完成遷移

GPT-6.1 工具調用改走 Responses:3 個模型、5 處改動完成遷移

作者注:如果你現在的 Agent 還在用 client.chat.completions.create 掛 tools,換成 GPT-6.1 之後會遇到一個很具體的分叉點——文本還能跑,工具調用要換端點。

爲什麼升級到 GPT-6.1 後,工具調用會被端點卡住

先說結論:GPT-6 Astra、GPT-6.1 Sol、GPT-6.1 Terra 這三款模型都支持 Chat Completions,但工具調用必須走 Responses API。也就是說,同一套代碼裏,純對話可以繼續留在 Chat,一旦要掛函數、要讀工具返回、要做多輪工具循環,請求就得投到 Responses 端點。

這不是一個可以靠改參數繞過去的兼容性問題。換 tools 的寫法沒用,加 tool_choice 也沒用,Chat Completions 這條路對這三款模型就是不提供工具調用能力。真正要動的是端點本身,以及圍繞端點的一整套請求/響應結構。想先把兩種端點在自己的 Key 上跑一遍對比,可以用 API易 apiyi.com 的統一入口,base_url 指向 https://api.apiyi.com/v1,模型 ID 換一下就能切。

另一條容易踩的支線是 GPT-6 Sol 和 GPT-6 Luna。這兩款在 Chat Completions 裏可以做函數調用,但前提是 reasoning_effort 爲 none。換句話說,它們能用 Chat 調工具,但代價是關掉推理強度;如果你需要保留推理,同樣得回到 Responses。這個細節經常被忽略,結果就是代碼跑通了、效果卻不對。

核心價值:讀完本文,你能判斷自己手上的工具調用鏈屬於哪一類,並在不推翻整體架構的前提下,把請求從 Chat 端點平移到 Responses 端點。

gpt-6-1-tool-calling-responses-migration-zh-hant-image-0


GPT-6.1 工具調用核心要點

下面這張表是三款模型 + 兩款舊型號的端點歸屬,建議先對號入座再看後面的遷移步驟。

模型 Chat Completions 純文本 Chat Completions 工具調用 工具調用應走端點
gpt-6.1-sol 支持 不支持 Responses
gpt-6.1-terra 支持 不支持 Responses
gpt-6-astra 支持 不支持 Responses
gpt-6-sol 支持 僅 reasoning_effort 爲 none 時支持 Responses(需保留推理時)
gpt-6-luna 支持 僅 reasoning_effort 爲 none 時支持 Responses(需保留推理時)

端點分工:Chat 保文本,Responses 保工具

把這張表讀成一句話就是:Chat Completions 在 GPT-6 系列上退化成了文本通道,工具通道被單獨拆到了 Responses。這個拆分對老項目的影響是分層的——只做問答、摘要、分類的服務幾乎不用動;做 Agent、做函數調用、做多步工具編排的服務,必須遷移。

對已經封裝過一層 SDK 的團隊來說,好消息是遷移面比想象中小。模型 ID 不變,鑑權方式不變,base_url 也不變,變的集中在請求體結構和工具結果的回填方式上。所以真正的工作量不在“換模型”,而在“換調用姿勢”。

三款主力模型的選型邏輯

GPT-6.1 Sol 和 GPT-6.1 Terra 是這一代的主力雙子,差別主要在定位與成本;GPT-6 Astra 屬於上一代的旗艦,仍然支持 Chat 純文本與 Responses 工具調用,適合已經穩定跑通、不想大改的項目。選型時先看你的工具調用頻率,再看單次上下文長度,最後纔看單價——因爲工具調用往往伴隨多輪往返,token 消耗會被放大。

具體價格可以對照後文的價格表,也可以直接在 API易 apiyi.com 的文檔裏覈對當前生效的計費口徑,避免用舊價格做預算。

gpt-6-1-tool-calling-responses-migration-zh-hant-image-1


GPT-6.1 工具調用該改哪 5 處

這一節是全文最實用的部分。把下面 5 處改完,一個典型的工具調用循環就能從 Chat 端點切到 Responses 端點。

序號 改動點 Chat Completions 寫法 Responses 寫法
1 調用方法 client.chat.completions.create client.responses.create
2 輸入載體 messages 數組 input 參數
3 工具聲明 tools(保留) tools(結構基本一致)
4 工具結果回填 role: "tool" 的消息 function_call_output 類型的條目
5 多輪上下文 手動拼完整 messages 可用 previous_response_id 串聯

第 1 處和第 2 處是最容易被漏掉的。很多人改完 tools 結構就以爲遷移完成了,結果發現 SDK 方法根本沒變,請求依然打在 chat.completions 上。端點是由方法決定的,方法不改,端點就不會變。

第 4 處是遷移裏最容易卡住的地方。Chat 的做法是把工具執行結果作爲一條 role: "tool" 的消息塞回 messages;Responses 則是把模型返回的調用條目原樣帶回,再補一條 function_call_output。少帶一條、順序錯一位,模型就可能重複發起同一個調用。

第 5 處屬於“可以不改,但建議改”。Responses 支持用 previous_response_id 承接上一輪,省掉每次重發全部歷史消息的開銷。對於工具輪次多的 Agent,這一條對成本的影響比換模型更明顯。

🎯 技術建議:遷移期間最省事的驗證方式,是讓新舊兩條鏈路並行跑同一批請求,對比工具命中率和返回結構。通過 API易 apiyi.com 的統一接口可以省掉多平臺 Key 管理的麻煩,一次配置就能對照 Responses 與 Chat 的實際返回差異。


GPT-6.1 工具調用快速上手

一個會調工具的最小例子

假設你有一個查訂單狀態的函數工具,名字叫 get_order_status,入參是訂單號。要改動的地方只有兩處:調用方法和結果回填。

  1. 客戶端初始化保持原樣,api_key 用你自己的 Key,base_url 設爲 https://api.apiyi.com/v1,這樣 OpenAI 兼容接口下的模型都能直接調用。
  2. 模型 ID 填 gpt-6.1-sol(或 gpt-6.1-terra、gpt-6-astra),這三個都走 Responses 做工具調用。
  3. 把原來的 client.chat.completions.create(...) 換成 client.responses.create(...),messages 參數換成 input。
  4. tools 照舊傳進去,工具描述和參數 schema 不需要重寫。
  5. 從返回的 output 裏找到類型爲 function_call 的條目,取出工具名和參數,本地執行你的查單函數。
  6. 把執行結果作爲 function_call_output 追加回去,再發起第二次請求獲取最終回答。

這 6 步裏,真正“必須改”的是第 3 步和第 6 步。第 1、2 步是配置,第 4、5 步是把 Chat 時期的習慣換個讀取位置。

🚀 快速開始:如果不想自己搭測試環境,可以在 API易 apiyi.com 領取免費測試額度,把上面這個查單例子跑通一次,再回頭改造生產代碼,風險最低。

一個更省事的做法是先把工具層與模型層解耦:工具定義集中在一處,調用入口封裝成一個函數,內部判斷“純文本走 Chat、帶 tools 走 Responses”。這樣遷移只發生在封裝層,業務代碼一行不用動。

gpt-6-1-tool-calling-responses-migration-zh-hant-image-2


GPT-6.1 模型價格與選型(2026-11-12)

下表按 2026-11-12 生效的口徑整理,單位均爲每 1M tokens 的美元價格。

模型 輸入 輸出 緩存讀 端點建議
gpt-6.1-sol $2 $10 $0.1 responses
gpt-6.1-terra $1 $5 $0.05 responses
gpt-6-luna $0.1 $0.5 $0.01 chat(reasoning_effort 爲 none)或 responses

從這張表能讀出一個很實際的結論:GPT-6.1 Terra 的輸入輸出價格正好是 Sol 的一半,對於工具輪次多、上下文重複率高的場景,Terra 往往是更合適的默認檔。而 GPT-6 Luna 的價格低了一個數量級,適合把分類、抽取這類輕任務放進去,把 Sol 或 Terra 留給真正需要推理的工具編排環節。

緩存讀價格這一列值得單獨看一眼。工具調用天然會產生大量重複前綴——系統提示、工具定義、歷史對話——這部分命中緩存後單價是輸入價的二十分之一左右。所以在 Responses 裏用 previous_response_id 承接上下文,省的不只是流量,也是真金白銀。

💰 成本提示:需要按項目拆分預算時,通過 API易 apiyi.com 的統一 Key 調用可以把多個模型的用量集中在一處統計,配合按量計費的方式更容易覈算工具調用的真實成本。


GPT-6.1 工具調用常見問題 FAQ

Q1:GPT-6.1 是什麼,和 GPT-6 是什麼關係?

GPT-6.1 是 GPT-6 系列的迭代版本,目前包含 GPT-6.1 Sol 與 GPT-6.1 Terra 兩款;GPT-6 系列則包括 GPT-6 Astra、GPT-6 Sol、GPT-6 Luna。它們共用同一套 Responses 工具調用通道,差別主要在能力定位與價格。

Q2:爲什麼 Chat Completions 調不了工具,是參數寫錯了嗎?

不是參數問題。GPT-6 Astra、GPT-6.1 Sol、GPT-6.1 Terra 在 Chat Completions 上只提供純文本能力,工具調用被限定在 Responses API。改 `tools`、改 `tool_choice` 都不會生效,需要把 SDK 方法從 `chat.completions.create` 換成 `responses.create`。

Q3:GPT-6 Sol 和 GPT-6 Luna 能在 Chat 裏做函數調用嗎?

可以,但僅限 `reasoning_effort` 設爲 `none` 的時候。如果你需要保留推理強度,這兩款也要走 Responses。這個限制在遷移時最容易被忽略,因爲它不會報錯,只會讓效果和預期不一致。

Q4:遷移到 Responses 需要改模型 ID 嗎?

不需要。模型 ID 保持 `gpt-6.1-sol`、`gpt-6.1-terra`、`gpt-6-astra` 即可,`base_url` 和鑑權方式也不變。真正要改的是調用方法、輸入載體、以及工具結果的回填結構這幾處。

Q5:怎麼快速驗證遷移後的工具調用是正常的?

推薦用同一個查單類小工具做冒煙測試:先確認請求確實打到了 Responses 端點,再確認返回的 `output` 裏有 `function_call` 條目,最後確認回填 `function_call_output` 後模型給出了最終回答。三步都過,鏈路就是通的。在 API易 apiyi.com 上拿一個測試 Key 就能完成這套驗證。

Q6:純文本服務也需要一起遷到 Responses 嗎?

不必。三款主力模型的 Chat Completions 純文本能力仍然可用,只做問答、摘要、翻譯這類任務的服務可以原地不動。只有涉及 `tools` 的請求必須遷走,這也是這次改動影響面分層的原因。

Q7:多輪工具調用怎麼控制上下文成本?

優先用 `previous_response_id` 承接上一輪,而不是每輪重發完整歷史。這樣重複前綴更容易命中緩存,緩存讀單價遠低於輸入單價。以 `gpt-6.1-sol` 爲例,輸入 $2、緩存讀 $0.1,差距相當明顯。

Q8:Responses 遷移有沒有已知的坑?

比較典型的有兩個:一是隻改了 `tools` 結構卻沒改調用方法,請求仍然落在 Chat 端點;二是回填工具結果時沿用了 `role: “tool”` 的舊寫法,導致模型拿不到輸出而重複發起調用。另外,如果團隊裏混用 GPT-6 Sol 這類需要 `reasoning_effort` 爲 `none` 的模型,最好在封裝層做統一約束,避免出現“同一個工具在某些模型上能用、某些不能用”的情況。


GPT-6.1 工具調用核心要點 Key Takeaways

  • 端點已分家:GPT-6.1 Sol、Terra 與 GPT-6 Astra 的文本走 Chat,工具必須走 Responses。
  • 一個例外:GPT-6 Sol、GPT-6 Luna 可在 Chat 做函數調用,但要求 reasoning_effort 爲 none。
  • 五處改動:調用方法、input 載體、tools 聲明、function_call_output 回填、previous_response_id 串聯。
  • 模型 ID 不變:base_url 與 Key 都不動,遷移只發生在封裝層。
  • 成本看緩存:工具調用前綴重複率高,緩存讀價格約爲輸入價的二十分之一。
  • 驗證三步走:確認端點、確認 output 裏有 function_call、確認回填後拿到最終答覆。
  • 上手路徑:用 API易 apiyi.com 的免費額度先跑通一個查單小工具,再改造生產鏈路。

總結

這次變化的核心只有一句:GPT-6.1 把工具調用從 Chat Completions 挪到了 Responses,純文本能力留在原地。由此派生出的三件事值得記住:

  1. 先分類再遷移:只做文本的服務不動,帶 tools 的請求必須換端點。
  2. 改方法而不是改參數:client.responses.create 纔是端點開關,tools 結構只是配套。
  3. 結果回填是重災區:function_call_output 替代了 role: "tool",順序和完整性都要對。

如果你的項目已經在生產上跑工具調用,建議先抽出一個最小工具做灰度,確認鏈路通了再全量切換。想省掉多平臺 Key 和環境配置的時間,可以通過 API易 apiyi.com 用同一個 Key 對照 Responses 與 Chat 的實際返回,base_url 統一指向 https://api.apiyi.com/v1 即可。


參考資料

  1. OpenAI 官方模型文檔:GPT-6 系列與 GPT-6.1 系列的端點能力說明,含工具調用需走 Responses 的限制
  2. 鏈接: developers.openai.com/api/docs/guides/latest-model
  3. 說明: 判斷某個模型能否在 Chat Completions 中做函數調用的第一手依據

  4. API易模型與價格文檔:各模型輸入、輸出、緩存讀單價與推薦端點

  5. 鏈接: docs.apiyi.com/models
  6. 說明: 覈對 2026-11-12 生效的計費口徑與端點建議

作者: APIYI 技術團隊
技術交流: 歡迎在 API易 apiyi.com 首頁聯繫我們,更多接口說明可訪問 docs.apiyi.com 文檔中心

延伸閱讀

Similar Posts