使用 Amazon Bedrock AgentCore 构建实用 AI 代理
Source: Dev.to
我在 AWS User Group Chennai 的聚会上度过了星期六,其中一个环节让我印象深刻:深入了解 Amazon Bedrock AgentCore 以及它如何帮助创建真实的 AI 代理。
演讲者 Muthukumar Oman(Intellect Design Arena 的副总裁 – 工程主管兼 AWS Community Builder)清晰有序地阐述了如何将 AI 模型从基础演示转化为完整可用的 AI 代理。
当天还有其他精彩的演讲,但这一场尤为突出,因为它解答了我们许多人一直在思考的一个问题:
我们如何超越简单的聊天机器人,真正构建一个可靠的、能够与我们的系统协同工作的 AI 代理?
什么是 Amazon Bedrock AgentCore?
用通俗的方式理解 AgentCore
- AgentCore 充当您在 AWS 上的 AI 代理的主要控制中心。
- 它帮助您:
- 安全且大规模 地部署和运行代理。
- 在代理调用工具和 API 时确保 可信赖性和可靠性。
- 使用内置工具,如 代码解释器 和 浏览器。
- 保持 框架和模型无关,因此您可以使用自己喜欢的技术栈。
- 以 结构化的方式 测试和监控代理。
类比:如果普通的大语言模型(LLM)像是一个聪明的实习生,AgentCore 就是帮助该实习生使用各种应用、跟踪工作并确保一切安全的 IT、安全和支持团队。
AgentCore 在 AI 堆栈中的位置
其中一张幻灯片展示了 AWS 上完整的 AI 结构:
Applications
└─ AI & Agent Development Tools & Services
└─ Amazon Bedrock (models, features, AgentCore)
└─ Underlying Infrastructure
├─ Amazon SageMaker
└─ AI compute resources (Trainium, Inferentia, GPUs)
换句话说:
| 层级 | 提供的功能 |
|---|---|
| 基础设施 | 原始计算和机器学习工具 |
| Bedrock | 模型和代理构建块 |
| AgentCore | 运行时、内存、网关、可观测性和代理身份 |
| 应用程序 | 用户实际交互的内容(支持机器人、内部副驾驶等) |
Source: …
AgentCore 的核心构建块
AgentCore Runtime – 代理背后的引擎
AgentCore Runtime 幻灯片的要点:
- 框架无关 – 不会被锁定在特定的代理框架中。
- 模型灵活性 – 可根据需要插入不同的模型。
- 支持 多种协议、扩展执行时间以及增强的负载处理。
- 提供 会话隔离、内置身份验证和代理专属可观测性。
- 提供 统一的代理专属能力集合。
部署流程(简化版)
- 将你的代理或工具代码(例如 Python 框架) 打包为容器。
- 将容器镜像 推送到 Amazon ECR。
- 通过 AgentCore 端点 将其 暴露。
- 端点将容器连接到模型和 Bedrock AgentCore runtime。
类比:部署微服务——打包代码、推送镜像,AgentCore 再把它接入所需的模型和工具。
Memory – 短期记忆 vs. 长期记忆
AgentCore 将记忆分为两个独立层次:
| 记忆类型 | 目的 | 典型内容 |
|---|---|---|
| 短期记忆 | 会话内的即时上下文 | 聊天消息、会话细节、会话中累积的知识 |
| 长期记忆 | 跨会话的持久知识 | 用户偏好、语义事实、摘要、向量嵌入 |
工作原理
- 短期记忆 以原始数据形式存储。
- 长期记忆 使用向量存储。
- 记忆提取模块 根据事件/策略检索相关信息,进行组合,并生成可搜索的嵌入版本。
类比:
- 短期记忆 = 你当前正在进行的对话。
- 长期记忆 = 代理随时间对你所学到的所有内容。
示例用例(银行/电商助理)
- 记住用户偏好的语言。
- 回忆用户通常购买的商品类型。
- 存储重要事实,例如 “该用户偏好电子发票”。
内置工具:代码解释器和浏览器
代码解释器 – 让代理安全运行代码
架构流程
- 用户 向代理发送查询。
- 代理 调用 LLM。
- LLM 选择 代码解释器 工具并创建会话。
- 代码在 沙箱环境 中运行,拥有独立的文件系统和 shell。
- 遥测 数据流入可观测性系统。
- 结果返回给用户。
能力
- 安全的沙箱执行。
- 多语言支持。
- 可扩展的数据处理。
- 增强的问题解决能力。
- 结构化数据格式。
- 能够处理复杂工作流。
类比: 为你的代理提供一台临时的、安全的笔记本电脑,它可以执行脚本、处理 CSV 文件或进行数据处理——而你可以全程监控。
浏览器工具 – 让代理浏览网页或应用
流程图
- 用户 发送查询(例如,“在 Amazon 上购买鞋子”)。
- 代理 调用 LLM。
- LLM 选择 浏览器工具。
- 工具生成类似
click left at (x, y)的指令。 - 一个库(例如浏览器自动化框架)将这些指令转换为真实操作。
- 浏览器执行这些操作并将 截图/结果 发送回代理。
能力
- 资源和会话管理。
- 使用 AWS DCV Web 客户端 渲染实时视图。
- 可观测性和会话回放。
通俗来说: 你的代理实际上可以与用户界面交互——而不仅仅是描述它。这对缺乏 API 的旧系统尤为关键。
Source: …
网关、身份与可观测性 – 生产就绪的关注点
AgentCore 网关 – 所有工具的统一入口
AgentCore 网关 为代理提供统一的入口,以连接任何工具或 API。它负责:
- 请求路由 到相应的工具(例如代码解释器、浏览器、自定义 API)。
- 身份验证与身份管理,确保每个代理以正确的权限运行。
- 可观测性(指标、日志、追踪),用于监控性能和排查问题。
这种设计确保代理能够大规模部署,同时保持安全、可审计且易于管理。
AgentCore 身份 – 这个代理到底是谁?
身份通过 AgentCore 身份 管理,重点包括:
- 集中式代理身份管理
- 凭证存储
- OAuth 2.0
- 身份与访问控制
- SDK 集成
- 请求验证安全
这类似于 IAM,但专为代理量身定制:它们使用适当的身份验证、受限访问凭证并验证请求来调用 API。
AgentCore 可观测性 – 看见你的代理在做什么
可观测性特性包括:
- 与 OTEL 兼容的仪表化
- 运行时、内存、网关和工具指标
- 会话、追踪和跨度
简而言之,你可以追踪代理如何处理一次请求、使用了哪些工具、每一步耗时多久以及出现问题的具体位置。
Strands Agents 与 Bedrock Agents 与 AgentCore
| Factor | Strands Agents | Bedrock Agents | AgentCore |
|---|---|---|---|
| 实验速度 | 适合快速实验 | 便于快速交付 | 适用于企业级、高度定制的代理 |
| 控制与定制 | 受限 | 适中 | 最高(同时仍利用 AWS 管理的组件) |
如何将所有这些整合到真实世界的应用中
从“玩具聊天机器人”到生产代理
演讲者展示了一个应用与 AgentCore Runtime 通信的示意图,随后它与以下组件交互:
- 模型
- 内存
- 网关
- 身份
- 可观测性
示例用例
- 客服代理 – 跟踪过去的对话和用户偏好。
- 金融助理 – 使用浏览器工具访问内部系统并安全检索数据。
- 开发者助理 – 通过代码解释器运行代码,并记录所有操作以供审查。
为什么这对构建者很重要
如果你正在打造初创产品或在大型公司工作,你会面临类似的挑战:
- “我该如何可靠地处理会话和内存?”
- “我如何在不引发安全问题的情况下将代理链接到不同的工具?”
- “当出现故障时,我该如何找出问题所在?”
AgentCore 通过以下方式解决这些问题:
- 结构化的运行时和内存
- 网关 + 身份验证,实现安全的工具访问
- 深度可观测性,提供追踪和指标
最终,它将 AI 代理从临时的副项目提升为运营、安全和合规团队真正可信赖并可使用的解决方案。
结论
Amazon Bedrock AgentCore 表明,构建强大的 AI 代理并不仅仅是再做一个聊天机器人。这关乎把基础做好——记忆、工具、安全性和可观测性。当运行时、网关、身份以及内置工具协同工作时,它们形成了坚实的基础,使项目从快速的周末实验转变为可靠的生产级 AI 体验。
关于作者
作为 AWS Community Builder,我喜欢通过自己的经验和活动分享所学,并乐于帮助他人在道路上前行。如果您觉得这有帮助或有任何问题,请随时联系!
🚀 在 LinkedIn 上与我联系
参考
- 事件: AWS 用户组 Chennai 见面会
- 主题: 使用 Amazon Bedrock AgentCore 构建实用 AI 代理
- 日期: 2025年9月27日
亦发布于
- AWS Builder Center
- Hashnode