語音智能體最佳實踐
語音智能體最佳實踐
本文彙總語音智能體在選型、調優與上線中的常見做法,幫助你更快得到一個「聽得清、答得準、說得自然」的語音 Agent。各參數的含義與取值範圍見配置指引。
引擎模式怎麼選
先按需求定位模式,再挑模型:
- 追求最低延遲、口語自然 → 即時模型(REALTIME):延遲最低,適合閒聊陪練、語音導覽等對反應速度敏感、話術相對開放的場景。
- 需要強文字能力、工具呼叫、嚴格話術 → ASR-LLM-TTS:延遲最高,文字大模型可控性最高,能穩定接入知識庫、資料庫與工具,適合語音客服、業務辦理等場景;音色由獨立 TTS 決定,便於統一品牌音。
- 模型原生支援語音輸入、想簡化鏈路 → LLM+TTS:延遲中等,省去一段獨立 ASR,由大模型直接「聽懂」語音,鏈路更短。
VAD 與打斷調優
VAD 決定「Agent 什麼時候認為你說完了」,直接影響體驗。按場景取捨:
- 語音客服 / 熱線(要快、可打斷):適當調高語音打斷靈敏度,讓使用者能隨時插話;停頓斷句可略小,縮短應答等待。代價是嘈雜環境下更易被誤打斷。
- 深度問答 / 口播朗讀(要穩、少誤打斷):調低語音打斷靈敏度,停頓斷句適當調大,避免使用者思考停頓時被搶話。
- 嘈雜環境:在即時模型的預設模式下調高音量激活閾值,減少背景雜訊誤觸發。
- 預設模式 vs 語義模式(僅即時模型):追求穩定、可預期的斷句用預設模式;希望 Agent 依據語義判斷使用者是否說完,用語義模式並配合回應速度微調節奏。
建議先用預設值(停頓斷句 500 ms、語音打斷 0.5)體驗,再針對實際錄音逐檔微調,一次只改一個參數。
身分提示詞寫法
語音場景下使用者「聽」而非「讀」,提示詞宜簡潔口語化:
- 明確角色與邊界:是誰、能做什麼、不談什麼。
- 要求短句作答,避免長段落、項目符號、表格等不適合朗讀的結構。
- 約定口語化表達:數字、金額、時間盡量以自然口語念出,減少生硬術語。
- 指定語言與語氣:如「用繁體中文、禮貌簡潔地回答」。
TTS 文字清理
大模型的文字回覆常含符號,直接合成會被「讀」出來。用移除與替換兩項清理:
- 移除:括號
()、方括號[]、書名號《》、星號*、井號#等 Markdown 與排版符號,避免讀出「星號」「井號」。 - 替換為空格:用於需要停頓但不該念出的符號,改善斷句自然度。
- 成對括號作為一個整體填寫(如
()),多個符號用英文逗號分隔。
配合身分提示詞要求模型「不要輸出 Markdown」,雙管齊下效果更好。
歡迎引導與虛擬人形象
- 歡迎語要短、直奔主題,一句話說明身分與用途,例如「您好,這裡是 XX 客服,請問需要什麼幫助?」
- 講話 / 等待形象影片務必首尾幀相連,否則循環時會出現明顯跳幀。講話形象對應「正在說話」,等待形象對應「正在傾聽」。
- 多語言業務記得為每種語言分別設定歡迎語與形象。
通話控制策略
給每通對話設好「兜底」,避免空轉和資源佔用:
- 冷場控制:設定合理的沉默逾時(預設 10 秒)並配一句自然的冷場提示,如「您還在嗎?需要我繼續嗎?」把使用者拉回。
- 自動掛斷:用最大通話時長(預設 600 秒)和最大沉默次數(預設 5 次)兜底,防止無限通話或長時間無人應答的掛線佔用。掛斷提示限 20 tokens 以內,簡短告別即可。
背景音使用注意
- 背景音量不宜蓋過人聲(預設 30,範圍 1~50),過高會拉低辨識準確率與通話清晰度。
- 自訂背景音需為 mp3 且 ≤ 1 MB。
語音辨識品質
- 面向特定領域時,善用 ASR 轉錄指令 提示專有名詞、品牌名、行業術語,顯著改善辨識準確率。
- 使用者語言固定時,語音語言盡量指定而非「自動辨識」,穩定性更好。
- 平台內建語音品質校驗:會自動丟棄過短(不足 1 秒)的音訊,並過濾常見的辨識「幻聽」短語(如「感謝觀看」「歡迎訂閱」等無意義結果),減少誤觸發。這類結果被忽略屬正常現象,無需額外設定。
上線與整合
- 網頁嵌入:將語音智能體作為語音對話元件嵌入網站,參見 Iframe 整合。
- 電話接入:綁定 Twilio 號碼呼入,或透過第三方 SIP 系統轉接呼入,參見電話系統接入操作手冊。
計費與並行
- 語音通話按語音用量扣減點數,點數耗盡會導致來電被拒接,請預留餘量。
- 關注並行通話上限:超限的新來電會被拒接。上線前按預期話務量評估並行需求。
- 通話記錄可在日誌 / 對話記錄中查看,含會話來源、來電號碼、多輪問答與執行時序,便於回溯與最佳化。
