📢 转载信息
原文作者:David Kaleko, Anurag Bhagat, Davide Merlin, Monica Raj, Isaac Privitera, Ryan Razkenari, and Brian Zambrano
生成式AI和代理式应用程序正在重塑企业的运营方式——从客户支持机器人到研究助手——团队需要快速地从原型转向生产。去年,AWS发布了Amazon Bedrock AgentCore——一个用于在生产环境中构建、部署和扩展AI代理的开发平台。AgentCore提供了核心构建块,如运行时托管、Memory(记忆)、工具集成和可观察性,并具备企业级的安全性和动态扩展能力。
全栈AgentCore解决方案模板(Fullstack AgentCore Solution Template, 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上部署代理提供了一个完整全栈架构。该模板默认处理身份验证、前端应用程序托管、代理运行时、Memory、可观察性和Model Context Protocol (MCP)工具集成。

该架构的核心是Amazon Bedrock AgentCore Runtime,用于托管您的代理。在FAST中,用户通过Amazon 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作为Model Context Protocol (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 Command Line Interface (AWS CLI)
- AWS CDK
您使用的AWS Identity and Access Management (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)。 - 导航到Users并选择Create user。
- 输入电子邮件地址和临时密码。
- 选择Mark email as verified。
- 选择Create user。
步骤 6: 访问和测试应用程序
按照以下步骤,您就可以访问和测试应用程序了:
- 在浏览器中打开Amplify Hosting URL(在终端中部署前端后显示)。
- 使用您的Amazon Cognito用户凭证登录。
- 在提示时更改您的临时密码。

FAST示例应用程序是一个简单的多轮聊天界面。该UI在设计上保持最小化;它旨在被替换为您自己的前端或集成到现有应用程序中。基线代理包含两个工具来演示架构:
- 文本分析工具 – 一个基于AWS Lambda的工具,位于AgentCore Gateway之后,用于计算单词和分析字母频率。这演示了Gateway集成模式。
- Code Interpreter – 直接集成到AgentCore Code Interpreter,用于在隔离沙箱环境中进行更安全的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。
使用Code Interpreter
Code Interpreter已经集成在基线代理中。它在隔离的安全沙箱环境中提供更安全的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功能——Memory、Gateway、Code Interpreter和Observability。基线聊天应用程序和示例工具是起点,而不是限制。您可以替换为您自己的代理逻辑、连接您的工具、修改前端,或替换身份提供商或托管解决方案等主要组件。模块化架构可以适应您的要求。
要开始使用,请star并克隆存储库,将FAST部署到您的AWS账户,并在30分钟内运行一个可用的代理应用程序。从那里开始,您可以定制并交付真正的产品。
如需专家协助,AWS Generative AI Innovation Center、AWS Professional Services以及我们的AWS合作伙伴随时为您提供帮助。
关于作者
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区