
autoresearch
Agente de IA de código aberto de Andrej Karpathy que executa autonomamente experimentos de treinamento de LLM durante a noite em uma única GPU, editando código, avaliando melhorias e iterando enquanto você dorme.
Visão Geral
autoresearch é um projeto experimental de código aberto por Andrej Karpathy que demonstra o poder de agentes de IA autônomos na condução de pesquisa real em aprendizado de máquina. Ele fornece uma estrutura de treinamento mínima, baseada em GPU única, baseada em uma implementação simplificada do nanochat, onde um agente de IA de codificação assume o controle total do loop de experimentação.
Em vez de ajustar manualmente o código Python, os pesquisadores escrevem instruções de alto nível em um arquivo Markdown program.md. O agente então edita iterativamente o script de treinamento (train.py), executa experimentos de treinamento de tempo fixo (tipicamente 5 minutos), avalia melhorias com base em uma métrica de validação (por exemplo, val_bpb) e comete apenas as alterações vencedoras em um branch de funcionalidade do Git.
Funcionalidades Principais
- Loop de Agente Autônomo: O agente de IA planeja experimentos, modifica código (arquitetura, hiperparâmetros, otimizador, etc.), executa o treinamento e decide o que manter.
- Eficiência com GPU Única: Projetado para hardware acessível; cada experimento executa por uma curta duração fixa (~5 minutos), permitindo ~12 experimentos por hora.
- Versionamento Baseado em Git: Melhorias são rastreadas via commits em um branch de funcionalidade, facilitando a revisão e reversão de alterações.
- Configuração Mínima: Uma base de código pequena (~630-1000 linhas em alguns arquivos) focada em uma métrica clara para avaliação objetiva.
- Supervisão Humana via Prompts: Os usuários definem a "organização de pesquisa" através de instruções em linguagem natural em Markdown, permitindo comportamentos sofisticados do agente sem tocar em código de baixo nível.
- Extensível: Fácil adicionar mais agentes, melhorar o prompt do program.md ou adaptar para diferentes modelos/tarefas.
Como Funciona
- O usuário configura o repositório e fornece um objetivo de pesquisa no
program.md. - Um agente de codificação de IA (por exemplo, alimentado por Claude, GPT ou modelos locais) é lançado.
- O agente cria/utiliza um branch de funcionalidade do Git e começa a iterar:
- Edita o
train.py. - Executa um experimento de treinamento cronometrado.
- Mede a métrica de validação chave.
- Se melhorou, comete a alteração; caso contrário, descarta e tenta novamente.
- Edita o
- Durante a noite ou ao longo de dias, o sistema acumula dezenas a centenas de experimentos, revelando configurações de modelo melhores.
O projeto enfatiza a engenharia do prompt do agente (o "código da organização de pesquisa") para maximizar a velocidade de pesquisa de longo prazo sem intervenção humana.
Casos de Uso
- Pesquisa Pessoal em ML: Deixe um agente explorar hiperparâmetros, arquiteturas ou otimizações enquanto você dorme ou foca em ideias de alto nível.
Demonstração Educacional: Entenda fluxos de trabalho de IA agêntica em um contexto de ML real e executável.
Swarms Distribuídos: Extensões comunitárias permitem múltiplos agentes ou máquinas colaborarem (por exemplo, projetos autoresearch@home).
Protótipos Rápidos: Teste ideias para descoberta científica autônoma em treinamento de LLM em pequena escala.
Benchmarking de Capacidades de Agentes: Avalie o quão bem diferentes LLMs se desempenham como pesquisadores autônomos.
Introdução
Clone o repositório, instale as dependências via pyproject.toml, configure seu provedor de IA (chaves de API), prepare um program.md com suas instruções de pesquisa e inicie o ciclo do agente. Ele roda em uma única GPU e requer configuração mínima.
O repositório inclui um program.md de referência que pode ser iterado para obter melhores resultados.
Por Que É Importante
autoresearch representa um vislumbre inicial de um futuro onde agentes de IA lidam com o trabalho árduo da pesquisa empírica, liberando humanos para a direção criativa. Ele despertou enorme interesse da comunidade, gerando forks, ports (AMD, Apple Silicon, etc.) e discussões sobre enxames de agentes e a "singularidade inicial" da ciência automatizada.
Limitações
- Os experimentos começam do zero a cada execução (não há memória persistente entre execuções na versão base).
- Focado em uma única métrica simples e modelos pequenos.
- O sucesso depende fortemente da qualidade do agente de codificação subjacente e da engenharia de prompt.
Para os detalhes mais recentes, código e discussões da comunidade, visite o repositório oficial no GitHub.