Andrew Ng《Agentic AI》课程笔记:四种设计模式构建 Agent 系统
Agentic AI 课程笔记:Reflection 反思、Tool Use 工具、Planning 规划、Multi-Agent 多智能体四大设计模式,以及评估调优与先原理后框架的方法论。
最近学完了 Andrew Ng 的《Agentic AI》课程。 这是 DeepLearning.AI 上一门聚焦"用 LLM 构建 Agent 系统"的课,约 10 小时、31 节视频, 配了 7 个代码示例和 8 个随堂作业。它不讲怎么训练模型,而是讲怎么把模型 组装成能"干活的系统"——正好和我之前整理的CS230 笔记是同一主题的两端:那边是斯坦福课堂里的方法论,这边是 Andrew Ng 亲自录的实战课。
课程最有价值的框架,是把 Agentic 设计归纳成四种设计模式—— Reflection、Tool Use、Planning、Multi-Agent。下面按这个主线整理,附上我的理解与批注。
一个 LLM 调用只能"回答",一个 Agent 系统才能"完成任务"。这四种模式,就是任务完成路上的四种脚手架。
一、为什么需要 Agentic AI
课程从一个问题开始:为什么单单"给模型发一条提示"不够?因为现实任务往往需要 多个步骤、依赖外部信息、中途可能出错。Agentic AI 的核心是让 LLM 在一个循环里运作——思考 → 行动 → 观察结果 → 再思考,直到任务完成。
课程区分了自主度的梯度:
- 一端是纯提示(Prompting)——一步到位,模型直接给答案;
- 中间是半自主——模型执行一步,人确认一步(Human-in-the-loop);
- 另一端是全自主——模型自己规划、调用工具、迭代,直到目标达成。
自主度越高,能做的事越多,但失控风险与调试难度也随之上升。 课程反复强调:不是所有任务都要全自主,先从低自主度做起,按需升级。
二、设计模式一:Reflection(反思)
Reflection 是让模型自我批判、迭代改进的模式。 核心流程是:模型先产出初稿 → 让它以"批评者"身份审视自己的输出(找出漏洞、 不准确、遗漏)→ 根据批评重写 → 如此循环几轮,质量逐步提升。
- 最简单的做法:一条提示生成答案,另一条提示让它"挑毛病",再一条让它"按批评重写";
- 更进一步:引入外部反馈——单元测试结果、SQL 执行报错、图表渲染错误, 把"程序说的实话"喂回给模型,而不是只靠它自我感觉;
- 课程代码示例里,就有通过 Reflection 生成并修正 SQL 查询、迭代生成图表的完整流程。
课程里有个很关键的洞察:反思是免费的"算力杠杆"——它不换模型、 不加知识,只是让模型多检查自己几遍,却常常把一次性的回答质量拉高一个档次。
Self-reflection 的本质,是把"写一遍就交卷"变成"写完自查再交卷"——对人有效,对模型同样有效。
三、设计模式二:Tool Use(工具使用)
Tool Use 是给模型接上"手和眼睛":让它可以调用数据库、API、 网页搜索、代码执行器,而不是只凭训练时学到的静态知识。课程强调:
- 工具是模型的"外部能力"——模型知道自己有哪些工具可选, 并在合适的时候发起调用;系统负责执行工具、把结果交回给模型继续推理;
- 工具的书写格式很重要——课程详细讲了工具语法 (给模型看的工具描述、参数结构),好的工具声明能让模型"知道什么时候该用什么";
- MCP(Model Context Protocol)——课程专门介绍了这个统一协议, 它让工具与 agent 的对接标准化,避免每个 API 都要手写一套适配层;
- 实战案例是一个邮件助手:模型能读邮件、查日程、起草并发送回复, 每一步都调用真实工具。
工具使用也是缓解幻觉的工程答案:与其让模型"猜",不如让它"查"。 把"闭卷考试"变成"开卷考试",答案的可靠性会显著提升——这点和我之前 Karpathy 视频笔记里讲的结论完全一致。
四、设计模式三:Planning(规划)
Planning 是把一个大任务分解成可执行的步骤, 并让模型在过程中动态调整。课程把规划分成两类:
- 静态规划——开始前就把任务拆成步骤清单,然后依次执行; 简单、可控,适合步骤明确的流程;
- 动态规划——执行完一步,观察结果,再决定下一步; 灵活,能应对不确定情况,但更难调试。
课程里强调了规划和工具的结合:规划让模型"决定做什么",工具让模型"真的做到"。 配合代码执行器,模型甚至可以写代码、跑代码、看结果、再改代码, 形成一个完整的"研究 / 编码循环"。
五、设计模式四:Multi-Agent(多智能体)
Multi-Agent 是让多个各司其职的专用 Agent协作完成一个任务,而不是让一个全能 Agent 硬扛。课程里演示了一个市场调研团队:一个 Agent 负责研究、一个负责分析、 一个负责写报告,再加一个编排者(Orchestrator)协调它们。
课程介绍了多种通信模式:
- 顺序(Sequential)——一个 Agent 的输出是下一个 Agent 的输入, 像流水线;
- 层级(Hierarchical)——一个"主 Agent"分派任务给多个"子 Agent", 汇总结果;
- 协商式——多个 Agent 像团队一样讨论、辩论、达成一致。
Multi-Agent 不是越多越好——协调、调试、成本都会随数量上升。先想清楚"这个任务真的需要分工吗"。
六、评估与调优:Agent 工程的地基
课程用了整整一节讲评估(Evals)——这是 Agent 系统能不能 持续迭代的地基,也和我在 CS230 笔记里记录的"评估矩阵"相互印证。 核心要点:
- 端到端评估 vs 组件级评估——只看最终结果,常常说不清是"哪一步出了问题"; 按组件分别评估(工具选得对不对、规划拆得好不好),才能精准定位;
- 错误分析(Error Analysis)——别急着改代码,先系统性地看失败样本, 归类原因,再决定动哪里;
- 延迟与成本优化——Agent 系统的每一步都有延迟和 token 成本, 课程给了一些实用建议:并行化独立步骤、缓存重复调用、在非关键路径上降低模型规格。
一个让我印象深刻的观点:Agent 系统最大的失败模式不是"模型不够聪明", 而是"流程不可控"。没有评估、没有 trace,就无法知道系统在什么地方、 为什么失败——这和"没有测试的代码库"是同一个道理。
七、从第一性原理出发
课程的方法论很有意思:"先理解原理,再碰框架"。 它先用最朴素的代码把四种模式各自实现一遍(纯函数 + API 调用), 让你看清楚每个模式底层到底发生了什么;之后才引入框架来简化工程。 这样做的价值是:一旦框架满足不了你的需求,你能自己改,而不是被框架束缚。
课程也强调,这些模式可以组合:一个系统可能同时用到 Reflection(写完自查)+ Tool Use(查资料)+ Planning(拆步骤), Multi-Agent 内部每个 Agent 又各自拥有前三种能力。模式是积木,不是选项。
我的收获
- 四种模式是理解 Agent 系统的最佳坐标系——再复杂的 Agent 产品,拆开看基本都是这四块的组合。
- 反思是性价比最高的改进手段——不换模型、不加数据, 只是让模型多自查几轮,输出质量就明显提升。
- 评估先于优化——组件级评估 + 错误分析,是让 Agent 系统 从"能跑"走向"可靠"的关键一步。
- 先原理后框架——把四种模式从第一性原理实现一遍, 才能真正驾驭它们,而不是只会调用现成框架。
如果你也在构建 Agent 系统,这门课值得一看。它和之前的CS230 完整笔记(同一主题的斯坦福方法论版)正好互补。课程在DeepLearning.AI 上, 含作业与代码示例,是动手实践 Agent 工程的一个不错起点。