AWS Community Day Hong Kong 2025 Recap

智能体到智能体:在 AWS 上构建可互操作的 AI——Lahiru Ratnayaka

Recap Series

视频回放

https://www.youtube.com/watch?v=qoPjyt-MyWk

在 AWS 上构建下一代智能体应用

使用场景:咖啡馆经理智能体

  • 咖啡馆经理智能体:使用 Crew AI 框架构建。
  • 工具:连接符合 OpenAPI 规范的 API。
  • 场景:客户通过自定义客户端与咖啡馆经理智能体通信,请求卡布奇诺或黑咖啡等饮品。
  • 分布式智能体:另一个智能体(例如供应商智能体)与咖啡馆经理智能体通信,以获取信息或下单。
  • 框架:咖啡馆经理智能体使用 Crew AI,分布式智能体使用 Autogen。
  • 身份提供商:自定义客户端使用 Okta 作为身份提供商。
  • 工具:API 并非托管在 AWS Lambda 上,但遵循 OpenAPI 规范。

AWS 对智能体应用的支持

  • Agent Core 服务:AWS 中用于支持构建和部署智能体应用的综合服务。
  • 模块:Agent Core 服务由六到七个相互依赖、又可单独运行的模块组成。
  • 托管服务:所有组件都是由 AWS 提供的托管服务。

Agent Core Runtime

  • 无服务器托管:这项无服务器服务可部署使用任意框架编写的智能体,例如 Crew AI、AWS Strands、Microsoft Autogen 和 Google Agent Development Kit。
  • 模型通信:支持与任何模型通信,包括 AWS 生态系统之外的模型(例如 OpenAI 模型)。
  • 协议:
  • [ 1 ] MCP(Model Context Protocol):用于与工具和资源通信。
  • [ 2 ] A2A(Agent to Agent)协议:一种用于智能体之间开放通信的新协议。
  • 执行时间:既支持需要快速响应的实时执行,也支持最长运行 8 小时的长时间任务。
  • 有效载荷大小:支持最大 100 MB 的有效载荷(文本、博客等),未来可能进一步提高上限。

Agent Core Runtime 的工作原理

非确定性流程与会话隔离

  • 非确定性流程:智能体应用并不遵循确定性流程,而是由 LLM 模型决定执行路径。
  • 会话隔离:Agent Core Runtime 使用 microVM 内核提供开箱即用的会话隔离。
  • [ 1 ] microVM 内核:用户通过提示词启动会话时,系统会创建一个使用 microVM 内核的新会话。
  • [ 2 ] 隔离:确保用户之间不共享文件系统、内存或 CPU,从而维护数据隐私与安全。
  • [ 3 ] 示例:如果 Jonas 要求在咖啡做好时收到通知,而 Jane 询问电话号码,两人的会话仍会彼此隔离。

有状态服务

  • 状态管理:Agent Core Runtime 是一项能够记住所有状态的有状态服务。
  • 活跃会话:一次最多支持 500 个活跃会话。

会话生命周期

  • 会话启动:会话开始时,系统会使用一个唯一的会话 ID(由服务管理)启动会话。
  • 资源管理:
  • [ 1 ] 空闲时间:会话空闲 5 分钟后,服务会暂停该会话的 CPU 和其他资源,以节省成本。
  • [ 2 ] 超时:请求空闲 15 分钟后超时;如果采用流式传输(例如聊天),超时时间最长为 60 分钟。
  • [ 3 ] 长时间运行任务:支持最长运行 8 小时的任务。

Agent Core Memory

记忆在智能体应用中的重要性

  • 客户体验:记忆对于改善客户体验至关重要。例如,今天记住客户最喜欢的咖啡订单(如卡布奇诺),第二天仍能记得。

记忆类型

  • 短期记忆:存储近期交互和事件。
  • 长期记忆:存储可供长期使用的模式和结构化数据。

Agent Core Memory 的功能

  • 内置加密:确保数据安全。
  • 灵活的命名空间:支持有序存储记忆记录。
  • 生存时间(TTL):用户可以设置记忆的保留时长。
  • 可观测性:内置可观测性功能,用于监控记忆使用情况。

短期记忆

  • [ 1 ] 创建事件:用户与智能体的每次交互都会创建一个事件。
  • 示例:用户提出问题、智能体作出回答——每个操作都是一个事件。
  • [ 2 ] 事件元数据:与事件相关的额外信息,例如地点和时间。
  • 示例:元数据可以包含交互发生的地点(例如香港)。
  • [ 3 ] 参与者 ID 和会话 ID:在数据库中存储数据时使用的唯一标识符。
  • [ 4 ] 检查点:以往聊天会话的快照,可供快速检索。
  • [ 5 ] 聊天消息:按会话存储交互中的聊天消息。
  • [ 6 ] 会话状态管理:自动管理会话状态以及长期记忆的触发机制。

长期记忆

  • 结构化数据存储:将原始交互转换为结构化格式,并存储在向量存储中。
  • 数据存储方法:
  • [ 1 ] 使用参考信息:检查并使用现有信息。
  • [ 2 ] 事实与知识:存储事实数据和知识。
  • [ 3 ] 摘要:对数据进行总结,以提高存储效率。
  • 自定义存储:用户可按需定义自己的存储解决方案,否则使用默认存储。

