想要加快AI开发与迭代周期?亚马逊云科技这项服务一定要用上!

Amazon Bedrock AgentCore是一项用于大规模安全构建、部署和运行高效Agent的服务。其中,Amazon Bedrock AgentCore Runtime是一项全托管服务,能提供低延迟的serverless环境,用于部署Agent和工具。该服务提供会话隔离功能,支持包括主流开源框架在内的多种Agent框架,可处理多模态工作负载与长时间运行的Agent。




图片






AgentCore Runtime支持容器化部署方式(container based deployments),容器定义需在Dockerfile中提供,Agent则构建为容器镜像。对于已拥有容器构建和部署流水线的用户而言,这种方式能带来显著优势,可将Agent部署集成到现有流水线中。






AgentCore Runtime现推出了第二种部署Agent方式:直接部署direct code deployment,适用于Python)。


用户可将Agent代码及其依赖项打包为zip压缩包,无需Docker定义文件和ECR依赖项,让开发者能够更轻松地进行原型设计,并加快迭代速度。对于部署Agent时不想费心掌握Docker专业知识和管理容器基础设施的用户而言,这种方式无疑是理想之选。




本文将演示如何使用直接部署方式(适用于Python)。




AgentCore Runtime

直接部署功能






采用容器化部署方式时,开发者需要创建Dockerfile、构建兼容ARM的容器、管理Amazon ECR存储库,并上传容器以实现代码变更。在已建立容器DevOps流水线来实现部署自动化的场景中,这种方式效果良好。


但是,对于寻求全托管部署方案的用户而言,直接部署功能可以带来更多益处,包括显著节省开发时间、提升工作效率。同时,从快速构建Agent功能原型,到大规模部署生产工作负载,直接部署功能提供了一条安全且可扩展的路径。


下文将探讨两种部署方案的优势,帮助您根据具体使用场景选用合适方式。






图片






采用直接部署方式时,开发者需将代码及依赖项打包为zip压缩包,上传至Amazon S3,并在Agent配置中设置存储桶。使用AgentCore入门工具包时,该工具包会处理依赖项检测、打包和上传工作,大幅简化开发者操作流程。此外,也支持通过API实现直接部署功能


下面从宏观层面对比两种方式的部署步骤。






容器化部署方式




该部署方式包括以下步骤:

  • 创建Dockerfile。

  • 构建兼容ARM的容器。

  • 创建Amazon ECR存储库。

  • 上传至Amazon ECR。

  • 部署到AgentCore Runtime。




直接部署方式




该部署方式包括以下步骤:

  • 将代码及依赖项打包为zip压缩包。

  • 上传至Amazon S3。

  • 在Agent配置中设置存储桶。

  • 部署到AgentCore Runtime。




如何使用直接部署功能




下文将以使用Strands Agents SDK创建Agent,并结合AgentCore入门工具包部署该Agent为例,来演示直接部署功能的工作原理。




准备条件




开始使用之前,请确保您已具备以下条件:

  • Python 3.10至3.13中的任意一个版本。

  • 已安装您偏好的包管理器,如本例使用的是uv包管理器。

  • 用于创建和部署Agent的亚马逊云科技账户。

  • 已获取访问Amazon Bedrock中Anthropic Claude Sonnet 4.0模型的权限。




步骤 1

初始化项目




使用uv包管理器创建一个新的Python项目,然后进入该项目目录。






uv init <project> --python 3.13cd <project>

左右滑动查看完整示意






步骤 2

添加项目所需依赖项




为项目安装需要的Amazon Bedrock AgentCore库和开发工具。本例使用.toml文件添加依赖项,您也可以在requirements.txt文件中指定这些依赖项。







uv add bedrock-agentcore strands-agents strands-agents-toolsuv add --dev bedrock-agentcore-starter-toolkitsource .venv/bin/activate

左右滑动查看完整示意






步骤 3

创建agent.py文件




创建主Agent实现文件,来定义AI Agent行为。









