Agent Product 101|14|Autonomy Levels

Autonomy Levels 不是给 Agent 贴等级标签,而是把每类任务的授权范围、停顿点、证据要求、回滚方式和升级条件写清楚。

Agent Product 101|14|Autonomy Levels

核心结论

Agent 产品里的 Autonomy Levels,不应该回答“这个 Agent 是 L 几”。

它应该回答一个更具体的问题:在某一类任务里,产品允许 Agent 代表用户做哪些决定、执行哪些动作、承担多大的外部后果,并在什么条件下停下来。

一个有用的自主等级设计,至少要定义五件事:

  • 授权范围:Agent 可以自己判断什么,不能判断什么。
  • 动作边界:Agent 可以读、写、调用、发送、提交、部署到什么程度。
  • 停顿点:哪些动作前必须展示计划、预览、diff、引用或审批页。
  • 失败处理:失败后是重试、回滚、交给人,还是停止任务。
  • 升级条件:什么信号出现时必须降低自主度或转人工。

这比“L1 到 L5”的标签重要得多。用户不关心 Agent 的等级,用户关心的是:它会不会替我乱做事;做错了能不能看见、撤回、追责;我什么时候需要介入。

Autonomy Contract Model

读者收益

读完这一章,你应该能做三件事:

  1. 把“更自主”翻译成具体产品边界,而不是营销话术。
  2. 判断哪些任务可以提高自主度,哪些任务必须保守。
  3. 设计一套 PM、工程、法务、安全、业务 owner 都能讨论的授权框架。

自主等级的产品定义

在传统软件里,“自动化”通常意味着把一段确定流程交给系统执行。输入确定,流程确定,输出大体可预测。

Agent 的自主性更复杂。它不仅执行动作,还会在执行过程中理解上下文、选择工具、调整计划、处理异常,甚至决定是否继续推进任务。

因此,Agent 的自主等级不是一个能力标签,而是一个产品约束:

组成 PM 要回答的问题
任务范围 这个等级适用于哪些任务,不适用于哪些任务?
权限范围 Agent 能读什么、写什么、调用什么、影响什么?
人类节点 哪些地方必须让用户、reviewer、approver 或 admin 介入?
证据要求 继续执行前需要展示哪些计划、来源、diff、preview 或测试结果?
恢复机制 出错后如何重试、回滚、接管、停止或升级?

只要其中任何一项没有定义清楚,“更自主”就不是产品进步,而是风险被隐藏到模型后面。

不要按 Agent 分级,要按任务分级

同一个 Agent,在不同任务里应该有不同自主边界。

以一个开发者 Agent 为例:

任务 合理自主度 产品边界
阅读代码并解释模块 只读,无外部副作用
定位 bug 并提出修复方案 需要引用文件、测试结果或日志
修改代码并生成 diff 中高 可以写文件,但必须展示 diff
运行测试并修复失败 中高 可以执行命令,但需要记录命令和输出
创建 PR 需要用户授权或明确策略
merge 到主分支 需要 review、CI、权限策略
自动部署生产 很低 需要审批、回滚、审计和发布策略

如果一个产品只说“我们的 coding agent 是 L4”,这句话几乎没有信息量。真正有信息量的是:它在哪些任务上可以自动推进,在哪些动作前必须停下,哪些失败会触发人类接管。

消费级个人 Agent 也是一样。整理购物清单、总结网页、规划旅行路线,可以有较高自主度;登录账户、提交订单、付款、发送正式邮件、修改日历邀请,就必须降低自主度。关键差异不在于模型是否能做,而在于动作是否代表用户产生外部后果。

一个可用的五级模型

下面这张表不是行业标准,而是帮助产品团队讨论边界的工作表。

等级 产品含义 Agent 可以做什么 必须保留的人类节点
L0 建议 只给判断,不执行 分析、解释、推荐、排序 用户自己执行所有动作
L1 草稿 产出候选物 写草稿、生成计划、生成代码建议 用户选择、修改、复制、提交
L2 受监督执行 可以操作工具,但关键动作前停下 读写文件、跑测试、拉取信息、生成预览 写入外部系统、发送、发布、付款前确认
L3 有边界自动化 在明确范围内自动完成低风险流程 批量整理、自动分类、低风险修复、内部流转 异常、高风险、低置信度时升级
L4 目标驱动流程 能跨系统推进完整任务 分解任务、调工具、追踪状态、处理常见异常 审批、审计、回滚、策略控制常驻
L5 高风险自治 长时间独立规划和执行 在受控环境中自主达成目标 只适合强治理、强隔离、强责任制度的场景

这张表最容易被误用的地方,是把 L5 当成目标。

在大多数产品里,成熟状态不是“尽快做到 L5”,而是让不同任务停在合适等级:低风险任务少打扰,高风险任务可控制,长任务可观察,失败路径可恢复。

