Agent 能执行,就应该让它执行吗? · Marina Current
marina current
← 返回随笔

Agent 能执行,就应该让它执行吗?

Agent 能读取、推理和调用工具,不代表每一步都该自动执行。影响范围、能否撤回、证据和责任归属,决定它应该在哪里停下来。

Marina首次发布 最近修订 中文 · 约 8 分钟Read in English ↗

我第一次认真思考 Agent 应该在哪里停下来,不是因为它做不了,而是因为它做得太顺了。

它能读来源材料、整理方案、填完表格,再把结果写进共享系统。最后一步改变了前面所有工作的性质。分析时,它还只是一个候选结果;写回以后,它就成了别人会相信、会继续使用的当前状态。

如果来源已经过时,或者某个字段还需要客户确认,错误就不再只留在聊天里。它会进入文档、表格、线上配置,以及后续的自动化。

做得到和有权做,是两个问题。

现在,我用四件事判断停在哪里:这次修改会影响多大范围、出错后有多容易撤回、证据有多确定,以及谁对结果负责。

风险不只在生成,更在于改变状态

起草文案通常风险较低,因为我可以不用。下面这些动作看起来都只是一次工具调用,后果却不一样:

  • 覆盖共享事实源中的字段;
  • 把草稿改成可以发送的版本;
  • 创建或修改线上广告配置;
  • 根据不完整的数据写下业务结论;
  • 发出一条代表当前进展的消息。

它们会改变外部状态。其他人可能直接沿用结果,并不会看到 Agent 当时依据了什么。

我以前把格式正确和允许写入当成同一道检查。字段齐全、链接有效、API 返回成功,好像就够了。真实使用暴露了两者的差距:格式只能证明结果长得像预期的对象,不能证明事实仍然有效,也不能证明一个有争议的选择已经获得授权。

决定停止位置的四个问题

1. 这会影响谁?

本地候选稿影响的是操作者。更新团队记录、发给客户或者改变线上系统,影响范围就会迅速扩大。

层级 常见动作 默认处理方式
个人候选稿 起草、总结、准备备选方案 Agent 可以自动完成
团队状态 更新共享表格、项目状态或知识库 写入前检查字段及负责人
外部结果 发给客户、上线广告或修改公开页面 核实明确授权是否覆盖该动作;只有出现新决定时才再询问

越多人会把结果当成事实,就越不能把 Agent 自己的判断当成授权。

2. 撤回错误的成本有多低?

可撤回不只是技术上能不能恢复,还要看恢复成本。

本地草稿可以丢弃。客户已经读过的消息,无法让他没看过。配置可以改回去,但期间可能已经产生了数据或费用。

一个动作越难撤回,确认就越应该靠近真正执行的时刻。

只要目标、允许修改的字段、限制和停止条件都明确,持续授权就可以覆盖重复工作。新的不可逆决定,需要先准备好具体结果供人审阅。对模糊方案的批准不能代替这个决定;但已有的有效授权,也不应导致每次运行都重复询问。

3. 这个决定依据的是证据,还是推测?

有些条件可以确定地检查:必填字段、字数限制、文件格式,以及链接是否可访问。

另一些决定依赖业务事实和上下文。这个主张有支持吗?空白代表零,还是无法取得数据?这是内部草稿,还是已经批准的交付物?

如果 Agent 必须靠推测跨过缺失材料,就应该把缺口说出来并停下。最危险的信号不一定是报错,而是一个没有证据、听起来却十分完整的结论。

4. 谁对最终结果负责?

负责人应该知道授权覆盖什么。他可以批准一份具体候选稿,也可以委托有边界的日常修改。当决定超出约定,Agent 再回来找他。

人工复核不应意味着重做 Agent 的工作。Agent 应该降低判断成本:给出来源、拟议修改、已完成的检查和仍然存在的不确定性。

复核者决定的是自己是否愿意为结果负责,而不是重新翻一遍原始材料。

使用工具的 Agent,可以分成三个阶段

  1. 读取和分析。 在允许的范围内收集证据,整理事实、冲突和候选方案。
  2. 准备修改。 做出即将写入的完整内容,运行确定性检查,并展示差异。
  3. 提交并回读。 获得批准后执行外部写入,再读取目标位置,核对实际结果。

已有授权范围内、低风险且可撤回的工作,可以自动走完三个阶段,包括已经允许的共享系统更新。只有任务跨过影响或责任边界,才需要人工介入。

好的人工确认不会把人塞回每一步。它只在确实需要人承担判断的地方停一次。

确认本身也是设计问题

只问一句“继续吗?”不够。确认请求应该展示:

  • 当前采用的来源,以及核验时间;
  • 即将新增、替换或发送的准确内容;
  • 已完成的确定性检查;
  • 未经核实的假设或缺失信息;
  • 谁会受到影响,以及如何撤回。

没有回复不等于批准。超时不应悄悄触发高风险写入。如果这个动作确实需要授权,停下来就是正确行为。

哪些情况可以自动继续

以下条件都满足时,我通常允许完整执行:

  • 目标、允许的动作和限制已经获得授权;
  • 结果容易撤回,不会污染共享事实;
  • 来源明确,也足够新;
  • 可以用确定性检查验收;
  • 失败会显露出来,不会被悄悄跳过;
  • 系统会自动回读并验证结果。

起草未发送的消息、整理主题和检查链接,通常可以继续。明确授权修改一组约定的共享字段,也可以。发送一种新的消息、改变收件对象或超出预算,则是新的决定,即使调用的 API 很熟悉。

同一个委托任务,两种不同结果

以一个假设的每日价格检查为例。负责人允许系统从指定来源采集,并更新由机器维护的观测字段。Agent 可以完成这项日常更新,不必每次再问。人工判断保存在另外的字段里。

新发现的价格变化,并不自动授权 Agent 修改已认可的基线或者给客户发邮件。那些是独立动作。它应该先准备证据,再请求必要的决定。如果读不到某个来源,本次运行应记录为不完整,而不是悄悄宣布“没有变化”。

一张实际可用的判断表

问题 如果答案是“是”
这次共享或公开修改已经在明确授权内吗? 在范围内执行,然后验证
是否会超出约定的动作、收件人、费用或可撤回性限制? 准备好准确的修改内容,再请求新的决定
决定是否依赖缺失、冲突或过时的证据? 补证据或确认
最终结果是否必须由一个明确的人负责? 给这个人看最终候选结果
结果是否无法通过回读验证? 不自动写入

我不再用“能连续完成多少步”评价一个 Agent。更值得看的是:它是否分得清哪些步骤是在准备,哪些动作会改变现实,以及什么时候必须把决定交回给人。

延伸阅读