sample-getting-started-with-strands-agents-course
AWS 官方 Strands Agents 框架完整学习路径,4 阶段覆盖 Agent 基础→高级技能→多 Agent 协作→AWS 生产部署,附 MCP/A2A 协议集成实战。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AWS 官方 Strands Agents 框架完整学习路径,4 阶段覆盖 Agent 基础→高级技能→多 Agent 协作→AWS 生产部署,附 MCP/A2A 协议集成实战。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你的 Python 脚本里,一个 Agent 负责回答用户问题,另一个 Agent 查询数据库,还有一个 Agent 负责审核回答的合规性——三者无需人工干预,自主协调完成复杂任务。这不是科幻,而是 AWS 通过 Strands Agents 框架已经实现的能力。
aws-samples/sample-getting-started-with-strands-agents-course 是 AWS 官方维护的 Strands Agents 框架学习路径,覆盖从 Agent 基础概念到生产级部署的全流程。截至 2025 年 8 月创建以来,已获得 100 颗 GitHub Stars、42 次 Fork,被认为是进入 AI Agent 开发领域最系统的入门资源之一。
Strands Agents 是 AWS 推出的开源 AI Agent 开发框架,定位类似于 LangChain 但深度绑定 AWS 生态。开发者可以用极少的代码构建具有工具调用、记忆管理、多 Agent 协作能力的智能助手。
一个最基础的 Strands Agent 长这样:
from strands import Agent
from strands.models.anthropic import AnthropicModel
agent = Agent(
model=AnthropicModel(model="claude-sonnet-4-20250514"),
tools=[calculator, web_search],
system_prompt="你是一个乐于助人的助手"
)
result = agent("北京今天的天气怎么样?")
框架的核心设计哲学是:用少量代码实现生产级 Agent。相比 LangChain 的复杂性,Strands Agents 刻意降低了 API 复杂度,让开发者专注于 Agent 行为本身。
第一个课程面向零基础用户,通过 6 个渐进式实验(Lab)带你从"Hello World"到完整 Agent:
| 实验 | 主题 | 难度 | 时长 |
|---|---|---|---|
| Lab 1 | Strands Agent 基础 | 入门 | 15 分钟 |
| Lab 2 | 多模型供应商配置(Anthropic / Bedrock) | 入门 | 18 分钟 |
| Lab 3 | AWS 服务集成(S3、DynamoDB) | 进阶 | 15 分钟 |
| Lab 4 | MCP 协议与工具开发 | 进阶 | 14 分钟 |
| Lab 5 | Agent 间通信(A2A 协议) | 高级 | 11 分钟 |
| Lab 6 | 可观测性与评估(LangFuse / RAGAS) | 高级 | 21 分钟 |
Lab 3 的 AWS 集成实验尤其值得注意——它展示了如何让 Agent 直接操作 S3 存储桶和 DynamoDB 表,这意味着 Agent 不再只是"聊天",而是可以执行真实的企业级操作。
第二阶段深入 Agent 开发的高阶能力,重点包括:
MCP(Model Context Protocol)集成:MCP 是 Anthropic 主导的工具标准化协议,允许 Agent 以统一方式调用外部工具。Course 2 Lab 4 包含一个完整的 MCP 服务器集成实验,接入 AWS Documentation 和 Pricing 工具,展示了如何构建"自我扩展"的 Agent——即 Agent 可以根据任务需求动态决定使用哪些工具。
记忆持久化:Course 2 Lab 6 覆盖了 FAISS、OpenSearch 和 Mem0 三种向量存储后端,实验代码展示了如何让 Agent 记住跨会话的上下文信息。这是实现真正"个人助手"能力的关键技术。
Hooks 机制:Course 2 Lab 3 介绍了一种精细化的 Agent 行为控制方案——在 Agent 生命周期的关键节点(工具调用前/后、响应生成前/后)注入自定义逻辑,实现重试、日志、动态修改等能力。
第三阶段转向多 Agent 协作模式。三种主流架构均有覆盖:
值得注意的是,Course 3 的实验代码托管在独立的仓库 strands-agents/samples 中,体现了 AWS 将基础课程与进阶实验分离的架构思路。
这是整个学习路径的最终目标——将开发好的 Agent 部署到 AWS 生产环境。
Amazon Bedrock AgentCore 是 AWS 在 2025 年推出的 Agent 部署平台,包含 7 个子服务:
Course 4 的生产部署仅需三步:
# 1. 配置 AgentCore
agentcore configure -e my_agent.py
# 2. 启动到云端
agentcore launch
# 3. 调用已部署的 Agent
agentcore invoke '{"prompt": "What is 50 plus 30?"}'
从本地 Python 脚本到云端 Serverless Agent,全流程不超过 10 分钟。
| 技术领域 | 具体工具 | 定位 |
|---|---|---|
| Agent 框架 | Strands Agents SDK | 核心框架 |
| 模型供应商 | Anthropic Claude, Amazon Bedrock, OpenAI, Ollama | LLM 后端 |
| 工具协议 | MCP (Model Context Protocol) | 工具标准化 |
| 通信协议 | A2A (Agent-to-Agent) | 多 Agent 通信 |
| 可观测性 | LangFuse, RAGAS | 监控与评估 |
| 记忆存储 | FAISS, OpenSearch, Mem0 | 长期记忆 |
| 生产部署 | Amazon Bedrock AgentCore | 云端部署 |
| Web 框架 | FastAPI | Course 4 运行时依赖 |
1. AWS 生态绑定:虽然 Strands Agents 支持 Anthropic 和 OpenAI 等非 AWS 模型,但 Course 3/4 强制依赖 AWS 服务。对于非 AWS 用户,学习价值打折扣。
2. Bedrock AgentCore 尚属新生:AgentCore Runtime 于 2025 年才发布,生态成熟度不如 SageMaker 或 Lambda,生产环境稳定性有待更多用户验证。
3. 无容器化支持:整个课程包没有任何 Dockerfile 或 docker-compose,本地实验完全依赖宿主机的 Python 环境。不同操作系统、不同 Python 版本之间的兼容性问题需要用户自行排查。
4. Jupyter Notebook 的双刃剑:交互式实验降低了入门门槛,但 Jupyter 格式也意味着没有结构化的代码测试,质量保证依赖 AWS 官方的实验设计质量。
# 克隆仓库
git clone https://github.com/aws-samples/sample-getting-started-with-strands-agents-course.git
cd sample-getting-started-with-strands-agents-course
# 创建虚拟环境
python -m venv .venv && source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置 API Key(编辑 .env)
echo "ANTHROPIC_API_KEY=your_key_here" > .env
# 运行第一个实验
cd course-1/Lab1 && python basic-use.py
Strands Agents 背后是 AWS 对 AI Agent 市场的战略押注。通过将 Agent 开发框架与 Bedrock 深度集成,AWS 正在复制其在云计算时代的成功路径——提供从开发到部署的全托管服务。
这个课程项目的出现,标志着 "Agent 开发"正在从高级研究走向工程化普及。当一个 AWS 官方 Sample 仓库提供如此完整的从入门到部署的学习路径时,说明 Agent 技术的工程化拐点已经到来。
预计未来 12-18 个月内,我们将看到更多企业级 Agent 部署需求,而 Strands Agents + Bedrock AgentCore 的组合有望成为 AWS 生态中 Agent 部署的事实标准。对于希望进入 AI Agent 领域的开发者,这条学习路径是最值得投入时间的起点之一。