stamatios
← Voltar ao feed
Mecânico de IA transforma código emaranhado em máquina eficiente, simbolizando otimização de software
Dev & Engenharia · IA & Modelos

IA torna otimizações de software muito mais acessíveis

resumo de ~3 min

Tese central

A redução drástica no custo, em tempo e dinheiro, do trabalho especializado de otimização está tornando viáveis melhorias que antes exigiam engenheiros raros ou equipes inteiras. Com agentes de programação, tarefas como criar compiladores JIT, adaptar algoritmos a cargas específicas, implementar multithreading e testar otimizações podem ser realizadas em minutos de interação humana, embora ainda dependam de supervisão, bons experimentos e validação cuidadosa.

Evidências com regex e busca

O texto usa o FRE, um mecanismo de expressões regulares criado por um agente que passou cerca de um mês tentando melhorar seu desempenho com base na suíte de benchmarks rebar. Inicialmente, o sistema ficou fortemente ajustado aos dados de treino; ao ser informado da existência de um conjunto de testes separado, generalizou melhor, embora ainda não superasse os mecanismos mais bem testados.

Em um experimento posterior, o autor pediu a um agente que permitisse ao ripgrep compilar expressões regulares para código nativo em uma thread paralela e trocar para essa versão quando ela estivesse pronta. Consultas simples e longas ficaram de duas a quatro vezes mais rápidas, enquanto o conjunto de consultas representativas mostrou ganho de cerca de 7% nos casos em que a compilação AOT deveria ser usada. O resultado não é extraordinário, mas foi obtido com poucos minutos de trabalho humano. O autor ressalta que criar um índice de texto seria, em princípio, uma solução mais óbvia para buscas repetidas, e considera possível desenvolver índices específicos para cargas como a busca de agentes em grandes diretórios temporários.

Otimizações e limites dos agentes

Outro exemplo é uma inteligência artificial para o jogo Azul, que o autor afirma ser a mais forte que conhece, com vantagem atribuída sobretudo à otimização. Ela usou multithreading, versões nativas e em WebAssembly, além de arquiteturas de busca diferentes. O agente também implementou mecanismos de reprodução de falhas e registro de não determinismo, tarefas que poderiam consumir dias ou semanas se feitas manualmente. O autor estima que o custo humano de certas otimizações caiu frequentemente em fatores de mil, dez mil ou até um milhão, embora comparem situações diferentes e reconheça variação entre casos.

No entanto, modelos de última geração ainda são fracos em desenho experimental. Eles podem escolher algoritmos inadequados, fazer alterações incorretas ou otimizar excessivamente para os dados disponíveis. No caso do Azul, foi necessário criar uma estrutura para avaliar se cada alteração realmente melhorava o resultado. No FRE, a existência de um conjunto de retenção foi essencial para revelar e reduzir o sobreajuste. Em um experimento de otimização específica para as consultas do autor, o ganho inicial no conjunto de retenção foi de 2%, ainda em evolução.

Consequências

A tese é que software personalizado para uma carga de trabalho específica tende a se tornar comum. Empresas poderiam usar os próprios dados dos clientes para testar e ajustar implementações, enquanto indivíduos já conseguem experimentar melhorias em projetos pessoais. Isso não elimina a necessidade de especialistas: eles continuam importantes para formular problemas, escolher métricas, detectar erros e lidar com mudanças de regime.

A conclusão é mais moderada que a provocação do título. Software lento não deixa de ser possível nem torna seus desenvolvedores incompetentes, mas usuários razoáveis de modelos deveriam conseguir produzir desempenho aceitável sem dominar otimização. O autor também observa que a velocidade para executar experimentos caiu muito mais do que a capacidade de produzir relatos rigorosos, e por isso apresenta os resultados como rápidos e possivelmente mais sujeitos a erros.