Agentic Design Patterns
这是一套面向工程实践的原创学习路线。它不复刻任何书籍、仓库章节或附件,而是围绕真实 Agent 系统中的架构选择、状态、权限、恢复和评测,组织成七节可验证课程与一个离线项目。
内容边界
外部文章、论文与规范只用于事实核验和延伸阅读,正文均由本项目重新组织和编写。链接指向来源,不在站内复制第三方正文或附件。
与 Agent 核心的分工
Agent 核心 讲状态循环、上下文、计划、检查点、审批与 runtime 控制权;本课进一步回答“这些能力该怎样组合,以及什么时候根本不该增加 Agent”。
你会学到什么
- 在普通代码、确定性工作流、单 Agent 和多 Agent 之间选择最低复杂度方案;
- 设计路由、并行、汇聚、反思和规划,并为循环设置明确停止条件;
- 区分工具、记忆、业务状态和协议能力的职责;
- 把高风险动作放在授权与人工审批之后;
- 用检查点、幂等回执、错误分类和环境结果验证恢复能力;
- 用任务成功率、成本、时延、安全违规率和人工接管率评测系统。
前置知识
- 能阅读基础 Python 函数、JSON 状态和 HTTP 请求即可;
- 建议先完成 Agent 核心 与 Tool Calling(含 Function Calling);
- 不要求先掌握任何 Agent 框架。
学习顺序
| 顺序 | 文档 | 完成后能做什么 |
|---|---|---|
| 1 | 模式选择与最小架构 | 判断是否真的需要 Agent,并画出最小状态边界 |
| 2 | 路由、并行与汇聚 | 组合最常用的确定性结构,处理部分失败和冲突 |
| 3 | 反思、规划与停止条件 | 让动态迭代有反馈、有预算、有出口 |
| 4 | 工具、记忆与状态边界 | 分清外部动作、长期信息和业务状态的归属 |
| 5 | 人工审批与安全边界 | 把不可逆动作挡在明确授权之后 |
| 6 | 失败恢复、评测与可观测性 | 用轨迹、回执和环境结果证明系统可靠 |
| 7 | 项目:可恢复任务工作流 | 运行并验证一个无需密钥的可恢复状态机 |
模式与协议的边界
| 问题 | 首选对象 | 应用仍需负责 |
|---|---|---|
| 进程内或自有后端能力 | Tool Calling | 主体、对象级授权、审批、幂等与回执 |
| 标准化工具、资源与上下文连接 | MCP | 把协议能力映射到业务策略并验证结果 |
| 独立 Agent 应用之间的协作 | A2A | 委派范围、远端任务访问、审批与结果验收 |
协议负责互操作,不会自动授予业务权限。多个协议可以共同存在,但只有在边界确实跨进程、跨产品或跨组织时才值得引入。
动手项目
课程项目位于 00-初学者路线/examples/:
resilient_workflow.py:只使用 Python 标准库的可恢复任务工作流;test_resilient_workflow.py:验证严格检查点、无共享写的并行汇聚、审批绑定、分类重试、幂等回执与提交后崩溃恢复。
掌握标准
- 能解释为什么一个任务应选择普通代码、工作流、单 Agent 或多 Agent;
- 能写出最大步数、完成条件、失败条件和人工接管条件;
- 能区分可重试故障、业务拒绝和必须人工处理的异常;
- 能设计离线回放集,并给出质量、成本、时延和安全阈值;
- 能证明审批绑定当前动作,重复恢复不会重复副作用;
- 能同时检查轨迹与最终环境状态,而不是只相信 Agent 的文本声明。