使用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与模型无关且与框架无关,切换模型只需一行代码变更。