01 要点
以下是Alex在将AI代理组织成类似苹果、微软、谷歌等公司的结构后发现的一些要点:
-
拥有多个"竞争"团队(即竞争生产最佳最终产品)的公司,如微软和苹果,表现优于集中的层级结构。
-
具有单点故障(如一个领导做出重要决策)的系统,如谷歌、亚马逊和甲骨文,表现不佳。
-
大型科技公司的组织结构对问题解决能力有中等但明显的影响。
02 AI代理和科技巨头组织
之前简单增加AI代理数量来提高性能的方法,如SWE-bench,并未取得显著成果。
这表明仅仅依靠增加数量无法解决问题。
那么还有什么其他方法可以让AI代理在软件工程方面表现更好呢?
三周前,Alex偶然看到James Huckle关于"康威定律"的一篇文章 - 软件和产品架构注定会反映创造它的组织结构。
James展示了一幅插图,揭示了亚马逊、谷歌、Facebook、微软、苹果和甲骨文的戏剧化组织结构,并提出了一个想法:
就像大型科技公司的人类一样,多代理通信结构可能会塑造问题解决方法。
受此启发,Alex决定在SWE-bench实例上测试James的假设。
03 实验设置
作者将AI代理组织成不同的公司结构,并在SWE-bench-lite的13个实例"迷你"子集上评估了六种不同的组织结构。
在构建这六个组织时,他根据一些核心观察设计了多代理组织结构:
亚马逊
顶部有一个"经理"的二叉树。
为了复制这种结构,Alex使用了大量执行代码库搜索的代理,以及一个执行最终代码库更新的单一代理。
谷歌
类似亚马逊的树状结构,但中间层之间有更多连接。
Alex通过在单一层内聚合所有代理结果并将其传递给下一层的代理来复制这一点。
Meta (Facebook)
缺乏层级结构,但仍是一个代理之间有许多连接的网状组织。
Alex修改了原始代理设计,增加了不同代理之间转换的可能性。
微软
强调竞争团队,每个团队都有自己的层级。
本质上,Alex重新调整了亚马逊的结构(减少代理数量),并使用向量相似性投票方法从三次单独运行中选择"最佳"解决方案(每次运行略微调整层级结构)。
苹果
许多小型竞争团队,每个团队都有自己的最小结构。
Alex使用了与微软相同的"最佳解决方案"方法,但进行了更多没有代理层级的运行(每次运行具有不同的转换)。
甲骨文
有两个不同的团队,一个较大的"法律"二叉树和一个较小的工程树。
Alex将法律团队解释为搜索代码库并检索关键上下文的代理,而工程团队由实际编写代码的代理组成。
两个团队的结构都类似于亚马逊,顶部有一个单一代理协调"法律"和"工程"之间的信息传输。
04 评估结果
为了评估SWE-bench上的每组补丁,作者使用了SWE-bench评估。
结果如下:
组织结构性能分析
以下是作者对不同公司结构如何影响性能的一些观察:
- 竞争团队增加成功机会。
表现最好的两家公司(微软和苹果)都有多个团队竞争解决问题,而其他公司似乎只有一个庞大的团队生成单一补丁。