数据存储策略

  • 内置策略:无需用户干预即可自动管理数据存储。
  • 可定制策略:允许用户定制数据的存储方式。
  • 高度定制策略:用户可以精确定义哪些数据进入长期记忆以及如何存储。
  • 内置语义搜索:帮助系统根据查询恰当地提取记忆数据。

Agent Core Gateway

统一访问与工具集成

  • 目的:提供统一访问入口,将工具与智能体集成。
  • 智能工具发现:内置功能可以发现最适合特定用途的工具。
  • 预构建集成:只需点击一两次,即可轻松集成 Salesforce、Slack 和 SendGrid 等常用工具。
  • 身份验证与安全:包含身份验证和安全功能。

连接模型

  • Smithy 模型:用于支持 Smithy 目标的配置。
  • OpenAPI 目标:用于支持 OpenAPI 架构的 API。
  • AWS Lambda 目标:用于以 AWS Lambda 函数实现的工具。
  • MCP 服务器:Agent Core Gateway 充当 MCP 服务器,智能体作为客户端通过该网关进行通信。

Agent Core Identity

身份管理服务

  • 目的:确保通过 Agent Core Runtime 和 Memory 运行的所有流程都能安全连接。
  • 入站授权/身份验证:验证连接智能体的用户是否合法,并确认其确实有意与该智能体通信。
  • 出站授权:确保智能体具备与工具通信所需的正确凭证和安全措施。

现有身份提供商

  • 与外部提供商集成:支持与 Microsoft Enterprise、Okta 等现有身份提供商集成。
  • 可移植性:允许用户将现有身份框架迁移到 Agent Core Identity,无需全面迁移至 Amazon Cognito 即可获得企业级功能。

Agent Core Observability

实时可见性

  • AWS CloudWatch 集成:启用可观测性模块后,它会自动连接到 Amazon CloudWatch。
  • 综合控制面板:提供用于监控日志、追踪和指标的控制面板。
  • OpenTelemetry 标准:支持与使用 OpenTelemetry 标准的现有可观测性控制面板集成。

遥测数据

  • 日志:记录智能体交互期间发生的情况。
  • 追踪:展示事件如何发生,并提供详细的执行路径。
  • 指标:提供已处理的词元数量、任务耗时等量化数据。

服务级遥测

  • 汇总:汇总所有模块(运行时、记忆、网关和身份)的遥测数据,以提供全面的服务级信息。

可观测性门户

  • 智能体运行时:显示已部署的智能体、会话、日志和追踪。
  • 记忆:显示短期和长期记忆存储。
  • 网关:支持创建和管理用于工具集成的网关。
  • 身份:支持与现有身份提供商集成。
  • 可观测性:支持在 CloudWatch 中监控智能体、记忆日志和追踪。

Agent Code Starter Kit

  • 简化部署:使用 Agent Code Starter Kit 轻松配置和启动智能体应用。
  • 命令提示符:安装入门套件,使用 “configure” 和 “launch” 等命令设置并部署智能体。
  • 入口点定义:在配置期间定义应用程序的入口点。

演示

  • 门户视图:显示包含已部署智能体、记忆、网关和身份集成的控制面板。
  • CloudWatch 区域:突出显示 CloudWatch 中的 “Agent Core Observability” 区域,以便进行详细监控。

结论

  • 易用性:Agent Code Starter Kit 简化了智能体应用的配置和部署流程,让开发者能够轻松在 AWS 上构建并监控智能体应用。

部署和配置智能体应用

使用 Agent Code Starter Kit

  • Crew AI 应用:演示如何使用 Agent Code Starter Kit 部署 Crew AI 应用(而非 Strands 应用)。
  • Bedrock Agent Core Runtime:定义运行时和应用,并指定入口点。
  • 配置:
  • 推荐文件:入门工具会创建一个推荐文件;输入 “yes” 确认。
  • 执行角色:自动创建。
  • 容器化:应用程序会被放入容器中。
  • 授权:提供授权和安全配置选项(例如 Okta)。
  • 记忆:在长期记忆和短期记忆之间进行选择。
  • 启动:使用 agent co launch 将应用程序部署到 Agent Core Runtime。

灵活性与集成

  • 框架:可以完全灵活地使用现有框架和开发实践。
  • 数据库:无需依赖完整的数据库,也可与现有系统集成。

A2A 协议

  • 简介:A2A(Agent to Agent)是一种开放标准协议,现由 Linux 基金会管理,并已获多家大型企业采用。
  • 目的:让不同公司能够创建智能体并进行安全通信,而无需深入了解彼此的企业 API。
  • 默认安全:作为 MCP(Model Context Protocol)的补充,该协议在设计上注重安全性。
  • 使用场景:演示内容包括使用 Okta 连接供应商、通过 A2A 同时运行常规应用和分布式智能体,以及提供记忆与可观测性支持。

参考架构

  • [1] 组件:
  • 运行时:托管应用程序。
  • 记忆:支持短期和长期记忆。
  • 可观测性:监控和日志记录。
  • 网关:连接其他工具和服务。
  • [ 2 ] 集成:
  • 展示所有组件如何在 AWS 智能体应用的参考架构中协同工作。