一句話導讀:同一週落地兩個名字,很多人把它們當成「又一個更強的 ChatGPT」——真正卡住開發者的,通常不是模型名,而是語音層、推理層和本機執行面該不該綁在一起。 下文按即時語音、Agent 後端和 API 三條線拆開,先講怎麼接,再講帳單和隔離。
先分清兩件事:說話的模型和做事的模型
2026 年 9 月,OpenAI 連續放出兩塊積木:3 日開始投放 GPT-6 Astra,10 日把 GPT-Live-1 開進 API。站內更早的 GPT-6 發布時間預測回答「什麼時候來」;Astra 安全隱憂 回答「開了之後爆炸半徑有多大」。本篇回答第三問:已經來了,開發者該怎麼接。
官方把職責切得很乾淨。GPT-Live-1 是全雙工語音前端:聽、說、處理打斷,並決定何時把活交給後端。Astra(或 Terra / Luna)才是推理、查資料、調工具的那一層。Realtime API 把語音、推理和工具選在同一個模型裡;GPT-Live 把對話和任務拆開,會話還能在後端幹活時繼續進行。
| 層 | 模型 / 介面 | 它負責什麼 | 它不負責什麼 |
|---|---|---|---|
| 語音前端 | gpt-live-1 · POST /v1/live/sessions |
聽、說、打斷、轉寫、何時委託 | 業務規則、權限、工具執行 |
| 推理後端 | gpt-6-astra 或 Terra / Luna · Responses |
規劃、檢索、選工具、回傳可說結果 | 即時發音、打斷時機 |
| 你的應用 | 伺服器 + 函式 + 日誌 | 金鑰、確認、落庫、取消或繼續背景任務 | 把專案金鑰塞進瀏覽器 |
一句話記職責
給 Live-1 寫短提示:說話風格、何時求助後端。把細則、工具工作流和審批規則留給 Astra。打斷語音不會自動取消背景任務——取消還是做完,由你的應用決定。
GPT-Live-1:即時語音層怎麼接
GPT-Live-1 先在 ChatGPT 裡出現,9 月 10 日進入 API。它能同時聽和說,官方評測裡 Full Duplex Bench 比 GPT-Realtime-2.1 高出約 30 個百分點;配對 Astra(中等推理力度)時,在衡量端到端語音 Agent 的 Tau3 上排第一。Speak 的早期評估稱,語言學習者被打斷的次數比舊的輪轉系統少了近 80%。
開發者真正要選的是連線方式,不是再找一個「更會說話的 Chat Completions」:
- WebRTC:瀏覽器語音。麥克風和揚聲器走媒體軌,JSON 事件走資料通道。瀏覽器只出 SDP,專案金鑰留在伺服器。
- WebSocket:伺服器端音訊整合,一條連線同時帶音訊和控制事件。
- 電話 / SIP:把現有通話接進來。已有 LiveKit、Twilio、Telnyx 或 Daily/Pipecat 的,走官方合作方接入。
限流按並行會話計,不按 token:Free 不可用;Tier 1 為 25 路,Tier 5 到 500 路。語音層報價是每分鐘 0.05 美元,按秒計、不向上取整到整分鐘。知識截止日期是 2025 年 7 月 31 日;目前不接圖像,也不支援 Structured Outputs 或微調。
會話建立後,用 session.started 確認通道就緒,再開口。需要旁路監控或熱改指令時,加一條伺服器端 sideband WebSocket,音訊仍走主連線。轉寫、關鍵詞偏置和輪次偵測是內建的,不必再疊一層 STT。
GPT-6 Astra:Agent 後端怎麼接
Astra 是文字推理旗艦,模型 ID gpt-6-astra,走 Responses / Chat Completions / Bedrock,不走 Live 會話本身。企業 ChatGPT 工作區預設關閉,要管理員打開。API 報價約為每百萬輸入 token 10 美元、每百萬輸出 50 美元;符合條件的客戶可開 Zero Data Retention。
接到語音產品裡時,Astra 只應出現在委託設定裡,而不是再開一條並行的聊天補全去搶同一段對話。官方給了兩種委託:
| Responses 委託 | Client 委託 | |
|---|---|---|
| 誰準備上下文 | GPT-Live 把會話上下文交給你選的 Responses 模型 | 你的應用自己拼歷史、記憶和業務狀態 |
| 誰跑工具循環 | OpenAI 按會話裡的 delegation.responses 跑 |
你自己路由模型、回退、預算和檢查點 |
| 結果回語音前 | 可直接回給 Live-1 說出來 | 你可以先校驗、脫敏、合併或丟棄 |
| 適合 | 先跑通、工具面不複雜 | 已有 Agent 框架,或必須審核再說出口 |
建立會話時就要選定模式;中途改模式會報 immutable_field_update,只能新開。Responses 委託支援 function 和 web_search,以及後端模型自帶的 reasoning / text / max_output_tokens。自訂函式仍由你的伺服器執行,並做權限和確認。需要更低延遲時,可把 delegation.responses.service_tier 設為 priority(若專案已開通 Fast)。
Astra 的安全邊界沒有因為「接到語音裡」而自動變鬆。公開版仍拒絕高階進攻任務;企業工作區預設關閉。把高權限 Agent 掛到日常電腦上的代價,見 Astra 安全隱憂 和 權限交出決策。
三種落地組合:先選場景再選模型
官方自己也寫了:排班、查單用便宜後端,複雜客訴再升到 Astra。不要預設「語音產品 = 全程 Astra」。
| 組合 | 語音層 | 後端 | 先用在哪 | 別用在哪 |
|---|---|---|---|---|
| A. 純對話 | GPT-Live-1 | 不委託,或只開 web_search |
陪練、導覽、口播 FAQ | 要改訂單、動倉庫、碰支付 |
| B. 高量查詢 | GPT-Live-1 | Terra / Luna + 唯讀工具 | 物流狀態、預約改期、庫存查詢 | 要長鏈規劃和寫操作 |
| C. 語音 Agent | GPT-Live-1 | GPT-6 Astra + 審核過的寫工具 | 複雜客訴、多步辦理、需推理的排障 | 把生產金鑰和日常桌面綁在一起 |
組合 C 才需要按 AI Agent 基礎設施分層 把身分、磁碟和日誌拆開。24 小時常駐的編碼 Agent 同樣不要和語音會話共用一份 .env,見 24 小時 AI Coding Agent 部署。
遷移順序
已有 Realtime 流水線:先對照打斷和首音延遲,再遷會話建立。已有文字 Agent:先走 Client 委託,把現有 harness 接在 Live-1 後面,不要重寫工具層。全新產品:從 Responses 委託 + 組合 B 起,場景證明需要再升 Astra。
API 實戰:WebRTC + Responses 委託
最小可用鏈路是:瀏覽器採集麥克風 → 你的 HTTPS 伺服器用專案金鑰建立 Live 會話並交換 SDP → 媒體軌出聲 → 資料通道收轉寫和委託事件。下面這段是官方 Session 設定的 Astra 版本——文件範例預設寫 gpt-5.6-terra,旗艦語音 Agent 再換成 Astra。
/** @type {import("openai/resources/live/live").SessionConfig} */
export const session = {
model: "gpt-live-1",
instructions: "你是客服语音助手。寒暄、澄清、报进度自己说;查单、改约、退款必须委托后端。",
delegation: {
type: "responses",
responses: {
model: "gpt-6-astra",
instructions: "只处理已授权的订单查询与改期。写操作先走函数,等应用确认后再继续。",
tools: [
{ type: "web_search" },
{
type: "function",
name: "lookup_order",
description: "按订单号查询只读状态",
parameters: {
type: "object",
properties: { order_id: { type: "string" } },
required: ["order_id"]
}
}
],
tool_choice: "auto",
parallel_tool_calls: true
}
}
};
伺服器側用專案金鑰呼叫 POST /v1/live/sessions,把瀏覽器的 SDP offer 換成 answer,再回給 RTCPeerConnection。金鑰和 Session 設定都不要離開這台伺服器。函式真正執行時,從巢狀的 response.output_item.done 讀取 call_id / name / arguments,跑完授權操作後把結果作為 Responses item 追加回去。終端快照裡的 response.output: [] 不代表沒有待處理的函式呼叫。
# 伪代码:可信服务器上交换 SDP,切勿把 OPENAI_API_KEY 下发到浏览器
import os, requests
def create_live_session(sdp_offer: str, session_config: dict) -> str:
r = requests.post(
"https://api.openai.com/v1/live/sessions",
headers={
"Authorization": f"Bearer {os.environ['OPENAI_API_KEY']}",
"Content-Type": "application/sdp",
},
params={"model": "gpt-live-1"},
data=sdp_offer,
timeout=20,
)
r.raise_for_status()
return r.text # SDP answer → 回给浏览器 setRemoteDescription
會話進行中可用 session.update 熱改後端模型、指令和工具,不必重連。把 delegation 設為 null 會切到 Client 模式,且不能把已經在跑的 Responses 會話改回去。旁路監護可以用 session.instructions.append(delegation_id: null)把對話扳回來,這只影響 Live 模型,不會改 Astra 提示,也不會取消已經在跑的委託。
兩件容易誤判的事
後端 response.completed 不等於使用者已經聽見答案——要以 Live 的輸出轉寫和音訊為準。使用者打斷助手,也不等於背景查單已經停掉。任務狀態必須由你的應用記帳。
帳單、限流和隔離
語音和推理是兩張帳單。Token 單價怎麼比,見 Token 價格對照;這裡只記和 Live + Astra 綁在一起時會漏算的部分。
| 項目 | 怎麼計 | 開發者容易漏的 |
|---|---|---|
| GPT-Live-1 語音 | 0.05 美元 / 分鐘,按秒 | 使用者沉默、助手說話、打斷後的空檔都算會話時長 |
| Astra / Terra / Luna | 按 Responses 的輸入 / 輸出 token | 每次委託都是一筆獨立推理;並行工具會疊加 |
| web_search 與函式 | 按工具報價 + 你自己的基礎設施 | 函式失敗重試會重複打到 Astra |
| 並行會話 | Tier 配額,不是 token 配額 | 示範頁開著不關,會先打滿 25 路而不是先燒光餘額 |
隔離清單和安全文是同一套,只是語音產品多了一條「會話常駐」:
- 金鑰只在伺服器。 瀏覽器只提交 SDP 和播放音訊。
- 寫工具預設要人確認。 查單可以自動;退款、改庫存、推程式碼必須過你的確認關。
- Agent 身分和日常桌面拆開。 高權限函式、Git token、生產
.env放到獨立 Cloud Mac 節點,主力電腦只審紀錄和合併。 - 日誌要能回答三句。 哪次 Live 會話、哪次委託、改了什麼。做不到就還沒有稽核。
- 企業工作區保持預設關閉。 需要再用管理員打開;個人訂閱也不要把 Astra 一次性接到生產倉庫。
正確理解:GPT-Live-1 降低的是說話成本,不是爆炸半徑。常見誤判是「語音層很貴所以全程開 Astra,一次委託解決」——更穩的做法是組合 B 接量,組合 C 接難,並且不在筆電上跑寫操作。
常見問題
GPT-Live-1 和 GPT-6 Astra 是同一個模型嗎?
不是。Live-1 是全雙工語音前端;Astra 是文字推理與工具後端。官方建議配對使用,而不是讓一個模型同時幹兩件事。
應該從 Realtime API 立刻遷到 GPT-Live-1 嗎?
瀏覽器和全新語音產品優先遷。已經穩定的 Realtime 流水線可以先對照延遲和打斷再遷。換委託模式要新開會話,不能熱切換。
語音會話會不會把 Astra 的 token 帳單一起算進去?
不會混在一筆裡。語音層按秒計費,約每分鐘 0.05 美元;Astra 和工具按各自的 Responses 報價另算。
API 金鑰能不能直接放進前端頁面?
不能。專案金鑰必須留在可信伺服器。瀏覽器只提交 SDP,由伺服器呼叫 POST /v1/live/sessions 換回應答。
ZavCloud Developer Infrastructure
把語音 Agent 的執行面放到獨立 Mac 節點
瀏覽器只說話,金鑰和寫工具留在伺服器
按天租用獨享 Mac mini,給 Astra 單獨的使用者目錄和磁碟