利用 Deep Agents 和 Bedrock AgentCore 构建上下文丰富的研究代理
在 AI 驱动的研究工作流中,一个常见痛点是“深度”与“上下文”的冲突:当代理读取十个网页时,其上下文窗口被原始内容填满;如果同时运行数据分析代码,图表生成逻辑又会挤占战略推理的空间。传统做法是手动提示链或顺序处理,但效率低下。现在,LangChain Deep Agents 与 Amazon Bedrock AgentCore 的组合提供了一种更优雅的解决方案。
核心思路:隔离子代理,各司其职
Deep Agents 负责编排,它能够按需生成临时的专业子代理,并管理其生命周期。而 Bedrock AgentCore 则为每个子代理提供所需的基础设施:包括一个真实的浏览器(运行在 MicroVM 中,用于网页研究)和一个完整的 Python 环境(用于数据分析)。AgentCore 还作为 Deep Agents CLI 的原生沙箱提供者,开发者只需运行 deepagents --sandbox agentcore 即可体验 AgentCore 的代码解释器功能。
实战:构建一个竞争情报研究代理
本文将通过一个端到端的示例,演示如何构建一个竞争研究代理。该工作流面向需要为代理构建多步骤 AI 工作流,且需要隔离执行环境的开发者。
工作流步骤:
- 协调代理 接收请求,首先检查 AgentCore Memory 中是否有过往的研究洞察。
- 并行生成三个浏览器子代理,每个代理在自己的 AgentCore Browser MicroVM 中访问一个竞争对手的网站,收集结构化信息。
- 当三个子代理返回结果后,一个分析子代理接收合并数据,并使用 AgentCore Code Interpreter 生成对比图表和 Markdown 报告。
- 最后,关键洞察被保存到 AgentCore Memory 中,供未来会话使用。
整个工作流可以通过 Amazon CloudWatch(通过 Amazon Bedrock AgentCore Observability)或 LangSmith 进行追踪。每个子代理类型仅能访问其特定的工具集:研究人员使用浏览器工具,分析师使用解释器工具,协调者使用内存工具。
架构图解
下图展示了数据流:LangChain Deep Agents 编排器位于顶层,向下连接多个 Amazon Bedrock AgentCore Browser MicroVM 和 Code Interpreter,同时与 AgentCore Memory 交互。
部署与扩展
文章的第二部分将介绍如何通过 AgentCore CLI 将同一个代理部署到 Bedrock AgentCore Runtime,使其作为托管、会话隔离的服务运行。
总结
这种“Deep Agents + Bedrock AgentCore”的组合,为构建复杂 AI 研究代理提供了一种可扩展、安全且高效的范式。通过将不同任务分配给隔离的子代理,开发者能够突破上下文窗口的限制,同时利用托管基础设施简化运维。