用 Bedrock AgentCore SDK 把 OpenClaw Agent 部署到 AWS 托管运行时:从本地开发到生产上线全流程
用 Bedrock AgentCore SDK 把 OpenClaw Agent 部署到 AWS 托管运行时从本地开发到生产上线全流程手里有个跑得好好的 OpenClaw Agent想搬到 AWS 上让它自动扩缩、有监控有告警Amazon Bedrock AgentCore 就是干这个的——把任意框架的 AI Agent 变成生产级应用不用自己管服务器。这篇走一遍完整流程本地 OpenClaw Agent → AgentCore SDK 封装 → 部署到 AgentCore Runtime → 调用测试。AgentCore 是什么Amazon Bedrock AgentCore 是亚马逊云科技 2026 年推出的 Agent 托管平台。核心卖点框架无关Strands、LangGraph、CrewAI、Autogen甚至自己写的框架都行零基础设施不用管服务器、容器、扩缩容企业级能力内置认证、记忆持久化、可观测性、安全隔离GitHub 上 Python SDK 已经 600 多颗星aws/bedrock-agentcore-sdk-python今天还在活跃更新。环境准备# 创建项目mkdiropenclaw-agentcorecdopenclaw-agentcore python3-mvenv .venvsource.venv/bin/activate# 安装依赖pipinstallbedrock-agentcore strands-agents bedrock-agentcore-starter-toolkit# 验证agentcore--help需要的 AWS 权限bedrock:InvokeModel调模型AgentCore Runtime 相关权限starter toolkit 会自动处理写 Agent 代码用agentcore create脚手架生成项目骨架agentcore create# 选择框架Strands Agents# 项目名openclaw-agent# 模型Claude Sonnet 4.0生成的目录结构openclaw-agent/ ├── agent.py # Agent 核心逻辑 ├── .bedrock_agentcore.yaml # AgentCore 配置 ├── requirements.txt └── tools/ # 自定义工具核心代码agent.pyfrombedrock_agentcoreimportBedrockAgentCoreAppfromstrandsimportAgent appBedrockAgentCoreApp()app.entrypointasyncdefhandler(request):promptrequest.get(prompt)agentAgent()# 默认用 Bedrock Claudeasyncforeventinagent.stream_async(prompt):yieldevent app.run()这段代码做了三件事创建 AgentCore 应用实例定义入口函数接收请求、创建 Agent、流式返回结果启动应用本地测试# 确保 AWS 凭证已配置aws configure list# 本地运行agentcore dev# 另一个终端测试curl-XPOST http://localhost:8080/invoke\-HContent-Type: application/json\-d{prompt: 帮我写一个 Python 快速排序}开启可观测性AgentCore 原生支持 OpenTelemetry一行配置搞定# .bedrock_agentcore.yamlobservability:enabled:truetraces:export_to:cloudwatch部署后自动把 trace 发到 Amazon CloudWatch可以在控制台看到每次请求的完整调用链。部署到 AgentCore Runtime# 一条命令部署agentcore deploy这条命令会打包 Agent 代码和依赖上传到 AgentCore Runtime配置自动扩缩容返回调用端点部署完成后拿到端点 URL。调用已部署的 Agentimportboto3importjson clientboto3.client(bedrock-agentcore-runtime)responseclient.invoke_agent(agentIdyour-agent-id,sessionIdtest-session-001,inputPayloadjson.dumps({prompt:用 Amazon S3 存日志有什么注意事项}))foreventinresponse[outputStream]:print(event.get(chunk,{}).get(bytes,b).decode())记忆持久化AgentCore 内置 Memory 服务Agent 可以跨会话记住上下文frombedrock_agentcore.memoryimportMemoryClient memoryMemoryClient()# 存储awaitmemory.put(namespaceuser-123,keypreferences,value{language:zh-CN,style:concise})# 读取prefsawaitmemory.get(namespaceuser-123,keypreferences)不用自己搭 Redis 或 DynamoDBAgentCore 托管存储。Gateway把 API 变成 MCP 工具AgentCore Gateway 可以把现有 REST API 自动转成 MCP 工具Agent 直接调用# gateway-config.yamltools:-name:get_weathersource:type:httpurl:https://api.weather.com/v1/currentmethod:GETparameters:-name:citytype:stringrequired:true这样 Agent 就能直接说查一下北京天气Gateway 自动调 API。成本AgentCore Runtime 按调用次数和运行时长计费不用的时候不花钱缩到 0。对比自己跑 EC2方案月成本估算运维负担EC2 t4g.small 全天跑~$12需要自己管AgentCore Runtime按调用付费零运维低频调用场景下 AgentCore 更划算。踩坑记录Python 版本需要 3.103.9 会报asyncio兼容问题IAM 权限首次部署需要bedrock-agentcore:*权限正式环境记得收窄模型访问确保在 Bedrock 控制台开启了目标模型的访问权限冷启动首次调用有 5-10 秒冷启动后续请求毫秒级Amazon Bedrock AgentCore 文档https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/AgentCore Python SDKhttps://github.com/aws/bedrock-agentcore-sdk-pythonStrands Agentshttps://strandsagents.com/latest/OpenClawhttps://github.com/openclaw/openclaw
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2470289.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!