01 Kernpunkte
Hier sind einige Kernpunkte, die Alex nach der Organisation von KI-Agenten in Strukturen ähnlich wie bei Unternehmen wie Apple, Microsoft, Google usw. entdeckt hat:
-
Unternehmen mit mehreren "konkurrierenden" Teams (d.h. Teams, die um das beste Endprodukt konkurrieren), wie Microsoft und Apple, übertrafen zentralisierte hierarchische Strukturen.
-
Systeme mit einzelnen Fehlerpunkten (wie ein Anführer, der wichtige Entscheidungen trifft), wie Google, Amazon und Oracle, schnitten schlecht ab.
-
Die Organisationsstrukturen großer Technologieunternehmen hatten einen moderaten, aber merklichen Einfluss auf die Problemlösungsfähigkeiten.
02 KI-Agenten und Organisationen von Tech-Giganten
Frühere Methoden, bei denen einfach die Anzahl der KI-Agenten erhöht wurde, um die Leistung zu verbessern, wie SWE-bench, erzielten keine signifikanten Ergebnisse.
Dies deutet darauf hin, dass man sich nicht allein auf die Erhöhung der Anzahl verlassen kann, um das Problem zu lösen.
Welche anderen Methoden können also KI-Agenten besser im Software Engineering machen?
Vor drei Wochen sah Alex zufällig einen Artikel von James Huckle über "Conway's Law" - Software- und Produktarchitektur ist dazu bestimmt, die Organisationsstruktur widerzuspiegeln, die sie geschaffen hat.
James zeigte eine Illustration, die die dramatisierten Organisationsstrukturen von Amazon, Google, Facebook, Microsoft, Apple und Oracle offenbarte, und schlug eine Idee vor:
Genau wie Menschen in großen Technologieunternehmen können Multi-Agenten-Kommunikationsstrukturen Problemlösungsansätze formen.
Inspiriert davon beschloss Alex, James' Hypothese an SWE-bench-Instanzen zu testen.
03 Experimenteller Aufbau
Der Autor organisierte KI-Agenten in verschiedene Unternehmensstrukturen und bewertete sechs verschiedene Organisationsstrukturen anhand der 13-Instanzen-"Mini"-Teilmenge von SWE-bench-lite.
Bei der Konstruktion dieser sechs Organisationen entwarf er Multi-Agenten-Organisationsstrukturen basierend auf einigen Kernbeobachtungen:
Amazon
Ein Binärbaum mit einem "Manager" an der Spitze.
Um diese Struktur nachzubilden, verwendete Alex eine große Anzahl von Agenten, die Code-Repository-Suchen durchführten, und einen einzelnen Agenten, der die endgültigen Code-Repository-Aktualisierungen ausführte.
Eine Baumstruktur ähnlich wie Amazon, aber mit mehr Verbindungen zwischen den mittleren Schichten.
Alex replizierte dies, indem er alle Agentenergebnisse innerhalb einer Schicht aggregierte und sie an Agenten in der nächsten Schicht weitergab.
Meta (Facebook)
Keine hierarchische Struktur, aber immer noch eine Netzwerkorganisation mit vielen Verbindungen zwischen Agenten.
Alex modifizierte das ursprüngliche Agentendesign, indem er die Möglichkeit von Übergängen zwischen verschiedenen Agenten erhöhte.
Microsoft
Betont konkurrierende Teams, jedes mit eigener Hierarchie.
Im Wesentlichen passte Alex die Struktur von Amazon an (reduzierte die Anzahl der Agenten) und verwendete eine Vektorähnlichkeits-Abstimmungsmethode, um die "beste" Lösung aus drei separaten Durchläufen auszuwählen (jeder Durchlauf passte die hierarchische Struktur leicht an).
Apple
Viele kleine konkurrierende Teams, jedes mit eigener minimaler Struktur.
Alex verwendete den gleichen "beste Lösung"-Ansatz wie Microsoft, aber mit mehr Durchläufen ohne Agentenhierarchien (jeder Durchlauf hatte unterschiedliche Übergänge).
Oracle
Hat zwei unterschiedliche Teams, einen größeren "rechtlichen" Binärbaum und einen kleineren Entwicklungsbaum.
Alex interpretierte das rechtliche Team als Agenten, die das Code-Repository durchsuchen und wichtigen Kontext abrufen, während das Entwicklungsteam aus Agenten bestand, die tatsächlich Code schreiben.
Die Strukturen beider Teams ähneln Amazon, mit einem einzelnen Agenten an der Spitze, der den Informationstransfer zwischen "Recht" und "Entwicklung" koordiniert.
04 Evaluierungsergebnisse
Um jeden Satz von Patches auf SWE-bench zu bewerten, verwendete der Autor die SWE-bench-Evaluierung.
Die Ergebnisse sind wie folgt:
Analyse der Leistung des Organisationsdiagramms
Hier sind einige Beobachtungen des Autors darüber, wie sich verschiedene Unternehmensstrukturen auf die Leistung auswirken:
- Konkurrierende Teams erhöhen die Erfolgschancen.
Die beiden besten Performer (Microsoft und Apple) hatten beide mehrere Teams, die um die Lösung von Problemen konkurrierten, während andere Unternehmen nur ein einziges großes Team zu haben schienen, das einen einzigen Patch generierte.