一个稳定的 L2 产品,往往比一个虚假的 L4 产品更有价值。

Risk-Based Autonomy Ladder

真实产品里的边界

Autonomy Boundaries Across Products

ChatGPT Agent:敏感动作必须停下

个人 Agent 的难点不是“能不能打开网页”,而是“什么时候不能代表用户继续”。

浏览、搜索、整理、比较,本身风险较低。登录账户、提交表单、发送消息、付款、预约、下单,则会把 Agent 的行为变成用户行为。

所以这类产品需要把停顿点设计成一等对象:

  • 操作前展示即将执行的动作。
  • 对登录、支付、发送、提交等动作强制确认。
  • 允许用户接管浏览器或修改输入。
  • 对失败、卡住、权限不足给出明确状态。

这里的产品问题不是“模型是否足够聪明”,而是用户是否能在关键动作前重新取得控制权。

Claude Code / Codex / Cursor:自主性建立在工程护栏上

开发者 Agent 看起来更容易提高自主度,因为软件工程天然有一些可观察、可恢复的控制面:

  • diff 让修改可审查;
  • test 让结果部分可验证;
  • git 让错误可回滚;
  • branch / PR 让协作流程可接入;
  • sandbox / permission 让命令和文件访问可约束;
  • CI 让提交前检查可自动化。

这解释了为什么 coding agent 的核心产品形态不是“更会聊天”,而是围绕 diff、test、terminal、PR、review、权限和上下文组织展开。

但这些护栏也定义了边界:自动生成 patch 可以,自动 merge 通常不行;自动跑测试可以,自动改生产数据库通常不行;自动开 PR 可以,自动发布要看组织策略。

v0 / Lovable / Replit:App Builder 的边界在 preview 和 deploy

App Builder 的价值是把用户意图变成可运行的应用,而不是只给出代码解释。

它可以自动生成页面、改 UI、创建项目结构、接入简单状态、启动预览环境。这里的关键控制点是 preview:用户必须能看到系统做出了什么。

真正需要降级自主度的地方,是 deploy 之后的外部后果:

  • 是否绑定真实域名;
  • 是否连接真实数据库;
  • 是否处理用户数据;
  • 是否接入支付、登录、邮件或第三方 API;
  • 是否让外部用户访问。

因此,App Builder 的自主等级不应该只看“生成了多少代码”,而要看 preview、checkpoint、rollback、environment、deploy decision 是否完整。

Copilot Studio / Agentforce:企业自主性由治理定义

企业 Agent 的自主边界通常不是模型能力决定的,而是身份、数据、权限和审计决定的。

一个销售 Agent 是否能更新 CRM,不取决于它能不能理解客户状态,而取决于:

  • 当前用户是否有权限;
  • 数据来源是否可信;
  • 更新字段是否属于低风险字段;
  • 是否需要 manager approval;
  • 是否写入 audit log;
  • 错误更新后如何恢复;
  • 客户影响是否可控。

企业 Agent 平台的核心能力因此不是单个聊天框,而是 identity、connector、policy、approval、audit、monitoring、lifecycle。没有这些机制,所谓高自主只是把组织风险交给一个不可治理的界面。

设计自主等级时,先做风险分层

产品团队可以先把任务按三个轴拆开。

外部后果

任务是否会影响系统外部的人、钱、数据或生产环境?

外部后果 例子 自主策略
无外部后果 总结、解释、草稿、推荐 可以较高自主
轻微外部后果 创建内部草稿、更新个人待办、整理标签 可自动,但需可撤销
明显外部后果 发送邮件、修改客户记录、提交 PR、部署预览 需要证据和确认
高风险外部后果 付款、删除数据、签合同、生产发布、法律承诺 默认人工审批

外部后果越强,自主等级越应该保守。

可逆性

做错以后,恢复成本有多高?

可逆性 例子 产品要求
易恢复 重写文本、撤销本地修改 可自动重试
可恢复但有成本 revert commit、关闭 PR、恢复历史版本 需要 checkpoint
难恢复 邮件已发送、客户收到错误信息 需要确认和审计
几乎不可恢复 付款完成、合同签署、数据永久删除 不应自动执行

可逆性越低,越需要审批、证据和人工节点。

证据质量

Agent 是否能给出足够证据,让用户判断它是否该继续?

  • 计划:它准备怎么做。
  • 来源:它依据哪些输入、文档、网页、记录。
  • 过程:它调用了哪些工具,得到什么结果。
  • 结果:它生成了什么 diff、preview、草稿或变更摘要。
  • 失败:它在哪里失败,为什么失败,下一步建议是什么。

没有证据的自主性,本质上是黑箱自动化。

Autonomy Contract:把等级写成产品对象

一个产品化的自主等级,不应该只是 UI 上的一个开关。更好的做法是把它写成任务合同。这个合同不需要以代码形式存在,但至少应该在产品文档、策略配置或后台中明确以下内容:

