DEV Community

Eliana Lam
Eliana Lam

Posted on • Originally published at aws-user-group.com

构建自主AI:Amazon Nova Act和Strands Agents实践 (DEV327)

AWS re:Invent 2025 - 构建自主AI:Amazon Nova Act和Strands Agents实践 (DEV327)

  • 1) Sequoia Capital预测,2030年代的经济,特别是在亚洲,将像一个由许多AI代理操作构成的全球神经网络一样运作,形成一个互联网络。
  • 2) AI代理的世界要求开发人员采用新的思维方式,从传统对准确性的期望转向一种更随机的思维方式。
  • 3) AWS正积极参与MCP和A2A的标准委员会,贡献了数十年的分布式系统经验,以增强这些未来协议。
  • 4) 专注于AI和代理开发软件和服务,包括面向Amazon Nova Act和Street Agents,使用自然语言分配任务。
  • 5) 开源strands代理,AWS贡献的开源SDK,使开发人员控制每一行代码,并保持完全的源代码级控制。
  • 6) MCP(消息控制协议)对于使代理执行诸如预订酒店、更新信息或触发流程等工作流至关重要。
  • 7) 记忆:代理需要短期和长期记忆。短期记忆在会话内保持上下文,而长期记忆允许代理随时间学习和改进。
  • 8) 大脑(大型语言模型):可以使用ReACT(推理、行动和共同交流)、反思和思维链等技术将LLM扩展到更复杂的框架,使模型能够逐步进行计划、反思和推理。
  • 9) 个性:每个代理都有一个个性,一组规则或指令定义其身份和行为,将其与其他类型的代理区分开来(例如,HR代理与DevOps代理)。
  • 10) 多代理系统:就像一个协调良好的团队,不同角色(分析师、量化交易员、交易员、风险管理员、IT)共同努力实现卓越的表现。

strands代理模式:

  • 使开发人员能够以最少的代码构建AI代理。它通过利用最新的大型语言模型进行规划和思维链来简化开发。

蜂群模式:

  • 蜂群模式涉及代理动态交流和协作,没有单一编排器。蜂群维护所有代理都可以访问的共享上下文,包括有关其他代理、输入、输出和历史交互的信息。

图形模式:

  • 将代理关系定义为图网络,其中每个代理是一个节点,边定义关系和信息流。

工作流模式:

  • 工作流是一系列明确定义的任务或模式。


例子:量化对冲基金

  • 量化方法对于量化研究人员快速验证交易想法和更快找到正确的交易策略至关重要。
  • 使用移动平均交叉策略,研究人员可以输入股票详细信息(例如,亚马逊),回测窗口,并接收收益/亏损和夏普比率等指标。
  • 提供买入和卖出条件,回测结果和改进交易策略的建议,包括风险评估和警报。

  • 金叉:50日MA穿过200日MA的看涨信号,表明强劲上升趋势。

  • 死叉:50日MA穿过200日MA的看跌信号,表明潜在的下降趋势。



学习如何从头开始使用AWS构建AI代理应用程序

介绍

  • 关于自主AI作为当前AI领域关键话题的出现的会话介绍

  • 针对超前思维的开发人员,旨在超越基本理解,着眼于实际应用和创新

自主AI的未来趋势

  • 概述生成式AI的演变,强调从低级代理(基于规则,高度人为监督)到高级代理(独立操作,战略决策)的进程

  • 认识当前自主AI开发的阶段,强调需要先进技术、治理、信任和组织准备以实现更高级代理

Sequoia Capital的预测

  • Sequoia Capital关于2025年人工智能的主题演讲设想了一个未来,人工智能系统将超越工具般的属性,成为自主运行的智能代理。

  • 这些代理将具备推理、规划、协作和高度自主操作的能力。

对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和香港天文台网站开发本地天气信息应用程序。

