作者在Udacity的Future AWS Agent Engineer纳米学位项目里完成了第二个AI智能体项目,这是他第一次用Amazon Bedrock AgentCore和Strands SDK动手。项目目标是构建一个客服AI智能体,能够追踪订单、处理退款、使用知识库回答产品和政策问题、跨会话记住客户信息、用代码计算忠诚度折扣,以及浏览实时网站。

纸面上,这是六个功能。实际上,它意味着把AgentCore Runtime、AgentCore Gateway、Lambda、API Gateway、Knowledge Base、Memory、Code Interpreter、Browser Tool、IAM、部署和CloudWatch连成一套能跑的系统。

打开网易新闻 查看精彩图片

卡住的不是AI,是连接

作者说,单独看这些名字,没有一个是无法理解的。放在一起,就变成了一大堆。这大概是学云和AI系统最难的地方:每个词你都认识,但不知道它们该怎么连起来。

一开始他想在动手前把整个架构搞明白。结果越是想一次全懂,越是觉得压得喘不过气。后来他换了个问法,不再问“我怎么才能理解整个项目”,而是问“我下一个需要理解的东西是什么”。项目从这一步开始变得可推进。

真正的转折点,是他不再把项目看成一串AWS服务名,而是去看每一块到底承担什么工作。AI模型负责理解客户请求、根据指令和可用工具决定做什么,项目里用的是Amazon Bedrock上的Amazon Nova 2 Lite。Strands SDK提供构建智能体的框架,把它的行为和需要的工具、能力接起来。

基础设施那层负责让智能体真的能做事。AgentCore Runtime是部署后的智能体运行的地方,AgentCore Gateway负责智能体和后端之间的连接。

六个能力,其实是六种不同的问题

作者把六个能力拆开看,发现它们各自要解决的根本不是同一类问题:

  • 订单追踪:把真实数据带回给客户
  • 退款处理:智能体需要执行一个动作
  • 知识库:模型知道,不等于应用知道
  • 记忆:一段新对话并不是真的从零开始
  • 代码解释器:让模型做决定,让代码做计算
  • 浏览器工具:信息不在你的应用内部时怎么办

这个拆法本身就说明了问题。订单追踪是取数,退款是动作,知识库是知识边界,记忆是跨会话状态,代码解释器是分工,浏览器工具是外部信息。它们需要的基础设施各不相同,项目有意思的地方也在这里。

作者还专门画了架构图,因为需要亲眼看见它。代码写对了,不代表你就有权限访问它。部署也不是终点。他没有用一个大而全的“它能跑吗”来验收,而是拆成六个测试,比一次性验证整个系统容易得多。

还有一层他之前没想够:系统的运维。以及,一个项目到底什么时候才算真的做完。

回头看,作者说,等一切都跑通之后再看架构,每一部分在做什么都清清楚楚。但最开始不是这样。而“智能体”这个词,也在这个过程中不再只是一个AI热词——他能在一个真实运转的系统里,看见它到底指什么。