01 重點
以下是 Alex 在將 AI 代理組織成類似蘋果、微軟、谷歌等公司的結構後發現的一些重點:
-
擁有多個「競爭」團隊(即競爭產生最佳最終產品)的公司,如微軟和蘋果,表現優於集中式的層級結構。
-
具有單點故障(如一個領導者做出重要決策)的系統,如谷歌、亞馬遜和甲骨文,表現不佳。
-
大型科技公司的組織結構對問題解決能力有適度但明顯的影響。
02 AI 代理和科技巨頭組織
之前簡單增加 AI 代理數量來提高性能的方法,如 SWE-bench,並未取得顯著成果。
這表明單純依靠增加數量無法解決問題。
那麼還有什麼其他方法可以讓 AI 代理在軟體工程方面表現得更好呢?
三週前,Alex 偶然看到 James Huckle 關於「康威定律」的文章 - 軟體和產品架構註定會反映創造它的組織結構。
James 展示了一張揭示亞馬遜、谷歌、臉書、微軟、蘋果和甲骨文戲劇化組織結構的插圖,並提出了一個想法:
就像大型科技公司中的人類一樣,多代理通信結構可能會塑造問題解決方法。
受此啟發,Alex 決定在 SWE-bench 實例上測試 James 的假設。
03 實驗設置
作者將 AI 代理組織成不同的公司結構,並在 SWE-bench-lite 的 13 個實例「迷你」子集上評估了六種不同的組織結構。
在構建這六個組織時,他根據一些核心觀察設計了多代理組織結構:
亞馬遜
頂部有「經理」的二叉樹。
為複製這種結構,Alex 使用了大量執行代碼庫搜索的代理,以及一個執行最終代碼庫更新的代理。
谷歌
類似亞馬遜的樹狀結構,但中間層之間有更多連接。
Alex 通過在單一層內匯總所有代理結果並將其傳遞給下一層的代理來複製這一點。
Meta(臉書)
缺乏層級結構,但仍是一個代理之間有許多連接的網狀組織。
Alex 修改了原始代理設計,增加了不同代理之間轉換的可能性。
微軟
強調競爭團隊,每個團隊都有自己的層級。
本質上,Alex 重新調整了亞馬遜的結構(減少代理數量),並使用向量相似性投票方法從三次獨立運行中選擇「最佳」解決方案(每次運行略微調整層級結構)。
蘋果
許多小型競爭團隊,每個團隊都有自己的最小結構。
Alex 使用了與微軟相同的「最佳解決方案」方法,但進行了更多沒有代理層級的運行(每次運行具有不同的轉換)。
甲骨文
有兩個不同的團隊,一個較大的「法律」二叉樹和一個較小的工程樹。
Alex 將法律團隊解釋為搜索代碼庫並檢索關鍵上下文的代理,而工程團隊則由實際編寫代碼的代理組成。
兩個團隊的結構類似於亞馬遜,頂部有一個單一代理協調「法律」和「工程」之間的信息傳輸。
04 評估結果
為評估 SWE-bench 上的每組補丁,作者使用了 SWE-bench 評估。
結果如下:
組織結構性能分析
以下是作者對不同公司結構如何影響性能的一些觀察:
- 競爭團隊增加成功機會。
表現最好的兩家公司(微軟和蘋果)都有多個團隊競爭解決問題,而其他公司似乎只有一個巨大的團隊生成單一補丁。