如果語音代理得等到對方完全安靜下來才開始思考,就算反應夠快,互動仍然容易帶著機械感。GPT-Live 從架構層面處理了這個限制:音訊路徑持續收音與說話,同時把搜尋、工具呼叫和深度推理放到音訊迴圈之外並行處理。互動因此更自然,但系統的營運與除錯難度也會大幅提高。
一分鐘看懂 GPT-Live 全雙工 API 架構
GPT-Live 不只是速度更快的語音轉語音端點。OpenAI 將它定位為全雙工語音系統:一邊處理輸入音訊,一邊產生輸出音訊;每秒多次判斷互動狀態,並把更深層的工作交給前沿模型。OpenAI 的工程文章指出,這套系統以串流推論、有狀態的對話、WebRTC 傳輸,以及媒體路徑之外的非同步工作為核心。
實際上可以拆成以下幾層:
| 層級 | 職責 | 設計影響 |
|---|---|---|
| 媒體路徑 | 在用戶端與語音模型之間傳送音訊影格 | 保持路徑短、行為可預期,並與商業 API 分離 |
| 全雙工語音模型 | 收聽、說話、停頓、打斷,以及管理對話節奏 | 不要把以靜音為基礎的輪次偵測當成主要控制器 |
| 委派層 | 非同步執行搜尋、推理與工具呼叫 | 把委派工作視為對延遲敏感的背景工作 |
| 應用層 | 驗證工具、權限、確認流程與商業規則 | 絕不能讓流暢的語音直接授權具重大影響的操作 |
| 產品記錄 | 維護逐字稿、分析資料與 UI 訊息 | 將暫存中的對話畫面與最終確定的記錄分開 |
真正重要的變化,在於誰負責掌控時間。傳統語音代理通常會等使用者說完一輪,把內容送進模型,再播放回覆;GPT-Live 的設計則讓語音工作階段持續運作,讓多種工作同時進行。
別再把輪次式互動當成唯一前提
串接式語音系統會依序執行語音轉文字、語言模型和文字轉語音。原生語音轉語音模型雖然省去部分交接,但如果仍由獨立的語音活動偵測器判斷使用者何時說完,推論就可能被錯誤的輪次切分所左右。短暫思考可能被當成對話結束,背景聲音也可能被誤認為新的一輪輸入。
GPT-Live 的全雙工做法,是把這個時間判斷交給語音模型處理。模型可以在說話時繼續收音,察覺有人插話,接著暫停、繼續,或先給出簡短回應。這不代表所有地方都不再需要輪次邊界,而是輪次邊界不能再阻塞即時音訊迴圈。
GPT-Live 如何改變即時音訊路徑
以持續推論取代輪次閘門
在全雙工工作階段中,輸入與輸出是持續串流,而不是一段段交替傳送的音訊。模型可以在上一段回覆仍在播放時接收新的語音,並判斷這段新音訊究竟是有意義的打斷、簡短附和,還是背景噪音。
這會直接改變用戶端邏輯。用戶端必須能同時傳送、接收、取消與替換音訊事件。單一的 await response() 抽象層並不適合這種行為,因為它會把最重要的事件藏起來:使用者開始說話、助理音訊開始播放、偵測到打斷、提出工具呼叫、取消回應,以及工作階段結束。
語音活動訊號仍然值得保留,用於 UI、分析與安全機制。真正的架構錯誤,是把 VAD 當成唯一權威,決定模型何時可以開始推論。
媒體路徑要快,其他工作移到路徑之外
OpenAI 的工程說明將專用音訊路徑與應用邏輯分開。音訊直接在用戶端與語音模型之間傳輸;工具呼叫、政策檢查、資料持久化與後端操作,則跨越非同步邊界執行。
這個邊界帶來一條明確規則:CRM 查詢就算很慢,也只能延後它自己的答案,不能讓音訊影格無法準時抵達。WebRTC 負責低延遲媒體傳輸;應用服務不應該同步插在每一個麥克風影格與模型之間。
委派工作執行期間,語音層可以先說幾句簡短的話,但填充式語音不能取代有明確界線的工作。每個工具都應設定期限、取消規則,以及安全的結果狀態。
透過委派工作,將即時回應與深度智慧分開
GPT-Live 可以把搜尋、深度推理或複雜工作委派給前沿模型。OpenAI 的發布文章與工程文章都指出,GPT-5.5 是上線時負責委派工作的模型。語音模型專注於眼前的即時互動;不適合塞進低延遲語音迴圈的工作,則交由前沿模型處理。
正式環境的實作應把委派視為獨立的處理管線:
- 判斷請求是否需要搜尋、推理或工具。
- 先做出確認或暫停處理,但不要阻塞媒體路徑。
- 帶著相關對話上下文啟動背景工作。
- 如果使用者改變方向或結束工作階段,就取消這項工作。
- 在應用程式中驗證結果。
- 將精簡後的結果注入目前的即時工作階段。
預先初始化委派推論工作階段、維持工作階段親和性,以及快取重複使用的上下文,都能縮短等待第一個有用結果的時間。端到端延遲預算包含路由、提示處理、模型推論、工具呼叫,以及每一趟模型與工具之間的往返,不只是模型 token 延遲。
有狀態工作階段,需要另一套架構思維
一通長時間語音通話,不是由一連串用完即丟的請求組成。上下文會持續增加,模型工作執行個體可能更換,工作階段也可能需要壓縮。OpenAI 描述的做法是先暖機新的模型執行個體,填入目前上下文,等它準備就緒後才切換。如此一來,基礎架構轉換就不會被通話另一端的使用者察覺。
上下文壓縮也有類似問題。摘要化早期對話會改變支撐模型鍵值快取的上下文;如果在前景重建快取,通話就可能出現停頓。更安全的設計,是在背景平行壓縮上下文、準備新的執行個體,並讓舊執行個體繼續服務,直到交接條件成熟。
因此,語音代理後端的工作階段狀態不應只有逐字稿,還應包含:
- 目前的音訊與回應狀態
- 進行中的工具呼叫與取消權杖
- 模型執行個體或工作程序親和性
- 暫存中與已確定的訊息
- 上下文壓縮狀態
- 重新連線與復原狀態
- 安全性與確認狀態
API 契約本質上是事件系統,不是請求—回應
即使外部 API 最終提供熟悉的 SDK 方法,全雙工模式仍會改變內部通訊協定。應用程式必須明確區分幾種經常被混為一談的事件:
| 事件 | 含義 | 正確處理方式 |
|---|---|---|
| 取消 | 停止一項待處理的工作 | 取消工作並釋放資源 |
| 打斷 | 使用者在目前輸出期間開始說話 | 停止或修改助理音訊,但不要結束工作階段 |
| 工作階段終止 | 通話或對話已結束 | 關閉媒體、工具、持久化與計費狀態 |
| 工具失敗 | 委派的操作未能完成 | 安全地說明狀況,並提供替代方案 |
| 重新連線 | 媒體路徑曾中斷 | 復原狀態,同時避免重複執行操作 |
GPT-Live 可以持續運作,但產品其他部分仍需要訊息來支援 UI、分析與安全系統。OpenAI 描述了一種做法:維護可隨逐字稿抵達而修正的推測視圖,以及稍後才確定的權威記錄。這個模式很實用:可以即時顯示字幕,卻不必把每一段部分逐字稿都當成不可變更的事實。
語音代理團隊必須重新設計的部分
把媒體介面卡與代理編排分開
將供應商專屬的傳輸與事件處理放在介面卡後方。應用程式應該接收正規化事件,例如 user_audio_started、assistant_interrupted、tool_requested、confirmation_required 和 response_completed。
把模型 ID、聲音、提示、工具結構定義與成本上限放進設定檔。這不只是為了降低遷移風險,也能讓團隊今天先測試有文件支援的 Realtime 模型,同時為日後的 GPT-Live 語意保留清楚的目標。
工具的原則應該是:由模型提出,交由應用程式驗證。付款、帳戶變更、取消服務、修改地址、醫療分流、金融操作與身分驗證流程,都需要在模型口頭表現出的自信之外,另外建立確認規則。
根據音訊控制位置選擇傳輸方式
對於直接擷取與播放音訊的瀏覽器和行動裝置用戶端,WebRTC 是自然的選擇。由伺服器控制的媒體管線仍可能適合使用 WebSocket,但團隊不應假設每個即時模型都能透過每種傳輸方式,接受完全相同的工作階段形式。
OpenClaw 的整合問題記錄了實務上可能遇到的失敗模式:把 gpt-live-1 當成一般 GA Realtime WebSocket 工作階段處理時,收到的是 invalid_model 回應;而提議中的 GPT-Live 瀏覽器流程,則使用不同的 WebRTC 工作階段形式。這份問題記錄是實作報告,不是 OpenAI 的 API 契約,但它再次說明一項設計原則:先辨識模型家族,再明確協商它支援的工作階段類型。
別只看 token 延遲,也要量測影格是否準時抵達
OpenAI 的工程文章提到,在正式環境測試中,一個支援串流的元件比 GPU 更早達到飽和。真正有用的容量單位,是能夠準時傳送影格的可持續並發工作階段數,而不是每張 GPU 能處理多少請求。
至少應追蹤以下指標:
- 音訊影格延遲與遺失
- 第一段可播放音訊的等待時間
- 從被打斷到停止播放的時間
- 各區域的並發工作階段數
- 重新連線次數與重複工具呼叫
- 委派工作的完成時間
- 工具逾時與取消比例
- 暫存逐字稿到最終逐字稿的修正次數
- 放棄的工作階段,以及每個工作階段的支出
自然度同樣存在控制上的難題。在某些情境中,真實使用者可能喜歡被打斷與收到簡短確認;換到另一種情境,卻可能覺得這些行為很干擾。一則早期使用者回報很直接地總結了這項風險:「It's literally cutting her off constantly lmao」(@AutismCapital)。這提醒我們,插話政策應該根據真實對話進行調校,而不是只對著腳本式展示反覆測試。
GPT-Live 與現今 Realtime:該如何做架構選擇
OpenAI 目前的官方模型目錄,將 GPT-Live 1 定位為適合自然、富表現力的語音對話,並強調順暢的打斷處理。不過,模型目錄不等於完整的整合契約:本文檢視的獨立 GPT-Live API 頁面,目前仍只是通知登記表,沒有提供端點、速率或限制細節。團隊在承諾發布計畫前,應先確認最新的開發者文件與帳戶資格。
| 需求 | 實務選擇 |
|---|---|
| 現在就要推出有文件支援的語音代理 | 在介面卡後方使用有文件支援的 Realtime 技術堆疊 |
| 自然重疊對話與由模型掌控輪次是硬性要求 | 按照 GPT-Live 的全雙工事件模型設計,並先確認存取權限 |
| 瀏覽器或行動裝置音訊 | 優先採用供應商支援的 WebRTC 路徑 |
| 複雜的商業操作 | 保留非同步工具與應用程式端的確認流程 |
| 長時間通話 | 上線前先完成交接、壓縮、重新連線與持久狀態處理 |
即使目前還不是每個帳戶都能使用這個模型,這套架構仍然值得採用。持續運作的媒體路徑、正規化事件、非同步工具與明確的取消機制,都能改善建立在傳統即時模型上的語音代理。
GPT-Live 全雙工 API 常見問題
GPT-Live 和 GPT-Realtime 是同一回事嗎?
不是。OpenAI 將 GPT-Live 定位為獨立的語音對話模型家族,而 GPT-Realtime 則是有文件支援的即時 API 家族。兩者具備相似的音訊能力,不代表工作階段語意、傳輸方式或模型 ID 完全相同。
全雙工是否代表模型永遠不必等待?
不是。全雙工代表系統可以同時收聽與說話。模型仍可能暫停、保持安靜、等待澄清,或在更安全、更有用的情況下延後委派結果。
開發者還需要 VAD 嗎?
需要,VAD 可用於媒體互動體驗、分析、字幕與安全訊號。但 VAD 不應成為唯一閘門,迫使模型嚴格按照使用者一輪、助理一輪的方式運作。
語音代理應該採用哪種傳輸方式?
應根據特定用戶端與模型支援的方式選擇傳輸協定。WebRTC 通常適合直接處理瀏覽器或行動裝置音訊;後端媒體管線則可在文件明確支援的情況下使用 WebSocket。不要只從模型名稱推測傳輸支援狀況。
確認取得 GPT-Live 存取權之前,應該先打造什麼?
先建立介面卡、正規化事件結構、工具驗證層、取消模型、成本遙測、備援方案,以及長工作階段復原機制。即使最終 GPT-Live API 契約有所變動,這些元件仍然派得上用場。
選擇架構,不要只追著模型名稱走
真正能長久沿用的決策,是不要再把語音當成文字模型外面的一層請求—回應包裝。讓音訊路徑持續可用,把慢速工作放到非同步邊界之外,將打斷與取消視為一等事件,並維護一份在成為權威記錄前仍可修正的逐字稿。
GPT-Live 的取捨很清楚:更自然的重疊對話與委派能力,意味著需要更多狀態、更多可觀測性,也不能再依靠簡單的輪次邊界掌控一切。能接受這份複雜度的團隊,現在就可以按照全雙工契約設計;需要有文件支援的正式生產端點的團隊,則應先使用 Realtime 上線,同時保留相同的事件驅動接點。