课前:先自学,再做 15 道题
上课前,先花点时间自己看一页材料,就三样:
- 弄懂 3 个词:工作流 vs Agent(区别只在"下一步谁决定"——人写死 vs 模型按结果选)、规划(Agent 拆步骤)、护栏(最大步数 / 工具白名单 / 完成条件 / 预算)。
- 记住 1 个比方:会自己走流程、但必须装刹车的实习生。
- 记住 1 条红线:三个条件同时满足才用 Agent(步骤数不固定、下一步取决于上一步、有明确停止条件),缺一条就用工作流。
看完做 15 道自测题。哪几道大家错得多,直播时老师就重点讲哪几道。
直播 0–30|把核心快速过一遍
- 工作流和 Agent 的区别,只在"下一步谁决定"。 程序/工作流适合步骤清楚、规则明确;Agent 适合路径不固定、要看情况,但风险是跑偏、循环、越权。
- 三个条件同时满足,才考虑 Agent。 缺一条就用工作流。
- Agent 必须带四个刹车。 最大步数(8 步内结束)、允许工具清单、完成条件(可判断)、预算(最多花多少)。
直播 30–75|挑大家做错的题讲
- 把"调用一次模型"就叫 Agent,没有"根据结果选下一步",这不算 Agent。
- 没有停止条件,模型就一直"再查一下",烧钱。
- 工具权限给太大,给了删除权限,它迟早会删。
直播 75–120|拆一个真实案例:银行信用卡客服,Agentic RAG
一家银行的信用卡客服,光用传统向量检索时,复杂意图和上下文容易丢,一度"踩坑踩到客户要求退款",改用 Agentic RAG 之后从约 70% 提升到 95%。对比一下就清楚:传统 RAG 是"检索 → 生成"的固定流程;Agentic RAG 是先判意图/槽位,再决定检索什么、要不要追问。
这里埋了 3 个坑:把"调用一次模型"叫 Agent;没有停止条件,模型一直"再查一下";工具权限给太大。课上用 v1(传统 RAG)跑复杂权益问题"我办白金卡,年费多少,能免吗,怎么免",看它怎么把"免年费"弄丢;再换 v2(Agentic RAG + 四道刹车:最大步数 8、工具白名单、完成条件、预算)重跑对比。
这一讲想让你记住的就一句:这节课不追求"做出聪明的 Agent",追求"能证明这里为什么需要 Agent";证明不了,就用工作流。
当堂练一个(8 分钟):打开你手机相册或电脑桌面,挑 10 个乱放的文件(照片、文档、截图都行),先自己定一条"死规则"给它们归类——比如"照片按月份归、文档按类型归"。数一数:这条死规则能一口气分好几个?剩下的"规则说不清"的(比如一张截图到底算工作还是生活),再让 AI 帮你逐个判断。最后回答一句:这 10 个文件里,"固定规则能分"和"必须看情况判断"的,各占几个?
判断标准:只要固定规则能分好 8 成以上,这个任务就该用工作流、不该上 Agent;只有"分到一半、下一步要看上一步结果"时才轮到 Agent——你说不清"为什么这里需要 Agent",就等于证明该用工作流。
课后:答疑 + 陪跑,交一份作业
本讲必过:Agent。 2 个工具 + 最大步数 8 + 完成条件可判断 + 1 次工具失败恢复 + 完整 trace + 与工作流版对比步数/成本/错误。产出《Agent 契约》+ 对比表。
四样东西合体检查(本讲必过,也是期中检查):
| 件 | 必过项 |
|---|---|
| Skill | 1 个封装好、有版本、有示例的技能 |
| 知识库 | 至少 3 份资料,回答有引用、会拒答 |
| 工作流 | 至少 1 个分支 + 1 个人工确认 + 失败补偿 |
| Agent | 2 个工具、最大步数、trace、1 次失败恢复 |
缺某一样但有书面理由 → 允许,理由写一页;"没有也没理由"超过 1 样 → 先补齐再进演示。这四样的关系:Skill 是最小单位,知识库给它知识,工作流串固定步骤,Agent 让模型选步骤。
这节课你该会的:
- 能用自己的话说清工作流和 Agent 的区别(下一步谁决定);
- 能说全 Agent 的四道刹车(最大步数 / 工具白名单 / 完成条件 / 预算);
- 能回答"这里去掉 Agent 用工作流会损失什么、这个风险值不值"——答不出就退回工作流。
三个翻车:
- 把"调用一次模型"就叫 Agent——没有"根据结果选下一步",这不算 Agent;
- 没设停止条件——模型会一直"再查一下",烧钱还不交活;
- 工具权限给太大——给了删除权限,它迟早会删。
延伸自读:《原理讲义》§10
展开查看
一句话定义
Agent 不是"更聪明的模型",而是"让模型自己决定下一步"的程序:它根据上一步的结果,在有限的工具与步数内自己选下一步,直到满足完成条件。它和工作流只差一件事——下一步由谁决定。
核心原理
1. 工作流与 Agent 的分界线是"决定权",不是"复杂度"。
工作流里 A→B→C 每一步在写代码时就写死了;Agent 里,模型拿到上一步的结果后,才决定走 B 还是 C。Agent 每一轮本质是"读结果 → 选动作 → 调工具"的循环,跑几轮由结果决定。判断是不是 Agent 只看一点:有没有"根据结果选下一步"。
2. 三个条件同时成立,Agent 才比工作流划算。
首先,步骤数不固定,可能 3 步也可能 8 步;其次,下一步取决于上一步的结果,查不到才去查、查到了就跳过;最后,得有明确、可判断的停止条件。三样缺一个,就退回工作流。道理其实很简单:Agent 的灵活是用"不确定性"换来的——路径越多,跑偏、循环、越权的概率和成本就越高;路径本来就定死了,就别用灵活性去换风险。
3. 灵活性必须被四道"刹车"锁住。
· 最大步数:强制 N 步内结束(如 8 步),防"再查一下"式的无限循环。 · 工具白名单:只给必需工具,绝不开放删除、改库类能力——权限给多大,风险就有多大。 · 完成条件:能被程序判断"何时算做完",不是模型觉得"差不多了"。 · 预算:限定单次最多花多少,超出即停。
这四条不是可选配置,而是 Agent 存在的前提:自主与可控是硬币的两面,没有可控,自主就是故障。
常见误区 / 边界
- 把"调用一次模型"叫 Agent:那是带工具的单次调用,不是 Agent。
- 没有停止条件就上线:模型会一直"再确认",直到烧完预算。
- 权限给太大:给了删除权限,它迟早会删。
- 拿"一次演示成功"当"能用":长链路每环节成功率相乘——10 个独立步骤各 95%,一次走完的成功率约 0.95¹⁰ ≈ 60%。价值看"整条链路稳定成功率",不是单次演示。
- 把 Agent 当万能:能证明"这里需要 Agent",比做出 Agent 更重要。
一句可带走的话
能用固定流程解决的,绝不让模型自己决定下一步——Agent 是给"路径不固定"的任务配的,而且必须装刹车。
案例包 · 15 题自测
展开查看
15 道题分三块,各约 5 道:①工作流和 Agent 的区别;②什么时候该用 Agent;③四道刹车和案例。
每题都有解析,容易错的地方标了出来。大家错得多的题,就是直播时要重点讲的。
- (单选)工作流和 Agent 的本质区别是?
- A. 是否调用大模型
- B. 谁决定下一步(人写死 vs 模型按结果选)
- C. 是否使用工具
- D. 运行速度快慢
答案:B | 解析:区别只在"下一步谁决定",跟调不调模型、有没有工具无关。
- (判断)只要调用了大模型,就算是 Agent。
答案:错 | 解析:调用一次模型、没有"根据结果选下一步",只是普通 LLM 调用,不是 Agent。 容易错:很多人把"调用一次模型"当成 Agent,其实它没有"根据结果选下一步"。
- (单选)以下哪个任务最适合用工作流(固定流程),而不是 Agent?
- A. 步骤数不固定,下一步看检索结果
- B. 固定 4 步:查 CRM → 查公开信息 → 打分 → 给建议
- C. 需要模型根据中间结果决定再查什么
- D. 没有明确的停止条件
答案:B | 解析:步骤清楚、规则明确 → 用工作流,别硬上 Agent。
- (单选)Agent 相比工作流最大的新增风险是?
- A. 响应变慢
- B. 跑偏 / 死循环 / 越权
- C. 无法调用工具
- D. 需要更多数据
答案:B | 解析:模型自己选步骤,可能跑偏、转圈、乱动权限外的数据。
- (判断)工作流和 Agent 都能调用工具,也都能有固定步骤,所以两者没有区别。
答案:错 | 解析:区别只在"下一步谁决定",与有没有工具、有没有固定步骤无关。
- (单选)判断"是否该用 Agent"的三个条件是?
- A. 步骤数不固定 + 下一步取决于上一步 + 有明确停止条件
- B. 有工具 + 有模型 + 有数据
- C. 步骤多 + 耗时长 + 逻辑复杂
- D. 有预算 + 有人 + 有时间
答案:A | 解析:三个条件必须同时满足,缺一条就不用 Agent。
- (单选)一个任务"步骤数不固定、下一步取决于上一步",但没有明确停止条件,该怎么做?
- A. 直接上 Agent
- B. 直接上工作流
- C. 缺一条就不该用 Agent——先补停止条件,或改用工作流
- D. 先上线试运行
答案:C | 解析:三个条件缺一条就不该用 Agent。 容易错:很多人忘了设停止条件,模型就一直"再查一下",钱哗哗烧。
- (判断)"下一步取决于上一步的结果"是用 Agent 的必要条件之一。
答案:对 | 解析:如果下一步固定、不依赖中间结果,就是工作流,不需要 Agent。
- (单选)一个固定 4 步、每步都写死的任务,同事坚持"上 Agent 更智能"。正确判断是?
- A. 上 Agent,智能总没坏处
- B. 先证明这里为什么需要 Agent,证明不了就用工作流
- C. 工作流和 Agent 都上,对比再说
- D. 无所谓,都行
答案:B | 解析:本讲核心结论——证明不了需要 Agent,就用工作流。
- (判断)三个条件里只要满足其中一个,就可以用 Agent。
答案:错 | 解析:三个条件要"同时满足",只满足一个不够。
- (单选)Agent 的"四道刹车"不包括哪一项?
- A. 最大步数(如 8 步内结束)
- B. 工具白名单(只允许列出的工具)
- C. 完成条件(能判断"做完了")
- D. 模型温度
答案:D | 解析:四道刹车 = 最大步数 / 工具白名单 / 完成条件 / 预算;温度是模型参数,不是护栏。
- (单选)Agent 配了"删除客户数据"的工具,正确做法是?
- A. 保留,Agent 更强大
- B. 从工具白名单移除删除权限,或改成"只读 + 人工确认"
- C. 在提示词里写一句"请谨慎使用"
- D. 不用管,模型会自己判断
答案:B | 解析:给了删除权限它迟早会删;高风险写操作要么移除,要么加人工确认。 容易错:很多人觉得在提示词里写一句"请谨慎使用"就够了,其实权限得在系统层收——白名单、高风险转人工。
- (单选)CRM 线索 D 是竞品公司,但字段里"需求非常明确、马上要采购",模型打了高优先级。错在哪?
- A. 打分维度缺"竞争关系",应加规则"竞品/同行 → 标不跟进",且优先于打分
- B. 模型算力不足
- C. 数据字段太多
- D. 没毛病,需求明确就该高分
答案:A | 解析:竞品直接"不跟进",这条规则优先级最高,先于打分。 容易错:很多人被"需求明确"带跑,忘了先看这是不是竞品。
- (单选)线索 A 的"30 家门店"其实是 Agent 查公开信息推出来的,客户 CRM 里没写。模型把"30 家门店"写进了"客户原话"字段。问题在哪?
- A. 没区分"客户原话"和"我们查到的",每个字段要标来源
- B. 门店数算错了
- C. 本就不该查公开信息
- D. 没毛病,门店多就该高分
答案:A | 解析:客户原话只放 CRM 里客户真实说过的话;公开信息单列并标注来源。
- (单选)线索 C 说"有采购意向,但预算还没定",模型判成低优先级。正确处理是?
- A. 低优先级,没预算就没戏
- B. 高优先级,先冲再说
- C. 标"待确认",派人问清预算,不判低分
- D. 直接放弃
答案:C | 解析:"预算没定" ≠ "没戏",信息缺失不是负面信号,要"待确认"。 容易错:很多人把"信息缺失"当成"负面信号",其实"没定预算"是待确认,不是没戏。
案例包 · 案例拆解素材
对应:第 10 讲「Agent 开发与运行边界」
课堂用时:案例拆解 45 分钟(直播 75–120)
材料与提示词思路:全部写在这个文件里
1. 客户与场景
一家银行的信用卡客服,面向社媒 / 企业微信等渠道回答产品与权益问题。仅依赖传统向量检索时,复杂意图和上下文容易丢失,一度"踩坑踩到客户要求退款"。
团队最后改用 Agentic RAG——意图 + 槽位 + 推理 + 检索组合,逐步把结果从约 70% 提升到 95%。
2. 为什么这个案例值得教
- 它是"什么时候该用 Agent"的真实样本:传统 RAG 是固定流程,复杂意图需要模型根据结果决定下一步(先判意图、再补槽位、再检索);
- 真实数字:70% → 95% 不是一次 Prompt 调整,是长期的数据、评测和业务规则建设;
- 它逼着学生回答"这一个任务,Agent 真的比固定流程好吗"。
3. 原始材料(真实对比)
| 传统 RAG(固定流程) | Agentic RAG(模型决定下一步) | |
|---|---|---|
| 流程 | 检索 → 生成,写死 | 先判意图/槽位 → 再决定检索什么、要不要追问 |
| 复杂意图 | 丢上下文,答非所问 | 拆意图 + 补槽位 + 检索 + 推理 |
| 何时用 | 问题简单、资料固定 | 路径不固定、要看情况 |
4. 故意埋的三个坑
坑 1:把"调用一次模型"叫 Agent
没有"根据结果选下一步",只是普通检索问答,不是 Agent。
坑 2:没有停止条件
模型会一直"再查一下",烧钱。必须设最大步数 + 完成条件 + 预算。
坑 3:工具权限给太大
给了"删除/发消息"权限,它迟早会越权。工具白名单 + 高风险转人工。
5. 两版提示词思路(内联)
- v1(故意有缺陷):传统向量检索 + "尽量答",没有意图判断、没有护栏。
- v2(修复后):Agentic RAG(意图 + 槽位 + 推理 + 检索)+ 四道刹车(最大步数 8、工具白名单、完成条件、预算)+ 高风险转人工。
6. 验收样例(3 条)
| # | 用户问 | 期望 | 判定 |
|---|---|---|---|
| 1 | "我办白金卡,年费多少,能免吗,怎么免" | 拆多意图,逐个查,不丢"免年费" | 通过 |
| 2 | 复杂权益问题 | 先补槽位再检索,答对 + 有引用 | 通过 |
| 3 | 触发最大步数 | 停下 + 转人工,不无限循环 | 通过 |
7. 案例拆解 45 分钟流程
| 分钟 | 做什么 |
|---|---|
| 0–5 | 抛"传统向量检索踩坑到退款"的真实翻车 |
| 5–15 | 找坑:把调一次模型叫 Agent / 没停止条件 / 权限太大 |
| 15–30 | 判对错:用 v1(传统 RAG)跑复杂权益问题,看它怎么丢意图 |
| 30–40 | 给修复:换 v2(Agentic RAG + 四道刹车),对比步数/成本/错误 |
| 40–45 | 收口:证明这里为什么需要 Agent;证明不了就用工作流 |
8. 一句话总结
能用固定流程解决的,绝不让模型自己决定下一步——只有"步骤不固定、下一步取决于上一步、有停止条件"时,才上 Agent。
案例包 · 课后操作单
目标:做同一任务的"工作流版"和"Agent 版"对比,证明哪里需要 Agent。
时间:课后 60 分钟。
你要交的东西
- 工作流版 + Agent 版各一份;
- 四道刹车(最大步数 8 / 工具白名单 / 完成条件 / 预算);
- 一次工具失败恢复 + 完整 trace;
- 一张对比表(步数 / 成本 / 错误)。
步骤
第 1 步:选一个多步任务(10 分钟)
选项目里一个"多步"的任务(如银行信用卡客服的复杂权益问答)。
第 2 步:工作流版(15 分钟)
写成固定步骤(3–5 步,顺序写死)。
第 3 步:Agent 版(15 分钟)
只给目标 + 2 个允许工具 + 停止条件,让它自己拆步骤。配四道刹车。
第 4 步:对比 + 失败恢复(20 分钟)
各跑 3 次,记录步数/结果/跑偏/积分;故意让一个工具失败一次,看它能不能恢复或转人工,保存 trace。
课后作业
- 补 8 条流程测试:工具失败、信息不足、拒绝确认、达最大步数、重复调用、越权、超时、完成条件不满足。
- 写 100 字:这一个任务,Agent 真的比工作流好吗?为什么?
达标标准(这节课你该会的)
- 能用自己的话说清工作流和 Agent 的区别(下一步谁决定);
- 能说全 Agent 的四道刹车(最大步数 / 工具白名单 / 完成条件 / 预算);
- 能回答"这里去掉 Agent 用工作流会损失什么、这个风险值不值"——答不出就退回工作流。
常见错误
- 把"调用一次模型"叫 Agent。
- 没有停止条件,一直"再查一下"。
- 工具权限给太大。
- 证明不了"需要 Agent"就硬上 Agent。
案例包 · 教师脚本(教师用)
展开查看
课前准备
- 把"传统 RAG vs Agentic RAG"对比表准备好(见 case_card.md)。
- 自己先跑 v1(传统 RAG),确认它丢复杂意图。
- 开课前看一眼 quiz 的错误率,圈出大家错得多的题。
0–30|把核心快速过一遍(3 个点)
- 工作流和 Agent 的区别,只在"下一步谁决定"(10 分钟)— 人写死 vs 模型按结果选。
- 三个条件同时满足才用 Agent(10 分钟)— 步骤数不固定、下一步取决于上一步、有停止条件。
- Agent 必须带四道刹车(10 分钟)— 最大步数 / 工具白名单 / 完成条件 / 预算。
30–75|挑大家做错的题讲
- 把"调用一次模型"叫 Agent → 没有"根据结果选下一步"就不是 Agent。
- 没有停止条件 → 模型一直"再查一下",烧钱。
- 工具权限给太大 → 给了删除权限迟早会删。
75–120|拆一个真实案例:银行信用卡客服,Agentic RAG
抛翻车(5 分钟):银行信用卡客服仅用传统向量检索,复杂意图和上下文容易丢,一度"踩坑踩到客户要求退款";改用 Agentic RAG 后从约 70% 提升到 95%。
对比两版(12 分钟):传统 RAG(检索→生成,固定流程)vs Agentic RAG(先判意图/槽位→再决定检索什么、要不要追问)。让学生自己下结论"复杂意图这个任务,Agent 真的更好吗"。
判对错(13 分钟):用 v1(传统 RAG)跑复杂权益问题"我办白金卡,年费多少,能免吗,怎么免",看它怎么丢"免年费"这个意图。
给修复(12 分钟):换 v2(Agentic RAG + 四道刹车:最大步数 8、工具白名单、完成条件、预算),重跑对比步数/成本/错误。
收口(3 分钟):这节课不追求"做出聪明的 Agent",追求"证明这里为什么需要 Agent";证明不了就用工作流。
标准答案
- 复杂权益问题:先拆意图(年费/免年费/办理),逐个查,不丢"免年费"。
- 触发最大步数:停下 + 转人工,不无限循环。
- 高风险(涉及资金/承诺):转人工。
学生会错在哪
- 把"调用一次模型"叫 Agent。
- 没停止条件,无限循环。
- 工具权限给太大。
- 证明不了"为什么需要 Agent"就硬上 Agent。
评分点(每条 1 分,共 5 分)
- [ ] 能说清工作流 vs Agent 的区别(下一步谁决定);
- [ ] 用三个条件判断"这里要不要 Agent";
- [ ] 四道刹车都配了(最大步数/白名单/完成条件/预算);
- [ ] 有 1 次工具失败恢复 + 完整 trace;
- [ ] 与工作流版对比了步数/成本/错误。
如果学生问"多 Agent 是不是更厉害"
回答:先证明单 Agent 跑通了、且确实需要它,再谈多 Agent。用"多 Agent"掩盖"单 Agent 没跑通"是本讲最常见的翻车。