Building with Strands:Agent 从原理到上云(14 讲)
Strands Agents 官方课程中文翻译版
Strands Agents 官方课程《How Agents Really Work》全 14 讲中文版:从 Agent 循环、模型提供商、MCP 工具、Hooks、Skills,到上下文工程、持久记忆、三种多 Agent 模式、评测与上云部署。
📖 本书大纲
Building with Strands:Agent 从原理到上云(14 讲)
关于本书
这是一本从零开始把 Agent 讲透的实战书,译自 Strands Agents 官方课程 Building with Strands(页面路径为 how-agents-really-work)。全书 14 讲,路线是先从原理出发——模型本身是无状态的,Agent 是"模型 + Harness"——再一层层往上加东西:换模型提供商、用 MCP 接工具、加回调与流式输出、用 Hooks 控制生命周期、装插件与 Skills、做上下文工程、接持久记忆,最后到三种多 Agent 协作模式和部署上云。
它值得一读的地方在于顺序。市面上大多数 Agent 教程从"调用一次 API"跳到"多 Agent 编排",中间的工程细节全靠读者自己撞墙补齐。这门课反着来:每一讲只加一个能力,而且加在正确的位置上——为什么回调要在流式之前讲、为什么上下文管理要放在记忆之前、为什么三种多 Agent 模式的差异本质是"控制权归谁"。跟着走一遍,Agent 这套东西的结构就立起来了。
原文有一个重要提示,翻译版原样保留:视频是某个时间点的快照,Strands 还在快速迭代,页面上的代码是最新的模式,概念仍然成立;两者不一致时,以代码为准。
内容结构总览
全书 14 章,按能力递进分为四个阶段:
| 章 | 主题 | 核心内容 | 阶段 |
|---|---|---|---|
| 第 1 章 | Agent 到底是怎么工作的 | Agent 循环四步、Agent = Model + Harness、三层工程(Prompt / Context / Harness)、第一个可运行的 Agent | 原理 |
| 第 2 章 | 切换模型提供商 | Bedrock 默认、provider/name 字符串、Anthropic / OpenAI / Gemini / Ollama / LiteLLM、本地模型 |
原理 |
| 第 3 章 | 用 MCP 给 Agent 装上工具 | @tool 装饰器、工具 schema 从类型标注生成、本地与远程 MCP server(stdio / Streamable HTTP) |
工具 |
| 第 4 章 | 回调与流式响应 | callback handler、token 级流式输出、把中间过程暴露给 UI | 交互 |
| 第 5 章 | 用 Hooks 控制 Agent | 生命周期 hook 点、在模型调用与工具调用前后介入、可观测与拦截 | 交互 |
| 第 6 章 | Agent 插件与 Skills | Plugin 机制、把领域能力打包、Skills 的加载与调用 | 扩展 |
| 第 7 章 | 用 Strands Steering 提升 Agent 可靠性 | Steering 干预、让偏航的 Agent 回到轨道 | 可靠性 |
| 第 8 章 | 上下文工程与对话管理 | 上下文窗口管理、结果 offload、历史压缩、对话管理器 | 可靠性 |
| 第 9 章 | 用 Session Manager 实现持久记忆 | Session 落盘与恢复、存储后端替换、跨进程续接对话 | 状态 |
| 第 10 章 | 多 Agent 模式:Agents as Tools | 把子 Agent 当工具调用、适用场景与边界 | 多 Agent |
| 第 11 章 | 多 Agent 模式:Graph 工作流 | 用图定义确定性流程、节点与边、与自主循环的分工 | 多 Agent |
| 第 12 章 | 多 Agent 模式:Agent Swarms | 去中心化协作、任务分发与结果汇总 | 多 Agent |
| 第 13 章 | 评测 Agent | 输出评测与轨迹评测、用评测结果驱动改进 | 上云 |
| 第 14 章 | 把 Agent 部署到云上 | CLI 部署、AgentCore、生产环境的存储与观测 | 上云 |
建议的读法
- 只想知道 Agent 是什么:第 1 章读完就够,它把 Agent 循环和 Harness 的定位讲清楚了。
- 准备做一个能用的 Agent:第 1–6 章顺序读,这是"单 Agent 能干活"的最小闭环。
- 已经踩过上下文爆炸和记忆丢失的坑:直接从第 7–9 章开始,这三章讲的是 Agent 从 Demo 走向可用的那一段。
- 在做多 Agent 系统:第 10–12 章三种模式建议连着读,重点看三种模式各自把控制权交给了谁。
- 准备上线:第 13–14 章,评测先于部署。
关于译稿
- 原文:Strands Agents 官方课程 Building with Strands,第一讲页面为 How Agents Really Work。
- 译文保留全部代码、链接与图示,术语按中文技术习惯处理:Agent、Model、Harness、MCP、Tool、Hook、Skill、Session、Memory、Swarm、Graph 等保持英文;trajectory 译"轨迹",evaluator 译"评测器",context window 译"上下文窗口"。
- 课程配套代码在 aws-samples/sample-building-with-strands-course,每章开头都保留了对应目录的链接。
- 图片均已本地化到本书目录,原图来自 Strands Agents 官方文档。
📑 章节目录
第 1 章:Agent 到底是怎么工作的
从 Model 无状态讲起,拆解 Agent Loop、Model + Harness 的关系,并用 Strands 写一个能调工具的 Agent。
第 2 章:切换模型提供商
本课讲 Strands 如何用统一接口接入 Bedrock、Anthropic、OpenAI、Ollama 等 Model Provider,以及多模型架构怎么分工。
第 3 章:用 MCP 给 Agent 装上工具
学习 Strands Agents 中工具的来源:自定义工具、vended tools 与 MCP server,以及工具过滤、执行顺序与安全边界。
第 4 章:回调与流式响应
本课讲解如何用 Callback 控制 Agent 输出:自定义回调处理器、静默模式,以及基于 stream_async() 的异步 Streaming。
第 5 章:用 Hooks 控制 Agent
本课讲 Strands 的 Hook 机制:在 Tool 调用和 agent loop 的生命周期事件上注入代码,用中断审批、取消调用等方式,让规则不再依赖 Model 自觉。
第 6 章:Agent 插件与 Skills
本课讲 Strands 的插件扩展机制:用 Skills 按需加载工作流指令,用 GoalLoop 校验结果并自动重试。
第 7 章:用 Strands Steering 提升 Agent 可靠性
本课讲解 Strands 的 Steering:用 SteeringHandler 做确定性的流程校验,用 LLMSteeringHandler 做语气护栏,在运行时引导 Agent 行为。
第 8 章:上下文工程与对话管理
本课讲上下文工程:用 ContextManager、Offload 策略与 ContextInjector 决定什么信息、何时、以什么形式进入模型上下文窗口。
第 9 章:用 Session Manager 实现持久记忆
本课讲 Session Manager 如何持久化对话历史与 Agent 状态:Snapshot、File、S3 三种方案的区别,以及 Memory、Storage 与生产后端的选择。
第 10 章:多 Agent 模式:Agents as Tools
本课讲 Agents as Tools 模式:用一个 orchestrator 把 specialist agent 当 tool 调用,靠描述做路由,每个 sub-agent 各有一份独立上下文窗口。
第 11 章:多 Agent 模式:Graph 工作流
用 Graph 编排多 Agent:节点是完整 Agent,边定义依赖,讲清并行扇出、上下文传递与适用场景,并与 agents-as-tools、swarms 做对比。
第 12 章:多 Agent 模式:Agent Swarms
本课讲多 Agent 模式里的 Swarm:Agent 之间自主交接、没有预设结构,以及必须配的安全限制和三种模式的嵌套方式。
第 13 章:评测 Agent
本课讲怎么评测 Agent:用评测器打分输出与轨迹,配合 chaos 测试和红队测试,把 eval 套件接进 CI 抓回归。
第 14 章:把 Agent 部署到云上
把本地 Strands Agent 用 Amazon Bedrock AgentCore 部署到 AWS,介绍 Runtime、Memory、Observability 各自的作用、部署命令,以及生产环境里仍需补齐的部分。