您的位置首页 >要闻 > 人工智能 >

斯坦福 CS329Z 第 6 讲 Agent 设计模式与脚手架实战拆解

这一讲核心是教会开发者不要从零手写 Agent,而是用成熟的 Agent 设计模式搭配标准化脚手架,把 LLM 封装成可循环、可复用、可评估的智能体系统,单纯大模型本身只能做文本生成,缺少调度、记忆、工具调用、状态流转这些能力,脚手架就是包裹在大模型外层的控制层代码,设计模式则是前人沉淀下来、适配不同任务的固定结构模板,先理清任务类型,再挑选匹配的设计模式,接着用脚手架把模型、工具、内存、循环逻辑组装起来,最后加上评估指标验证效果,整套流程可以大幅降低 Agent 开发的重复工作量,也方便后续调试、迭代和线上部署。

一、Agent 脚手架是什么

脚手架也常被叫做 Harness,是 Agent 的底层控制外壳,它不改变大模型本身,负责串联所有配套组件。

  • 包含模块:LLM 调用入口、状态与记忆管理、工具注册与参数校验、循环终止判断、日志追踪、异常重试
  • 核心作用:把大模型的单次文本输出,变成 “思考 - 行动 - 观察” 的闭环,模型只负责推理,脚手架负责管控流程、权限、上下文污染问题
  • 区分边界:脚手架是通用底层代码,设计模式是在脚手架之上搭建业务流程的方案

二、课程重点 Agent 设计模式清单

模式名称适用场景运行逻辑
ReAct 循环模式通用问答、简单工具调用任务思考→调用工具→接收观察结果,循环直到任务完成
编排者 - 工作者模式长任务、多步骤复杂任务编排者负责拆解任务、调度子 Agent,工作者执行细分任务,互相隔离上下文
检索增强模式知识问答、资料查询类任务Agent 自主决定什么时候发起检索,拿到资料再推理,区别于固定 RAG 流水线
角色分工多 Agent 模式评审、辩论、方案生成多个 LLM 分配不同角色,比如生成 Agent、审核 Agent,互相校验输出
函数调用模式计算、接口请求、数据操作模型输出结构化参数,脚手架调用外部 API,返回结果给模型

三、搭建 Agent 脚手架的标准步骤

  1. 先定义任务边界和终止条件,明确什么时候 Agent 停止循环,避免无限执行
  2. 注册工具,给工具写清晰描述、入参格式、权限范围,做好沙箱隔离
  3. 接入记忆组件,区分短期上下文记忆和长期持久记忆,控制上下文长度
  4. 绑定选定的设计模式,写循环调度逻辑,处理工具返回失败、超时、参数错误
  5. 接入评估模块,记录每一轮 trace,统计成功率、错误类型、耗时
  6. 测试迭代,对比不同模式在同一个任务上的表现,替换不合适的模式

四、设计模式和脚手架选型判断要点

  • 任务简单、步骤固定:优先用基础 ReAct 脚手架,搭配函数调用模式,开发最快
  • 任务很长、容易上下文溢出:优先编排者 - 工作者脚手架,拆分独立子任务
  • 依赖外部资料、事实容易出错:检索增强脚手架,由 Agent 自主控制检索时机
  • 需要输出结果校验、降低幻觉:多角色分工脚手架,增加审核 Agent
  • 选型原则:脚手架负责稳定运行,设计模式负责业务逻辑,不要把业务逻辑写死在脚手架底层

五、常见踩坑点

  1. 混淆固定流水线和 Agent:流水线是代码写死步骤,Agent 是模型自主决定下一步动作,脚手架要支持动态分支
  2. 记忆不加压缩:多轮循环后上下文膨胀,导致模型失效、成本飙升,脚手架必须自带压缩策略
  3. 缺少终止条件:没有明确停止规则,Agent 反复调用工具,浪费资源
  4. 模式堆砌:一个 Agent 里塞太多模式,调试难度急剧上升,优先单一主模式,少量辅助能力

【相关 FAQ】

问题 1:Agent 设计模式和脚手架之间有什么区别?

回答 1:Agent 脚手架是底层控制框架,负责管理模型、工具、循环、记忆;Agent 设计模式是搭建业务流程的模板,脚手架承载设计模式,同一个脚手架可以切换多种 Agent 设计模式。

问题 2:开发 Agent 的时候,必须自己从零写 Agent 脚手架吗?

回答 2:不用从零开发,课程里会介绍 DSPy、LangGraph 这类现成脚手架框架,开发者只需要根据任务挑选合适的 Agent 设计模式,在框架上配置组件即可。

问题 3:编排者 - 工作者这种 Agent 设计模式,适合哪些业务场景?

回答 3:编排者 - 工作者 Agent 设计模式适合长周期复杂任务,比如代码工程、多文件分析、复杂调研,借助脚手架隔离各个子 Agent 的上下文,避免信息混杂。

问题 4:ReAct 模式在 Agent 脚手架里面是怎么跑起来的?

回答 4:脚手架负责驱动 ReAct 循环,每次把历史思考、工具返回的观察送入大模型,模型输出下一步行动,脚手架解析行动指令、调用工具,直到满足脚手架里预设的终止条件。

【参考资料】

[2026-08-24](Stanford CS329Z: The AI Agent Engineering Roadmap)frankx.ai

[2026-05-27](Agent Design Patterns and Architectures for AI Agents)AgentPatterns.ai

[2025-08-12](Agent Scaffolding: Architecture and Design Patterns for Agentic AI)ZBrain

[未知时间](CS 329Z: Engineering AI Agents)Stanford University

【免责声明】

本文内容基于斯坦福 CS329Z 课程公开资料整理,仅作为学习参考,不构成工程落地直接方案;Agent 设计模式、脚手架选型受业务场景、模型能力、安全策略影响,线上部署前请自行充分测试与安全校验。