合同字段 应回答的问题
任务类型 适用于代码修改、客户邮件、CRM 更新、应用部署,还是其他任务?
适用范围 允许访问哪些系统、处理哪些对象、排除哪些动作?
权限范围 能读什么、写什么、执行什么、产生什么外部影响?
审批要求 哪些动作需要谁确认,确认前要展示哪些证据?
运行策略 最长运行多久,失败几次后停止,低置信度如何处理?
可观测性 是否展示计划、工具过程、中间状态、审计记录?
恢复方式 是否支持重试、回滚、接管、停止、升级?

这个合同迫使团队回答产品问题,而不是停留在形容词:

  • Agent 可以在哪些系统里行动?
  • 哪些动作永远不允许自动执行?
  • 什么证据足以让用户确认?
  • 什么失败会触发 handoff?
  • 用户、reviewer、admin 分别负责什么?

如果这些字段写不出来,说明产品还没有真正定义自主等级。

从 L2 升到 L3,需要满足什么条件

很多产品最危险的跃迁,不是从 L0 到 L1,而是从“受监督执行”到“有边界自动化”。

因为 L2 仍然依赖用户在关键点确认;L3 则意味着 Agent 可以在一段范围内连续推进任务。

L2 to L3 Promotion Gate

从 L2 升到 L3,至少要满足以下条件:

  • 任务边界稳定:输入、输出、成功标准可以被明确描述。
  • 低风险步骤可识别:系统知道哪些动作可以自动做,哪些不行。
  • 工具结果可验证:Agent 调用工具后,能判断结果是否符合预期。
  • 中间状态可见:用户能看到任务进展,而不是只看到 spinner。
  • 失败路径清楚:超时、权限不足、低置信度、工具失败都有处理方式。
  • 回滚能力存在:至少能撤销内部写入、关闭草稿、恢复版本或停止流程。
  • 指标可监控:成功率、人工接管率、错误率、用户撤销率必须可追踪。

如果这些条件不存在,产品不应该提高自主等级。更合理的做法是继续强化控制层、权限层、可观测性和恢复路径。

产品界面应该暴露什么

自主等级不能只藏在后端策略里。用户需要在界面上理解当前任务处于什么边界内。

一个可用的界面通常要暴露五类信息:

  • 当前目标:Agent 正在完成什么任务。
  • 当前权限:它能读什么、写什么、调用什么。
  • 下一步动作:它准备做什么,是否会产生外部后果。
  • 需要确认的点:哪些动作会停下来等人。
  • 退出路径:用户如何暂停、接管、回滚或终止。

这也是为什么 Agent 产品需要 Control Plane,而不是只有 chat thread。自主度越高,控制面越重要。

常见错误

把等级当营销语言

“全自动 Agent”“L5 Agent”“自主完成一切任务”通常没有产品意义。它们没有说明任务范围、权限范围、失败处理和责任边界。

用一个总开关控制所有任务

“允许自动执行”这种总开关过于粗糙。总结文档和发送合同不应该共享同一个自主设置。

自主等级应该按任务类型、权限范围和风险等级组合定义。

只加确认弹窗

确认弹窗不是完整的人类节点。

一个有效确认必须包含:用户确认的具体动作、动作依据、预期结果、风险提示、可撤销性、拒绝后的路径。否则它只是把责任转嫁给用户。

没有降级机制

真正成熟的 Agent 产品,不只知道什么时候自动推进,也知道什么时候停止。

典型降级信号包括:工具结果冲突、输入不完整、权限不足、低置信度、测试失败、外部系统异常、用户长时间未响应、动作影响范围扩大。

检查清单

设计 Autonomy Levels 时,可以直接检查这些问题:

  • 是否按任务类型定义自主等级,而不是按 Agent 名字定义?
  • 每类任务的 allowed decisions 和 allowed actions 是否明确?
  • 哪些动作会产生外部后果?这些动作是否默认停下?
  • 用户确认前能看到哪些证据:plan、source、diff、preview、test、audit log?
  • 失败后是 retry、rollback、handoff、ask user,还是 stop?
  • 是否有暂停、接管、撤销、终止任务的入口?
  • 是否记录成功率、接管率、撤销率、失败原因和高风险动作拦截率?
  • 从低等级升到高等级时,是否有可验证的产品条件,而不是只因为模型升级?

小结

Autonomy Levels 的价值,不是给 Agent 贴一个更高级的标签,而是把用户委托给 Agent 的权力写清楚。

成熟的 Agent 产品不会追求所有任务都全自动。它会把低风险、可恢复、证据充分的任务自动化;把高风险、不可逆、外部后果强的任务放进确认、审批、审计和回滚机制里。

换句话说,自主等级不是产品宣传语,而是 Agent 产品的授权系统。

参考资料