全部笔记
我不再逐一批准 agent 的决定了,现在我只是看着它们。

2026年6月3日

我不再逐一批准 agent 的决定了,现在我只是看着它们。

刚开始做 agent 的时候,我会批准它的每一个动作——感觉这样很负责。其实并不是;批到第三十个'yes'时,我已经在橡皮图章式地批准了,这比完全没有检查点更糟。真正的监督不是经手每一个决定,而是制定策略、观察结果。这就是我从人在环内到人在环上的转变,以及让放手真正变得安全的那套架构。

当我做出第一个真正的 agent 时,我让它做任何事都先问我一声。它想执行的每一个动作都会弹出一个提示:about to call this tool — approve? about to write this file — approve? about to send this — approve?(即将调用这个工具——批准吗?即将写这个文件——批准吗?即将发送这个——批准吗?)这看起来才是负责任的做法。我是那个人在环内(human-in-the-loop)的人。没有我的"yes",什么都不会发生。

让我有点不好意思的是,我没花多久就发现这只是一场表演。

"批准吗?""好。""批准吗?""好。"

到一次会话里的第三十个批准提示时,我已经不再去读它们了。我点"yes"的方式,就像点掉一个 cookie 横幅一样——靠模式匹配判断"看着没问题",然后翻篇。批准已经变成了一种条件反射,而条件反射不是监督。我建了一个检查点,然后把自己自动化成了橡皮图章式地批准它。

而一个被橡皮图章式地批准的检查点,比完全没有检查点更糟。没有检查点时,所有人都知道 agent 是自己在行动,会带着应有的怀疑去看待它的输出。有了一个我并没有真在读的检查点,agent 的错误就被洗白成了我的决定——是我批准的,所以现在它们是我的了,只不过我从来没真正看过。正如 2026 年一份监督指南直白地指出的,一个心不在焉的审查者批准有缺陷的输出,比完全没有检查点更糟。我就成了那个审查者。

两种监督

对于这件事有一套很有用的词汇,一旦我掌握了它,我的思路就清晰了。业界把human-in-the-loop(人在环内)和 human-on-the-loop(人在环上)区分开来:

  • 在环内(in the loop): agent 在每一个被定义的动作前暂停,发问,等到一个明确的"yes"才继续。每一步都离不开人的决定。
  • 在环上(on the loop): agent 在设定好的边界内自行行动,而人则观察它正在做什么的那条信息流,可以在过程中或事后介入。你监督的是结果,而不是每一次按键。

我对所有事都默认用了在环内,理由是关卡越多就越安全。可我实际拥有的,是一个我已经不再值守的关卡。

转变:从点"yes"到观察结果

于是我把大部分工作挪到了在环上。agent 自行运行;我通过一份我真的会读的日志、汇总的结果,以及那些被标记给我的异常来观察它在做什么——而不是在每一步上给它一个 yes/no 的提示。

让这一切豁然开朗的心智模型是:这就是你管理一个能干的工程师的方式,而不是管理一个嫌疑人。你不会逐行批准他们写的代码。你和他们就计划达成一致,让他们去干,然后审查结果以及过程中出现的任何古怪之处。逐行批准会侮辱他们,也会把你累垮,而且根本不会产出更好的代码——它只会产出一个瓶颈,和一个只会浏览扫读的经理。对一个有能力的员工的监督,从来都是在环上的。agent 也不例外。

让放手变得安全的是什么(这才是真正要做的工作)

下面这部分才是重点,而它纯粹是架构问题,不是信任问题。只有当系统的搭建方式使得"观察"就已足够时,转向在环上才是负责任的。有三件事能做到这一点:

  • 用业务术语而不是模型术语来设定阈值。 并非每个动作都等价,所以它们不该得到同等对待。推荐的规则是按后果来定义关卡:一个可逆的、低风险的步骤(起草这个、总结那个、重新排版)自由放行;而超过某个阈值的花费、触碰特权系统、或任何不可逆的事情,仍然要停下来发问。你只在错误代价高昂的地方花费你稀缺的注意力——这意味着当一个提示确实出现时,你会真的去读它,因为它罕见且重要。
  • 可观察、可中断、有边界。 你看不到的东西就无法观察。agent 必须发出一条你能读懂的轨迹、能在运行中被叫停、并在它无法逾越的硬性限制内运转。这正是把约束放进架构里那个理念对准了自主性:安全感不来自 agent 的良好表现,而来自它周围的那道围栏。
  • 你要用证据来挣得这次晋级。 在环内还是在环上,不是一种性格选择;它是一个你按任务类型去推进的校准,随着可靠性被证明而移动。谨慎的做法是让一个 agent 保持只建议而不执行,直到它的判断在大量真实决定中被验证过——被度量过,就像一个 eval set 在用户之前告诉你某样东西已经就绪一样。信任是基于数据授予的,而不是凭感觉,而且只授予那些挣得了它的类别。

注意,这里面没有一条是"批准每个动作"。这些是你在前期一次性做好的设计工作,从而让运行 agent 不再需要人在每一步上的条件反射。

工作变了,但没有消失

我想说清楚的一点是:转向在环上不是放弃职责。监督并没有消失——它上移了一个层级,从体力活变成了设计。我不再把注意力花在逐个决定上(那既无法规模化,又会退化成橡皮图章式地批准),而是把它花在策略上:哪些动作是可逆的,哪些需要一道关卡,agent 必须记录什么,一个异常长什么样,以及什么样的证据能让一个任务晋级到更高的自主度。这和审查 spec 而不是每一个 diff 是同一个动作——对系统进行推理,而不是对每一个实例。

监督的目标从来都不是让我的指纹留在每一个决定上。它是为结果真正负起责任。批准一切感觉像是掌控,交付的却是一种条件反射。观察,下面垫着真实的边界,感觉像是放手——而这是我第一次真正掌控了 agent 能做什么。

评论

暂无评论

登录以参与讨论。

做第一个分享想法的人。