bedrock-agentcore-sdk-python
AWS 官方 SDK:将本地 AI 智能体一键部署至云端,实现生产级扩缩容与安全管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AWS 官方 SDK:将本地 AI 智能体一键部署至云端,实现生产级扩缩容与安全管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样的场景:你在本地用 LangGraph 写了一个客服智能体,调通了意图识别、工具调用、多轮对话,demo 效果惊艳。把它交给产品经理演示——没问题。但要真正上线?
噩梦开始:怎么保证 7×24 小时稳定运行?怎么处理高并发?怎么管理不同用户的会话状态?如何让多个智能体之间安全地通信?怎样在生产环境里调试 AI 的"幻觉"问题?
AWS Bedrock AgentCore SDK 正是为解决这一痛点而生的工具。它是亚马逊云科技官方的 Python 开发包,核心理念只有一个:把你在本地调试好的 AI 智能体,无缝迁移到 AWS 云端,变成真正可以 scale 的生产级应用。
2024-2025 年,大模型应用开发的范式从"调用 API"演进到"构建智能体(Agent)"。但智能体的落地比模型本身复杂得多——需要运行时环境、记忆管理、工具编排、安全认证、可观测性……每一个都是企业级挑战。
AWS 作为全球最大云服务商,自然不会缺席。Bedrock 是 AWS 的大模型服务平台,而 AgentCore 是 Bedrock 上专门面向 AI 智能体的基础设施层。这个 SDK(bedrock-agentcore)则是开发者接入 AgentCore 的 Python 客户端,类似于 boto3 与 AWS 各服务的关系。
项目托管在 GitHub(aws/bedrock-agentcore-sdk-python),采用 Apache-2.0 开源许可,由 AWS 官方团队维护。README 开篇明义:
"Deploy your local AI agent to Bedrock AgentCore with zero infrastructure"
如果把一个 AI 智能体比作一架战斗机,本地开发阶段就好比在陆地机场起飞调试——灵活但无法远航。
Bedrock AgentCore 就是那艘航空母舰,而 bedrock-agentcore-sdk 是战斗机的舰载适配系统。你不需要学习如何造航母,只需要装上 SDK,把你的智能体"降落"到 AgentCore 的甲板上,它就自动获得了以下能力:
通过分析源代码目录结构,bedrock-agentcore SDK 的核心模块清晰如下:
src/bedrock_agentcore/runtime/ 是 SDK 的核心,提供了基于 Starlette(ASGI 框架)的 Web 服务器。BedrockAgentCoreApp 是主入口类,通过装饰器模式将用户的异步函数注册为 HTTP 端点。
from bedrock_agentcore import BedrockAgentCoreApp
app = BedrockAgentCoreApp()
from strands import Agent # 或任意框架
@app.entrypoint
async def handler(request):
prompt = request.get("prompt")
agent = Agent()
async for event in agent.stream_async(prompt):
yield event
app.run()
关键特性:
ShellSession、ShellFrame),支持重连配置(ReconnectConfig)PresignedAuth(预签名 URL)、OAuthAuth(OAuth2)、AuthModeOTEL_RESOURCE_ATTRIBUTES)src/bedrock_agentcore/memory/ 提供持久化会话记忆能力,包含:
MemoryClient:与 AgentCore Memory 服务通信的客户端MemorySessionManager:管理多个记忆会话的生命周期Actor:表示会话中的参与者(用户/智能体)MemoryControlPlaneClient:管理记忆配置的 Control Plane 接口这意味着智能体可以在多次对话之间保持上下文,不用每次都从零开始。
src/bedrock_agentcore/gateway/ 的 GatewayClient 负责将外部 REST API 转换为 MCP(Model Context Protocol)工具。智能体可以像调用本地函数一样调用远程 API,Gateway 负责协议转换、认证传递和响应路由。
src/bedrock_agentcore/tools/ 是功能最丰富的模块,提供了多种内置工具:
| 工具 | 说明 | 关键配置类 |
|---|---|---|
| BrowserClient | 云端浏览器自动化 | BrowserConfiguration、ViewportConfiguration、RecordingConfiguration |
| CodeInterpreter | 沙箱代码执行 | CodeInterpreterConfiguration |
| MCP Gateway | API→MCP 转换 | 继承 Gateway 能力 |
| 扩展机制 | 企业策略、VPC、代理 | EnterprisePolicy、VpcConfig、ProxyConfiguration |
src/bedrock_agentcore/identity/ 提供装饰器风格的认证检查:
@requires_access_token:验证 Bearer Token@requires_api_key:验证 API Keysrc/bedrock_agentcore/config_bundle/ 管理部署配置的分发和 baggage 传递,用于多环境配置管理。
src/bedrock_agentcore/evaluation/ 提供智能体评测工具,用于验证智能体输出的质量。
核心技术栈:
架构特点:
disallow_untyped_defs = true),代码质量要求高安装:一行命令,极简
pip install bedrock-agentcore
使用门槛:需要 AWS 账号 + Bedrock AgentCore 服务订阅(不是完全免费的服务)。对于 AWS 深度用户来说,上手非常自然;对于非 AWS 用户,有一定学习成本。
CLI 工具:bedrock-agentcore 命令行入口已注册到 pyproject.toml 的 [project.scripts]。
局限 1:云端锁定(Vendor Lock-in) 这是最明显的争议点。项目名称里的 "Bedrock" 已经说明了一切——它深度绑定 AWS 生态。如果你的团队想切换到 Azure/GCP,或者想纯本地部署,这个 SDK 帮不上忙。官方也坦然承认这一点,把"框架无关"和"AWS 基础设施"放在一起,本身就是一种权衡。
局限 2:Alpha 状态
从 pyproject.toml 的 Development Status :: 3 - Alpha 可以看出,项目仍处于积极开发阶段,API 可能存在 breaking changes。对于生产项目来说,需要评估升级风险。
局限 3:无开源可部署版本 没有 Dockerfile、docker-compose 或本地模拟器。这意味着你无法在没有 AWS 账户的情况下测试 SDK 的核心功能。对于希望在本地开发/测试环境中运行的团队,这是一个现实障碍。
Bedrock AgentCore SDK 的出现,折射出 AI 应用落地的一个大趋势:从模型能力竞争,到基础设施竞争。
过去一年,我们看到 OpenAI 推出 Assistants API、Anthropic 推出 Claude Code SDK、Google 推出 Agent Development Kit……每一个大模型厂商都在建立自己的"智能体运行时"。AWS 通过 AgentCore 选择了另一条路:保持框架中立,不管你用 LangGraph 还是 CrewAI 还是自研框架,都能接入 AWS 的生产级基础设施。
这种策略的优势是开发者保留框架选择权,AWS 提供的是"水电煤"级别的平台服务。劣势则是云厂商的核心价值(可靠性、安全性、合规性)需要付费才能体验,开发者社区的参与度和创新速度可能不如纯开源项目。
从增长角度看,该项目 GitHub 726 stars,在 AWS 官方案例中属于相对活跃的新项目,但距离爆款开源项目还有差距。其增长更依赖 AWS 整体生态的扩张,而非社区自发的病毒式传播。
bedrock-agentcore-sdk-python 是一款目标明确的 AWS 官方工具,面向需要将 AI 智能体规模化部署的企业用户。它不追求功能炫酷,而是专注于"让本地智能体安全可靠地跑在 AWS 上"这一件事。
适合使用:AWS 重度用户、需要企业级 SLA 的 AI 应用、需要合规审计的生产环境 谨慎考虑:预算有限的小团队、完全不想上云的开发者、需要快速迭代的开源项目
一句话:如果你已经在 AWS 上运行 AI 应用,这个 SDK 值得认真评估;如果你还在探索阶段,先想清楚是否愿意绑定 AWS 生态。