01 Pontos-Chave
Aqui estão alguns pontos-chave que Alex descobriu após organizar agentes de IA em estruturas semelhantes a empresas como Apple, Microsoft, Google, etc.:
-
Empresas com várias equipes "concorrentes" (ou seja, competindo para produzir o melhor produto final), como Microsoft e Apple, superaram estruturas hierárquicas centralizadas.
-
Sistemas com pontos únicos de falha (como um líder tomando decisões importantes), como Google, Amazon e Oracle, tiveram desempenho ruim.
-
As estruturas organizacionais das grandes empresas de tecnologia tiveram um impacto moderado, mas perceptível, nas habilidades de resolução de problemas.
02 Agentes de IA e Organizações de Gigantes da Tecnologia
Métodos anteriores de simplesmente aumentar o número de agentes de IA para melhorar o desempenho, como o SWE-bench, não alcançaram resultados significativos.
Isso sugere que confiar apenas no aumento de números não pode resolver o problema.
Então, que outros métodos podem tornar os agentes de IA melhores em engenharia de software?
Há três semanas, Alex por acaso viu um artigo de James Huckle sobre a "Lei de Conway" - a arquitetura de software e produto está destinada a refletir a estrutura organizacional que a criou.
James mostrou uma ilustração revelando as estruturas organizacionais dramatizadas da Amazon, Google, Facebook, Microsoft, Apple e Oracle, e propôs uma ideia:
Assim como os humanos em grandes empresas de tecnologia, as estruturas de comunicação de múltiplos agentes podem moldar abordagens de resolução de problemas.
Inspirado por isso, Alex decidiu testar a hipótese de James em instâncias do SWE-bench.
03 Configuração Experimental
O autor organizou agentes de IA em diferentes estruturas de empresas e avaliou seis estruturas organizacionais diferentes no subconjunto "mini" de 13 instâncias do SWE-bench-lite.
Na construção dessas seis organizações, ele projetou estruturas organizacionais de múltiplos agentes baseadas em algumas observações centrais:
Amazon
Uma árvore binária com um "gerente" no topo.
Para replicar essa estrutura, Alex usou um grande número de agentes realizando buscas no repositório de código e um único agente executando atualizações finais no repositório de código.
Uma estrutura em árvore semelhante à Amazon, mas com mais conexões entre as camadas intermediárias.
Alex replicou isso agregando todos os resultados dos agentes dentro de uma única camada e passando-os para agentes na próxima camada.
Meta (Facebook)
Carece de estrutura hierárquica, mas ainda é uma organização em malha com muitas conexões entre agentes.
Alex modificou o design original do agente aumentando a possibilidade de transições entre diferentes agentes.
Microsoft
Enfatiza equipes concorrentes, cada uma com sua própria hierarquia.
Essencialmente, Alex reajustou a estrutura da Amazon (reduzindo o número de agentes) e usou um método de votação de similaridade vetorial para selecionar a "melhor" solução de três execuções separadas (cada execução ajustando ligeiramente a estrutura hierárquica).
Apple
Muitas pequenas equipes concorrentes, cada uma com sua própria estrutura mínima.
Alex usou a mesma abordagem de "melhor solução" que a Microsoft, mas com mais execuções sem hierarquias de agentes (cada execução tendo transições diferentes).
Oracle
Tem duas equipes distintas, uma árvore binária "legal" maior e uma árvore de engenharia menor.
Alex interpretou a equipe jurídica como agentes pesquisando o repositório de código e recuperando contexto-chave, enquanto a equipe de engenharia consistia em agentes realmente escrevendo código.
As estruturas de ambas as equipes são semelhantes à Amazon, com um único agente no topo coordenando a transferência de informações entre "legal" e "engenharia".
04 Resultados da Avaliação
Para avaliar cada conjunto de patches no SWE-bench, o autor usou a avaliação do SWE-bench.
Os resultados são os seguintes:
Análise de Desempenho do Organograma
Aqui estão algumas das observações do autor sobre como diferentes estruturas de empresas afetam o desempenho:
- Equipes competitivas aumentam as chances de sucesso.
Os dois melhores desempenhos (Microsoft e Apple) tinham várias equipes competindo para resolver problemas, enquanto outras empresas pareciam ter apenas uma equipe enorme gerando um único patch.