OpenAI Responses API 是什麼:和 Chat Completions 的區別與遷移要點

Responses API 是 OpenAI 現在推薦新項目使用的接口,Chat Completions 仍然支持,Assistants API 已於 2026-08-26 下線。本文用對照表講清兩者在輸入輸出、多輪對話、函數調用、結構化輸出、流式事件上的區別,並按官方遷移指南列出改代碼時最容易出錯的地方。

NNathaniel bigo··原創首發·AI 輔助撰寫
10 分鐘讀完
資料核對於 2026-10-07 · 依據官方文檔與公開資料整理 其他 帳號
本文根據 OpenAI 開發者文檔《Migrate to the Responses API》、API Reference、Text generation、Deprecations 和 openai-python README 整理,資料核對於 2026-10-07。

適用於誰

  • 剛開始學 OpenAI API,看到教學裏有的寫 chat.completions.create、有的寫 responses.create,不知道該學哪個的人;
  • 手上有基於 Chat Completions 的老項目,想評估要不要遷移、怎麼遷的人;
  • 之前用 Assistants API、現在調用失敗的人。

結論先說

  1. Responses API 是 OpenAI 現在的主力接口:官方原話是 Chat Completions 仍然支持,但所有新項目都推薦用 Responses。openai-python README 也把 Chat Completions 稱為「上一代標準(將長期支持)」。
  2. 最大的區別:輸入輸出從「消息數組 messages / choices」變成了「帶類型的條目(Items)」;內置網頁搜尋、文件搜尋、代碼解釋器、遠程 MCP 等工具,一次請求裏模型可以連續調用多個工具;可以由服務端儲存對話狀態。
  3. Assistants API 已於 2026-08-26 正式下線,不能再用,要遷到 Responses API + Conversations API。
  4. 老項目不必一次全遷:官方建議從一個純文本生成流程開始,逐個流程切換,對比效果、延遲、token 用量後再放量。

Responses 和 Chat Completions 對照

項目Chat CompletionsResponses
接口地址POST /v1/chat/completionsPOST /v1/responses
輸入messages 數組input:一段字符串,或條目數組
系統級指令system / developer 消息頂層參數 instructions(也可保留兼容的消息條目)
輸出choices[0].messageoutput 數組,裏面是不同類型的條目(消息、推理、函數調用……)
取文字的捷徑無SDK 的 output_text
一次生成多個候選支持 n不支持,需要多發幾次請求
多輪對話自己維護完整歷史previous_response_id、手動回傳條目,或 Conversations API
預設是否存儲新帳號預設存儲預設存儲
結構化輸出response_formattext.format
函數定義外層套 function 對象,預設非嚴格字段平鋪在工具對象裏;不寫 strict 時會嘗試嚴格模式
流式返回帶 delta 的增量塊帶類型的事件,如 response.output_text.delta
token 用量字段prompt_tokens / completion_tokensinput_tokens / output_tokens

官方列出的好處還包括:推理模型在 Responses 裏表現更好(內部評測 SWE-bench 提升 3%),緩存利用率更高從而更省錢(內部測試比 Chat Completions 提升 40%~80%),以及可以用加密推理條目在不存儲狀態的情況下延續推理。官方 Text generation 指南也說,用推理模型時尤其推薦遷到 Responses。

最小示例

同一個任務,兩種寫法:

python
from openai import OpenAI

client = OpenAI()  # 從環境變量 OPENAI_API_KEY 讀取密鑰

# Chat Completions 寫法
completion = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[
        {"role": "developer", "content": "用簡潔的中文回答。"},
        {"role": "user", "content": "什麼是向量數據庫?"},
    ],
)
print(completion.choices[0].message.content)

# Responses 寫法
response = client.responses.create(
    model="gpt-6-astra",
    instructions="用簡潔的中文回答。",
    input="什麼是向量數據庫?",
)
print(response.output_text)

純文本、不含函數和多模態的消息數組,可以直接作為 input 傳給 Responses,不用改格式。從零開始的 Python 入門見 /guides/openai-api-python-quickstart。

遷移要點(按官方步驟)

1. 改接口和讀取方式

把請求從 /v1/chat/completions 改成 /v1/responses,讀取結果從 choices[0].message.content 改為 response.output_text;如果用到推理、工具或多模態輸出,就遍歷 response.output,按每個條目的 type 分別處理。

2. 選一種多輪對話方式

  • previous_response_id:把上一次響應的 ID 傳進來,由 OpenAI 維護上下文。注意它不會繼承上一次的 instructions,每次請求都要重新帶上;
  • 手動回傳:把上一次的 output 條目追加到下一次的 input 裏,適合需要自己裁剪上下文的場景;
  • Conversations API:需要一個持久的對話對象時使用。
python
first = client.responses.create(model="gpt-6-astra", input="法國的首都是哪裏?")
second = client.responses.create(
    model="gpt-6-astra",
    previous_response_id=first.id,
    input="那裏的人口大約多少?",
)
print(second.output_text)

計費提醒:用 previous_response_id 並不能省掉之前上下文的費用,鏈條裏之前的輸入 token 仍按輸入 token 計費。

3. 決定要不要存儲

Responses 預設存儲響應。不想存就設 store: false;這時如果還要跨輪延續推理,需要把每次返回的推理條目(帶 encrypted_content)原樣回傳。零數據保留(ZDR)組織會被強制 store: false。

4. 改函數定義和返回

函數定義從「外層 function 包一層」改為字段直接平鋪;函數調用和函數結果是兩種獨立的條目,靠 call_id 對應。Chat Completions 的函數預設非嚴格,Responses 不寫 strict 會先嚐試嚴格模式,想保持非嚴格就顯式寫 strict: false。

