9.1.4 Agent 能力分级

完成本节后,你将能够:
- 用分层思路描述不同 Agent 的能力边界
- 区分“会回答”、“会调用工具”、“会多步完成任务”之间的差异
- 根据任务复杂度选择更合适的系统形态
- 用一个小例子练习任务所需能力等级判断
为什么要给 Agent 分级?
Section titled “为什么要给 Agent 分级?”因为“Agent”这个词太容易被说大
Section titled “因为“Agent”这个词太容易被说大”有些系统只是:
- 会调用一个工具
有些系统则可以:
- 多步规划
- 记住状态
- 协同多个工具
如果都叫 Agent,就会混淆很多概念。
分级的意义在于更诚实地描述系统能力
Section titled “分级的意义在于更诚实地描述系统能力”它能帮助你回答:
- 这个系统到底能做什么?
- 它是稳定工作流,还是灵活智能体?
- 它的问题更可能出在哪一层?
一个实用的能力分级框架
Section titled “一个实用的能力分级框架”L0:纯回答型
Section titled “L0:纯回答型”特点:
- 能根据输入生成回答
- 基本不主动调用工具
- 更像聊天模型
例子:
- 普通问答机器人
- 纯 Prompt 生成器
L1:单工具执行型
Section titled “L1:单工具执行型”特点:
- 能根据问题选择一个工具
- 一次调用后直接回答
例子:
- 查天气助手
- 计算器助手
- 单次检索问答
L2:多步工具协同型
Section titled “L2:多步工具协同型”特点:
- 会做两步以上动作
- 能根据中间结果决定下一步
例子:
- 先查订单,再查退款政策,再给结论
- 先搜资料,再总结成报告
L3:目标驱动型
Section titled “L3:目标驱动型”特点:
- 接收一个较高层目标
- 自己组织一段执行流程
- 可能带状态管理和失败重试
例子:
- 自动研究助理
- 自动数据分析助手
- 自动代码修复流程
更高层能力通常意味着更高风险
Section titled “更高层能力通常意味着更高风险”L4:长时运行 / 多 Agent / 强自治
Section titled “L4:长时运行 / 多 Agent / 强自治”特点:
- 能运行较长任务链
- 可能调多个工具、多个子 Agent
- 有记忆、计划、回顾机制
这类系统听起来最酷,但也最难工程化。
能力越高,不代表越适合你的任务
Section titled “能力越高,不代表越适合你的任务”因为能力提升往往伴随:
- 成本更高
- 调试更难
- 出错路径更多
所以正确思路通常不是“越高越好”,而是:
用刚刚够用的那一级。
一张能力分级速查表
Section titled “一张能力分级速查表”| 等级 | 核心能力 | 典型系统 |
|---|---|---|
| L0 | 纯回答 | 聊天问答 |
| L1 | 单工具调用 | 天气 / 计算 / 单次检索 |
| L2 | 多步执行 | 先查再算、先搜再写 |
| L3 | 目标驱动 | 研究助理、数据分析助手 |
| L4 | 长时自治 / 多 Agent | 复杂自动化团队系统 |
一个小练习:给任务分等级
Section titled “一个小练习:给任务分等级”tasks = [ "回答:什么是 RAG?", "查一下北京天气", "先查退款政策,再判断我是否满足条件", "根据销售数据自动生成周报并发邮件"]
def recommend_level(task): if "先查" in task and "再" in task: return "L2" if "自动生成周报" in task or "发邮件" in task: return "L3" if "查一下" in task: return "L1" return "L0"
for task in tasks: print(task, "-> 推荐能力等级:", recommend_level(task))预期输出:
回答:什么是 RAG? -> 推荐能力等级: L0查一下北京天气 -> 推荐能力等级: L1先查退款政策,再判断我是否满足条件 -> 推荐能力等级: L2根据销售数据自动生成周报并发邮件 -> 推荐能力等级: L3这当然是简化版,但它能帮你建立一个非常实用的习惯:
先判断任务需要哪个能力等级,再决定系统怎么做。
怎么从低一级往上升级?
Section titled “怎么从低一级往上升级?”从 L0 到 L1
Section titled “从 L0 到 L1”关键是加上:
- 工具接口
- 参数生成
- 工具结果回填
从 L1 到 L2
Section titled “从 L1 到 L2”关键是加上:
- 中间状态
- 多步执行
- 动作间依赖
从 L2 到 L3
Section titled “从 L2 到 L3”关键是加上:
- 任务拆解
- 子目标管理
- 错误恢复
越往上,越像在做“小型操作系统”。
工程上怎么避免“能力吹过头”?
Section titled “工程上怎么避免“能力吹过头”?”先给系统设边界
Section titled “先给系统设边界”例如:
- 最多执行几步
- 最多调用几个工具
- 哪些任务必须人工确认
先用最小能力上线
Section titled “先用最小能力上线”很多系统一开始其实只需要:
- L1 或 L2
如果一上来就做 L4,往往会陷入:
- 太复杂
- 太贵
- 太不稳
初学者常见误区
Section titled “初学者常见误区”以为有工具调用就是高级 Agent
Section titled “以为有工具调用就是高级 Agent”会调一个工具,通常最多只是 L1。
以为越多步骤越智能
Section titled “以为越多步骤越智能”步骤变多,有时只是错误路径变多。
不区分任务等级就乱堆架构
Section titled “不区分任务等级就乱堆架构”这是很多 Agent 项目难落地的原因之一。
学完这一页,至少保留这张证据卡:
- 智能体边界
- 这与聊天机器人或固定工作流有何不同
- 目标状态动作
- 目标、当前状态、下一步动作、观察
- 架构组成
- 规划器、工具、记忆、护栏、评估器
- 失败检查
- 过度自主、目标模糊、状态缺失或没有 trace
- 下一步动作
- 构建最小可追踪的单智能体循环
这一节最重要的认识是:
Agent 的能力不是一个开关,而是一条连续的等级带。
学会分级,你就更容易做出稳妥的架构判断,也更不容易被“全自动智能体”这种说法带偏。
- 自己列出 5 个任务,给它们分别判断更适合 L0、L1、L2 还是 L3。
- 想一想:你的某个真实项目,为什么不一定需要上到 L3 / L4?
- 如果一个系统经常调用错工具,它更像是哪个能力层级出了问题?
项目交付参考与讲解
- 示例:FAQ 匹配更像 L0;天气查询更像 L1;带政策检索的退款资格判断更像 L2;自动生成周报并发送邮件更像 L3;长期自主运维要根据风险和监督强度判断是 L3 还是 L4。
- 很多项目不需要 L3 / L4,因为自主性越高,成本、风险、评测难度和恢复复杂度都会增加。一个更简单的 L1 / L2 系统反而可能更可靠。
- 经常调用错工具通常指向 tool use / routing 层:任务分类、工具描述、schema 约束或 observation 解析可能有问题。