今天很有趣,两家知名的公司各出了一篇文章,争论要不要使用多智能体系统。
Claude 的官方 Anthropic :如何构建多智能体系统
Devin 的官方 Cognition :不要构建多智能体系统
这核心的争议点在于:Context 上下文到底应该共享还是分开?
Claude 这边的观点是,搜索信息的本质是压缩,单个智能体的上下文有限,面对无限的信息,压缩比太大就会失真。
这就好比一个老板能力再强,也不可能搞定所有的事情,还是需要雇人去解决。
通过多智能体系统,老板让不同的智能体分别研究、汇报重点,老板最后整合到一起。由于每个智能体有自己的专长,具有多样性,减少了单一路径依赖现象,实际效果上,多智能体也超过但智能体 90%。
这是集体智慧,一起协作获得的胜利。
Devin 这边的观点是,多个智能体的上下文不一致,会导致信息割裂、误解、他们汇报给老板的信息经常充满了矛盾。
而且很多时候,智能体的每一步行动都是依赖前一个步骤产生的结果,而多智能体通常分别跟老板沟通,互相之间缺乏沟通,这样很容易导致互相矛盾的结果。
这体现出了个体智慧的完整性和高效性。
两边观点看下来,是否使用多智能体架构,特别像是人类运行一家公司的选择。
一人公司还是多人公司?
一人公司,一个人的脑力、体力、时间都是非常有限的。
优点是一人公司的沟通成本为0 ,可以把所有的时间都高效使用。
而多人公司,人越多,沟通成本就越高,管理难度就越大,总体效率下降。
但因为人数多,脑力多,体力多,整体的价值产出也就有可能更多。
多智能体的设计很有难度,这其实很正常,就像运行一家公司一样,很难。
难就难在建立有效协作的系统。
而且 1个人,3个人,10个人,100人,1000人,所需要的协作系统又不大相同。
参考人类历史,依靠集体智慧,人类在近代获得了文明的指数级发展。
多智能体的集体智慧,也许就是在 Scaling Law 逐渐放缓后,AI 获得指数级发展的那个萌芽。
而关于上下文,人类的协作至今也无法做到完美的上下文管理。
这让我想到,软件工程从来不是追求完美,而是持续迭代。