📢 转载信息
原文作者: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) 工具集成。
FAST 架构图
该架构的核心是 Amazon Bedrock AgentCore Runtime,用于托管您的智能体。在 FAST 中,用户通过 Amazon Cognito 进行身份验证,Cognito 保护了四个集成点:
- 用户登录到 Amazon CloudFront 上的前端 Web 应用程序
- 前端对 AgentCore Runtime 进行基于令牌的身份验证
- 智能体对 AgentCore Gateway 进行基于令牌的身份验证
- API 请求对 Amazon API Gateway 进行基于令牌的身份验证
前端是一个使用 Tailwind CSS 和 shadcn 组件的 React 应用程序,托管在 AWS Amplify Hosting 上。它使用可流式传输的 HTTP 与 AgentCore Runtime 通信,以实现实时响应流式传输。
反馈机制用于演示如何通过 API Gateway 进行同步和经过身份验证的 HTTP 调用,并将应用程序数据存储在 Dynamo DB 中。AgentCore Runtime 连接到多个 AgentCore 功能:
- AgentCore Memory – 存储对话历史(短期)和提取的洞察(如用户偏好,长期),以便您的智能体在会话中无需自定义数据库工作即可记住上下文。(FAST 默认包含短期内存,通过微小修改即可无缝添加长期内存。)
- AgentCore Gateway – 将 API 作为与 模型上下文协议 (MCP) 兼容的工具暴露给您的智能体
- AgentCore Code Interpreter – 在隔离的沙箱环境中安全地执行 Python 代码
- AgentCore Observability – 将 Open Telemetry (OTEL) 兼容的指标和日志发送到 Amazon CloudWatch,并将跟踪发送到 AWS X-Ray
该模板包含 Strands Agents 和 LangGraph 的模式。FAST 和 AgentCore 不依赖于特定的智能体框架,因此您可以使用自己选择的智能体 SDK。基础设施使用 AWS CDK 定义,以支持可重复的部署。
该架构在设计上是模块化的。前端与由 AgentCore 驱动的后端集成,您可以将其用作与您自己的前端应用程序集成的示例。这可以是您自己的 React 应用程序,也可以是使用完全不同的前端框架的前端。
专为 AI 辅助开发而设计
FAST 在设计之初就包含了丰富的文档。代码库包含:
- 引导文档 (Steering documents) – 编码助手自动遵循的规则和约定
- 功能指南 (Feature guides) – 关于网关、内存、流式传输和其他集成的详细文档
- 代码库中的 README 文件 – 每个组件的上下文信息
当您要求编码助手进行更改时,它可以阅读这些文档并遵循记录的模式。这种方法适用于许多 AI 编码助手,包括 Kiro、Cline、Claude Code、Cursor 等。文档和引导文档与系统无关。
AI 辅助开发是可选的。指导编码助手的相同文档对于更喜欢自己编写代码的开发人员同样有用。
先决条件
在部署 FAST 之前,请确保已安装以下组件:
- Node.js 20 或更高版本
- Python 3.11 或更高版本
- Docker
- 已配置 AWS 命令行界面 (AWS CLI),并具有 至少这些最低权限
- AWS CDK
您使用的 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,请手动创建一个用户:
- 打开 Amazon Cognito 控制台。
- 找到您的用户池(命名为
{stack_name_base}-user-pool)。 - 导航到用户并选择创建用户。
- 输入电子邮件地址和临时密码。
- 选择将电子邮件标记为已验证。
- 选择创建用户。
步骤 6:访问和测试应用程序
您可以使用以下步骤访问和测试应用程序:
- 在浏览器中打开 Amplify Hosting URL(在部署前端后终端中打印的 URL)。
- 使用您的 Amazon Cognito 用户凭据登录。
- 在提示时更改您的临时密码。
登录并测试 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 函数。要添加一个新工具:
- 创建一个实现工具逻辑的 Lambda 函数。
- 在 CDK 堆栈中定义工具模式(名称、描述和输入参数)。
- 将 Lambda 函数添加为 AgentCore Gateway 的目标。
- 使用
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 合作伙伴随时为您提供帮助。
关于作者
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区