本地天气信息代理

  • 使用由Emerald驱动的Amazon Bedrock构建的AI代理,配备特定的网站URL(香港天文台)。

  • 用户可以使用自然语言(英语、西班牙语或中文)与代理交互,询问香港当前的天气情况。

  • 代理自主在指定网站上定位信息并保存截图进行验证,展示其像人类网络爬虫工程师一样运作的能力。

对网络爬虫工程师的影响

  • 自主AI时代已经到来,可能会影响传统的网络爬虫角色。开发人员可能需要使用AWS服务(如Nova Act)来准备这种转变。

AI代理的实施细节

  • Nova Act预测功能指导代理捕获哪些网页和执行哪些操作。

  • 使用自然语言分配任务,如从香港天文台网站读取和提取9天天气预报信息。

开发人员的抱负

  • 许多开发人员希望从头开始构建自己的自主AI应用程序,并保持完全的源代码级控制。

  • 开源strands代理可以帮助实现这一目标,使开发人员控制每一行代码。

构建自定义代理的挑战

  • 开发人员需要连接器,使代理能够与不同的企业系统进行交互。


定制AI代理系统所需的组件

  • 工具和MCP(消息控制协议)对于使代理执行诸如预订酒店、更新信息或触发流程等工作流至关重要。

  • 记忆:代理需要短期和长期记忆。短期记忆在会话内保持上下文,而长期记忆允许代理随时间学习和改进。

  • 大脑(大型语言模型):可以使用ReACT(推理、行动和共同交流)、反思和思维链等技术将LLM扩展到更复杂的框架,使模型能够逐步进行计划、反思和推理。

  • 个性:每个代理都有一个个性,一组规则或指令定义其身份和行为,将其与其他类型的代理区分开来(例如,HR代理与DevOps代理)。

  • 可观察性和防护措施:定制AI代理以提供可观察性和防护措施,确保它们保持安全、可辩驳和与目标一致。

构建功能性AI代理的挑战

  • 构建真正功能性的AI代理需要大量工作,其中80-90%的努力可能与独特的业务逻辑和流程无关。


AWS解决方案:strands代理

  • Strands代理:一个AWS贡献的开源SDK,使开发人员能够以最少的代码构建AI代理。它通过利用最新的大型语言模型进行规划和思维链来简化开发。

演示:使用strands代理创建数学动画

  • 使用Manim库的数学可视化,结合Strands代理和Python库。

核心实现代码:

  • 从Strands模块导入Agent类和MCPClient类,用于建立利用代理和MCP的基本组件。

  • 使用send_input和输出作为传输机制,设置与Manim MCP服务器的连接。

  • 建立与Manim MCP服务器的交互连接,检索可用工具,并使用这些工具初始化代理。

  • 使用代理处理自然语言提示,请求数学动画,特别是可视化从X等于-3到X等于3的三次函数图。

使用Strands代理SDK进行数学可视化

  • 在Visual Studio中,使用两个终端窗口:

  • 左侧窗口运行MCP(消息控制协议)服务器,通过STDIO传输连接到Manim MCP服务器。

  • 右侧窗口运行MCP客户端程序,启动视频生成聊天界面。

  • 用户可以通过界面输入自然语言命令,例如创建一个在9秒内在指定范围内绘制三次函数的场景。

  • 代理处理自然语言请求,通过创建简化版本来完成任务(如果出现问题),展示自适应问题解决能力。

多代理协作的好处

  • 专业化:专门的代理在特定领域工作,提高精确度并提供更准确的答案。结合这些代理可以实现更优越的结果。

  • 可扩展性:系统可以添加或删除代理,而不会影响整个系统,使其可扩展。

  • 可维护性:与更大的整体代码相比,较小的代理更容易控制、监控、调试和测试。

  • 成本效率:多代理系统允许为特定任务选择正确的模型,优化智能、速度和成本效率。

类比:单一代理 vs. 多代理系统

  • 单一代理:就像一个独自工作的专门技能。

  • 多代理系统:就像一个协调良好的团队,不同角色(分析师、量化交易员、交易员、风险管理员、IT)共同努力实现卓越的表现。

