01 Points clés
Voici quelques points clés qu'Alex a découverts après avoir organisé des agents IA en structures similaires à celles d'entreprises comme Apple, Microsoft, Google, etc. :
-
Les entreprises avec plusieurs équipes "concurrentes" (c'est-à-dire en compétition pour produire le meilleur produit final), comme Microsoft et Apple, ont surpassé les structures hiérarchiques centralisées.
-
Les systèmes avec des points de défaillance uniques (comme un seul leader prenant des décisions importantes), tels que Google, Amazon et Oracle, ont obtenu de mauvais résultats.
-
Les structures organisationnelles des grandes entreprises technologiques ont eu un impact modéré mais notable sur les capacités de résolution de problèmes.
02 Agents IA et organisations des géants de la technologie
Les méthodes précédentes consistant simplement à augmenter le nombre d'agents IA pour améliorer les performances, comme SWE-bench, n'ont pas obtenu de résultats significatifs.
Cela suggère que le fait de s'appuyer uniquement sur l'augmentation du nombre ne peut pas résoudre le problème.
Alors quelles autres méthodes peuvent rendre les agents IA meilleurs en ingénierie logicielle ?
Il y a trois semaines, Alex a vu par hasard un article de James Huckle sur la "Loi de Conway" - l'architecture des logiciels et des produits est destinée à refléter la structure organisationnelle qui l'a créée.
James a montré une illustration révélant les structures organisationnelles dramatisées d'Amazon, Google, Facebook, Microsoft, Apple et Oracle, et a proposé une idée :
Tout comme les humains dans les grandes entreprises technologiques, les structures de communication multi-agents peuvent façonner les approches de résolution de problèmes.
Inspiré par cela, Alex a décidé de tester l'hypothèse de James sur les instances de SWE-bench.
03 Configuration expérimentale
L'auteur a organisé les agents IA en différentes structures d'entreprise et a évalué six structures organisationnelles différentes sur le sous-ensemble "mini" de 13 instances de SWE-bench-lite.
En construisant ces six organisations, il a conçu des structures organisationnelles multi-agents basées sur certaines observations fondamentales :
Amazon
Un arbre binaire avec un "manager" au sommet.
Pour reproduire cette structure, Alex a utilisé un grand nombre d'agents effectuant des recherches dans le référentiel de code, et un seul agent exécutant les mises à jour finales du référentiel de code.
Une structure arborescente similaire à Amazon, mais avec plus de connexions entre les couches intermédiaires.
Alex a reproduit cela en agrégeant tous les résultats des agents au sein d'une seule couche et en les transmettant aux agents de la couche suivante.
Meta (Facebook)
Manque de structure hiérarchique, mais reste une organisation en maillage avec de nombreuses connexions entre les agents.
Alex a modifié la conception originale de l'agent en augmentant la possibilité de transitions entre différents agents.
Microsoft
Met l'accent sur des équipes concurrentes, chacune avec sa propre hiérarchie.
Essentiellement, Alex a réajusté la structure d'Amazon (en réduisant le nombre d'agents) et a utilisé une méthode de vote par similarité vectorielle pour sélectionner la "meilleure" solution parmi trois exécutions distinctes (chaque exécution ajustant légèrement la structure hiérarchique).
Apple
De nombreuses petites équipes concurrentes, chacune avec sa propre structure minimale.
Alex a utilisé la même approche de "meilleure solution" que Microsoft, mais avec plus d'exécutions sans hiérarchies d'agents (chaque exécution ayant des transitions différentes).
Oracle
Possède deux équipes distinctes, un plus grand arbre binaire "juridique" et un plus petit arbre d'ingénierie.
Alex a interprété l'équipe juridique comme des agents recherchant dans le référentiel de code et récupérant le contexte clé, tandis que l'équipe d'ingénierie était composée d'agents écrivant réellement du code.
Les structures des deux équipes sont similaires à Amazon, avec un seul agent au sommet coordonnant le transfert d'informations entre le "juridique" et "l'ingénierie".
04 Résultats de l'évaluation
Pour évaluer chaque ensemble de correctifs sur SWE-bench, l'auteur a utilisé l'évaluation SWE-bench.
Les résultats sont les suivants :
Analyse des performances du tableau organisationnel
Voici quelques observations de l'auteur sur la façon dont les différentes structures d'entreprise affectent les performances :
- Les équipes concurrentes augmentent les chances de succès.
Les deux meilleures performances (Microsoft et Apple) avaient toutes deux plusieurs équipes en compétition pour résoudre les problèmes, tandis que les autres entreprises semblaient n'avoir qu'une seule grande équipe générant un seul correctif.