Recap Series
- 第 02 场:使用 Terraform 实现 AWS 合规
- 第 03 场:从新手到构建者:一段精彩的云上之旅
- 第 04 场:团队优先的无服务器工程:Laravel 与 Bref
- 第 05 场:活动开场:AWS Community Day Hong Kong 2025
- 第 06 场:Agent-to-Agent:在 AWS 上构建可互操作的 AI
- 第 07 场:利用另一类遥测数据,借助 AI Agent 更快改进
- 第 08 场:告别氛围编程:使用 Kiro 进行规范驱动开发
- 第 09 场:使用 MCP 与 AI 智能体进行自动化测试
- 第 10 场:电信安全现代化:机器学习驱动的方法
- 第 11 场:重新思考生成式 AI 智能体:RAG 与 MCP
- 第 12 场:使用 TAK 与 AWS 开展灾难与应急响应
- 第 13 场:从测试视角重新思考无服务器应用程序工作流
- 第 14 场:实用 AWS FinOps,助力云上成功
视频回放
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 智能体应用的参考架构中协同工作。
