第 14 章 Strands部署AgentCore
第 14 章:把 Agent 部署到云上
第 14 章:把 Agent 部署到云上
关于本课
本课程的视频是某个时间点的快照。Strands 还在快速迭代,所以这一页里的代码是最新的写法,但视频里讲的概念仍然成立。有疑问时,以代码为准。
本课代码:samples/14-deploy
从本地到生产
前面所有内容都跑在本地机器上。Strands Agent 本身就是 Python,所以你可以把它容器化,跑到任何地方。本课把它部署到 AWS,用 Amazon Bedrock AgentCore:Runtime 负责隔离执行,Memory 负责持久化和长期回忆,Observability 负责自动追踪。

让 Agent 可以部署
把 Agent 包进一个 BedrockAgentCoreApp,再给它一个 entrypoint。Agent 本身没有变化;下面这个客服 Agent 就是前面几课一路搭起来的那个,只是换上了 AgentCore Memory 的 session manager 来做持久化:
from strands import Agent
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from bedrock_agentcore.memory.integrations.strands.config import (
AgentCoreMemoryConfig, RetrievalConfig
)
from bedrock_agentcore.memory.integrations.strands.session_manager import (
AgentCoreMemorySessionManager
)
app = BedrockAgentCoreApp()
MEMORY_ID = os.environ.get("BEDROCK_AGENTCORE_MEMORY_ID", "")
def create_agent(actor_id: str, session_id: str):
# AgentCore Memory for persistence + long-term recall
session_manager = None
if MEMORY_ID:
config = AgentCoreMemoryConfig(
memory_id=MEMORY_ID,
session_id=session_id,
actor_id=actor_id,
retrieval_config={
"/users/{actorId}/facts": RetrievalConfig(),
"/users/{actorId}/preferences": RetrievalConfig(),
},
)
session_manager = AgentCoreMemorySessionManager(
agentcore_memory_config=config,
region_name="us-east-1",
)
return Agent(
tools=[lookup_customer, get_order_history, process_refund],
plugins=[AgentSkills(skills=["./skills"]), RefundWorkflowHandler(), tone_handler],
system_prompt=SYSTEM_PROMPT,
context_manager="auto",
session_manager=session_manager,
)📂 main.py · lambda-deployment/ (alternative: AWS Lambda)
retrieval_config 里的 namespace 告诉 AgentCore Memory,每一轮该从哪些长期记忆策略里取内容。这样老用户回来时,Agent 能直接想起他的事实和偏好,不用把旧对话再重放一遍。
部署命令
# Install CLI
npm install -g @aws/agentcore
# Scaffold project
agentcore create
# Add memory
agentcore add memory --name CustomerServiceMemory --strategies SEMANTIC,USER_PREFERENCE
# Deploy
agentcore deploy
# Invoke
SESSION_ID=""
agentcore invoke --session-id "$SESSION_ID" \
'{"prompt": "I need help returning my order", "actor_id": "sarah"}' AgentCore 提供了什么
| 组件 | 作用 |
|---|---|
| Runtime | 隔离的 microVM,跨请求保持状态 |
| Memory | 对话持久化 + 语义化的长期回忆 |
| Observability | 自动产生 trace、日志和执行遥测 |
| Gateway | 把 API 暴露成兼容 MCP 的 Tool |
| Identity | IAM 或 OAuth 认证关卡 |
AgentCore 的能力不止这些。完整的图景看 AgentCore 开发者指南。
你还缺什么
部署好的 Agent 只是生产架构里的一部分。它周围仍然需要 API 网关、限流、重试、安全控制、监控和错误处理。外围架构和 Agent 本身一样重要。