即時語音為人們提供一種截然不同的方式,與 AI 驅動的應用程式互動。用戶無需打字或瀏覽選單,只需自然說話,便可獲得節奏即時且帶有情感語境的回應。
要打造出色的即時語音體驗,關鍵在於協調現場互動。真正的產品開發工作由此開始。即時體驗迅速而逼真;要建立能持續維持這種體驗的應用程式,是一項獨特的工程挑戰。
模型只是系統的一部分。正式應用程式需要原生支援語音的基礎設施,清楚分隔對話流程與深層推理,並透過事件驅動機制隨工作階段進展加以控制。
其餘大部分難題都集中於防護機制及評估。安全檢查必須跟上現場音訊,而時機、語氣及對話流暢度等稍縱即逝的特質,難以透過傳統評估策略衡量。
現今大部分語音 AI 應用程式的運作方式仍然相同:先接收語音並轉為文字,由模型思考,再以合成語音讀出答案。這種方式行得通。但互動感受如實反映其本質:這是一套流程,而非真正的對話。
即時語音改變了這一點。用戶可以自然說話,並獲得具備節奏、語氣及情感語境的回應。這種體驗比串接式語音轉文字流程更快、更流暢,感覺更像與人交談,而非操作系統。
我們發現,這為產品開拓了流程式架構難以支援的應用場景。即時語音智能代理可以處理客戶服務互動,免卻冗長而受限的互動式語音應答選單及部門轉駁。它們亦可提供指導、協助用戶開始使用,並跨媒介提供無障礙支援等。只要口語對話比文字介面更具優勢,便值得建立即時語音功能。
大部分語音應用程式採用所謂的「串接式方法」:以多個獨立模型組成流程,分別處理語音轉文字、語言處理及文字轉語音。這些系統運作良好,亦帶來廣泛機遇,但音訊只存在於流程兩端。各個獨立步驟帶來固定結構和延遲,令互動不及真實對話自然。
即時語音採用不同方式。它不再依賴不同模型分別聆聽、思考和說話,而是由單一模型原生處理三者,同時理解和產生音訊與謄本。輸入和輸出持續進行,讓系統能以自然時機作出帶有情感的回應,維持現場對話的真實節奏。因此,時機、語氣及中斷處理都成為產品的核心部分。


即時體驗的吸引力來自其迅速直接;難處則在於各方不會依次等候。要支援這種體驗,僅有快速準確的音訊生成並不足夠。真正困難的是其餘一切。模型在現場工作階段中運作;其周邊一切(狀態、安全、協調及控制)亦須以相同的即時速度,與對話同步運作。
在串接式語音應用程式中,輪流對話提供清晰的一來一往結構。用戶說話,系統回應,然後進入下一步。即時語音沒有這種結構。雙方可以同時說話,也可能雙方都不作聲,出現沉默。用戶可以在回應中途打斷,或在系統說完之前追問。中斷不再是邊緣情況,而是核心互動模式。
正是這種模式令即時應用程式從根本上成為協調問題,也說明為何模型周邊的系統與模型本身同樣重要。
要大規模支援這類系統,必須專為現場互動而設計;能夠投入正式環境的系統通常都具備三個部分。
即時語音工作階段需要處理音訊串流、輪流發言、中斷、連線生命週期及智能代理執行。視乎應用程式的部署環境,亦可能需要支援電話通訊。這些都是體驗的基礎部分,也是擴展應用程式規模的核心。
首要條件是原生支援語音的工作階段層。即時通訊(RTC)框架為應用程式提供一個環境,以管理參與者、串流音訊,並在電話通訊環境中執行智能代理。根據我們的經驗,Livekit 尤其實用,開箱即用地提供低延遲 WebRTC 技術堆疊,以及高質素的噪音消除和抖動抑制功能。自行實作這一層所增加的複雜程度,通常並不值得。
即時語音的多智能代理架構,核心在於分離不同職責。
即時語音模型非常擅長串流對話音訊,但並非針對深層推理而優化。工具調用、檢索或結構化決策等任務,交由另一個模型執行會更有效。
一種實用模式是回應者—思考者架構。
回應者是即時語音智能代理。它負責維持現場互動:聆聽、說話、處理中斷,以及保持對話流暢。其設計以回應速度、清晰度及情感連貫性為優先。


