续
为什么 Self-Review 不够:真正有效的 Review,需要不同的 Context
«个人见解:这是我最近在思考 Agent Review 机制时产生的一点联想。它既适用于 Agent,也很像人在现实生活中的反思过程。»
最近我突然意识到一个问题:
Review 不应该只有 Self-Review。
因为如果 Review 仍然发生在同一套 Context 里,那么很多时候,它并没有真正引入新的信息。
一个 Agent 完成任务以后,我们经常会让它:
«再检查一下自己的答案。»
这当然有用。
它可能发现遗漏、逻辑错误或者一些局部问题。
但如果第一次错误的真正原因,是某个隐藏前提本身就错了,那么第二次 Review 很可能仍然会继承这个前提。
于是整个过程就变成:
Context A → 推理 → 结论 A → Context A → Review → 结论 A' → 再 Review……
Token 一直在消耗。
但整个系统并没有真正跳出原来的搜索空间。
这让我想到一句话:
«相同 Context 下的重复 Review,很可能只是在增加推理深度,却没有增加信息多样性。»
换句话说:
想得更久,并不一定意味着看得更远。
---
Self-Review 最大的问题,是错误往往具有相关性
Self-Review 有一个天然缺陷。
第一次推理和第二次 Review,往往共享:
- 相同的历史信息;- 相同的假设;- 相同的思维路径;- 相同的锚点;- 甚至相同的盲区。
因此,一个错误一旦来自这些共同前提,后面的 Review 就很难真正发现它。
这有点像代码里出现了系统性 Bug。
如果测试逻辑和实现逻辑本身共享同一套错误假设,那么测试跑再多遍,也不一定能够发现问题。
所以真正有效的 Review,很多时候需要的不是:
«再想一次。»
而是:
«换一个 Context,再看一次。»
---
External Reviewer 的价值,不一定是“更聪明”
这也是为什么我开始觉得,External Review 非常重要。
无论是另外一个 Agent,还是现实中的另一个人,它最大的价值未必在于:
«它比我更聪明。»
而可能只是:
«它没有参与我前面的推理过程。»
它没有被前几十轮讨论锚定。
没有默认接受那些已经被我视为理所当然的假设。
于是它可能会问出一个非常简单的问题:
«“为什么一定要这样?”»
而这个问题,原来的 Agent 或者自己,可能已经完全意识不到需要问。
因为某些前提已经不再被视为“假设”。
它们已经变成了整个系统的默认配置。
---
但最好的 Reviewer,也不是完全没有 Context
不过这里还有一个很重要的区别。
External Reviewer 并不是 Context 越少越好。
如果它完全不知道历史,就可能重新提出早已经被验证失败的方案。
比如:
«“为什么不用方案 B?”»
但事实上,方案 B 可能三个月前已经验证过不可行。
所以我现在觉得,更合理的 Review 结构应该是:
«共享事实,但尽量不共享推理惯性。»
也就是说:
主 Agent 可以拥有:
目标 + 历史信息 + 中间推理 + 当前方案 + 完整工作 Context
而 Reviewer 得到的可以是:
目标 + 必要事实 + 当前产物 + 验收标准
它需要知道足够多的事实。
但不一定需要继承主 Agent 完整的思考路径。
因为一旦把所有历史讨论、推理过程和中间判断全部复制过去,Reviewer 很可能也会被同样的 Context 锚定。
最终只是:
两个 Agent 在重复同一种思考。
---
Review 真正需要的,可能是 Context Diversity
所以我越来越觉得,一个好的 Review 系统最重要的东西可能不是:
更多推理。
而是:
Context Diversity。
一个 Agent 负责 Build。
另一个 Agent 独立 Review。
甚至还可以再有一个 Arbiter,根据双方的证据决定是否修改。
于是形成:
Builder → Reviewer → Arbiter
Builder 的目标是:
«给出一个可行方案。»
Reviewer 的目标不是“继续帮 Builder 完善”,而应该主动寻找:
- 被忽略的前提;- 没有证据支持的结论;- 反例;- 过期的规则;- 潜在风险;- Builder 已经看不见的默认假设。
这样 Review 才真正产生新的信息。
否则,多 Agent 可能只是多个实例同时消耗 Token。
---
这件事情放在人身上,其实也一样
我们通常把“反思”理解成:
«自己再认真想一遍。»
但人也有自己的 Context。
我们的经历、教育、性格、价值观以及过去形成的规则,会共同决定我们如何理解一个问题。
因此 Self-Review 也很容易陷入类似的循环:
«我为什么这么累?»
«是不是时间管理不好?»
«是不是执行力不够?»
«是不是应该更加努力?»
想了很久,却始终没有意识到:
«也许真正应该被 Review 的,是“我为什么默认所有事情都必须自己完成”这个前提。»
因为这个前提已经进入了自己的默认 Context。
自己反而很难看到它。
但一个拥有不同经历的人可能会直接问:
«“为什么这件事情一定要你自己做?”»
一句话就可能把整个问题重新打开。
---
别人的价值,有时恰恰来自“他不是我”
我们经常认为人与人交流的价值是:
«别人知道一些我不知道的知识。»
但现在我越来越觉得,还有另外一种价值:
«别人没有我拥有的那些默认前提。»
朋友、导师、同行、同事,甚至一个完全不同背景的人,都拥有不同的 Context。
他们不一定比我们更聪明。
但因为起点不同,他们可能看到我们已经看不见的问题。
从这个角度来看,外部 Review 的意义不是:
«把决定权交给别人。»
而是:
«让自己的认知系统暂时接入一个不同的 Context。»
最终怎么判断,仍然由自己决定。
但至少搜索空间被真正扩大了。
---
好的多 Agent,也不应该只是“多几个 Agent”
这件事情对多 Agent 架构也有一个很直接的启发。
如果五个 Agent:
- 读取完全相同的 Context;- 使用完全相同的角色;- 继承完全相同的历史推理;- 按完全相同的方向思考;
那么它们即使得出了五个答案,也可能只是:
«五份高度相关的判断。»
甚至是五份高度相关的错误。
多 Agent 真正有价值的地方,不应该只是并发。
而应该是:
«有意识地制造 Context Difference。»
让不同 Agent 从不同角色、不同信息边界、不同假设出发。
这样系统增加的就不仅仅是计算量。
而是:
认知多样性。
---
Self-Review 与 External Review 应该互补
当然,这并不意味着 Self-Review 没有价值。
Self-Review 最大的优势恰恰是:
它拥有完整历史。
而 External Review 的优势则是:
它不会被完整历史完全绑架。
所以二者可以理解成:
Self-Review:高 Context,高连续性,但容易受到原有认知路径影响。
External Review:Context 相对独立,更容易发现盲区,但可能缺失历史信息。
真正好的 Review 系统,不应该只选择其中一种。
而应该让两者互相补足。
---
最后
我现在越来越觉得:
真正有效的 Review,核心并不是多想一次,而是让一个不同的 Context 进入系统。
一个长期运行的智能,无论是人还是 Agent,都很容易逐渐把自己的某些假设变成“理所当然”。
运行得越久,这些隐含规则可能越难被自己发现。
所以一个健康的智能系统,除了需要:
Memory —— 避免重复犯错;
Reflection —— 修正已有经验;
可能还需要第三样东西:
Context Diversity —— 防止整个系统被困在同一套认知框架里。
有时候,一个人想了十遍都没有想通的问题,另一个人一句:
«“你为什么一定要这么想?”»
整个问题就变了。
也许原因很简单:
任何长期运行在同一个 Context 里的智能,都很难完整看见自己的 Context。
——个人见解