目錄(27 節)
- 先分清楚:你要嘅係「真串流」定「近即時」?
- 一個語音 Agent 嘅基本回合
- 回合制嘅優勢
- 五個設計要點
- 要點一:短句切分
- 要點二:邊播邊預取
- 要點三:管好在途任務上限
- 要點四:限流同輪詢節奏
- 要點五:快取重複句
- 同步捷徑:幾時用、點防禦
- 一個示例:預約確認電話嘅時間線
- 失聲保險:文字降級
- 聲線一致性:agent 嘅「臉」
- 狀態管理:對話上下文點影響語音
- 延遲預算:點拆、點量
- 成本同額度:即時場景嘅帳
- 兩種失敗模式,上線前預演一次
- 上線前檢查清單
- 常見問題 FAQ
- 咩先算「夠即時」?
- 可唔可以每句都行同步接口?
- 預取會唔會浪費配額?
- 撞限流應該點做?
- 在途上限 3 個(免費方案)夠唔夠做即時?
- 語音辨識都要即時,點整合?
- 播放端有咩要留意?
- 俾你嘅 Agent 開口講廣東話
即時粵語語音 Agent 架構指南:近即時對話點樣設計
真串流定近即時?短句切分、預取、快取三招令任務式 API 有即時聽感。
一句答你: 用任務式生成 API 一樣做到「近即時」嘅粵語語音 Agent——關鍵唔係等接口變快,係你嘅架構要識做:短句切分、邊播邊預取、管好在途任務上限、常見句快取,加埋一個語音失靈時嘅文字降級。
Key Takeaways
- 「真串流」(邊生成邊播)同「近即時」(聽感順暢)係兩回事;任務式 API 做到後者
- 短句先係即時感嘅來源:一句 20–60 字符,聽感節奏同生成壓力都最健康
- 預取係核心技巧:播第 N 句嗰陣已經提交咗第 N+1 句
- 在途任務上限按方案分級(免費 3/入門 5/專業 10/工作室 20),過期請求要識取消
- 同步捷徑適合 ≤300 字符短句,但資源未預熱時會回 503(fail closed),架構要有任務式後備
- 撞 429/503 唔好死磕:讀 Retry-After、指數退避、降級出文字
先分清楚:你要嘅係「真串流」定「近即時」?
講「即時語音 Agent」,好多人腦入面其實係兩種唔同嘢:
真串流:音頻未生成完就開始播,邊生成邊播,追求字級延遲。 近即時:每句完整生成先播,但句子夠短、流程夠順,用家感覺係「即答」。
對絕大多數客服、語音助手、導覽場景,近即時已經完全夠用——人類對話本身都有 200 至 400 毫秒嘅自然停頓。港嘢 API 係任務式(提交、輪詢、下載),另有 ≤300 字符嘅同步捷徑;呢篇文章講嘅係:喺呢個現實之上,點設計出聽感順暢嘅即時體驗。以下規格以 2026-10 公開文件為準。
一個語音 Agent 嘅基本回合
無論背後幾複雜,一個回合都係三步:
用家講嘢 → 語音辨識 → 理解/回覆生成 → 語音合成 → 播放
語音合成係最後一里路,亦係成條鏈入面最可以「偷時間」嘅一環——因為佢可以同前面嘅工序並行,亦可以拆到好碎。
回合制嘅優勢
你唔使追求字級串流:只要「用家講完至聽到回應」嘅總體感喺一兩秒內,體驗已經及格。時間預算應該點拆?建議你自己逐段量測(辨識幾多、理解幾多、合成幾多、下載幾多),唔好用任何宣傳數字——你自己場景嘅句長、並發同時段先係決定因素。
五個設計要點
要點一:短句切分
即時感嘅第一來源係句子短。20 至 60 字符一句(即日常講嘢一句嘅長度),有三個好處:
- 單句生成快(輸入短)
- 用家好快聽到第一個字
- 出事重做成本細
將回覆生成模組輸出嘅長答案,按標點切成句子流,逐句交語音合成。切法有兩派:句號切(句子完整,但可能仍太長)同逗號切(夠短,但碎片多)。實務建議:先句號切,超過 100 字符嘅「長句」內部再按逗號細拆——兩層切,句子完整度同長度都照顧到。切完最好喺你嘅系統度記返句序,拼接嗰陣按序回復。
要點二:邊播邊預取
播第 N 句嘅時間,就係生成第 N+1 句嘅時間。流水線咁行:
第 1 句:提交 → 輪詢 → 下載 → 開始播
第 2 句: 提交 → 輪詢 → 下載 → 開始播
第 3 句: 提交 → ……
理想狀態係第 N+1 句喺第 N 句播完之前已經喺手。句越短,越容易追到。一條 30 字符嘅句子,播大約 7 至 8 秒——呢 7 至 8 秒,就係下一句嘅生成窗口,通常相當充裕。
要點三:管好在途任務上限
每個方案有並行在途上限:免費 3、入門 5、專業 10、工作室 20。超額提交會回 429(in_flight_limit_reached,回應會話你知上限同現時在途數)。即時場景特別容易撞,因為句子提交得多:
- 自己計數:提交咗未完成嘅任務,唔好超上限
- 過期任務要取消:用家已經行咗嘅回合,佢嗰句合成已經冇意義,用取消接口釋放名額
- 收到 in_flight_limit_reached,唔好即刻重交——等一個任務完成,或者取消最舊嗰個
要點四:限流同輪詢節奏
提交接口有每分鐘限流(預設 60 次,開金鑰時可以調),滑動 60 秒窗口、只計成功請求;回應會帶 X-RateLimit 系列 header,撞限流會有 Retry-After。好消息係:輪詢同下載唔計限流——你可以放心 poll。節奏建議 2 至 5 秒退避,快完成嗰陣密啲。錯誤碼逐個點解讀,我哋有專文(粵語 TTS API 錯誤碼大全)。
要點五:快取重複句
每個 agent 都有一批講極都係嗰句嘢:歡迎語、「唔好意思,我聽唔清楚」、常見答覆。呢啲句生成一次、音頻存底,回合開波即刻播,連生成時間都慳埋。
快取設計三個細節:
- key 點定:用「slug+情緒+文字內容」做快取鍵,任何一樣唔同都係新條目
- 存邊度:近播放端存(網頁記憶體、應用本地),唔好每次回中心攞——否則慳咗生成時間,蝕咗傳輸時間
- 幾時失效:台詞版本升級、換聲線 slug、情緒調整——三樣任何一樣變,對應條目作廢
快取命中率係即時場景最着數嘅指標:每個命中,係整整一句嘅生成時間同配額。
同步捷徑:幾時用、點防禦
≤300 字符、圖庫聲線或設計聲線,可以用同步接口:一次過回音頻檔,慳咗輪詢回合,好啱短句即時場景。
但有一個防禦位一定要有:同步專用資源未預熱時,接口會回 503(pool_cold),而且係「fail closed」設計——唔會靜靜幫你轉任務式。所以你嘅代碼要自己兜:
try 同步接口
撞 503 pool_cold → 轉任務式(提交→輪詢→下載)
撞 429 → 照 Retry-After 等
短句場景我建議一開始就預咗呢條後備路徑,上線前兩條路都行過一次先穩陣。
一個示例:預約確認電話嘅時間線
將成套概念落地:一個打俾客人確認聽日預約嘅電話 agent,時間線大概咁行:
0.0s 客人接聽
0.0s 播快取開場白(預生成:「你好,呢度係XX,同你確認聽日嘅預約」)
4.0s 客人回應 → 辨識+理解(呢段時間冇生成負擔)
5.5s 回覆第一句(「你聽日下晝3點,喺中環分店」)——短句,提交後好快就緒
9.0s 播第一句;同一時間第二句(「需唔需要改期?」)已經喺預取
12.0s 客人話 OK → 確認句(快取命中)即刻播
14.0s 結束語(快取),收線
留意三樣嘢:開場白同結束語係快取(零等待);中段對答靠短句+預取接住;客人思考嗰幾秒,正好係系統做工嘅時間。近即時嘅祕訣就係呢啲安排,冇魔法。
失聲保險:文字降級
語音合成呢環出事(連續 5xx、限流、超時),agent 唔應該死機。降級順序建議:
- 播快取嘅通用回應(「唔好意思,請再講一次」)
- 退化出文字(畫面顯示,或者將句子縮短再試一次合成)
- 記錄事故,下一回合恢復
用家對「文字兜底」嘅容忍度,遠高於對「agent 無反應」。仲有一個加分位:降級觸發嗰陣喺介面講一聲(「語音服務有啲擠擁,先用文字同你講」)——透明嘅降級係服務,靜靜哋掛咗先至係事故。降級邏輯同生成邏輯一樣,都要測試:人手關掉合成通道,行一次全流程,確認文字路徑真係出到嚟。測過嘅降級先算數,未測嘅降級只係心愿。
聲線一致性:agent 嘅「臉」
即時對話入面,聲線就係 agent 嘅身份。兩個提醒:
- 鎖死圖庫 slug:設計/複製聲線係單次請求性質唔會存底,跨回合一致性要用圖庫聲線
- 語氣要有個性但唔好過火:情緒參數九種(happy、sad、angry 等),客服場景多數 neutral/gentle 為主,重要位先加情緒。點調教先自然,睇情緒控制指南
agent 整體點由零搭起(包括辨識同對話管理),可以睇AI 粵語語音助手指南;想直接喺現有 agent 框架度接入,港嘢提供 MCP 接入(用 MCP 教 agent 講廣東話)。由頭認識成個語音生成體系,睇廣東話 TTS 完全指南。
狀態管理:對話上下文點影響語音
語音層本身無狀態——每個請求自包含。狀態都喺你嗰邊:對話歷史、用家偏好、當前場景。兩個實務提醒:
- 上下文裁剪:回覆生成模組唔使孭住全部歷史;裁走遠古回合,回應短咗,語音合成跟住快
- 角色不變量:同一個對話 session 由頭到尾一個 slug,中途換聲等於換人——要換就喺明確嘅場景邊界換
延遲預算:點拆、點量
近即時體驗係一條加法題:辨識時間+理解時間+合成時間+下載時間+播放啟動時間。你要做嘅係:
- 逐段打點量測:喺每個工序前後記時間戳,跑 50 至 100 個真實回合,睇分佈唔好只睇平均——尾延遲(p95)先係用家嘅真實感受
- 搵最長嗰段先落手:多數情況輪到合成可以拆(短句化)或者可以預取
- 設一個體驗預算:例如「講完至聽到第一個字 ≤1.5 秒」,超預算嘅回合記錄原因,逐步收窄
唔好用任何宣傳數字做規劃——你嘅句長分佈、你嘅並發、你嘅時段,全部影響實際表現。量測嗰陣記得分開高峰同非高峰時段,兩組數字話埋你知幾時要啟動降級。
成本同額度:即時場景嘅帳
即時對話嘅用量特徵係「碎」:句多、每句短。管理三樣嘢:
- 配額同 playground 共用:測試同正式計同一份額度,開發期用沙盒金鑰分開
- 在途上限=方案等級:並發用家多,上限先係真正嘅容量指標——免費 3、入門 5、專業 10、工作室 20
- 快取命中率直接慳錢:每個命中快取嘅回合,係零生成成本;歡迎語、常用確認句呢啲「必然句」優先入快取
兩種失敗模式,上線前預演一次
- 慢,但冇死:合成延遲升高(例如高峰期排隊)。體驗對策:播放端有個「等緊」提示或者文字浮現,用家知道系統仲喺度
- 死,但唔靜:連續錯誤。體驗對策:文字降級+快取回應,同時警報去到你嘅監察
兩種都應該喺上線前人手觸發一次,確認降級路徑真係通——預演過嘅降級先叫降級,冇預演過嘅叫祈禱。
上線前檢查清單
| 檢查項 | 過關標準 |
|---|---|
| 句長分佈 | 9 成句子 ≤100 字符 |
| 預取命中 | 播完上一句時,下一句已經就緒 |
| 在途管理 | 撞 429 時會取消舊任務定傻等 |
| 503 後備 | 同步失敗時自動轉任務式 |
| 文字降級 | 合成全掛時 agent 仲有回應 |
| 聲線一致 | 跨回合同一 slug |
常見問題 FAQ
咩先算「夠即時」?
睇場景。一般對話助手,「用家講完至聽到回應」喺一至兩秒內已經係順暢體驗;客服播報可以寬鬆啲。唔好追絕對數字,用你自己嘅句子長度量測尾延遲,再逐段收窄。量測嗰陣記得分開高峰同非高峰時段——兩組數據會話你知,你嘅瓶頸係自己嘅架構定係時段擁塞。
可唔可以每句都行同步接口?
短句(≤300 字符、圖庫或設計聲線)可以,但要預 503 後備——資源未預熱時同步接口係 fail closed。有字幕(SRT)或複製聲線需求嘅句子,一定行任務式。
預取會唔會浪費配額?
預生成咗但冇播嘅句子,的確會用咗配額。對策:只預取高信心嘅下一句(對話流程固定嘅場景最啱);流動對話就等理解結果確定先交;唔要嘅任務用取消接口釋放。量一量自己嘅預取命中率——低過五成,即係你嘅對話流動性高,應該收窄預取窗口,改為「理解確定先提交」。
撞限流應該點做?
照 Retry-After 等之後重交,唔好即刻重試。留意限流係滑動 60 秒窗口、只計成功請求;真係長期貼住 60 次/分鐘,就考慮開金鑰時調高限流或者升方案(在途上限同步升)。
在途上限 3 個(免費方案)夠唔夠做即時?
單一個對話流,2 至 3 個在途已經夠行預取;唔夠嘅係多個用家同時共用同一把金鑰。多併發場景建議專業方案(10 個)或工作室(20 個)。判斷方法好簡單:記錄一日入面 in_flight_limit_reached 嘅次數——出現得密,就係升級訊號。
語音辨識都要即時,點整合?
辨識同合成係兩件事,呢篇聚焦合成嗰環。完整助手(辨識+對話+合成)嘅搭建順序,睇 AI 粵語語音助手指南一文,入面有逐層接入嘅建議。簡單講排序:先驗合成(最快見效果),再接理解,最後先做辨識——倒轉行,好容易喺中間一步失去動力。
播放端有咩要留意?
三樣:格式(mp3 通用、wav 啱後製同 IVR)、自動播放政策(瀏覽器通常要一次用戶互動先准出聲,開場白要由 click 觸發)、同緩衝(先載先播,唔好即載即播——網絡一抖就斷)。播放端係用家耳仔直接接觸嘅位,生成做得幾好,播得差都前功盡廢。最後一個位係音量:生成批次之間嘅响度可能有微差,播放端做一次統一增益,體驗先完整。
[!CTA]
俾你嘅 Agent 開口講廣東話
免費開戶即有每月 5,000 字符試底,一段歡迎語嘅時間就驗證到成條生成鏈。
相關文章
交通路線廣播製作:改路線唔使成批重錄
交通廣播成本樽頸唔喺「錄」,而喺「改」。用「模板+變數」做法,站名同方向分開管理,路線一改只重新生成受影響嘅句子,仲可以批量出一整條線,附寫作要點同規格。
2026年10月9日
口述影像粵語製作:影片睇唔到都聽得明
口述影像係喺對白空檔之間用聲音描述畫面,令睇唔到嘅觀眾都跟得上故事。呢篇講粵語口述稿四原則、讀音同留白要點,同由分場到混音嘅 TTS 製作流程。
2026年10月9日
粵語沉浸學習語音:家庭課室自學三場景嘅聲環境設計
粵語沉浸式學習完整方案:可理解輸入原則、家庭親子沉浸三件套、課室全粵語時段設計、成人自學三層環境,AI 粵語語音生成沉浸材料嘅分齡語速同黃金比例設計。
2026年10月8日