目 录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提供了核心构建块,如运行时托管、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)工具集成。

AWS architecture diagram showing an AI agent application using Amazon Bedrock AgentCore with multi-agent orchestration, including user authentication through Cognito, API Gateway, Lambda compute layer, AgentCore Runtime with code interpreter, memory, gateway, and observability components, DynamoDB storage, and CloudWatch/X-Ray monitoring.

该架构的核心是Amazon Bedrock AgentCore Runtime,用于托管您的代理。在FAST中,用户通过Amazon 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 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,请手动创建一个用户:

  1. 打开Amazon Cognito控制台。
  2. 找到您的用户池(名称为{stack_name_base}-user-pool)。
  3. 导航到Users并选择Create user
  4. 输入电子邮件地址和临时密码。
  5. 选择Mark email as verified
  6. 选择Create user

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

按照以下步骤,您就可以访问和测试应用程序了:

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

Gif demonstrating logging into the default FAST application with a username and password, then entering a sample query and seeing the response stream back to the screen.

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函数。要添加新工具:

  1. 创建一个实现工具逻辑的Lambda函数。
  2. 在CDK堆栈中定义工具模式(名称、描述和输入参数)。
  3. 将Lambda函数添加为AgentCore Gateway的目标。
  4. 使用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功能——MemoryGatewayCode InterpreterObservability。基线聊天应用程序和示例工具是起点,而不是限制。您可以替换为您自己的代理逻辑、连接您的工具、修改前端,或替换身份提供商或托管解决方案等主要组件。模块化架构可以适应您的要求。

要开始使用,请star并克隆存储库,将FAST部署到您的AWS账户,并在30分钟内运行一个可用的代理应用程序。从那里开始,您可以定制并交付真正的产品。

如需专家协助,AWS Generative AI Innovation CenterAWS Professional Services以及我们的AWS合作伙伴随时为您提供帮助。


关于作者

David Kaleko

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

Isaac Privitera

Isaac Privitera是AWS生成式AI创新中心首席数据科学家,他开发定制的基于代理的AI解决方案来解决客户的业务问题。他的主要关注点在于构建负责任的AI系统,使用RAG、多代理系统和模型微调等技术。在AI世界之外,Isaac喜欢打高尔夫球、看足球比赛,或和他的忠实伙伴Barry一起徒步旅行。

Ryan Razkenari

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

Monica Raj

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

Davide Merlin

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

Brian Zambrano

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

Anurag Bhagat

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




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

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

0

评论区