使用Deep Agents和Bedrock AgentCore構建上下文豐富的研究型Agent
本文介紹如何利用LangChain Deep Agents和Amazon Bedrock AgentCore構建一個能夠並行瀏覽網頁、執行資料分析並長期記憶研究結果的競爭情報研究Agent。透過將深度工作委託給隔離的子Agent,有效解決AI研究工作流中上下文視窗受限的問題。
在AI驅動的研究工作流中,一個常見挑戰是深度與上下文之間的權衡。當Agent讀取多個網頁時,其上下文視窗會被原始內容填滿;如果同時執行資料分析程式碼,圖表生成邏輯會與戰略推理競爭有限空間。團隊通常透過手動提示鏈或順序處理來解決這一問題。
更好的方法是將深度工作委託給返回簡潔結果的隔離子Agent。LangChain Deep Agents負責編排,生成專門的臨時子Agent並管理其生命週期。Amazon Bedrock AgentCore為每個子Agent提供基礎設施,包括用於網頁研究的真實瀏覽器MicroVM和用於資料分析的完整Python環境。AgentCore也可作為Deep Agents CLI的原生沙箱提供,使用者可透過執行deepagents --sandbox agentcore直接體驗AgentCore CodeInterpreter。
本文將透過構建一個競爭情報研究Agent來演示這一模式。該演練面向構建多步AI工作流且需要隔離執行環境的開發者。在筆記本的第二部分,您可以使用AgentCore CLI將同一Agent部署到Bedrock AgentCore Runtime,使其作為託管、會話隔離的服務執行。
構建內容
協調Agent接收請求後,首先檢查AgentCore Memory中過往的研究見解。然後並行生成三個瀏覽器子Agent進行研究,每個子Agent在其獨立的AgentCore Browser MicroVM中導航不同競爭對手的網站。當三個子Agent返回結構化結果後,分析性子Agent接收合併資料,使用AgentCore Code Interpreter生成對比圖表和Markdown報告。最後,關鍵見解被儲存到AgentCore Memory供後續會話使用。整個工作流可透過Amazon CloudWatch(透過Amazon Bedrock AgentCore Observability)或LangSmith進行追蹤。
每個子Agent型別僅訪問其特定工具集:研究人員使用瀏覽器工具,分析師使用直譯器工具,協調器使用記憶體工具。
構建Agent
構建該Agent需要配置模型、為每個子Agent型別建立工具包,並使用LangChain Deep Agents將它們組合。
前提條件:AWS賬戶且啟用Amazon Bedrock AgentCore訪問許可權;配置AWS憑證;Python 3.11+;可選CloudWatch Transaction Search、LangSmith賬戶、AgentCore Memory資源及Jupyter notebook。
步驟1:設定模型
以下程式碼配置編排Agent的LLM,示例透過Amazon Bedrock訪問Claude Sonnet。
步驟2:建立瀏覽器工具包
每個競爭對手擁有獨立的BrowserToolkit,提供各自的AgentCore Browser MicroVM,實現完全隔離。當LLM在單輪中發出多個瀏覽器工具呼叫時,工具包處理併發。
每個MicroVM執行透過WebSocket連線的真正Chromium瀏覽器(使用Playwright)。會話是臨時的,幾秒內啟動。session_wait_timeout設定為60秒,以給瀏覽器操作足夠時間完成。
步驟3:建立直譯器工具包
分析性子Agent使用AgentCore Code Interpreter,一個隔離的MicroVM,執行預裝pandas、matplotlib和numpy的完整Python環境。附加庫可透過install_packages工具在執行時新增。
步驟4:新增跨會話記憶(可選)
協調Agent可透過AgentCore Memory工具直接與長期記憶體API互動,積累專業知識。注意,Memory資源必須配置至少一種提取策略(如semanticMemoryStrategy)才能實現長期召回。
步驟5:建立並執行Agent
將元件組合並呼叫Agent。可執行的筆記本包含進度指示器和會話顯示。預計執行時間4-6分鐘(Claude Sonnet),相比順序處理快至3倍。
追蹤與除錯
AgentCore Observability透過Amazon CloudWatch提供多Agent架構的可見性。AgentCore以OpenTelemetry格式發出追蹤和跨度,可在CloudWatch GenAI Observability頁面檢視完整編排層級:協調器執行位於頂層,每個研究子Agent和後續分析性子Agent為子跨度。每個跨度內可檢視工具呼叫的輸入、輸出、時間和令牌使用。每個賬戶需一次性啟用CloudWatch Transaction Search。當Agent託管在AgentCore Runtime時,執行時自動新增OTEL儀器化。
也可使用LangSmith進行端到端追蹤,設定三個環境變數即可啟用。
架構優勢
第一,協調器專注於高階推理,每個研究子Agent內部處理多步瀏覽,僅返回簡明摘要,保持協調器上下文可用。第二,功能之間清晰分離,減少意外工具使用,除錯更有針對性。第三,研究速度更快,三個瀏覽器研究任務並行執行。最後,Amazon Bedrock AgentCore與模型無關且與框架無關,切換模型只需一行程式碼變更。