回顾系列
- 回顾 01:Coinbase re:Invent 回顾 (IND3312)
- 回顾 02:利用 AI 和 AWS 构建未来交易平台
- 回顾 03:交易创新:Jefferies 基于 Amazon Bedrock 构建的 AI 助手 (IND3315)
- 回顾 04:FSI 如何通过 Agentic AI (GBL302) 彻底改变 HFT 分析
- 回顾 05:使用 Amazon Time Sync 改进分布式系统(采用 Nasdaq)
- 回顾 06:Amazon Aurora HA 和 DR 全球弹性设计模式 (DAT442)
- 回顾 07:构建智能体式 AI:Amazon Nova Act 与 Strands Agents 实践 (DEV327)
- 回顾 08:深入探讨 Amazon Aurora 及其创新 (DAT441)
- 回顾 09:深入探讨 Amazon S3(STG407)
- 回顾 10:Nasdaq:为全球金融服务构建弹性基础设施 (HMC327)
- 回顾 11:AWS Lambda 新功能 (CNS376)
- 回顾 12:使用 Kiro 进行规范驱动开发 (DEV314)
- 回顾 13:Amazon 的 FinOps:全球电商巨头的云成本管理经验 (AMZ308)
- 回顾 14:AWS 上交易平台的 Tick-to-Trade 延迟
场次笔记
构建智能体式 AI:Amazon Nova Act 与 Strands Agents 实践
简介
- 本场会议介绍智能体式 AI 如何成为当前 AI 领域的关键主题
- 面向具有前瞻思维、希望超越基础理解并探索实际应用和创新的开发者 智能体式 AI 的未来趋势
- 概述生成式 AI 的演进,重点说明其从低自主性(基于规则、需要高度人工监督)向高自主性(独立运行、战略决策)的发展
- 认识到智能体式 AI 当前所处的发展阶段,并强调要实现更高级别的自主性,需要先进技术、治理、信任以及组织就绪度。Sequoia Capital 的预测
- Sequoia Capital 在 2025 年 AI 主题演讲中展望了这样一个未来:AI 系统将超越工具式属性,进化为能够自主运行的智能体。
- 这些智能体将具备推理、规划、协作和高度自主运行的能力。
- 对 2030 年代经济的展望
- Sequoia Capital 预测,2030 年代的经济,尤其是亚洲经济,将像一个全球神经网络一样运行,由大量 AI 智能体的运作组成一个互联网络。
- 个人成功的潜力
- 设计出一个获得广泛采用、尤其是在全球范围内普及的 AI 智能体,可能带来巨大的个人财务成功,甚至可能让一个人变得极其富有。
- 该预测的重要性
- 这一预测对于指导开发者并理解未来 AI 发展需要实现的目标至关重要。
- 单人独角兽的兴起
- Sequoia Capital 预测,“单人独角兽”将会兴起,即由一个人创建并运营、估值达 10 亿美元的公司。
- 这一趋势将推动劳动力结构转变,并催生由一个人运营整家初创公司的新型组织模式。
- 随机性思维的必要性
- AI 智能体的世界要求开发者采用新的思维方式,摆脱传统的准确性预期,转向更具随机性的思维模式。
- 这涉及调整开发者与大语言模型及 AI 技术建立联系和加以利用的方式。
- 为智能体式 AI 新时代做好准备
- 要在智能体式 AI 时代取得成功,不仅需要技术准备,也需要在思维和组织层面做出调整。
- 开发者必须为组织结构和思维框架的变化做好准备,才能在这个新时代蓬勃发展。
- 2025 年智能体式 AI 的基础设施
- MCP 和 A2A 等通信协议正在开发中,以实现 AI 智能体及其工具之间的互操作性。
- AWS 正积极参与 MCP 和 A2A 的标准委员会,并贡献数十年的分布式系统经验,以完善这些面向未来的协议。
- AWS 智能体式 AI 产品组合
- 由一个全面的架构组成,其中服务分为三层:
- 基础设施
- AI 与智能体开发软件
- 应用层
- 重点关注 AI 与智能体开发软件和服务,包括 Amazon Nova Act 和 Street Agents 等智能体 SDK。
智能体式 AI 实际应用:本地天气信息
- 演示一个实用的 AI 智能体场景:使用 MCP 协议、Amazon Nova Act 和香港天文台网站开发本地天气信息应用。
- 本地天气信息智能体
- 该 AI 智能体基于 Amazon Bedrock 构建,由 Emerald 提供支持,并配置了一个特定的网站 URL(香港天文台)。
- 用户可以使用自然语言(英语、西班牙语或中文)与智能体交互,查询香港当前的天气。
- 智能体会自主在指定网站上查找信息并保存截图以供验证,展示了像人类网页抓取工程师一样工作的能力。
- 对网页抓取工程师的影响
- 智能体式 AI 时代已经到来,可能会影响传统的网页抓取岗位。开发者可能需要借助 Nova Act 等 AWS 服务为这一转型做好准备。
- AI 智能体的实现细节
- Nova Act 的 forecast 函数会指导它应捕获哪些网页以及执行哪些操作。
- 使用自然语言分配任务,例如读取并提取香港天文台网站上的 9 天天气预报信息。
- 开发者的抱负
- 许多开发者希望从零开始构建自己的智能体式 AI 应用,并在源代码层面保持完全控制。
- 开源 Strands Agents 可以帮助实现这一目标,让开发者控制每一行代码。
- 构建自定义智能体面临的挑战
- 开发者需要连接器,使智能体能够与各种企业系统交互。
定制化 AI 智能体系统所需的组件
- 工具和 MCP(消息控制协议)对于支持智能体执行预订酒店、更新信息或触发流程等工作流至关重要。
- 记忆:智能体同时需要短期记忆和长期记忆。短期记忆在会话中维持上下文,而长期记忆使智能体能够随着时间推移不断学习和改进。
- 大脑(大语言模型):可以使用 ReACT(推理、行动与协同沟通)、反思和思维链等技术,将 LLM 扩展到更复杂的框架中,使模型能够逐步规划、反思和推理。
- 角色设定:每个智能体都有一个角色设定,即一组定义其身份和行为的规则或指令,使其区别于其他类型的智能体(例如 HR 智能体与 DevOps 智能体)。
- 可观测性与防护机制:通过定制 AI 智能体来提供可观测性和防护机制,可确保它们保持安全、可讨论且与目标一致。
- 构建实用 AI 智能体面临的挑战
- 构建真正实用的 AI 智能体需要大量工作,其中可能有 80–90% 的工作与独特的业务逻辑和流程无关。
AWS 解决方案:Strands Agents
- Strands Agents:由 AWS 贡献的开源 SDK,使开发者只需极少量代码即可构建 AI 智能体。它利用最先进的大语言模型进行规划和思维链推理,从而简化开发。
- 演示:使用 Strands Agents 创建数学动画
- 使用 Manim 库并结合 Strands Agents 和 Python 库制作数学可视化。
- 核心实现代码:
- 从 Strands 模块导入 Agent 类,并导入 MCPClient 类,以建立在该框架中使用智能体和 MCP 所需的基本组件。
- 使用 send_input 和 output 作为传输机制,建立与 Manim MCP 服务器的连接。
- 建立与 Manim MCP 服务器交互的连接,检索可用工具,并使用这些工具初始化智能体。
- 使用智能体处理请求数学动画的自然语言提示,具体是将 X 从 -3 到 3 的三次函数图像可视化。
- 使用 Strands Agents SDK 进行数学可视化
- 在 Visual Studio 中使用两个终端窗口:
- 左侧窗口运行 MCP(消息控制协议)服务器,通过 STDIO 传输连接到 Manim MCP 服务器。
- 右侧窗口运行 MCP 客户端程序,启动视频生成聊天界面。
- 用户可以通过界面输入自然语言命令,例如创建一个场景,在 9 秒内绘制指定范围内的三次函数。
- 智能体会处理自然语言请求,展示自适应问题解决能力:如果出现问题,它会创建简化版本来完成任务。
多智能体协作的优势
- 专业化:专业智能体在特定领域工作,可以提高精确度并提供更准确的答案。组合这些智能体可以获得更出色的结果。
- 可扩展性:系统可以添加或移除智能体,而不会影响整个系统,因此具备可扩展性。
- 可维护性:与大型单体代码库相比,较小的智能体更容易控制、监控、调试和测试。
- 成本效益:多智能体系统允许针对特定任务选择合适的模型,在智能程度、速度和成本效益之间实现优化。
- 类比:单智能体与多智能体系统
- 单智能体:就像独自工作的专项技能人员。
- 多智能体系统:就像一个协调良好的团队,不同角色(分析师、量化人员、交易员、风险经理、IT)共同协作,以取得更出色的绩效。
- 成功条件:协作
- 多智能体系统要取得成功,智能体必须有效协同工作。
- 多智能体协作模式
- 智能体即工具:一个智能体可以将另一个智能体用作工具。
- 图工作流:智能体可以连接成图状结构来执行复杂任务。
- 编排器智能体:编排器智能体接收用户需求、理解意图,并调用专业智能体执行特定任务。
- 示例:旅行规划
- 编排器智能体:接收用户的旅行需求(例如前往拉斯维加斯)。
- 研究智能体:搜索景点和活动(例如羚羊峡谷)。
- 产品推荐智能体:根据研究智能体的输出提供建议。
- 智能体工作流:一个智能体的输出成为下一个智能体的输入,从而形成无缝工作流。
现实案例:量化对冲基金
- 量化方法对于量化研究人员至关重要,可以帮助他们快速验证交易想法并更快找到合适的交易策略。
- 示例:使用移动平均线交叉策略时,研究人员可以输入股票详情(例如 Amazon)、回测窗口,并获得盈亏和夏普比率等指标。
- 系统提供买入和卖出条件、回测结果以及改进交易策略的建议,包括风险评估和警报。
- 移动平均线交叉策略
- 移动平均线(MA)交叉策略在图表上使用两条 MA(一条快速/短期均线和一条慢速/长期均线)生成买入/卖出信号:当快速 MA 向上穿过慢速 MA(看涨趋势)时出现买入信号;当快速 MA 向下穿过慢速 MA(看跌趋势)时出现卖出信号。
- 工作原理
- 设置:在价格图表上绘制两条时间周期不同的移动平均线(例如简单移动平均线 (SMA) 或指数移动平均线 (EMA))。
- 买入信号(看涨):较短周期的 MA 向上穿过较长周期的 MA。
- 卖出信号(看跌):较短周期的 MA 向下穿过较长周期的 MA。
- 常见 MA 组合
- 短期:9 周期 EMA/SMA。
- 中期:21 周期 EMA/SMA。
- 长期:50 日、100 日或 200 日 MA(通常用于判断主要趋势)。
- 关键交叉形态
- 黄金交叉:50 日 MA 向上穿过 200 日 MA 的看涨信号,表明可能出现强劲上涨趋势。
- 死亡交叉:50 日 MA 向下穿过 200 日 MA 的看跌信号,预示可能出现下跌趋势。
- 局限性与改进
- 滞后指标:MA 基于过去的价格,因此交叉通常发生在价格走势已经开始之后,导致入场/出场较晚。
- 震荡市场:该策略在横盘或盘整市场中会产生许多虚假信号(反复止损)。
- 架构图
- 编排智能体(量化研究智能体)调用不同的工具和子智能体。
- 工具:市场数据工具和回测工具。
- 子智能体:策略生成智能体和结果摘要智能体。
- Bedrock Core Agent Gateway
- 通过将 API、Lambda 函数或现有服务封装为与 MCP 兼容的工具,为开发者构建智能体工具提供安全方式。
- 步骤
- 使用 Lambda 函数将历史市场数据存储在 S3 表中,并将其定义为网关的目标。
- 使用名为 gateway create MCP gateway command 的智能体创建网关。
- 将 Lambda 函数定义为网关的目标。
- 使用 Cognito 进行身份验证,以确保安全访问。
- 定义工具的输入和输出参数(例如 get market data)。
使用 Agent Gateway 构建工具
- 使用 Agent RAM 托管策略生成智能体,并将其作为量化研究智能体的工具。
- 将 Gateway 集成为工具
- 创建网关后,可以将其作为当前研究智能体的工具。
- 步骤:
- 指定参数和返回类型。
- 使用 Cognito 进行身份验证。
- 使用 HTTP 客户端调用网关,检索用于回测的历史市场数据。
- 定义和部署策略生成智能体
- 部署策略生成智能体,以安全、快速地托管智能体。
- 步骤:
- 使用 strengths import agent 定义智能体。
- 指定使用 backtrader 框架生成交易策略代码的指令。
- 将智能体部署到运行时。
- 指定入口点,并在端口 8080 上运行智能体。
- 使用 agent call config 指定文件和依赖项。
- 使用 agent call launch 启动运行时智能体
- 使用 agent get status 检查其状态
- 将智能体作为工具
- 定义工具(市场数据工具)和策略生成智能体后,将该智能体作为工具。
- 步骤:
- 生成交易策略。
- 指定参数(例如买入和卖出条件)。
- 调用智能体。
- 编排器智能体(量化研究智能体)
- 编排器智能体协调各种工具和智能体。
- 步骤:
- 导入智能体。
- 为量化研究智能体定义系统提示,使其获取历史市场数据、生成策略、运行回测并分析结果。
- 使用“智能体即工具”模式集成以下四种工具:
- 市场数据,
- 生成策略,
- 运行回测,
- 创建结果摘要。
- 如果出现问题,量化研究智能体将重新学习结果。
Kiro CLI
- 使用 Kiro CLI 运行命令;它允许快速验证输出,因此对于调试非常有用。
- 使用 Kiro CLI 运行量化智能体
- Kiro CLI 用于运行量化智能体,其中使用 tool execute patch 和一个 JSON 文件来指定 10 日周期简单移动平均线与 30 日简单移动平均线的交叉策略。
- 智能体大约在 6 秒内生成交易策略。
- 随后,智能体通过 HTTP 请求从网关获取市场数据。
- 获取约 200 个数据点用于回测。
- 使用 backtrader 框架运行回测。
- 输出包括初始值、利润、总回报以及改进交易策略的建议。
- 回测结果保存在名为 memory 的智能体中,并在最后一步从中提取。
群体模式
- 与“智能体即工具”模式不同,群体模式涉及智能体在没有单一编排器的情况下动态沟通和协作。
- 群体维护一个所有智能体均可访问的共享上下文,其中包括其他智能体的信息、输入、输出和历史交互。
- 导入 Swarm 类,并为四个智能体定义最大移交次数和重复移交检测,以防止无限循环。
- “重复移交”是指在不同个人、团队、系统或网络接入点之间频繁且不必要地转移任务或职责。
- 示例:
- 使用四个智能体撰写博客:
- 研究智能体:开展研究。
- 创意智能体:创作内容。
- 批判智能体:质疑所创作的内容。
- 摘要智能体:总结最终结果。
- 群体模式的关键组件
- 共享上下文:所有智能体都可以访问共享上下文。
- 动态协作:智能体在没有中央编排器的情况下进行沟通和协作。
- 移交限制:设置最大交互次数和重复移交检测,以防止无限循环。
- 独特智能体参与:确保最近一次移交至少涉及三个不同的智能体,以保持多样性并防止重复交互。
- 群体模式实践
- 任务:创建一篇介绍智能体式 AI 的博客文章,以及一份用于社交媒体帖子的摘要。
- 工作流:
- 研究智能体:收集必要的信息和事实。
- 创意智能体:创作引人入胜的博客文章。
- 摘要智能体:生成社交媒体摘要。
- 迭代过程:摘要智能体向创意智能体请求更多细节,以创建有效的摘要。
- 最终输出:经过 5 次交互后,摘要智能体成功创建了博客文章和社交媒体摘要。
- 将群体作为工具
- 群体模式可以在更大的框架内用作工具。
- 示例:导入群体工具,使用一组智能体分析或执行任务。
图模式
- 将智能体关系定义为图网络,其中每个智能体都是一个节点,边定义关系和信息流。
- 主要优势:
- 可预测性:智能体之间的通信路径定义清晰。
- 控制:完全控制信息流。
- 演示
- 首先定义智能体,以确定它们在图中的角色和交互。
- 示例:智能体式基金经理
- 定义投资组合架构师智能体将如何构建投资组合。
- 定义基金经理智能体将如何根据构建好的投资组合管理基金。
- 投资组合架构师智能体:构建投资组合以满足客户需求。根据投资组合架构师智能体构建的投资组合管理基金。
- 在图模式中定义节点和边
- 在图中,节点被定义为触发特定操作或部署智能体。
- 示例:
- 定义将调用智能体的投资组合节点。
- 步骤:
- 定义状态图并输入该状态图。
- 添加金融、投资组合和风险节点。
- 定义从金融到投资组合、从投资组合到风险的边,并将风险节点作为终止节点。
工作流模式
- 工作流是定义明确的任务序列或模式。
- 示例:定义研究智能体、分析智能体和报告智能体的序列。
- 步骤:
- 导入工作流工具。
- 定义任务及其依赖关系(例如,报告生成依赖于趋势分析)。
- 设置优先级,以确定并行子智能体的执行顺序。
- 工作流模式用例
- 非常适合需要封装为单一可靠工具的复杂且可重复流程。
- 示例:
- 涉及数据提取、转换 (ETL) 以及加载到数据仓库的自动化数据管道。
多智能体协作模式的示例用例
智能体即工具
- 客户服务聊天机器人:经编排的智能体调用技术客户经理、竞价智能体和摘要智能体,向客户提供输出。
- 群体模式:
- 多学科事件响应:智能体在局部交互,在没有集中控制的情况下产生复杂的涌现行为。示例:网络问题先传递给网络智能体,必要时再传递给数据库智能体。
- 图模式:
- 带错误路径的数据验证:定义一个图,由智能体判断是否存在错误,然后传递到无错误的数据验证路径,或传递到带错误路径的数据智能体。
- 工作流模式:
- 通过定义清晰、具有依赖关系和优先级的任务序列,维持受控的信息流和执行顺序。
