Skip to content

第 06 课 · 自主 Agent:最后才选的那档

前五种模式路径都由你定;自主 Agent 是唯一「路径由模型定」的。 它最强也最危险 —— 所以放在模式篇最后,且默认答案是「先别用」。


本课要解决的问题

前面五课(提示链 / 路由 / 并行 / 编排-执行 / 评估-优化)都是 Workflow:结构你写死。本课讲第六种,也是唯一真正的 Agent:

给模型 一个目标 + 一组工具,让它 自己规划、循环执行,直到自认为完成。

本课回答:什么时候才真需要它、上线前必须备齐什么、以及为什么它这么危险。


一、自主 Agent 长什么样:ReAct 循环

┌── 想(Reason):看目标和现状,决定下一步调哪个工具
│      ↓
│   做(Act):真的调用工具(查库 / 算数 / 写数据)—— 要沙箱 + 权限
│      ↓
│   看(Observe):把工具结果拼回上下文
│      ↓
└── 没做完 → 回到「想」;做完 → 输出最终答案
  • 和 Function Calling 的区别: 单次 Function Calling 调 一次固定 工具;自主 Agent 循环多次、调哪个由模型临场决定
  • 另一种形态: Plan-and-Execute —— 先让模型规划完整步骤,再逐步执行(步骤较明确时用)。

二、什么时候才真需要(必须四条全中)

只有 同时满足 以下几点,才值得上自主 Agent:

① 任务开放:步骤无法预先定义(你自己都写不出固定流程图)
② 要多步、且下一步依赖上一步的真实结果
③ 工具组合不确定:可能查、可能算、可能改,顺序说不准
④ 价值足够高:低频但重要,扛得住成本和延迟

只要有一条不满足,回退到 Workflow。 比如「顺序其实固定」→ 提示链;「只是要分类」→ 路由;「只查一次」→ 单次 Function Calling。

网校里少数合理场景

学习规划助手:根据我最近的成绩、进度、错题,自己查数据、分析薄弱点,制定并动态调整一份补习计划。」

这类任务步骤真的说不准(要查几张表、分析几轮、要不要调组卷),才配得上自主 Agent —— 而且仍要人在环审批关键动作。


三、为什么它危险(四个坑)

说明
错误累积每轮基于上轮结果,一步错则步步错,越跑越偏
提示注入工具 / 检索结果拼回上下文,若藏恶意指令,模型可能当命令执行(见第 07 课)
成本 / 延迟失控循环轮数不定,3 轮和 15 轮成本差数倍,延迟不可预测
上下文爆窗口每轮工具结果累积,跑久了撑爆窗口 → 必须压缩 / 丢弃旧结果(见第 09 课)

长程 Agent 崩溃,一大半是「上下文没管好」+「错误累积」。


四、上线前必备清单(缺一不可)

□ 沙箱:工具在受限环境执行,炸了也影响不到生产
□ 人工审批:高风险 / 写操作(改成绩、发通知)必须人点确认
□ 审计日志:每一步「想了什么、调了什么、返回什么」全记录,可回溯
□ 上限与熔断:最大循环轮数 / 最大成本 / 超时,到了就停并降级
□ 上下文管理:及时压缩旧工具结果,关键结论存记忆
□ Eval:在你自己的任务上评过成功率与轨迹(见第 10 课)

没有这份清单,就别把自主 Agent 放到用户面前。


五、渐进演进里的位置

提示链 / RAG(V1)
   → 路由 + RAG(V2)
      → 单次 Function Calling(V3)
         → 才轮到自主 Agent 分支(V4,且仅对开放任务)

自主 Agent 不是起点,是终点。 前面都跑稳、确有开放任务、清单齐备,再开这道口子。


本课结论

  1. 自主 Agent 是唯一「模型定路径」的模式,最强也最险。
  2. 四条前置(开放 / 多步依赖 / 工具不定 / 高价值)缺一,就回 Workflow。
  3. 四大坑: 错误累积、提示注入、成本失控、上下文爆窗口。
  4. 上线六件套: 沙箱、审批、审计、上限熔断、上下文管理、Eval。
  5. 它是演进的终点,不是默认选项。

课后自检(3 分钟)

  • [ ] 我确认任务四条前置全中(否则我该用 Workflow)
  • [ ] 我写不出这个任务的固定流程图(能写出就别上 Agent)
  • [ ] 我准备了沙箱 + 人工审批 + 审计日志
  • [ ] 我设了最大轮数 / 成本 / 超时的熔断
  • [ ] 我有上下文压缩策略,且在自己任务上做过 Eval

全勾 → 可以谨慎上自主 Agent。有缺 → 先补齐或退回 Workflow。


下一课预告

第 07 课 · 工具设计与安全 —— 进入第三篇「工程篇」:工具描述怎么写、多层安全防御怎么叠、提示注入怎么防。


延伸阅读


© 曹宇春

© 曹宇春 · 个人学习整理,欢迎交流