Andrej Karpathy: From Vibe Coding to Agentic Engineering
Andrej Karpathy, cofundador da OpenAI e ex-diretor de IA da Tesla, discute a transição da programação para a engenharia de agentes e o impacto das LLMs como um novo paradigma computacional. Ele compartilha insights sobre como a IA está mudando a forma como os desenvolvedores trabalham, a natureza do software e as habilidades humanas que se tornam mais valiosas.
A Mudança para a Engenharia de Agentes
- Sentimento de estar "atrasado": Karpathy expressa que, como programador, nunca se sentiu tão "atrasado" quanto agora, uma mistura de sentimentos de euforia e inquietação. Isso se deve à evolução das LLMs, especialmente a partir de dezembro, que passaram a gerar blocos de código funcionais sem necessidade de correção, levando ao que ele chama de "vibe coding".
- Software 3.0: Ele conceitua as LLMs como um novo paradigma computacional, o "Software 3.0".
- Software 1.0: Regras explícitas (código tradicional).
- Software 2.0: Pesos aprendidos (programação por meio de datasets e treinamento de redes neurais).
- Software 3.0: Programação por prompting, onde a janela de contexto é a alavanca sobre o interpretador LLM, que realiza a computação no espaço da informação digital.
- Exemplos de Software 3.0 em ação:
- Instalação do
openclaw: Em vez de um script bash complexo, a instalação é um texto copiado e colado para um agente, que usa sua inteligência para adaptar a instalação ao ambiente, depurando em tempo real. "O agente tem sua própria inteligência que ele empacota e então ele segue as instruções e ele olha para o seu ambiente, seu computador e ele executa ações inteligentes para fazer as coisas funcionarem e ele depura as coisas no loop e é muito mais poderoso." menugen(gerador de menus com fotos): Karpathy desenvolveu um aplicativo para tirar fotos de menus e gerar imagens dos pratos. A versão Software 3.0 disso é simplesmente dar a foto a um modelo como Gemini e pedir para sobrepor as imagens usando uma ferramenta como Nanobanana. Isso torna o aplicativo original "espúrio", pois o modelo faz todo o trabalho, sem a necessidade de uma aplicação intermediária.
- Instalação do
- Além do código: A automação não se limita ao código. Projetos como "LLM knowledge bases" permitem que LLMs criem wikis e bases de conhecimento a partir de documentos, algo que não era possível antes com código tradicional.
O Futuro da Computação e a Verificabilidade
- Computadores neurais: Karpathy prevê um futuro onde computadores serão "completamente neurais", recebendo vídeos ou áudios brutos e usando difusão para renderizar interfaces de usuário únicas. As redes neurais se tornariam o processo principal, e as CPUs, coprocessadores.
- Verificabilidade: A IA automatiza mais rapidamente domínios onde a saída pode ser verificada. Isso ocorre porque os laboratórios de fronteira treinam LLMs em ambientes de aprendizado por reforço (RL) com recompensas de verificação. Domínios como matemática e código se beneficiam, enquanto outros, menos verificáveis, mostram capacidades "irregulares" (jaggedness).
- Exemplo de irregularidade: Modelos avançados podem refatorar grandes bases de código, mas ainda erram em perguntas simples como "devo dirigir ou andar 50 metros até o lava-rápido?" (respondendo para andar).
- Impacto dos dados de treinamento: A inclusão de grandes volumes de dados de xadrez no pré-treinamento do GPT-4, por exemplo, melhorou drasticamente sua capacidade nesse domínio. Isso indica que as capacidades dos modelos são, em parte, um reflexo do que os laboratórios priorizam nos dados e no treinamento.
- Conselho para fundadores: Focar em domínios verificáveis, mesmo que os laboratórios não estejam diretamente focados neles. Criar ambientes de RL e datasets diversos permite o fine-tuning e o aproveitamento da tecnologia existente.
- Tudo automatizável?: Karpathy acredita que, em última instância, quase tudo pode ser tornado verificável até certo ponto, mesmo que seja por meio de "conselhos de juízes LLM".
Vibe Coding vs. Engenharia de Agentes
- Vibe Coding: Elevar o patamar para todos na criação de software, permitindo que qualquer um "vibe code" qualquer coisa.
- Engenharia de Agentes: Preservar o padrão de qualidade do software profissional existente, mas com maior velocidade. É uma disciplina de engenharia que coordena agentes (entidades poderosas, mas um tanto falíveis e estocásticas) para acelerar o desenvolvimento sem sacrificar a qualidade. "As pessoas costumavam falar sobre o engenheiro 10x anteriormente, eu acho que isso é muito mais ampliado, 10x não é o ganho de velocidade."
Habilidades Humanas no Mundo dos Agentes
- O que se torna mais valioso: Com os agentes atuando como "estagiários", os humanos permanecem responsáveis pela estética, julgamento, bom gosto e supervisão. Os agentes podem cometer erros conceituais, como tentar correlacionar contas de usuário por e-mail em vez de IDs únicos.
- Foco no design e arquitetura: Os engenheiros se concentram no design, na arquitetura e na especificação detalhada, enquanto os agentes preenchem os detalhes de implementação. "Você está no comando do gosto, da engenharia, do design... e os engenheiros estão preenchendo as lacunas."
- Entendimento: "Você pode terceirizar seu pensamento, mas não pode terceirizar seu entendimento." A capacidade de entender o que construir, por que e como direcionar os agentes permanece crucial. As LLMs são ferramentas para aprimorar o entendimento humano, mas não o substituem.
Implicações
- Reescrita de infraestrutura: Karpathy prevê que toda a infraestrutura de software precisará ser reescrita para ser "nativa de agentes", com APIs e documentação projetadas para serem consumidas por agentes, não apenas por humanos. O objetivo é que um LLM possa receber um prompt para construir e implantar um aplicativo completo, como o
menugen, sem intervenção humana. - Representação de agentes: No futuro, teremos "agentes representando pessoas e organizações", com agentes se comunicando entre si para coordenar tarefas e reuniões.
- Educação: A educação deve focar no desenvolvimento do entendimento e do julgamento, pois essas são as habilidades que as LLMs ainda não dominam e que se tornam o gargalo para a direção eficaz dos sistemas de IA. A capacidade de fazer as perguntas certas e interpretar as informações geradas pelos agentes será fundamental. A estética e a qualidade do código gerado pelos agentes ainda são um desafio, e Karpathy espera que futuros modelos melhorem nesse aspecto. No entanto, ele não vê impedimentos fundamentais para que isso aconteça, apenas que os laboratórios ainda não o fizeram. Ele enfatiza que "não estamos construindo animais, estamos invocando fantasmas", ou seja, inteligências moldadas por dados e funções de recompensa, sem motivação intrínseca ou curiosidade. Compreender essa natureza é crucial para usar essas ferramentas de forma competente.
