4.2 松开缰绳还是拉紧——自主性与人类控制
小李的 Agent 越来越能干了。但有一次,他让 Agent "优化一下数据库查询",Agent 直接删了一张他认为「没用」的表。
数据没了。
从那以后,小李开始认真思考一个问题:什么时候该让 Agent 自己干,什么时候必须管住它?
自主性不是越强越好
还记得 1.3 节 的自主性光谱吗?Level 5 听起来很酷,但现实中——
自主性越高 → 能力越强 → 风险越大
关键不是「最大化自主性」,而是在合适的时间给合适的自主性。
HITL——人类在环
HITL(Human-In-The-Loop) 是控制 Agent 自主性的核心策略。它的核心思想:人类不是 Agent 的障碍,而是 Agent 的安全带。
五种 HITL 模式
| 模式 | 怎么做 | 适合场景 |
|---|---|---|
| 审批工作流 | Agent 执行前需人类批准 | 修改代码、提交 PR |
| 中断-恢复 | 随时暂停,审核后继续 | 长时间运行的任务 |
| 检查点审查 | 关键节点自动暂停汇报 | 多步骤流程 |
| 反馈循环 | 人类纠正后 Agent 继续 | 创意性任务 |
| 最终审核 | Agent 完成后人类验收 | 所有任务 |
小李的「删表事件」,如果有审批工作流就不会发生——Agent 在删除表之前需要小李确认。
权限金字塔
把 Agent 的操作分成四个层级,越往上越严格:
🔴 禁止层 —— 删除数据、发送外部、操作生产
🟠 审批层 —— 部署、提交、大规模重构
🔵 确认层 —— 修改代码、安装依赖、创建文件
🟢 自主层 —— 搜索、分析、生成建议
具体到小李的场景:
| 操作 | 层级 | 原因 |
|---|---|---|
| 搜索代码中的 Bug | 🟢 自主 | 只读,无风险 |
| 修改源代码 | 🔵 确认 | 需要人工审核改动 |
| 运行测试 | 🟢 自主 | 不影响代码 |
| 安装新依赖 | 🔵 确认 | 可能引入安全问题 |
| 删除文件 | 🟠 审批 | 不可逆操作 |
| 提交到 Git | 🟠 审批 | 影响团队代码库 |
| 操作生产数据库 | 🔴 禁止 | 数据安全 |
动态自主性——根据场景调整
自主性不是固定不变的。同一个 Agent,在不同场景下应该有不同的自主级别:
| 场景 | 推荐自主性 | 原因 |
|---|---|---|
| 简单查询 | Level 4 | 低风险,高效率 |
| 代码修改 | Level 2-3 | 需要人工审核改动 |
| 生产部署 | Level 1 | 必须人工审批 |
| 数据删除 | Level 0 | 禁止自主操作 |
小李总结了经验:对 Agent 的信任,要像对新人一样——先观察,再放权,关键操作永远不放。
信任建立机制
Agent 的自主性应该随着信任增长而提升:
| 信任级别 | 自主性 | 条件 |
|---|---|---|
| 新用户 | Level 1 | 首次使用,不信任 |
| 初次使用 | Level 2 | Agent 建议需确认 |
| 逐渐熟悉 | Level 3 | 常规任务可自主 |
| 深度信任 | Level 4 | 复杂任务可自主,异常汇报 |
| 团队信任 | Level 5 | 关键操作仍需审批 |
信任怎么建立? 五个机制:
- 透明执行:Agent 的每一步都可见可追溯
- 可预测性:Agent 的行为符合预期,没有惊喜
- 可控性:随时可以暂停或终止
- 可问责:出问题能定位到具体步骤
- 可回滚:错误操作可以撤销
防灾措施
即使有了权限体系,也要有灾后恢复机制:
| 措施 | 说明 |
|---|---|
| 权限沙箱 | Agent 只能访问被授权的资源 |
| 操作日志 | 每一步操作都有记录,可回溯 |
| 回滚机制 | Git 版本控制让代码改动可撤销 |
| 审计追踪 | 定期审查 Agent 的操作日志 |
| 熔断器 | 连续失败 N 次后自动停止 |
小李的教训
那个「删表事件」之后,小李做了三件事:1) 把数据库操作设为禁止层;2) 给 Agent 配了只读数据库连接;3) 每次 Agent 执行前都跑一遍 Git 提交,出问题直接回滚。
各工具的自主性控制
| 工具 | 控制方式 | 特点 |
|---|---|---|
| Claude Code | 配置文件设置权限(auto/ask/forbid) | 精细控制,可按操作类型设定 |
| Cursor | Chat/Agent/Yolo 三模式切换 | 简单直观,模式切换 |
| Windsurf | Cascade Write/Chat/Turbo 模式 | 场景化控制 |
| Copilot | Plan 自主 / 执行需确认 | 保守策略,安全性高 |
本节核心要点
- 自主性不是越强越好,关键是在合适的时间给合适的自主性
- HITL 五种模式:审批、中断、检查点、反馈、最终审核
- 权限金字塔四层:禁止→审批→确认→自主
- 动态自主性:根据场景和信任级别调整
- 灾后恢复不可或缺:沙箱、日志、回滚、审计、熔断
思考题:你目前使用的 AI 编程工具,它的自主性控制做得怎么样?有没有哪个操作你觉得应该更严格或更宽松?
下一节预告:Agent 干完了活,但它做得对不对?好不好?评估与测试——判断 Agent 质量的方法。