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时代突破。




被折叠的 条评论
为什么被折叠?