成功的条件:协作

  • 要使多代理系统成功,代理必须有效地共同工作。

多代理协作模式

  • 代理作为工具:一个代理可以使用另一个代理作为工具。

  • 图形工作流:代理可以以图形结构连接以执行复杂任务。

  • 协调代理:协调代理接收用户要求,理解意图,并调用专门的代理执行特定任务。

示例:旅行计划

  • 协调代理:接收用户的旅行要求(例如,前往拉斯维加斯)。

  • 研究代理:搜索景点和活动(例如,羚羊峡谷)。

  • 产品推荐代理:根据研究代理的输出提供建议。

  • 代理工作流:一个代理的输出成为下一个代理的输入,创建无缝工作流。



现实生活中的例子:量化对冲基金

  • 量化方法对于量化研究人员快速验证交易想法和更快找到正确的交易策略至关重要。

  • 示例:使用移动平均交叉策略,研究人员可以输入股票详细信息(例如,亚马逊),回测窗口,并接收收益/亏损和夏普比率等指标。

  • 该系统提供买入和卖出条件,回测结果和改进交易策略的建议,包括风险评估和警报。

移动平均交叉策略

  • 移动平均(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代理网关

  • 为开发人员提供一种安全的方式来构建代理工具,通过将API、Lambda函数或现有服务封装到与MCP兼容的工具中。

步骤

  • 使用Lambda函数将历史市场数据存储在S3表中,并将其定义为网关的目标。

  • 使用代理调用create MCP网关命令创建网关。

  • 将Lambda函数定义为网关的目标。

  • 使用Cognito进行身份验证,以获得安全访问。

  • 为工具定义输入和输出参数(例如,获取市场数据)。



代理网关构建工具

  • 使用Agent RAM托管策略生成代理,并将其作为量化研究代理的工具。

集成网关作为工具

  • 创建网关后,可以将其作为当前研究代理的工具。

  • 步骤:

  • 指定参数和返回类型。

  • 使用Cognito进行身份验证。

  • 使用HTTP客户端调用网关以检索历史市场数据以进行回测。

定义和部署策略生成代理

  • 已部署策略生成代理,为代理提供安全和快速的托管方式。

  • 步骤:

  • 使用Strengths Import代理定义代理。

  • 指定使用backtrader框架生成交易策略代码的说明。

  • 将代理部署到运行时。

  • 指定入口点并在端口8080上运行代理。

  • 使用代理调用配置指定文件和依赖项。

  • 使用代理调用启动运行代理。

  • 使用代理获取状态检查其状态。

使代理成为工具

  • 定义工具(市场数据工具)和策略生成代理后,使代理成为工具。

  • 步骤:

  • 生成交易策略。

  • 指定参数(例如,买入和卖出条件)。

  • 调用代理。

编排代理(量化研究代理)

  • 编排代理协调工具和代理。

  • 步骤:

  • 导入代理。

  • 定义量化研究代理的系统提示,以获取历史市场数据、生成策略、运行回测和分析结果。

  • 使用“代理为工具”模式集成四种工具:

  • 市场数据,

  • 生成策略,

  • 运行回测,

  • 创建结果摘要。

  • 如果出现问题,量化研究代理将重新学习结果。



Kiro CLI

  • 使用Kiro CLI运行命令,这对调试很有用,因为它允许快速验证输出。

使用Kiro CLI运行量化代理

  • 使用Kiro CLI运行量化代理,利用工具执行补丁和指定10日期简单移动平均交叉30日简单移动平均策略的JSON文件。

  • 代理在大约6秒内生成交易策略。

  • 代理然后通过HTTP请求从网关获取市场数据。

  • 检索大约200个数据点用于回测。

  • 使用backtrader框架运行回测。

  • 输出包括初始值、利润、总回报和改进交易策略的建议。

  • 回测结果保存在名为memory的代理中,并在最后一步从那里获取。



蜂群模式

  • 与“代理为工具”模式不同,蜂群模式涉及代理动态交流和协作,没有单一编排器。

  • 蜂群维护所有代理都可以访问的共享上下文,包括有关其他代理、输入、输出和历史交互的信息。

  • 导入Swarm类,并定义四个代理,最大手烤和重复手烤检测,以防止无限循环。

  • “重复手烤”指的是在不同个人、团队、系统或网络访问点之间频繁、不必要地转移任务或责任。

示例:

  • 使用四个代理写博客:

  • 研究代理:进行研究。

  • 创意代理:创建内容。

  • 关键代理:挑战所创建的内容。

  • 总结代理:总结最终结果。

蜂群模式的关键组件

  • 共享上下文:所有代理都可以访问共享上下文。

  • 动态协作:代理在没有中央编排器的情况下交流和协作。

  • 手烤限制:设置最大交互和重复手烤检测以防止无限循环。

  • 独特的代理参与:确保至少有三个独特的代理参与最后的手烤,以维持多样性和防止重复交互。

蜂群模式的实际应用

  • 任务:创建一篇解释自主AI的博客文章,以及社交媒体帖子的摘要。

  • 工作流程:

  • 研究代理:收集必要的信息和事实。

  • 创意代理:创建引人入胜的博客文章。

  • 总结代理:生成社交媒体摘要。

  • 迭代过程:总结代理要求创意代理提供更多详细信息,以创建有效的摘要。

  • 最终输出:总结代理成功地创建了博客文章和社交媒体摘要,经过5次交互。

蜂群作为工具

  • 可以在更大的框架内使用蜂群模式作为工具。

  • 示例:导入蜂群工具以分析或使用一组代理执行任务。



图形模式

  • 将代理关系定义为图网络,其中每个代理是一个节点,边定义关系和信息流。

主要优势:

  • 可预测性:清晰定义的代理之间的通信路径。

  • 控制:对信息流的完全控制。

演示

  • 先定义代理,以确定它们在图中的角色和交互。

示例:代理基金经理

  • 定义投资组合建筑师代理将如何构建投资组合。

  • 定义基金经理代理将如何基于构建的投资组合来管理基金。

  • 投资组合建筑师代理:根据客户要求构建投资组合。基于投资组合建筑师代理构建的投资组合管理基金。

在图形模式中定义节点和边

  • 在图中定义节点以触发特定操作或部署代理。

示例:

  • 定义将呼叫代理的投资组合节点。

步骤:

  • 定义状态图并输入状态图。

  • 为金融、投资组合和风险添加节点。

  • 定义从金融到投资组合,投资组合到风险的边,风险为终点节点。



工作流模式

  • 工作流是一系列明确定义的任务或模式。

  • 示例:定义一系列研究代理、分析代理和报告代理。

步骤:

  • 导入工作流工具。

  • 定义任务及其依赖关系(例如,报告生成依赖于趋势分析)。

  • 设置优先级以确定并行子代理的执行顺序。

工作流模式用例

  • 理想用于需要封装在单个可靠工具中的复杂和可重复的流程。

示例:

  • 自动数据管道,包括数据提取、转换(ETL)和加载到数据仓库。


多代理协作模式的示例用例

代理作为工具:

  • 客户服务聊天机器人:编排代理调用技术客户经理、出价代理和摘要代理为客户提供输出。

蜂群模式:

  • 多学科事件响应:代理在本地交互以产生复杂的应激行为,无需集中控制。示例:网络问题传递给网络代理,如有必要,再传递给数据库代理。

图形模式:

  • 错误路径的数据验证:定义一个图,代理确定是否存在错误,然后传递给不带错误的数据验证或带错误路径的数据代理。

工作流模式:

  • 明确定义的任务序列,具有依赖关系和优先级,以保持受控的信息流和执行顺序。

Top comments (0)