打造大規模即時語音體驗的關鍵

回應時機、打斷、沉默,以及中斷後如何恢復對話,和對話內容本身一樣,都會影響整體體驗。

重點摘要

  • 即時語音讓人們能以截然不同的方式與 AI 應用程式互動。使用者不必打字或操作選單,只需自然說話,就能收到節奏自然且帶有情緒脈絡的回應。

  • 打造出色的即時語音體驗,關鍵在於協調即時進行的互動。真正的產品工作由此開始。即時體驗既直接又宛如真人互動;要打造能維持這種感受的應用程式,是另一種工程挑戰。

  • 模型只是系統的一部分。正式環境中的應用程式需要原生支援語音的基礎架構、明確區分對話流程與深度推理,並透過事件驅動控制來管理持續進行的工作階段。

  • 目前大部分尚待克服的難題,都集中在防護機制與評估。安全檢查必須跟上即時音訊的速度,而時機、語氣與對話流程等稍縱即逝的對話特質,很難用傳統評估策略衡量。

前言:作為產品介面的即時語音

目前多數具備語音功能的 AI 應用程式仍以相同方式運作:接收語音、轉成文字,由模型思考,再由合成語音讀出答案。這確實可行,但互動起來仍明顯像是一連串的處理流程,而不是真正的對話。

即時語音改變了這一點。使用者可以自然說話,並收到帶有節奏、語氣與情緒脈絡的回應。這種體驗比串接式語音轉文字處理流程更快速流暢,感覺更像與真人交談,而非操作系統。

我們已看到它開創了流程式架構難以支援的產品應用場景。即時語音智慧體可以處理客服互動,省去原本冗長又受限的互動式語音回應 (IVR) 選單與部門轉接。它們可以提供指導、協助新手上手、跨媒介支援無障礙需求,還有更多用途。只要口語對話優於文字介面,就值得打造即時語音功能。

串接式與即時語音:底層運作方式有何不同

大多數語音應用程式都採用所謂的「串接式方法」:由各自獨立的模型串接成一套處理流程,分別處理語音轉文字、語言處理與文字轉語音。這些系統運作良好,也開創了廣泛的機會,但音訊只存在於流程的輸入與輸出端。各自獨立的步驟形成固定流程並增加延遲,使互動不如真實對話自然。

即時語音採取不同的方法。它不依賴不同模型分別聆聽、思考與說話,而是由單一模型原生處理這三項工作,同時理解並產生音訊與逐字稿。輸入與輸出持續進行,讓系統能以自然的時機和帶有情感的方式回應,維持即時對話的真實節奏。因此,時機、語氣與中斷處理成為產品的核心要素。

比較串接式語音處理流程與即時語音模型的圖表;後者可直接從使用者音訊輸出音訊與逐字稿。

即時體驗之所以吸引人,是因為它直接迅速;之所以困難,是因為所有環節都必須同步進行。要支援這種體驗,光有快速準確的音訊生成還不夠。真正困難的是其他所有環節。模型在即時工作階段中運作;周邊的一切(狀態、安全、協調與控制)也必須以相同的即時速度與對話同步運作。

在串接式語音應用程式中,輪流對話會形成清楚的一來一往結構。使用者說話、系統回應,接著進入下一步。即時語音並沒有這種結構。雙方可能同時說話,也可能都不說話,陷入沉默。使用者可能在回應途中打斷,或在系統說完前提出後續問題。中斷不再是邊緣案例,而是核心互動模式。

正是這種模式讓即時應用程式從根本上成為協調問題,也使模型周邊的系統與模型本身同等重要。

正式環境需要具備什麼

若要大規模支援這類系統,就必須針對即時互動進行設計;成功進入正式環境的系統,通常都具備以下三個部分。

原生支援語音的基礎架構

即時語音工作階段需要處理音訊串流、輪流發言、中斷、連線生命週期與智慧體執行。視應用程式的部署位置而定,可能也需要支援電話通訊。這些都是體驗的基礎,也是擴展應用程式的核心。

第一項要求是原生支援語音的工作階段層。即時通訊 (RTC) 框架提供一個環境,讓應用程式管理參與者、串流音訊,並在電話通訊環境中執行智慧體。根據我們的經驗,Livekit 特別實用;它提供低延遲的 WebRTC 技術堆疊,且內建高品質降噪與抖動抑制功能。自行實作這一層所增加的複雜度通常不值得。

將說話與思考分開(至少目前如此)

即時語音的多智慧體架構,根本目的在於分離不同職責。

即時語音模型非常擅長串流對話音訊,但並未針對深度推理最佳化。工具呼叫、檢索或結構化決策等任務,交由不同模型執行會更有效。

一種實用的模式是回應者與思考者架構

回應者就是即時語音智慧體。它負責維持即時互動:聆聽、說話、處理中斷,以及保持對話流暢。其設計優先考量回應速度、清晰度與情緒連貫性。

回應者與思考者架構圖:使用者音訊會傳送至回應者,由回應者輸出音訊;思考者則協調工具,並將脈絡回傳給回應者。

思考者是另一個獨立智慧體,由具備推理能力的模型驅動。它在主要互動流程之外運作,負責工具使用、檢索與規劃等任務。回應者可在需要時呼叫它,再將結果融入對話。

在某些情況下,思考者可能直接負責推理。在其他情況下,它也可能負責協調一組專門執行特定任務的智慧體。核心概念是由更適合推理任務的模型處理這類工作。

