使用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與模型無關且與框架無關,切換模型只需一行代碼變更。