5. 改結構化輸出和流式處理

response_format 改為 text.format;流式處理從讀 delta 塊改為按事件類型分支,常用事件有 response.created、response.output_text.delta、response.completed 和 error。

6. 能用內置工具就用內置工具

原來自己實現的網頁搜尋、文件檢索、代碼執行,可以考慮換成 Responses 的內置工具(工具調用會另外計費,見價格頁)。

遷移時最常見的錯誤

官方遷移指南列出的坑:

  • 還在讀 choices[0].message.content;
  • 把 output 裏的每一項都當成消息,忽略了推理、工具調用等其他類型;
  • 手動拼上下文時丟了推理條目、函數調用或函數結果條目;
  • 回傳函數結果時沒帶對應的 call_id;
  • 在 Responses 請求裏繼續用 response_format;
  • 直接複用 Chat Completions 的流式處理代碼;
  • 以為用了 previous_response_id 之前的上下文就不收費。

常見問題

Q:Chat Completions 會被下線嗎?

截至 2026-10-07,官方文檔寫的是「仍然支持」,README 寫的是「長期支持」,Deprecations 頁面沒有 Chat Completions 的下線計劃。但新功能優先在 Responses 上提供。

Q:Assistants API 的數據怎麼辦?

Assistants API 已於 2026-08-26 下線,官方提供了 Assistants 到 Conversations 的遷移指南,遷到 Responses API 和 Conversations API。

Q:Responses API 和 Agents API 是什麼關係?

Agents API(Beta)是另一種更上層的接口:由 OpenAI 託管一個 Codex 智能體的會話,可以在沙盒裏跑代碼、改文件,並在同一會話裏繼續任務,模型請求按所選模型的 API 價格計費。只需要「發一次請求拿一次回答」或自己編排工具調用,用 Responses 就夠了。

Q:Playground 裏調的是哪個接口?

Playground 可以在 Responses 和 Chat Completions 兩種模式之間使用,調用同樣計入 API 費用,見 /guides/openai-playground。

參考資料

  • OpenAI 開發者文檔:Migrate to the Responses API — https://developers.openai.com/api/docs/guides/migrate-to-responses
  • OpenAI API Reference:Create a response — https://developers.openai.com/api/reference/resources/responses/methods/create
  • OpenAI 開發者文檔:Text generation — https://developers.openai.com/api/docs/guides/text
  • OpenAI 開發者文檔:Conversation state — https://developers.openai.com/api/docs/guides/conversation-state
  • OpenAI 開發者文檔:Deprecations(Assistants API)— https://developers.openai.com/api/docs/deprecations
  • openai-python 官方倉庫 README — https://github.com/openai/openai-python
  • OpenAI 幫助中心:Agents API (beta) FAQ — https://help.openai.com/en/articles/20001551-agents-api-beta-faq
需要開通或續費?ChatGPT Plus 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    ChatGPT 搜尋怎麼用:聯網搜尋、查看來源與結果不準怎麼辦

    ChatGPT 能聯網搜尋最新資訊並附上來源連結。本文按官方幫助中心講清怎麼手動開啟搜尋、怎麼看引用來源、本地結果不準的原因(位置設定)、搜尋按鈕不見了怎麼排查,以及什麼時候該用深度研究。

    ChatGPT0
  2. 02

    ChatGPT 出現 network error 怎麼辦:長回答中斷、連接失敗與公司網絡的處理方法

    ChatGPT 提示 A network error occurred 或 websocket 連接錯誤、長回答寫到一半斷掉?本文按官方幫助中心講清原因、個人排查步驟,以及公司網絡需要放行的域名、WebSocket 和語音端口。

    ChatGPT0
  3. 03

    AI商品圖怎麼做:從實拍原圖到白底圖、場景圖、模特圖的完整流程

    用 AI 做電商商品圖,怎麼既好看又不「貨不對板」?本文按 OpenAI、Google 官方提示指南整理一套流程:拍好原圖 → 摳圖白底 → 場景合成 → 模特上身 → 檢查細節,附提示詞模板,並提醒廣告法對商品展示真實性的要求。

    ChatGPT其他 AI 工具0
  4. 04

    AI 做 PPT 哪個好:直接生成文件、Office 插件、Google 幻燈片、專用工具四條路線對比

    AI 做 PPT 用哪個?不排名,按官方文檔對比四條路線:在 ChatGPT / Claude 對話裏直接生成 pptx、用 PowerPoint 裏的 AI 插件、用 Google 幻燈片裏的 Gemini、用 Gamma 等專用工具;講清各自能不能編輯、套不套得了模板、適合什麼場景,並給出通用的五步做法。

    ChatGPTClaude0
  5. 05

    Codex CLI 怎麼安裝、怎麼更新:官方 4 種安裝命令(腳本、npm、Homebrew)、查看版本和 codex update

    Codex CLI 怎麼裝、怎麼更新?官方有 macOS/Linux 與 Windows 的安裝腳本、npm、Homebrew 四種方式,更新多是重跑同一條命令。本文原樣列出官方命令,講查版本、codex update 和首次登入。

    ChatGPTCodex0
  6. 06

    ChatGPT 公式怎麼複製到 Word、公式亂碼怎麼辦:用 Word 自帶的 LaTeX 輸入,什麼寫法會不識別

    ChatGPT 給的公式粘進 Word 亂碼?Word(Microsoft 365)支持 LaTeX 輸入:Alt + = 插入公式區,格式選 LaTeX,粘貼後轉成專業格式。按微軟文檔講步驟、寫法對照和不識別的關鍵詞。

    ChatGPT0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~