构建代理式 AI:Amazon Nova Act 与 Strands Agents 实践
Source: Dev.to
引言
关于Agentic AI的出现作为当前AI格局中的关键话题的会议介绍。面向前瞻性的开发者,帮助他们超越基础理解,进入真实世界的应用与创新。
Agentic AI的未来趋势
- 概述生成式AI的演进,突出从低代理性(基于规则、高度人工监督)到高代理性(独立运行、战略决策)的进程。
- 认可Agentic AI当前的发展阶段,强调需要更先进的技术、治理、信任以及组织准备,以实现更高的代理性。
Sequoia Capital的预测
Sequoia Capital在2025年AI主题演讲中设想,AI系统将超越工具属性,成为自主运行的智能代理。这些代理将具备推理、规划、协作和高度自主操作的能力。
对2030年代经济的愿景
Sequoia Capital预测,2030年代的经济,尤其是亚洲,将像一个由众多AI代理操作组成的全球神经网络,形成互联互通的网络。
个人成功的潜在可能
设计一个被广泛采用的AI代理,尤其是全球范围内的采纳,可能带来巨大的个人财务成功,甚至使人极度富有。
预测的重要性
此预测对于指导开发者以及了解AI发展未来需要实现的目标至关重要。
“一人独角兽”的出现
Sequoia Capital预测,“一人独角兽”——由单个人创建并运营、估值达10亿美元的公司——将崛起。这一趋势将改变劳动结构,催生单人即可运营整个初创公司的新组织模型。
需要随机思维模式
AI代理的世界要求开发者采用全新的思考方式,从传统的准确性期待转向更随机的思维模式。这涉及调整开发者与大型语言模型及AI技术的连接方式。
为Agentic AI新纪元做准备
在Agentic AI时代取得成功不仅需要技术准备,还需要心理和组织层面的调整。开发者必须为组织结构和思维框架的变化做好准备,以在这一新纪元中蓬勃发展。
2025年Agentic AI的基础设施
像 MCP 与 A2A 这样的通信协议正在研发,以实现AI代理及其工具之间的互操作性。AWS积极参与MCP和A2A的标准委员会,贡献其在分布式系统方面数十年的经验,以提升这些未来协议。
AWS Agentic AI 产品组合
该组合分为三层:
- 基础设施
- AI 与代理开发者软件
- 应用层
重点在于AI与代理开发软件和服务,包括 Amazon Nova Act 与 Strands Agents 的SDK。
实际的Agentic AI 应用:本地天气信息
本地天气信息代理
- 基于 Amazon Bedrock,使用 Emerald,并配备香港天文台网站的URL。
- 用户可以使用自然语言(英语、西班牙语或中文)查询香港当前天气。
- 代理自主在指定网站定位信息并保存截图以供验证,展示出与人类网页抓取工程师相当的能力。
对网页抓取工程师的影响
Agentic AI时代已经到来,可能冲击传统网页抓取岗位。开发者可能需要使用AWS的Nova Act等服务为此转型做好准备。
AI 代理的实现细节
- Nova Act 预测功能指引代理抓取哪些网页以及执行何种操作。
- 使用自然语言分配任务,例如读取并提取香港天文台网站的9天天气预报。
开发者的抱负
许多开发者希望从零构建自己的Agentic AI应用,并保持完整的源码控制。开源的Strands代理可以帮助实现这一目标,使开发者能够掌控每一行代码。
构建自定义代理的挑战
开发者需要能够让代理与各种企业系统交互的连接器。
定制化AI代理系统所需的组件
- 工具 & MCP(Message Control Protocol): 使代理能够执行工作流(例如预订酒店、更新信息、触发流程)。
- 记忆:
- 短期记忆 在会话内保持上下文。
- 长期记忆 让代理随时间学习并改进。
- 大脑(大型语言模型): 通过 ReACT(Reasoning, Acting, and Communicating Together)、反思以及 Chain of Thought 等技术扩展LLM,以实现逐步规划、反思和推理。
- 角色设定(Persona): 定义代理的身份和行为(例如HR代理 vs. DevOps代理)。
- 可观测性与安全护栏(Observability & Guardrails): 提供安全性、可调试性以及与目标的一致性。
构建功能性AI代理的挑战
打造真正功能齐全的AI代理需要大量工作;其中80‑90 %的工作可能与独特的业务逻辑和流程无关。
AWS 解决方案:Strands Agents
Strands Agents 是AWS贡献的开源SDK,帮助开发者以极少代码构建AI代理。它通过利用最先进的LLM进行规划和Chain of Thought推理,简化了开发过程。
演示:使用 Strands Agents 创建数学动画
核心实现代码(Python)
# imports
from strands import Agent
from strands.mcp import MCPClient
# establish MCP connection to Manim server
client = MCPClient(host="localhost", port=12345)
tools = client.get_tools() # retrieve available tools from the server
# initialize the agent with the retrieved tools
agent = Agent(tools=tools)
# natural language prompt for a cubic function animation
prompt = "Create a 9‑second animation of the cubic function y = x**3 from x = -3 to x = 3."
# process the request
result = agent.run(prompt)
print(result) # output includes video file path or status message
工作流概览
- 左侧终端: 运行 MCP(Message Control Protocol)服务器,通过 STDIO 传输连接到 Manim MCP 服务器。
- 右侧终端: 运行 MCP 客户端程序,启动视频生成聊天界面。
用户输入自然语言指令(例如“在9秒内绘制从‑3到3的立方函数”),代理处理请求,若出现问题会自行调整,并生成动画。
多代理协作的优势
- 专业化: 专注于特定领域的代理提升精度,提供更准确的答案。
- 组合: 将专业化代理整合可产生更丰富、全面的解决方案。