好處很簡單:回應者可以保持快速、自然且專注於對話,思考者則處理需要更多時間、脈絡或結構的工作。

未來前沿模型的發展或許會讓這種做法不再必要,但就目前而言,我們發現此模式的表現一直優於單一智慧體方法。

事件驅動控制

即時語音系統本身就會持續產生事件流。

使用者開始說話、停頓或打斷。逐字稿會逐步更新。回應會持續產生並以串流方式輸出。外部結果陸續傳入。工作階段內的條件不斷變化。這些都可擷取、串流並儲存為關鍵事件;正是這些事件形成了當前的特定對話狀態。缺少這些事件,我們就無法進行精細且有針對性的介入。

事件驅動方法提供了清楚的管理方式。系統會在事件發生時加以擷取、更新工作階段狀態,並觸發適當的後續動作。

輕量處理常式可維持即時處理路徑的回應速度;較複雜的工作,例如更新狀態機、記錄指標、移除敏感資訊、更新資料庫及退出工作階段,則以非同步背景工作觸發。

隨著功能增加,這類背景工作的數量可能迅速成長。即使只是小幅產品變更,也可能引入新的事件流程與相依關係。妥善設計處理並行作業的架構很重要,才能讓系統在演進時仍然容易理解且可靠。

這種事件驅動方法也能處理一項重要的產品課題:塑造對話本身。即時音訊系統不只產生回覆,還會管理節奏、處理沉默與中斷,並決定工作階段該如何及何時結束。這些行為都是產品體驗的一部分,因此需要明確設計。

當工作階段狀態隨對話輪數、經過時間或使用者行為改變時,系統可以適時向回應者提供具體指引。例如,接近工作階段上限時,可提示智慧體協助使用者收尾;若互動停滯,則可提供說明。這些介入很輕量,卻能讓整體體驗更有設計感,也更加連貫。

設計良好的系統會清楚掌握工作階段狀態:誰正在說話、對話進展如何,以及已符合哪些條件。事件流會持續更新此狀態,讓系統能在適當時機提供適當指引。

防護機制必須跟上即時互動的速度

面向使用者的 AI 不能沒有防護機制。它們負責管理安全、合規、防止濫用與可靠性。在輪流互動的系統中,有幾個明確的執行時機:使用者說完話後,或回應送出前。

即時語音消除了大部分這類方便的檢查點。使用者輸入會持續傳入。音訊輸出可能已開始串流。完整逐字稿往往落後於實際聲音。如果系統等到訊息完整後才檢查,對話便不再有即時感。

防護機制反而需要與對話同步運作,才能保有宛如真人互動的感受。一種做法是將音訊串流至緩衝區,同時在逐字稿片段可用時以非同步方式評估,讓安全檢查能以近乎即時的速度執行,又不會阻礙互動

比較兩種防護機制的圖表:即時防護機制在工作階段中檢查即時音訊與逐字稿片段;輪流互動式防護機制則在回應前後檢查輸入與輸出。

防護機制一旦觸發,系統便可依當下脈絡作出回應,例如引導對話轉向、調整行為,或在適當情況下結束工作階段。如此可確保防護機制即時運作,同時不損及使用者體驗。

即時評估並不容易

評估即時對話系統最困難之處,在於某些最重要的特質(時機、中斷、流暢度與語氣)無法只靠逐字稿測試掌握。

標準評估流程會向系統輸入真實情境、觀察輸出並加以評分。對文字系統或串接式音訊系統而言,這很直接:輸入文字,再檢查輸出的文字。在即時系統中,輸入是即時音訊,而最重要的對話互動特性往往體現在時間層面:智慧體如何處理重疊語音、回應有多快,以及如何從中斷中恢復。

人工測試(直接與智慧體交談)能掌握這些特質,卻難以擴展。以逐字稿為基礎的自動化測試可以擴展,卻會抹除區分即時體驗優劣的關鍵訊號。

沒有任何單一方法足以應付一切。務實的答案是採用多層方法:

  • 智慧體對智慧體評估:讓第二個即時智慧體依指示扮演特定使用者角色,與受測系統交談。再由第三個擔任裁判的 LLM 為互動評分。這能大規模測試完整的音訊路徑,包括時機與中斷處理。

  • 非功能性指標:首次音訊輸出時間與逐字稿情緒分析,可作為對話品質的量化替代指標。

  • 人工質性審查:對於找出自動化指標遺漏的問題仍不可或缺,尤其是語氣與自然度方面。

沒有任何單一方法能涵蓋一切。要將即時智慧體部署到正式環境,必須結合這三種方法;即使如此,即時音訊評估工具與文字型 AI 相比仍不成熟。

結論

即時語音改變了產品的樣貌。除了言語內容,時機、中斷、沉默與恢復同樣會形塑使用者體驗。

這表示模型只是系統的一部分。正式環境中的即時語音需要原生支援語音的工作階段層、明確區分說話與推理,並以事件驅動方式控制即時工作階段。防護機制仍是延遲瓶頸,但創新的做法可以保留大部分即時體驗。

整套技術中最薄弱的環節仍是評估。目前仍沒有公認的方法,能測試影響即時語音體驗的各項特質,包括回應時機、語氣、中斷處理與對話流暢度。在這類方法出現前,採用這項技術的團隊必須結合自動化測試、智慧體對智慧體測試與人工審查。

作者

Oliver Wood、Sam Smith