思考者是另一個智能代理,由具備推理能力的模型驅動。它在主要互動流程以外運作,負責使用工具、檢索及規劃等任務。回應者可在有需要時調用它,並將結果融入對話。
在某些情況下,思考者可以直接處理推理。在另一些情況下,它可以充當一組專門智能代理的協調者。關鍵概念是由更適合推理任務的模型負責這些工作。
好處很直接:回應者可以保持快速、自然且專注,而思考者則處理需要更多時間、情境資料或結構的工作。
未來的前沿模型發展或會令這種方法不再必要,但現階段我們發現,這種模式的表現一直優於單一智能代理方法。
即時語音系統自然會持續產生事件串流。
用戶開始說話、停頓和打斷。謄本逐步更新。回應會持續產生並以串流傳送。外部結果陸續傳入。工作階段內的條件不斷變化。這些資料都可以擷取、串流及儲存為關鍵事件,而正是這些事件形成了當前的特定對話狀態。缺少這些事件,我們便無法作出細緻而具針對性的介入。
事件驅動方式提供清晰的管理方法。系統在事件發生時加以擷取、更新工作階段狀態,並觸發適當的後續操作。
輕量處理程式令即時路徑保持靈敏;較複雜的任務,例如更新狀態機、記錄指標、移除敏感資料、更新資料庫及退出工作階段,則會以非同步背景任務觸發。
隨着功能增加,這些背景任務的數量可以迅速上升。即使是細微的產品變更,也可能引入新的事件流程及依賴關係。針對這類並行處理建立結構完善的架構非常重要,確保系統在演進時仍然易於理解且可靠。
這種事件驅動方式亦可處理一項重要的產品考慮:塑造對話本身。即時音訊系統不只產生回應,亦會管理節奏、處理沉默和中斷,並決定工作階段應如何及何時結束。這些行為都是產品體驗的一部分,應加以明確設計。
隨着工作階段狀態因對話輪數、經過時間或用戶行為而改變,系統可向回應者加入具針對性的指引。當工作階段接近限制時,系統可提示智能代理協助用戶總結;若互動停滯,則可要求它提供澄清。這些介入相當輕量,卻能令體驗更顯用心且連貫。
設計完善的系統會清楚掌握工作階段狀態:誰在說話、對話進展如何,以及哪些條件已經達成。這些狀態由事件串流持續更新,讓系統能在適當時機提供適當指引。
面向用戶的 AI 必須設有防護機制。這些機制負責管理安全、合規、濫用及可靠性問題。在輪流對話的系統中,防護機制有明確的執行時機:用戶發言後,或回應送出前。
即時語音取消了大部分這類從容可用的檢查點。用戶輸入會持續傳入。音訊輸出可能已在串流傳送。完整謄本往往落後於實際聲音。如果系統等到訊息完整後才進行檢查,對話便不再有即時感。
因此,防護機制需要與對話同步運作,維持自然逼真的互動。其中一種做法是將音訊串流至緩衝區,並在謄本片段可用時以非同步方式評估,讓安全檢查能以近乎即時的速度進行,而不會阻礙互動。


防護機制一旦觸發,系統便可根據情境轉移對話方向、調整行為,或在適當情況下結束工作階段。這可確保防護機制即時運作,同時不損害用戶體驗。
評估即時對話系統最困難之處,在於部分最重要的特質(時機、中斷、對話流暢度和語氣)無法透過純謄本測試掌握。
標準評估流程會向系統輸入貼近現實的情境、觀察輸出並評分。對文字系統或串接式音訊系統而言,做法很直接:輸入文字,再檢查輸出的文字。在即時系統中,輸入是現場音訊,而最重要的對話動態都存在於時間維度:智能代理如何處理同時說話、回應有多快,以及如何在被打斷後恢復對話。
人工測試(直接與智能代理交談)能掌握這些特質,卻無法擴展規模。以謄本為本的自動化測試可以擴展規模,卻會移除區分優劣即時體驗的關鍵訊號。
單靠任何一種方法都不足夠。實際做法是採用多層組合:
智能代理對智能代理評估:由第二個即時智能代理按指示扮演特定用戶角色,與受測系統對話。再由第三個擔任評判的 LLM 為互動評分。這可大規模測試完整音訊路徑,包括時機及中斷處理。
非功能指標:首次音訊輸出時間及謄本情緒分析,可作為對話質素的量化替代指標。
人工質性審查:對於找出自動化指標遺漏的問題仍不可或缺,尤其是語氣及自然度方面。
沒有任何單一方法能涵蓋所有範疇。要將即時智能代理部署至正式環境,必須結合以上三種方法;即使如此,即時音訊評估工具仍遠不及文字 AI 的成熟。
即時語音改變了產品的形態。時機、中斷、沉默及恢復對話,與所說的內容同樣影響用戶體驗。
換言之,模型只是系統的一部分。正式環境中的即時語音需要原生支援語音的工作階段層、清楚分隔說話與推理,並透過事件驅動機制控制現場工作階段。防護機制仍是延遲瓶頸,但創新的做法可以保留大部分即時體驗。
整套技術中最薄弱的環節仍是評估。目前尚未有公認方法,可測試令即時語音體驗出色的特質:時機、語氣、中斷處理及對話流暢度。在這類方法出現之前,採用此技術的團隊仍需結合自動化測試、智能代理之間的測試,以及人工審查。