lloyyd

关于subagent的断章取义

我让 agent 去查一个问题:设计做得精美,对数据到底有没有回报。

subagent 交回来一句带引号的英文原文:

Clarity beats excessive polish.
(清晰胜过过度精修。)

主 agent 采信了,把我原本的判断翻成了否定:精美度没有回报。

问题在这句话的前半句,它没有被传回来:

Across the Reels in our sample, clarity beats excessive polish.

样本是 Reels,是短视频。而我要判断的东西是静态图。

被砍掉的只有六个词。剩下的部分每个字都是原文,每个字都还在引号里,只是它已经不再是一句关于我那个问题的陈述了。

直到一周后,在另一个功能的开发中,我质疑了这个结论,agent 重新查证之后,歉意姗姗来迟,随之是一系列的改动。

这不是偶发

第二次,我让 agent 查有没有人在做 recipe card 这个方向。回报是:已经有人做了,Canva 就有 Recipe Card Maker。名字确实一样,但 Canva 那个是排版工具里的模板,我要做的是社交平台的发布素材,两者的用户在不同的时刻、为了不同的事打开它们。

这类错误有方向性:只要名字对得上,“已经有人做了”就成立;要推翻它,才需要下沉到具体形态。类别匹配天然偏向否定。 一个只做名字匹配的 subagent,会系统性地劝你放弃。

第三次,我要判断一个现象在 A 平台是否成立。A 平台的数据封得很死,四条取数路全不通。subagent 于是用 B、C、D 平台的数据完成了论证,还给出了精确到“一成”的数字。查不到数据这件事,本该让结论从一开始就带着高度不确定的标记;实际发生的是反过来的——能拿到什么材料,决定了论证什么命题。

丢的不是信息量,是前提

我起初以为这是压缩率的问题——原始材料太长,subagent 得挑着说,挑漏了。

但四次丢掉的东西是同一类:

  • 第一次丢的是“样本是短视频”
  • 第二次丢的是“这里的 recipe card 指社交素材”
  • 第三次丢的是“这些数字不来自 A 平台”

没有一句是论点本身,全都是论点的适用条件。

《微观经济学》里有一句话本来是替简化说话的:

相比于成为这个世界的完美复制品,一个模型更重要的是简单和有用。
—《微观经济学》

压缩不是错,压缩就是转述的全部意义。但模型必须随身带着它的前提。丢掉前提的模型不是简化版,是失效版——它看上去更强了,因为它现在在任何地方都成立;而这样的扩大化推论,在逻辑学上是不成立的。

所以 agent 之间的传话游戏的规律和直觉是反的:结论不是在转述里变弱的,是变强的。 每传一层,限定条件少一句,适用范围大一圈,最后到我手上的那句,读起来像一条普遍真理。

平时人与人之间的对话也会有这个问题么

我是这么认为的:人类的语言的边界本来就是模糊的,感觉起来相同就够了。

日常语言里这是特性不是 bug。你说你“累”,我大概知道你多累,误差无所谓——因为我不打算拿这句话去推出别的东西。

分界线不在语言本身,在接收方拿它去做什么。同一句模糊的话,用来交换感受时模糊是够用的;一旦它要进入论证链条、作为关键证据、推出一个我要照着做决定的结论,那点模糊就会被下游当成事实。

人传人不是不丢限定语,是大部分时候丢了也不影响。而我派 subagent 出去,恰恰就是专门让它去取那个关键结论,去佐证主体结论或者指明方向。这就很危险了。

为什么它宁可传一句错的,也不说“我不知道”

主 agent 和 subagent 是一组典型的委托代理关系:信息不对称,而且目标不一致。

如果想成功创业、成功达成交易,你就一定要研究委托和代理问题。
—《纳瓦尔宝典》

subagent 交付的是一份报告,而它被验收的方式是“这份报告看起来完整吗”,不是“你的结论后来被证明是对的吗”。在这个验收标准下,“我查不到”是一个不合格的输出,一句从相邻材料里凑出来的结论反而是合格的。 第三次翻车不是能力问题,是它按验收标准做了正确的事。

这个动机决定了产出的形状:体量大、结构漂亮、带表格和引文。用 agent 自己在复盘时的话说——“这本身在降低主 agent 的警惕,让它觉得这是一个经过充分验证的结论”。

《如何阅读一本书》在 19 世纪 40 年代就写下了同一个机制:

但是这些精美包装的资讯效率实在太高了,让观众、听众或读者根本用不着自己做结论。

最后一环在我。我派 subagent 出去的时候,心里通常已经有一个倾向的答案。当回报的东西符合预期,核实动力接近于零;只有后续遇到了问题,事实错误才会被暴露出来。先有立场,再选材料——这个毛病不是 AI 教给我的,是我自己带进这套协作方式的,AI 只是把它放大到了并行的规模。

四个环节,各自都不算失职:subagent 按标准交了活,报告确实做得漂亮,我确实在证据顺眼的时候省掉了核实。四个都对,链条照样断。

关键结论不能外包

我们与他人有共同的“生活形式”,这使得我们能够理解彼此的语言游戏。
—维特根斯坦

人传人还勉强 work,靠的是共享的生活形式:我大概知道你要拿这句话去干什么,所以我知道哪句限定语是不能省的。主 agent 和 subagent 共享的只有那条分配任务的指令,不共享我为什么要问这个问题、我打算拿答案去推翻什么。不知道最终要论证什么,就无法知道哪一句是关键结论。

推论有点反直觉:对人和对 agent 的规矩是相反的。跟人沟通,最需要克制的是过早质疑,让对话得以顺利进行;跟 subagent 协作,需要的恰恰是制度化的过早质疑。因为前者共享生活形式,后者不共享。

所以我现在的判断是:可以外包检索,可以外包整理,不能外包决策,并且要多质疑决策链的关键节点。

至于怎么做,我现在还在尝试。如果有新的进展,那又是一篇新的博客了。

← all posts