AI News HubLIVE
站內改寫3 分鐘閱讀

使用Amazon Nova Sonic設計可擴展的語音代理:多代理、工具與會話分段

本文介紹瞭如何使用Amazon Nova Sonic、Amazon Bedrock AgentCore和Strands BidiAgent構建可擴展、可維護的語音代理。文章詳細闡述了三種架構模式:通過AgentCore Gateway直接調用工具、使用子代理進行額外推理、以及通過會話分段實現超低延遲。每種模式都分析了權衡和最佳實踐,以幫助組織實現快速、自然、可靠的語音體驗。

來源AWS Machine Learning Blog作者: Lana Zhang

設計可擴展語音代理的模式對於需要提供快速、自然且可靠語音體驗的組織至關重要。許多團隊面臨高延遲、管理實時音頻以及協調多個代理處理複雜工作流的挑戰。

本文介紹如何使用Amazon Nova Sonic、Amazon Bedrock AgentCore和Strands BidiAgent構建可擴展且可維護的語音代理,以高效應對這些挑戰,實現更靈敏、更智能的客户互動。

我們將探討三種流行的語音代理架構模式,重點分析其權衡和最小化延遲的最佳實踐。

構建塊概覽

在深入架構模式之前,先簡要介紹本文示例解決方案中使用的三個關鍵組件:

  • Amazon Nova Sonic:一種基礎模型,可為生成式AI應用創建自然、類人的語音到語音對話。用户可通過語音實時與AI交互,具備理解語氣、自然對話流程以及執行操作的能力。
  • Amazon Bedrock AgentCore Runtime:一個無服務器託管環境,用於AI代理。您將代理打包為容器,部署到AgentCore Runtime,它負責處理擴展、會話隔離和計費。對於語音代理,它提供雙向WebSocket流(帶SigV4認證)、微虛擬機級別會話隔離以避免嘈雜鄰居延遲峯值、用於共享工具託管的AgentCore Gateway(使用模型上下文協議MCP)、跨會話的持久內存以及針對語音特定指標的遙測。
  • Strands Agents:一個用於構建AI代理的開源框架。其BidiAgent類是將Nova Sonic與應用程序集成的選項之一,它管理雙向流生命週期、路由工具調用並處理會話管理。

三種集成模式:工具、代理即工具(子代理)與會話分段

現代語音系統不再構建單一全功能代理,而是越來越多地由工具驅動代理、充當工具的子代理以及隔離提示、內存和權限的會話分段策略組成。這些模式允許團隊將大型助手分解為更小、更專業且可複用的組件,同時保持清晰的安全邊界。

在運行以下示例之前,請安裝Python和所需依賴項(包括strands-agents和boto3),並確保IAM設置具有所需服務的必要權限。完整示例請參閲GitHub倉庫。

模式1:AgentCore Gateway——低延遲工具選擇

工具調用是指語音代理將輸入發送到外部函數或服務,處理並返回輸出。它使代理能夠快速安全地執行任務,如查詢數據庫或觸發服務,無需額外的推理步驟。

使用AgentCore Gateway,您可以將現有業務邏輯公開為工具,Nova Sonic可在對話中直接調用這些離散函數。語音模型選擇調用哪個工具,傳遞參數,獲取結果並語音回覆。模型與工具之間沒有中間推理層。

AgentCore Gateway將MCP服務器託管為管理端點。MCP是協議,AgentCore Gateway是運行它們的AWS功能。語音代理通過網關ARN進行連接。

當用户説“我的賬户餘額是多少?”時,Nova Sonic:理解語音意圖,從可用MCP工具中選擇get_account_balance,使用正確參數調用工具,然後語音回覆結果。

權衡:Nova Sonic做出所有決策。如果工具調用需要多步驗證、條件邏輯或鏈式操作,推理負擔完全落在語音模型的系統提示上。對於簡單工具這沒問題,但對於複雜工作流則可能脆弱。

模式2:子代理——通過解耦代理進行額外推理

在子代理或代理即工具模式中,現有業務邏輯運行在自主代理中,每個代理擁有各自的模型、系統提示、工具和推理能力。語音編排器將整個任務委派給這些子代理,而不是調用單個工具。

從語音代理連接到子代理有多種方式:本地代理即工具(子代理在進程內運行,封裝為@tool函數,無網絡跳轉)和遠程代理通過A2A協議(子代理作為獨立A2A服務器部署在AgentCore Runtime或遠程服務器上,通過網絡調用)。A2A是代理間通信的開放協議,支持不同框架構建的代理共享上下文和推理。

權衡:每次子代理調用都會增加延遲:子代理自身的模型推理加上其工具調用。在語音對話中,這意味着在子代理推理期間會有更長的靜默。建議使用較小、高效的模型(如Amazon Nova 2 Lite)作為子代理以減少延遲。Amazon Nova 2 Sonic支持異步工具調用,因此對話可以在工具後台運行時自然繼續。

模式3:會話分段——超低延遲

第三種方法不直接對應MCP或子代理模式,但專為延遲是首要關注的語音場景而設計。它不是委託外部工具或子代理,而是將對話劃分為邏輯階段,每個階段使用獨立的Nova Sonic會話、系統提示和工具集。當對話從一個階段轉換到下一個階段(例如從身份驗證到賬户查詢)時,關閉當前會話並打開一個具有不同提示和工具的新會話,在同一個WebSocket連接內完成。每個子語音代理可以使用自己的MCP網關、工具甚至子代理——關鍵區別在於它使用集中的提示和最小的工具表面,從而減少推理開銷和延遲。

例如,一個銀行語音助手包含三個階段:身份驗證、賬户管理和抵押貸款查詢。與其加載一個包含所有工具的龐大系統提示,不如將每個階段作為獨立的Nova Sonic會話運行。

權衡:會話分段無法跨階段共享內存;每個段需要從頭開始處理。在簡單對話中,會話創建和啓動開銷可能超過收益。建議在對話邊界清晰且階段明確隔離的場景中使用。