目 录CONTENT

文章目录

使用 Amazon Bedrock AgentCore 全栈启动模板加速智能体应用开发

Administrator
2026-02-10 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://aws.amazon.com/blogs/machine-learning/accelerate-agentic-application-development-with-a-full-stack-starter-template-for-amazon-bedrock-agentcore/

原文作者:David Kaleko, Anurag Bhagat, Davide Merlin, Monica Raj, Isaac Privitera, Ryan Razkenari, and Brian Zambrano


生成式 AI 和智能体应用正在重塑企业的运营方式——从客户支持机器人到研究助手——团队需要快速地从原型阶段过渡到生产阶段。去年,AWS 发布了 Amazon Bedrock AgentCore——一个用于在生产环境中构建、部署和扩展 AI 智能体的开发平台。AgentCore 提供了核心构建模块,如运行时托管、内存、工具集成和可观测性,并具备企业级的安全性和动态扩展能力。

全栈 AgentCore 解决方案模板 (FAST) 展示了该平台从一开始如何协同工作。它是一个可立即部署的入门项目,将 AgentCore Runtime、Gateway、Memory 和 Code Interpreter 与一个 React 前端以及 Amazon Cognito 身份验证连接起来——所有这些都通过 AWS Cloud Development Kit (AWS CDK) 定义。FAST 提供了一个完整的参考架构,展示了各个组件如何集成,并带有一个可供学习和构建的工作聊天应用程序。

在这篇博文中,您将学习如何将 FAST 部署到您的 Amazon Web Services (AWS) 账户,了解其架构,并学习如何根据您的需求对其进行扩展。您将学会构建自己的智能体,而 FAST 负责处理身份验证、基础设施即代码 (IaC)、部署管道和服务集成。

解决方案概述

FAST 提供了一个完整的全栈架构,用于在 Amazon Bedrock AgentCore 上部署智能体。该模板默认处理身份验证、前端应用程序托管、智能体运行时、内存、可观测性和模型上下文协议 (MCP) 工具集成。

AWS 架构图,展示了一个使用 Amazon Bedrock AgentCore 的 AI 智能体应用,包括多智能体编排、通过 Cognito 进行用户身份验证、API Gateway、Lambda 计算层、带有代码解释器、内存、网关和可观测性组件的 AgentCore Runtime、DynamoDB 存储以及 CloudWatch/X-Ray 监控。FAST 架构图

该架构的核心是 Amazon Bedrock AgentCore Runtime,用于托管您的智能体。在 FAST 中,用户通过 Amazon Cognito 进行身份验证,Cognito 保护了四个集成点:

  1. 用户登录到 Amazon CloudFront 上的前端 Web 应用程序
  2. 前端对 AgentCore Runtime 进行基于令牌的身份验证
  3. 智能体对 AgentCore Gateway 进行基于令牌的身份验证
  4. API 请求对 Amazon API Gateway 进行基于令牌的身份验证

前端是一个使用 Tailwind CSSshadcn 组件的 React 应用程序,托管在 AWS Amplify Hosting 上。它使用可流式传输的 HTTP 与 AgentCore Runtime 通信,以实现实时响应流式传输。

反馈机制用于演示如何通过 API Gateway 进行同步和经过身份验证的 HTTP 调用,并将应用程序数据存储在 Dynamo DB 中。AgentCore Runtime 连接到多个 AgentCore 功能:

该模板包含 Strands AgentsLangGraph 的模式。FAST 和 AgentCore 不依赖于特定的智能体框架,因此您可以使用自己选择的智能体 SDK。基础设施使用 AWS CDK 定义,以支持可重复的部署。

该架构在设计上是模块化的。前端与由 AgentCore 驱动的后端集成,您可以将其用作与您自己的前端应用程序集成的示例。这可以是您自己的 React 应用程序,也可以是使用完全不同的前端框架的前端。

专为 AI 辅助开发而设计

FAST 在设计之初就包含了丰富的文档。代码库包含:

  • 引导文档 (Steering documents) – 编码助手自动遵循的规则和约定
  • 功能指南 (Feature guides) – 关于网关、内存、流式传输和其他集成的详细文档
  • 代码库中的 README 文件 – 每个组件的上下文信息

