Appearance
L03-01 ReAct:Agent 到底在循环什么
全局中心内容:Agent = 模型 + 工具 + 循环,缺任何一个都只是「对话」。 全局讲解主线:一个只有 Chat 完不成的任务 → ReAct 三步 → 手写循环 → 观察实际轨迹 → 边界与代价。
P1 · 产出页
中心内容:一个手写版 ReAct 循环,能看到完整的 Thought/Action/Observation。
- 讲解技巧
- 开场给一个 Chat 完不成的任务:「查一下昨天订单量比前天涨了多少,涨了就在群里说一声」。
- 让学员说出需要哪些能力——查询、计算、发消息。结论:模型自己一样都做不了。
- 时长:30s
P2 · 从 Chat 到 Agent
中心内容:Chat 是「一问一答」,Agent 是「为达成目标反复行动」。
页面内容:两者结构对比图
讲解技巧
- 用一句精准定义:Agent = 模型(决策) + 工具(手脚) + 循环(坚持)。
- 强调循环是关键:没有循环,模型只能做一步就交还控制权。
时长:4min
P3 · ReAct 三步
中心内容:Thought → Action → Observation,循环直到给出 Final Answer。
页面内容:循环流程图 + 一个完整的三步示例
讲解技巧
- 把 Thought 的作用讲透:它不是给人类看的日志,是让模型在输出动作前先「想一下」,显著提升动作准确率。
- 强调 Observation 必须写回上下文,否则模型看不到工具结果,会重复调用。
时长:6min
P4 · 手写循环
中心内容:不到 80 行就能跑起来的 ReAct 骨架。
页面内容:ReactLoop 主循环 + Action 解析
讲解技巧
- 建议现场从零敲一遍,这是全篇最值得手写的代码——亲手写过才真正理解。
- 讲清解析容错:模型输出的 Action 格式可能不规范,解析失败要把错误当 Observation 回喂。
时长:8min
P5 · 观察真实轨迹
中心内容:打印每一轮的完整消息,看模型是怎么想的。
页面内容:一次真实运行的轨迹日志
讲解技巧
- 这是本节的高光时刻:让学员看到模型会「先查 A 发现不对,再查 B」,这种自我纠正是 Agent 的核心价值。
- 也要展示失败轨迹:模型选错工具、参数写错、重复调用——为后面的防护章节埋伏笔。
时长:5min
P6 · 迭代上限
中心内容:必须有 MAX_ITERS,否则可能永远循环。
- 讲解技巧
- 用「一夜烧掉几万元」的真实故事做铺垫(详细在 03-10)。
- 这里只需立规矩:任何 Agent 循环都必须有硬上限。
- 时长:3min
P7 · Token 增长
中心内容:每轮都把历史全部带上,上下文线性膨胀。
页面内容:轮次 vs Token 数的增长曲线
讲解技巧
- 讲清代价:第 10 轮的成本可能是第 1 轮的 10 倍,这是 Agent 贵的主要原因。
- 预告解决方案:03-05 状态机会讲上下文压缩。
时长:4min
P8 · 编码:终止条件
中心内容:终 answer / 超上限 / 出错,三种终止都要有明确处理。
- 讲解技巧
- 强调超上限不能直接报错,要生成一个「未能完成,已完成的部分是……」的总结。
- 时长:4min
P9 · 避坑与小结
中心内容:ReAct 不是万能的,任务越结构化越应该用固定流程。
- 讲解技巧
- 引出下一节:手写还是用框架?——03-02 框架选型边界。
- 时长:2min
讲师备忘
| 项 | 内容 |
|---|---|
| 课前必做 | 准备好可运行的 ReactLoop 代码;准备一份真实轨迹日志 |
| 最容易超时处 | P4 手写循环,学员会跟着敲——预留 8 分钟 |
| 学员最常问 | 「Thought 能不能不要?」答:能跑但准确率明显下降,性价比很低 |
| 现场备用 | 无网络 → 用预录轨迹讲解,代码现场读 |