from bedrock_agentcore import BedrockAgentCoreApp from strands import Agent, tool from strands_tools import calculator  from strands.models import BedrockModel import logging 
app = BedrockAgentCoreApp(debug=True
# Logging setup logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) 
# Create a custom tool  @tool def weather():      """ Get weather """       return"sunny"
model_id = "us.anthropic.claude-sonnet-4-20250514-v1:0"model = BedrockModel(      model_id=model_id, 
agent = Agent(      model=model,      tools=[calculator, weather],      system_prompt="You're a helpful assistant. You can do simple math calculation, and tell the weather."
@app.entrypoint def invoke(payload):      """Your AI agent function"""     user_input = payload.get("prompt""Hello! How can I help you today?"     logger.info("\n User input: %s", user_input)      response = agent(user_input)      logger.info("\n Agent result: %s ", response.message)      return response.message['content'][0]['text'
if __name__ == "__main__"     app.run() 

左右滑动查看完整示意






步骤 4

部署至AgentCore Runtime




配置Agent,并将其部署到AgentCore Runtime





agentcore configure --entrypoint agent.py --name <agent-name>

左右滑动查看完整示意




这将启动一个交互式会话,在该会话中,用户需要配置用于上传zip部署包的Amazon S3存储桶,并选择部署配置类型(如下列配置所示)。如果要选择直接部署功能,请选择选项1:Code Zip。




部署配置



选择部署类型:

  • Code Zip(推荐类型):简单、Serverless架构、无需Docker。

  • 容器:适用于自定义运行时环境或复杂依赖项场景。





agentcore launch

左右滑动查看完整示意






此命令会创建一个zip部署包,用户将其上传至指定的Amazon S3存储桶,并在AgentCore Runtime中启动Agent,使其能够接收和处理请求。


为了测试该解决方案,本例向Agent提问,让其查询天气情况。







agentcore invoke '{"prompt":"How is the weather today?"}'

左右滑动查看完整示意




首次部署大约需要30秒完成,但得益于直接部署功能能够简化流程,后续更新Agent所需时间将缩短至不到一半,有助于加快开发过程中的迭代周期。




何时选择直接部署方式




本文将从以下维度来对比直接部署和容器化部署方式的差异,以便您明确哪种方式更适合自己:




部署流程



直接部署方式以zip文件形式部署Agent,无需Docker、Amazon ECR或CodeBuild。容器化部署方式则使用Docker和Amazon ECR,可完全控制Dockerfile。




部署时间



尽管首次部署Agent时,两者耗时差异不大,但后续更新Agent时,直接部署方式明显速度更快:容器化部署方式平均耗时30秒,而直接部署方式仅需要大约10秒




工件存储

直接部署方式将ZIP包存储在Amazon S3存储桶中。容器化部署方式则将Docker镜像存储在Amazon ECR中。

由于工件存储在服务账户中,因此直接部署方式将按标准的Amazon S3存储费率计算存储费用(自2026年2月27日起生效);容器化部署方式则会在账户中产生Amazon ECR相关费用。






定制化



直接部署方式通过基于ZIP的打包方式,支持自定义依赖项,而容器化部署方式则依赖于Dockerfile。




包大小



直接部署方式限制包大小为250MB,而容器化部署方式支持包大小最高可达2GB。




支持语言



直接部署方式目前支持Python 3.10、3.11、3.12 和 3.13;容器化部署方式则支持多种语言和运行时环境。


具体选用何种方式,本文给出以下总体建议:

  • 若包大小超过250MB、已有容器CI/CD流水线,或需要高度定制化的依赖项和自定义打包需求时,容器化部署方式会更合适。如果您需要多语言支持、自定义系统依赖项,或希望直接控制账户中的工件存储与版本管理,也建议选择容器化部署方式。

  • 若包大小在250MB以内、使用Python 3.10-3.13版本,且使用LangGraph、Strands或CrewAI等常见框架,同时需要快速原型开发与加快迭代周期时,直接部署方式则是理想选择。如果构建流程简单直接、无复杂依赖项,且希望省去Docker、Amazon ECR、CodeBuild的配置步骤时,同样推荐选择直接部署方式。

  • 对于许多团队而言,混合部署方案效果更佳:在需要快速迭代与简单配置以加速开发的场景下,可采用直接部署方式进行快速原型开发与试验;当包大小、多语言需求或特殊构建流程提出更高要求时,再切换至容器化部署方式以满足生产环境需求。




总结






Amazon Bedrock AgentCore直接部署功能,进一步加快了Agent开发与迭代周期,同时仍能提供企业级安全保障和大规模部署优势。


现在,开发者无需创建容器,只需直接部署代码,即可快速实现原型设计并完成迭代。


您可参阅亚马逊云科技官方文档,立即开始体验Amazon Bedrock AgentCore直接部署功能。






亚马逊云科技官方文档:

https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-get-started-code-deploy.html







新用户注册海外区域账户,可获得最高200美元服务抵扣金,覆盖Amazon Bedrock生成式AI相关服务。“免费计划”账户类型,确保零花费,安心试用。

图片







本篇作者







图片

Chaitra Mathur

亚马逊云科技生成式AI专家级解决方案架构师。她与各行业客户合作,构建可扩展的生成式AI系统并推动其落地应用。她曾在多个会议上发表见解,撰写了多篇机器学习和生成式AI领域的博客,分享自身专业知识,。






图片

Qingwei Li

亚马逊云科技机器学习专家。他致力于帮助金融服务和保险行业的客户,在亚马逊云科技上构建机器学习解决方案。






图片

Kosti Vasilakakis

亚马逊云科技Agentic AI团队的首席产品经理,他全程主导了包括AgentCore Runtime在内的多项Amazon Bedrock AgentCore服务的设计与开发工作。Kosti在Amazon SageMaker项目创立初期阶段便投身其中,助力推出了如今被全球数千家公司使用的人工智能与机器学习功能。此前,他还从事数据科学家一职。




我们正处在Agentic AI爆发前夜。企业要从"成本优化"转向"创新驱动",通过完善的数据战略和AI云服务,把握全球化机遇。亚马逊将投入1000亿美元在AI算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在AI时代突破。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值