当您要求编码助手进行更改时,它可以阅读这些文档并遵循记录的模式。这种方法适用于许多 AI 编码助手,包括 Kiro、Cline、Claude Code、Cursor 等。文档和引导文档与系统无关。

AI 辅助开发是可选的。指导编码助手的相同文档对于更喜欢自己编写代码的开发人员同样有用。

先决条件

在部署 FAST 之前,请确保已安装以下组件:

您使用的 AWS 身份和访问管理 (IAM) 用户必须具有权限才能执行必要的 AWS 服务调用并管理本文中提到的 AWS 资源。在向 IAM 用户授予权限时,请遵循最小权限原则。

解决方案部署演练

首先在本地环境中部署解决方案。

步骤 1:克隆代码库

首先使用以下命令克隆代码库。

git clone https://github.com/awslabs/fullstack-solution-template-for-agentcore.git
cd fullstack-solution-template-for-agentcore

步骤 2:配置您的部署

编辑 infra-cdk/config.yaml 以自定义您的部署:

stack_name_base: your-project-name
admin_user_email: admin@example.com # 可选:自动创建用户并发送凭证
backend:
  pattern: strands-single-agent # 可选:strands-single-agent, langgraph-single-agent
  deployment_type: docker # 可选:docker, zip

步骤 3:使用 CDK 部署后端

使用以下命令部署后端。

cd infra-cdk
npm install
cdk bootstrap # 每个账户/区域仅需要一次
cdk deploy

这将创建 Cognito 用户池,构建容器并将其推送到 Amazon Elastic Container Registry (Amazon ECR),创建 AgentCore Runtime,并设置 CloudFront 分配。部署大约需要 5–10 分钟。

步骤 4:部署前端

使用以下命令部署前端。

cd ..
python scripts/deploy-frontend.py

该脚本将从 CDK 堆栈输出生成身份验证配置,安装依赖项,构建 React 应用程序,并将其部署到 AWS Amplify Hosting。完成后,脚本会输出应用程序 URL:

✓ Deployment completed successfully! Console: https://console.aws.amazon.com/amplify/apps
App URL: https://main.d123490abcdef.amplifyapp.com

步骤 5:创建一个 Amazon Cognito 用户

如果您在配置中提供了 admin_user_email,您将收到一封包含临时凭证的电子邮件,您可以使用它们登录。继续下一步。

如果您没有提供 admin_user_email,请手动创建一个用户:

  1. 打开 Amazon Cognito 控制台。
  2. 找到您的用户池(命名为 {stack_name_base}-user-pool)。
  3. 导航到用户并选择创建用户
  4. 输入电子邮件地址和临时密码。
  5. 选择将电子邮件标记为已验证
  6. 选择创建用户

步骤 6:访问和测试应用程序

您可以使用以下步骤访问和测试应用程序:

  1. 在浏览器中打开 Amplify Hosting URL(在部署前端后终端中打印的 URL)。
  2. 使用您的 Amazon Cognito 用户凭据登录。
  3. 在提示时更改您的临时密码。

Gif 演示使用用户名和密码登录默认 FAST 应用程序,然后输入一个示例查询并看到响应实时流式传输到屏幕上。登录并测试 FAST 聊天界面

FAST 示例应用程序是一个简单的多轮聊天界面。UI 设计上保持了最小化;它的目标是供您替换为您自己的前端或集成到现有应用程序中。基线智能体包含两个工具来演示架构:

  • 文本分析工具 – 一个基于 AWS Lambda 的工具,位于 AgentCore Gateway 后面,用于计算单词和分析字母频率。这演示了 Gateway 集成模式。
  • 代码解释器 (Code Interpreter) – 直接集成 AgentCore 代码解释器,用于在隔离的沙箱环境中更安全地执行 Python 代码。

尝试以下示例查询来验证工具是否正常工作:

  • “Analyze the text: The quick brown fox jumps over the lazy dog” – 智能体应返回单词计数和字母频率分析
  • “Calculate the first 20 Fibonacci numbers” – 观察智能体实时编写和执行 Python 代码

除了 UI 之外,提供的工具也旨在被替换。它们的存在是为了演示添加工具的两种不同架构(通过 AgentCore Gateway,如文本分析工具;直接添加到智能体,如代码解释器工具),并为您提供一个可用的起点。此外,反馈收集机制用于演示如何通过 API Gateway 进行同步和经过身份验证的 HTTP 调用,并且可以无缝移除或重新利用。

根据您的需求定制应用程序

如果您的需求是一个文档分析智能体而不是聊天机器人怎么办?或者您想与贵公司的现有身份提供商集成怎么办?FAST 正是为了处理这些情况;基线应用程序是一个起点,而不是限制。

以下是 AWS Events YouTube 频道上一次直播的录制内容,其中 FAST 被用于实时构建一个智能体的个人助理应用程序。

更改智能体模式

该模板在 patterns/ 目录下包含两种智能体模式:

  • strands-single-agent – 一个使用 Strands 框架和 MCP 工具集成的基础对话智能体
  • langgraph-single-agent – 一个使用 LangGraph 和 MCP 工具集成的基础对话智能体

要切换模式,请更新 infra-cdk/config.yaml 中的 backend.pattern,然后使用 cdk deploy 重新部署。

要创建您自己的模式,请在 patterns/ 下添加一个包含您的智能体实现、requirements.txt 文件和 Dockerfile 的新目录。更新配置以指向您的新模式。

使用 Gateway 添加新工具

AgentCore Gateway 将工具调用路由到一个 AWS Lambda 函数。要添加一个新工具:

  1. 创建一个实现工具逻辑的 Lambda 函数。
  2. 在 CDK 堆栈中定义工具模式(名称、描述和输入参数)。
  3. 将 Lambda 函数添加为 AgentCore Gateway 的目标。
  4. 使用 cdk deploy 重新部署。

智能体通过 MCP 自动发现来自 Gateway 的工具。有关实现细节和示例,请参阅 docs/GATEWAY.md

使用代码解释器

代码解释器已集成在基线智能体中。它提供在隔离的沙箱环境中进行更安全的 Python 执行,并具有会话持久性。用户可以要求智能体运行计算、生成数据或执行任意 Python 代码。

修改前端

前端是 frontend/ 目录中的标准 React 应用程序。像 Kiro 这样的 AI 编码助手非常擅长修改 React 前端。描述您想要的更改,让助手实现它们。

进行更改后,使用 python scripts/deploy-frontend.py 重新部署。

由于 FAST 使用 AWS Amplify Hosting,您可以选择与受支持的版本控制系统集成,以利用 Amplify Hosting 内置的持续集成和交付 (CI/CD) 功能,这可以替代提供的 deploy-frontend.py 脚本。

超越聊天:其他用例

基线应用程序围绕聊天界面构建,但 FAST 支持许多智能体用例。例如,文档分析智能体可能会向前端添加一个文件上传组件,一个用于从 PDF 中提取文本的 Lambda 工具,以及一个总结发现的智能体逻辑。或者工作流自动化智能体可能会监控 Slack 频道并自动从支持请求中创建 Jira 票证。相同的架构适用,您只是更换了组件。这些自定义可以在 FAST 的默认架构内工作。但是,如果您需要完全替换一个核心组件,该怎么办?

灵活性:替换主要组件

该架构在设计上是模块化的,因此您可以根据需求变化替换主要组件。以下是一些示例:

  • 身份提供商 – 用 Okta、Microsoft Entra ID、Auth0 或您现有的兼容 OAuth 2.0 的身份系统替换 Amazon Cognito
  • 前端框架 – 将 React 前端替换为 Vue、Angular,或将智能体后端集成到现有应用程序中
  • 托管 – 从 AWS Amplify Hosting 迁移到 Vercel、Netlify、自托管的 CloudFront 分配或您首选的托管解决方案
  • 智能体框架 – 使用 Strands Agents、LangGraph、CrewAI,甚至使用其他语言(如 TypeScript 或 Java)的智能体 SDK

这些是 FAST 提供的灵活性点。模块化的 CDK 基础设施和解耦的架构使得根据您的特定需求调整模板变得很直接。

清理

使用以下命令删除 FAST 创建的资源:

cd infra-cdk
cdk destroy --force

这将删除 AWS 资源,包括 Amazon Simple Storage Service (Amazon S3) 存储桶和 Amazon Elastic Container Registry (Amazon ECR) 镜像。如果让资源继续运行,可能会产生一些运行资源的费用。请注意,Amazon Bedrock AgentCore 是按使用量付费的。

结论

FAST 有助于将构建和部署智能体应用的时间缩短到 30 分钟以内。您可以获得更安全的身份验证、可用的前端以及集成的 AgentCore 功能——内存、网关、代码解释器和可观测性——而无需从头开始编写基础设施代码。基线聊天应用程序和示例工具是起点,而不是限制。换入您自己的智能体逻辑,连接您的工具,修改前端,或替换身份提供商或托管解决方案等主要组件。模块化架构会适应您的需求。

要开始使用,请收藏并克隆 代码库,将 FAST 部署到您的 AWS 账户,并在 30 分钟内运行一个可用的智能体应用程序。从那里开始定制并发布一些实际有用的东西。

如需专家协助,AWS 生成式 AI 创新中心AWS 专业服务以及我们的 AWS 合作伙伴随时为您提供帮助。


关于作者

David Kaleko's photo

David Kaleko

David Kaleko 是 AWS 生成式 AI 创新中心的资深应用科学家,负责领导前沿生成式 AI 实施策略的实证研究工作,以服务 AWS 客户。他拥有哥伦比亚大学粒子物理学博士学位。

Isaac Privitera's photo

Isaac Privitera

Isaac Privitera 是 AWS 生成式 AI 创新中心的主任数据科学家,负责构建定制的、基于 AI 智能体的解决方案来解决客户的业务问题。他的主要关注点在于构建负责任的 AI 系统,使用 RAG、多智能体系统和模型微调等技术。当不沉浸在 AI 世界中时,Isaac 喜欢在高尔夫球场上度过时光、观看足球比赛,或者和忠实的狗狗伙伴 Barry 一起徒步旅行。

Ryan Razkenari's photo

Ryan Razkenari

Ryan Razkenari 是 AWS 生成式 AI 创新中心的深度学习架构师,负责为企业客户设计和构建 AI 解决方案。他专注于将生成式 AI 应用于复杂的业务挑战,重点是将前沿研究转化为可投入生产的系统。

Monica Raj's photo

Monica Raj

Monica Raj 是 AWS 生成式 AI 创新中心的深度学习架构师,与跨行业的组织合作,架构和部署可投入生产的 AI 解决方案。她专注于智能体 AI 系统、自然语言处理、联络中心自动化和智能文档处理,重点是为客户构建可扩展的企业级基础设施。

Davide Merlin's photo

Davide Merlin

Davide Merlin 是 AWS 生成式 AI 创新中心驻泽西市的机器学习工程师。他专注于 AI 云原生应用程序的后端开发,重点是 API 架构。在空闲时间,他喜欢玩电子游戏、尝试新餐馆和观看新节目。

Brian Zambrano's photo

Brian Zambrano

Brian Zambrano 是 AWS 的资深深度学习架构师。他拥有超过 25 年的软件工程和架构经验。他目前在 AWS 生成式 AI 创新中心工作,利用他在云架构、无服务器和事件驱动系统方面的背景,帮助客户实现生成式 AI 解决方案的落地。Brian 是 2018 年出版的 Serverless Design Patterns and Best Practices 的作者。在加入 AWS 的七年多时间里,Brian 担任过多个职务,包括软件工程师、企业解决方案架构师和专业解决方案架构师。

Anurag Bhagat's photo

Anurag Bhagat

Anurag Bhagat 是 AWS 生成式 AI 创新中心的资深战略师,负责领导应用 AI 工作,帮助改善 AWS 企业客户的业务运营。他拥有 15 年在各个行业和职能中应用 AI 的经验,是一名计算机科学毕业生。




🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。

0

评论区