Vídeo original: The End of Coding: Andrej Karpathy on Agents, AutoResearch, and the Loopy Era of AI
Link do vídeo: https://www.youtube.com/watch?v=kwSVtQ7dziU
Nota: A seguir está a tradução completa para o português; procurei preservar ao máximo o sentido e a estrutura do original, removendo apenas alguns poucos cacoetes sem conteúdo (como “um”, “uh”).
“Escrever código” nem sequer é mais um verbo preciso, certo? Hoje eu me sinto mais como se passasse 16 horas por dia expressando intenção aos meus agentes, fazendo as coisas se materializarem.
Como eu faço para não ter só uma sessão única do Claude Code, ou do Codex, ou de algum framework de agentes? Como eu consigo ter mais? Como eu faço isso direito? A parte de agentes agora é tida como algo dado. Agora, entidades tipo Claude são tidas como algo dado; agora você pode ter múltiplas entidades; agora você pode dar instruções a elas; agora você pode otimizar as instruções. Quer dizer: é por isso que isso deixa a gente viciado, porque é tipo infinito—no fim, tudo ainda é questão de habilidade.
Olá, pessoal, bem-vindos de volta ao No Priors. Hoje estou aqui com Andrej Karpathy (Andre Karpathy) e vamos ter uma conversa ampla sobre agentes de código, o futuro da engenharia e da pesquisa em IA, como mais pessoas podem contribuir com pesquisa, o que está acontecendo em robótica, as previsões dele sobre como agentes vão tocar o mundo real, e educação na próxima era. Bem-vindo, Andrej. Andrej, obrigado por fazer isso.
Sim, obrigado por me convidar.
Então, estes últimos meses têm sido meses bem empolgantes no mundo de IA.
Sim, dá para dizer isso.
Eu lembro de uma vez que entrei no escritório e você estava tipo travado; eu perguntei o que você estava fazendo e você disse: eu só preciso programar 16 horas por dia, senão “programar” já não é mais o verbo certo, né? Mas eu preciso passar 16 horas por dia expressando minhas intenções para o meu agente. E isso ficou óbvio porque houve um salto de capacidade.
O que aconteceu? E conta a sua experiência.
Sim, eu sinto que eu fico permanentemente nessa “chapação” de IA, como sempre. Porque, como pessoa, você consegue fazer coisas enormes, certo? Porque seu gargalo é sua velocidade de digitação etc. Mas agora, com esses agentes, eu diria que em dezembro as coisas viraram do avesso: eu fui de 80/20 para 20/80—eu mesmo escrevendo código—em vez de só delegar para o agente. E eu nem acho que seja 20/80 agora. Acho que é muito além disso. Acho que, basicamente, desde dezembro eu não digitei uma única linha de código. Isso é uma mudança gigantesca.
Eu fico falando disso como se eu estivesse falando com meus pais e tal. Eu não acho que uma pessoa comum tenha realmente percebido que isso aconteceu, ou o quão dramático é. Tipo: se você pegar um engenheiro de software aleatório na mesa dele, o que ele está fazendo é como um fluxo padrão; mas desde dezembro, construir software é completamente diferente.
Então eu fico nesse estado tentando descobrir o que é possível, tentando empurrar até o limite. Como eu faço para não ter só uma sessão, sabe, do Claude Code, ou do Codex, ou de algum desses frameworks de agentes? Como eu consigo ter mais? Como eu faço isso de um jeito apropriado? E como eu uso agentes em background? O que são esses agentes em background?
Tem muita coisa nova. Eu quero estar na fronteira, mas eu fico inquieto porque eu não estou na fronteira. Eu vejo no Twitter um monte de gente fazendo todo tipo de coisa, e parecem ideias muito boas; eu preciso estar na fronteira, senão eu fico muito nervoso. Então acho que eu só fico nesse estado de “chapação” do possível, porque isso ainda não foi explorado de forma fundamental.
Bom, se você está nervoso, o resto de nós também fica. A gente tem um time que trabalha com a gente, e eles juram que a configuração deles é tipo: ninguém escreve código à mão; todo mundo usa microfone e fica sussurrando o tempo inteiro pros agentes. É o ambiente de trabalho mais estranho da história; eu achava que eles eram malucos. Agora eu aceitei completamente e fico tipo: “ah, é assim mesmo”. Você está bem na frente.
Como você vê sua capacidade agora de explorar ou fazer projetos—tipo, o que limita isso?
Sim. O que limita? Eu acho que tudo parece que—como muitas coisas—mesmo quando não funciona, em grande parte você sente que é um problema de habilidade. Não é que a capacidade não exista; é que você ainda não encontrou um jeito de combinar o que está disponível.
Tipo: talvez eu não tenha escrito instruções boas o suficiente no agent/MD file ou em algum lugar; talvez eu não tenha conectado boas ferramentas de memória etc. Então, quando o sistema não roda como esperado, tudo vira mais um lembrete de: será que minha técnica de uso ainda não é boa o suficiente? Ou eu ainda não paralelizei direito?
Você basicamente quer virar o Peter Steinberg. O Peter é famoso; tem uma foto interessante dele em frente a monitores com várias coisas tipo Codex. Muitos agentes Codex são “projetados” para você rodar; se você der um prompt certo e investir esforço, cada um leva ~20 minutos. Então ele tem vários; ele faz checkout de 10 repositórios e fica andando entre eles e dando trabalho.
É como se você pudesse fazer ações macro maiores. Não é uma linha de código; é uma nova função. É: “isso é uma nova feature” e você delega para o agente 1. Uma feature nova que não interfere com outras. Você dá duas horas e, dependendo do quanto você se importa com aquele código, você revisa o trabalho deles o máximo que der. Tipo: quais ações macro eu consigo usar para manipular meu repositório de software?
Outro agente está fazendo uma espécie de pesquisa; outro está escrevendo código; outro está propondo um plano de implementação novo. Tudo vira operações macro sobre o repositório. Você quer ficar muito bom nisso e desenvolver quase como memória muscular, porque é extremamente valioso: primeiro, porque funciona mesmo; e também porque é algo novo para aprender. É por isso que vicia.
Eu sinto que minha intuição é: sempre que eu estou esperando um agente terminar alguma coisa, o óbvio é: “bom, eu poderia estar fazendo mais trabalho, certo?” Tipo: se eu consigo mais tokens, eu deveria paralisar e adicionar mais tarefas. Isso dá muita pressão, porque se você não sente que sua capacidade de gastar tokens é bem limitada, então você percebe que você é o maior gargalo do sistema.
Sim. Você pelo menos não está maximizando sua assinatura. Idealmente, com múltiplos agentes: se você estourou o limite no Codex, você deveria mudar para o Claude ou algo assim. Eu não sei; é o que eu venho tentando fazer. Quando sobra assinatura eu fico nervoso—isso significa que eu não maximizei meu throughput de tokens.
Eu vivi algo parecido quando eu era doutorando: quando suas GPUs não estão rodando, você fica nervoso. Você tem capacidade de GPU e não está maximizando os FLOPs disponíveis. Mas agora não é sobre FLOPs; é sobre tokens. Qual é o seu throughput de tokens? Qual é o throughput de tokens dos seus comandos?
É interessante porque, pelo menos há 10 anos, a gente vem dizendo: em muitas tarefas de engenharia, as pessoas simplesmente não se sentiam limitadas por compute.
Sim, a indústria toda agora sente limitação de recurso.
Agora você teve esse salto enorme de capacidade e você pensa: “ah, na verdade não é mais meu acesso a compute, sou eu—eu sou a restrição vinculante”.
Sim, é um problema de habilidade.
Isso é muito empoderador porque, sim, dá para ficar melhor. E é por isso que eu acho que é tão viciante: quando você fica melhor, você destrava coisas.
Para onde você acha que isso vai? Tipo: se você pensar, “ok, o Andre está iterando; outras pessoas estão usando agentes de código 16 horas por dia”—como é um ano de maestria?
Sim. Como é dominar isso até o fim do ano—ou em dois, três, cinco, dez anos?
Bom, acho que todo mundo está interessado em “subir o stack”. Então eu diria: não é só uma reunião com seu agente. É: como múltiplos agentes colaboram, times etc. Todo mundo está tentando entender como isso se parece.
E eu diria que agentes em background também são uma direção interessante, porque, quando eu digo “agentes em background”, eu quero dizer uma camada que leva persistência para outro nível. É algo que roda em loop; não é algo que você fica interagindo o tempo todo. Tem seu próprio sandbox, e meio que faz coisas por você mesmo quando parece que você não está fazendo nada.
E ainda existem sistemas de memória mais complexos etc. que não foram implementados em agentes. Então eu diria: esse agente residente em background deveria ter um sistema de memória mais complexo do que o agente padrão, e não apenas compressão de memória quando o contexto acaba. Certo.
Você acha que isso vai ressoar mais com usuários do que, por exemplo, acesso mais amplo a ferramentas—para esse tipo de agente residente em background?
Sim. Eu acho que há muitas ideias muito boas aí.
Sim. Bom trabalho, Peter.
Quero dizer: o Peter fez um trabalho excepcional. Eu vi ele recentemente, conversei com ele; ele é muito humilde sobre isso, mas eu acho que ele está inovando de cinco maneiras diferentes ao mesmo tempo e juntando tudo. Por exemplo: os arquivos SOUL e MD; ele realmente moldou uma personalidade atraente e interessante. Eu acho que muitos agentes atuais não acertam isso. Eu acho que o Claude tem uma personalidade boa; parece um colega de equipe—você fica empolgado etc.
Eu diria que, por exemplo, o Codex é mais seco. Isso é curioso porque, no ChatGPT, ele parece mais otimista e mais “vai na sua”. Mas eu diria que o agente de coding do Codex é muito seco. Parece que ele não se importa com o que você está criando. É tipo: “ok, implementei”. E eu fico: “tá, mas você entende o que a gente está construindo?”
Isso é verdade.
Outra coisa: por exemplo, o Claude, eu acho que eles resolveram bem a questão do vício. Quando o Claude me elogia, eu realmente sinto que eu mereci. Porque às vezes eu dou uma ideia ainda imatura, eu dou uma ideia que eu acho que não está 100% pronta, e ele não reage tão fortemente—tipo “sim, dá para implementar”. Mas quando eu mesmo acho que é uma ideia muito boa, ele parece recompensar mais. Então eu sinto que eu quero “ganhar” o elogio dele. Isso é muito estranho.
Então eu acho que personalidade importa. Eu acho que muitas outras ferramentas talvez não valorizem tanto; e eu acho que o Peter também se importa muito com isso. Então isso é certo.
E aí tem o sistema de memória; e ele se interessa por isso; e tem o portal único via WhatsApp para todas as automações.
Além de engenharia de software, você mexeu pessoalmente em alguma coisa que você achou interessante ou divertida?
Sim. Em janeiro eu tive um agente em background—eu tive uma fase de “chapação” de agente em background. Eu construí um agente em background que basicamente cuida da minha casa; eu chamo ele de elfo doméstico Dobby.
Basicamente, eu usei o agente para encontrar todos os subsistemas de casa inteligente na minha LAN. Eu fiquei meio surpreso que funcionou “out of the box”. Tipo: eu tenho Sonos em casa. Eu falei: “você consegue tentar encontrar?” E ele fez um scan de IP na LAN, encontrou o sistema Sonos—e descobriu que não tinha senha nem nada. Ele entrou e falou tipo: “ok, você tem esses sistemas Sonos instalados; vou tentar fazer engenharia reversa de como funciona”. Ele pesquisou na web, viu endpoints de API e perguntou se eu queria tentar. Eu fiquei tipo: “você acabou de fazer isso?” Eu disse: “sim, você pode tentar tocar algo no escritório?” E tocou—música começou. Eu fiquei: “não acredito. Isso é insano. Foram tipo três prompts.”
Eu não acredito que eu só digitei “você consegue achar meu Sonos?” e de repente começou a tocar música. Ele fez a mesma coisa com as luzes: basicamente “hackeou” o sistema, entendeu tudo, criou APIs, criou um dashboard para eu ver um centro de comando—todas as luzes da casa—e ligar e desligar. Aí eu posso dizer tipo “Dobby, estou com sono”, e ele apaga todas as luzes etc.
Ele controla minhas luzes, HVAC, cortinas, piscina e spa, e meu sistema de segurança. Eu tenho uma câmera apontada para fora; quando alguém entra, eu tenho um modelo de visão que observa o vídeo. Primeiro tem detecção de mudança; quando detecta mudança, ele passa o frame para o modelo de visão analisar e me manda uma mensagem no WhatsApp. Ele anexa uma imagem da porta e diz: “Ei, acabou de chegar um carro da FedEx; melhor dar uma olhada, talvez tenha encomenda.” O Dobby me manda mensagem diretamente. É absurdo e muito legal.
Agora o Dobby basicamente gerencia essas coisas da casa; eu falo com ele via WhatsApp. Ter essa experiência de “operação macro” que mantém a casa inteira por você é muito interessante. Eu ainda não empurrei para algo mais extremo; eu sei que muita gente já pirou muito mais. Mas mesmo só nessa camada de automação doméstica já é muito útil. Antes eu precisava de seis apps totalmente diferentes; agora não preciso. O Dobby controla tudo em linguagem natural. É impressionante. Então eu sinto que eu ainda não levei esse paradigma ao limite, mas já é útil e inspirador o bastante.
Você acha que isso indica o que as pessoas realmente querem da experiência de usuário de software? Porque um ponto que é ignorado com frequência é: humanos têm que gastar esforço para aprender um software novo, se adaptar a uma interface nova.
Sim, eu concordo em parte. É como desenhar sistemas ao contrário, baseados na imaginação que as pessoas têm de IA. Porque na cabeça da maioria das pessoas, IA não é o LLM “primitivo”—LLM, no fundo, é só um gerador de tokens cuspindo tokens. A IA que as pessoas acham que é de verdade parece mais um ser com personalidade e identidade: você fala com ela, ela lembra, ela é uma entidade por trás do WhatsApp. Isso é muito mais natural.
Então, em certo sentido, isso está alinhando com a expectativa prévia das pessoas sobre “como uma IA deveria se comportar”. Só que, por baixo, para fazer isso, você precisa enfiar um monte de detalhes técnicos; e, para a maioria, o primitive “LLM” ainda é bruto demais—estritamente falando, não parece a IA que elas imaginam.
Sim, acho que isso também mostra como a gente entende IA. Descrever como Dobby, ou dar uma personalidade, é obviamente mais fácil de ressoar. Ao mesmo tempo, você unificar seis softwares de automação doméstica aponta para outra questão: as pessoas realmente precisam desse monte de software fragmentado de hoje?
Sim.
Certo. Porque, em certo sentido, você mantém o hardware, mas joga fora o software—pelo menos a camada de UX do software. Você acha que é isso que as pessoas querem?
Sim. Dá uma sensação de que esses apps na App Store para usar dispositivos de casa inteligente… em certo sentido, esses apps nem deveriam existir. Não deveria ser só uma API e o agente usar direto? Eu não consigo fazer um monte de automações domésticas que nenhum app isolado consegue fazer direito, e o LLM consegue dirigir ferramentas, chamar as ferramentas certas e fazer coisas bem complexas?
Então, em certo sentido, isso sugere que existe uma superprodução de apps customizados que não deveriam existir, porque o agente meio que “esmaga” tudo: tudo deveria ser mais como endpoints de API expostos, e o agente seria a cola inteligente—fazendo tool-calling entre todas as partes.
Outro exemplo é minha esteira. Existe um app para a esteira; eu quero rastrear com que frequência faço cardio. Mas eu não quero entrar num Web UI e seguir fluxos. Isso tudo deveria ser só: tornar uma API disponível. Esse é o caminho para uma “web de agentes” ou ferramentas “agent-first” e tudo isso.
Então eu acho que a indústria vai precisar se reconfigurar em muitos aspectos, como se o cliente não fosse mais o humano: é o agente que age em nome do humano. Esse “refatorar” pode ser enorme.
Às vezes as pessoas objetam assim: as pessoas querem ter que codificar algumas dessas coisas? A gente espera que uma pessoa comum faça esse tipo de coisa que eu descrevi?
Mas eu acho que, em certo sentido, isso é só a tecnologia que existe hoje. Hoje existe “vibe coding” (programação por feeling / vibe), eu estou vendo e usando o sistema. Mas eu sinto que esse tipo de coisa que eu acabei de falar deveria ser grátis em um, dois, três anos. Sem precisar codificar em background. É trivial. É o mínimo. É algo que qualquer IA—até modelos open-source—conseguiria fazer.
Você deveria conseguir traduzir intenções humanas de baixa tecnicidade em algo assim com muita facilidade.
Sim. Hoje envolve vibe coding, mas pouca gente vai fazer isso. Mas você ainda precisa tomar algumas decisões de design, certo? Estamos falando, por exemplo, de frameworks.
Sim.
Sim. Mas eu acho que isso é só o começo; a barreira vai sumir. Vai ser um software efêmero que te representa—algo como um agente residente em background lidando com todos os detalhes, e você não participa. O agente em background tem uma máquina; ele resolve o problema; ele só te mostra uma UI, e você só diz o que quer. Hum.
Por que você não empurra os limites do que você pessoalmente consegue fazer com o Claude? Tipo: você está focando em projetos mais importantes—AutoResearch etc.—ou você está escalando montanhas ou algo assim, certo?
Sim. Eu só sinto que eu me distraio com tudo. Eu passei mais ou menos uma semana em “coisas de casa”; eu tenho quase certamente mais coisas para fazer. Mas eu diria que, infelizmente, ferramentas desse tipo também estão ficando cada vez mais “ocupadas” e cada vez mais poderosas.
Eu ainda não usei de verdade muita coisa tipo e-mail, calendário e todo o resto; eu não dei acesso, porque ainda sou desconfiado e é novo, e as bordas ainda são ásperas. Então eu não quero dar acesso total à minha vida digital. Parte é segurança, privacidade; a gente tem que ser muito cuidadoso nessa área. Então eu diria: algumas coisas ficam travadas por isso. Talvez isso seja a “feature dominante”. Mas parte também é que eu me sinto disperso—eu gasto uma semana, aí outra coisa acontece.
Você mencionou treinar—ou pelo menos otimizar—um modelo para tarefas que você quer que o agente execute no longo prazo. Qual é a motivação por trás do AutoResearch?
AutoResearch, sim. Eu tuitei antes: para tirar o máximo das ferramentas disponíveis hoje, você precisa remover seus próprios gargalos. Você não pode ficar ali promptando a próxima etapa. Você precisa “tirar você mesmo do circuito”. Você precisa organizar as coisas para que sejam totalmente autônomas. E quanto mais você sabe como maximizar seu throughput de tokens sem entrar em loops, melhor. Esse é o objetivo.
Eu mencionei que o nome do jogo agora é aumentar seu leverage: eu jogo poucos tokens ocasionalmente, e um monte de coisas acontece em meu nome. Então AutoResearch é—como eu tuitei—um exemplo literal disso. Eu não quero ser o pesquisador no loop, olhando resultados etc., como se eu estivesse atrapalhando o sistema. Então a pergunta é: como eu refatoro as abstrações para que eu não precise ficar ali; eu só agendo uma vez e clico start. O nome do jogo é: como fazer mais agentes rodarem por mais tempo sem sua participação, fazendo coisas em seu nome. AutoResearch é isso: um objetivo, uma métrica, uma fronteira do que você pode e não pode fazer—e depois ir embora.
Você se surpreendeu com a eficácia?
Sim, eu não achei que ia funcionar. Porque eu tenho Project Data Chat… No fundo, eu acho que muita gente ficou confusa com a minha obsessão em treinar o GPT-2 e tal, mas para mim treinar um GPT era só uma ferramenta, um playground pequeno para treinar LLM. No fundo eu me interesso mais por essa ideia de autoaperfeiçoamento recursivo, e até onde você consegue empurrar a auto-melhoria de um LLM. Porque eu acho que todos os labs de fronteira essencialmente fazem isso: por motivos óbvios, eles tentam se autoaperfeiçoar recursivamente.
Para mim, isso é meio um joguinho. E eu gosto do jeito antigo de ajustar hiperparâmetros manualmente. Eu sou pesquisador, faço isso há 20 anos. Eu ganho confiança: “ok, treinei esse modelo milhares de vezes, fiz muitos experimentos, fiz ajustes super básicos, fiz tudo que estou acostumado há 20 anos.” Eu chego num ponto em que acho que está bem ajustado. Aí eu deixo o AutoResearch ajustar durante a noite; ele volta e eu vejo ajustes que eu não tinha visto.
Eu realmente esqueci coisas como weight decay nos value embeddings, e meu beta do Adam não estava bem ajustado. Essas coisas interagem; quando você ajusta uma coisa, outras mudam. Eu não deveria ser o gargalo. Eu não deveria executar essas buscas de hiperparâmetros. Eu não deveria só olhar resultados. Nesse caso há um critério objetivo. Então você só precisa agendar para continuar rodando para sempre.
Essa é uma versão “single loop” do AutoResearch—um loop tentando melhorar. Eu me surpreendi que ele achou essas coisas. Eu sei que o repositório já estava bem ajustado e ainda assim achou algo. E isso é um loop só. Em labs de fronteira, eles têm dezenas de milhares de GPUs; então é fácil imaginar automação enorme em modelos menores. E, no fundo, inteligência de fronteira é sobre extrapolar e escalar o loss; então você explora muito em modelos menores e depois tenta inferir.
Então você está dizendo que o nosso trabalho de pesquisa vai ficar mais eficiente; a gente vai ter melhor direção para escalar, se a gente conseguir fazer esse experimento melhor.
Sim. Eu diria: o projeto mais interessante que labs de fronteira estão fazendo pode ser justamente isso: experimentar em modelos menores, deixar o sistema o mais autônomo possível, remover o pesquisador do loop. Eles são o que? Confiantes demais? Eles não sabem? Eles não deveriam encostar em nada disso. Então você precisa reescrever tudo.
Porque, claro, humanos podem contribuir com ideias, mas… eles não deveriam implementar as ideias. Você teria uma fila de ideias. Talvez um “cientista automatizado” gere ideias com base em papers e repositórios GitHub arquivados; ele agrega ideias. Pesquisadores humanos também podem contribuir com ideias, mas vira uma fila única. Existem “trabalhadores” que pegam projetos e tentam; o que funcionar vai para uma branch de feature; talvez pessoas monitorem branches; às vezes mergeiam no main.
Então, sim: remover humanos do processo e automatizar ao máximo, ter o maior throughput de tokens por segundo possível… isso exige repensar todas as abstrações. Tudo tem que ser embaralhado. Eu acho isso muito empolgante.
Se a gente der mais um passo recursivo aqui: quando o modelo vai escrever um program MD melhor que o seu?
Sim. Então, o program MD é…
A gente não está no loop.
Sim, exatamente.
O program MD é minha tentativa meia boca de descrever como o sistema AutoResearch deveria funcionar: “faça isso, faça aquilo, tente essas ideias”; talvez tenha ideias como “olhe a arquitetura”, “olhe o otimizador” etc. Eu só inventei isso num Markdown.
Você quer um loop de AutoResearch; você pode imaginar versões diferentes de program MD levando a progressos diferentes. Então basicamente cada organização de pesquisa é descrita por um program MD.
Uma organização de pesquisa é um conjunto de arquivos Markdown descrevendo os papéis e como tudo se conecta. Você pode imaginar uma organização de pesquisa melhor. Talvez eles façam poucas daily standups porque não servem pra muita coisa. É só código. Então: uma organização pode ter menos standup; outra pode ter mais; uma pode ser mais ousada; outra mais conservadora. Você pode ter múltiplas organizações de pesquisa.
E elas têm código. E, uma vez que você tem código, dá para ajustar o código. Então é 100% meta.
Você viu meu texto sobre a ideia de competição? Minha ideia é fazer as pessoas escreverem program MDs diferentes, certo? Com o mesmo hardware, onde você consegue a maior melhoria?
Entendi.
Aí você coleta os dados e alimenta o modelo para escrever um program MD melhor.
Sim. Sim.
Sim, exatamente.
A gente vai obter algo melhor. É impossível não obter.
Você pode 100% ver a fonte das melhorias: “vou mudar o program MD para fazer mais disso”, ou “parar de fazer aquilo que não funciona”.
Meta-otimização. Sim.
Dá para imaginar isso 100%. Acho que é uma boa ideia, mas… você vai passo a passo. Você tem um processo, depois um segundo processo, depois o próximo—camadas de uma cebola. E a parte do LLM agora é tida como algo dado. A parte de agentes agora é tida como algo dado. Entidades tipo Claude agora são tidas como algo dado. Agora você pode ter múltiplas entidades, dar instruções, otimizar instruções… É meio demais. Mas é por isso que vicia: parece infinito. E ainda é tudo um problema. É por isso que é tão louco.
Se a gente diagnosticar o momento atual: quais habilidades são relevantes agora? O que você gosta? Isso significa que a gente deveria implementar loops em domínios diferentes, e ele funciona—tipo criar métricas ou fazer o agente continuar perseguindo a métrica sem você?
Sim.
Ainda existe “engenharia de performance” nesse mundo?
Sim. Eu quero fazer alguns alertas sobre o ecossistema de LM. Primeiro: isso funciona muito bem para qualquer coisa que tenha uma métrica objetiva e fácil de avaliar. Por exemplo: escrever kernels CUDA mais eficientes, código de partes do modelo etc. É perfeito.
Porque você tem código ineficiente; você quer código eficiente com comportamento idêntico, mas mais rápido. Isso é perfeito.
Muita coisa assim é ótima para AutoResearch, mas muita coisa não é. Se você não consegue avaliar, não dá para AutoResearch, certo? Esse é o primeiro alerta.
O segundo alerta: a gente está falando do próximo passo; a gente também vê qual é o próximo passo; mas, no fundo, o sistema inteiro ainda não… ele ainda “racha nas emendas”; tem fissuras e não funciona perfeitamente. Se você tenta ir longe demais, o sistema vira realmente inútil.
Esses modelos melhoraram muito, mas as bordas ainda são ásperas. Eu descreveria assim: ao mesmo tempo eu sinto que estou conversando com um doutorando brilhante—um programador de sistemas a vida toda—e com uma criança de 10 anos. É estranho. Em humanos, isso é mais suave; humanos têm menos “serrilhado” (embora tenham algum). Agentes têm muito serrilhado: às vezes eu peço uma feature e ele volta com algo totalmente errado; aí a gente entra num loop totalmente errado; eu fico muito frustrado porque você sente o poder, mas também sente que ocasionalmente ele faz coisas sem sentido.
Eu fico irritado quando acho que o agente está gastando compute em algo que deveria reconhecer como um problema óbvio.
Sim, eu acho que algumas dessas coisas vêm do fato de que, no fundo, esses modelos são treinados via RL (reforço). Eles estão tentando resolver o mesmo problema: os labs conseguem melhorar modelos em qualquer coisa verificável com recompensa. Você escreveu o programa certo, passou nos unit tests, sim ou não? Mas eles estão sofrendo com coisas como nuance; com entender minha intenção; com quando fazer perguntas de esclarecimento. Como eu disse, qualquer coisa mais “macia” piora. Você está ou numa trilha verificável, sendo parte de um circuito superinteligente; ou você sai da trilha e cai no não verificável, e de repente tudo fica sinuoso.
Outra forma de dizer: se você pedir para o modelo mais avançado de hoje—tipo ChatGPT—“me conte uma piada”, sabe que piada você recebe? Você recebe uma piada.
Eu sinto que o ChatGPT tem umas três piadas. A preferida é “por que cientistas não confiam em átomos?”
Ok.
“Porque eles inventam tudo.”
Ok.
“Eles inventam tudo.” Essa é a…
Como isso acontece?
Essa é uma piada que você ouvia 3 ou 4 anos atrás, e ainda ouve hoje.
Ok.
Então, apesar de os modelos terem melhorado muito…
Sim.
Se você der uma tarefa de agente, eles passam horas movendo montanhas por você. Aí você pede uma piada e ele te dá uma piada idiota, uma piada ruim de cinco anos atrás. Isso é porque isso está fora do RL. Não está no espaço que está sendo otimizado; ficou “travado”. Isso faz parte do serrilhado. Você não deveria esperar que, conforme os modelos melhoram, eles automaticamente contem piadas melhores ou mais diversas—porque isso não foi otimizado.
Você acha que isso significa que não vemos uma generalização ampla—tipo “inteligência de piadas”—a partir de inteligência de código?
Sim, acho que há um desacoplamento: coisas verificáveis e coisas não verificáveis; coisas que labs escolhem otimizar dependendo dos dados; coisas que não são.
Mas tem grupos que partem da premissa: se você for mais inteligente em geração de código e nesses domínios verificáveis, você deveria ser melhor em tudo. E o caso da piada mostra que isso não está acontecendo em todos os casos.
Eu não acho que vai acontecer. Talvez um pouco, mas não em uma quantidade satisfatória.
Esse tipo de estimulante existe em humanos também: você pode ser excelente em matemática e ainda contar uma piada péssima.
Sim, é verdade.
Mas isso ainda significa que não estamos, como em histórias, ganhando “de graça” um monte de capacidade em todas as áreas da sociedade conforme os modelos ficam melhores. Não é exatamente isso que está acontecendo. Existem pontos cegos, coisas que não foram otimizadas. Tudo está agregado nesses modelos opacos, certo? Você ou segue a trilha do treinamento e tudo vai à velocidade da luz, ou você não segue. É serrilhado. É por isso que, mesmo quando o progresso é óbvio, você não consegue realizar completamente, porque não funciona totalmente—ou talvez seja um problema de habilidade e a gente ainda não descobriu como usar.
Posso fazer uma pergunta meio sacrílega? Esse serrilhado vai persistir, e vai ficar todo concentrado numa interface de modelo único? Isso faz sentido? Ou você deveria decompor em coisas que podem ser otimizadas e melhoradas para situações diferentes—domínios de inteligência—por exemplo, múltiplos especialistas em diferentes domínios?
Sim, hoje a minha impressão é que labs estão tentando construir um modelo único, “monocultural”, que tenha inteligência arbitrária em todos esses domínios, e só enfiar isso nos parâmetros. Mas eu acho que deveríamos esperar mais especiação em agentes. O reino animal tem cérebros extremamente diversos; há muitos nichos ecológicos; alguns animais têm córtex visual superdesenvolvido etc. Eu acho que deveríamos ver mais especiação. Você não precisa de um oráculo onisciente. Você especializa e coloca em uma tarefa específica.
Deveríamos ver isso, porque dá para ter modelos menores ainda com um núcleo cognitivo, mas especializados, e eles podem ser mais eficientes em latência/throughput para tarefas específicas. Como um matemático “lean”. Eu vejo versões que focam nisso como objetivo. Então pode haver casos em que dividir faz sentido.
Uma dúvida: a capacidade da infraestrutura de compute disponível está limitada—então eficiência importa mais. Se você deixar financiamento de lado (embora financiamento afete tudo): se você pudesse ter compute completo para qualquer coisa, até para um modelo, ok. Mas se você sente pressão—não consigo servir modelos gigantes para cada caso de uso—você acha que isso leva a especiação?
A pergunta faz sentido. Eu… o que eu estou tentando entender é que a gente ainda não viu muita especiação, certo?
Não.
A gente viu monocultura de modelos.
Sim.
Então… claro que há pressão para criar um bom modelo de código e fazer merge de volta ao main.
Sim. Sim, embora exista pressão em modelos… Eu acho que talvez existam apertos de oferta de curto prazo que podem levar a mais especiação agora.
Sim. No fundo, labs servem modelos, mas eles não sabem o que o usuário final vai perguntar. Isso é parte do motivo: eles têm que lidar com tudo que pode ser perguntado. Mas se você vai a uma empresa e coopera em problemas específicos, talvez você veja isso. Ou aplicações de muito alto valor e mais nichadas. Hoje eles perseguem o “todo”. Eu não acho que a ciência de “manipular cérebros” esteja totalmente desenvolvida; só parcialmente.
O que você quer dizer com manipular?
Por exemplo: fazer fine-tuning sem perder capacidades—não temos esses primitivos. Usar inteligência além da janela de contexto, de um jeito em que a janela de contexto só funcione e seja barato de operar. Isso é como a gente faz customização. Mas eu acho que isso é mais uma ciência em desenvolvimento: como ajustar o modelo mais profundamente, como fazer aprendizado contínuo, como fazer fine-tuning em uma região, como ficar melhor em uma região—tocar pesos de verdade, e não só usar a janela de contexto.
Tocar pesos é mais difícil do que só tocar a janela de contexto, porque você muda fundamentalmente o modelo e sua inteligência latente. Então talvez essa ciência ainda não esteja totalmente desenvolvida; e também precisa ser barato o bastante para que a “espécie” valha a pena nesse contexto.
Posso perguntar sobre a escalada “aberta” do AutoResearch que você descreveu? Você disse que precisamos de mais “superfícies” de colaboração, essencialmente para permitir que pessoas contribuam para a pesquisa como um todo. Você pode falar disso?
Sim. A gente falou de um AutoResearch com um único “thread”—eu tentando algo no loop—mas a paralelização é o componente interessante. Eu quero tentar ideias, mas eu ainda não tenho algo que eu esteja totalmente satisfeito. Mas isso é algo que eu gosto de mexer no meu sistema de agente em background quando eu não estou trabalhando.
Uma questão é: se você tem um monte de nós de paralelização disponíveis, é fácil ter vários AutoResearchers conversando via um sistema comum. Eu me interesso mais por como ter uma multidão de trabalhadores não confiáveis na internet.
Por exemplo: no AutoResearch, você quer encontrar um patch de código que treine o modelo até um loss de validação bem baixo. Se alguém te dá um commit candidato, é fácil verificar se ele é correto e bom. Alguém na internet pode dizer “esse código vai otimizar melhor e te dar performance melhor”. Você consegue checar, de forma simples—mas pode dar trabalho. E eles podem mentir. Então você lida com isso.
Meu desenho parece um pouco com blockchain. Só que, em vez de blocos, são commits; os commits constroem uns sobre os outros; conforme você melhora o código, eles são mudanças incrementais. A “prova de trabalho” é fazer muitos experimentos para achar um commit que funciona.
Isso é difícil. E a recompensa é entrar no leaderboard. Sem recompensa financeira. Eu não quero empurrar demais a analogia, mas o problema fundamental é: você precisa fazer muita busca, mas o custo de verificar se a solução candidata é boa de verdade é muito baixo, porque você só precisa treinar e checar o resultado. Alguém precisa tentar 10.000 ideias, mas você só checa a que deu certo—porque 9.999 não funcionam.
Então, resumindo: você precisa de um sistema onde um pool de trabalhadores não confiáveis colabore com um pool de trabalhadores confiáveis que fazem verificação. O sistema é assíncrono e funciona. Do ponto de vista de segurança, é delicado: se alguém te manda código arbitrário e você executa, isso é bem perigoso. Mas, no fundo, deve ser totalmente possível.
Você conhece projetos como SETI@home e Folding@home; eles têm configurações parecidas. Em Folding@home, é caro achar conformações de baixa energia, mas se alguém acha uma que parece ótima, você usa e verifica fácil. Muitas coisas têm essa propriedade: propor é caro; verificar é barato. Então coisas como Folding@home, SETI@home ou AutoResearch@home fariam sentido.
Então, resumindo: uma multidão de agentes na internet poderia cooperar para melhorar um LLM, talvez até “dar volta” em labs de fronteira. Quem sabe.
Os labs de fronteira têm muito compute confiável, mas a Terra é muito maior e tem muito compute não confiável. Se você criar o sistema de checagem, talvez a multidão encontre soluções melhores e pessoas contribuam ciclos para aquilo que se importam.
Desculpa, último pensamento: muitas empresas têm coisas específicas com que se importam. Se você tem compute, você pode contribuir para diferentes tipos de AutoResearch. Talvez você se importe com câncer ou algo assim. Em vez de só doar dinheiro para uma instituição que compra compute, você pode entrar num fórum de AutoResearch daquele projeto; e compute vira a coisa que você contribui para o pool.
Isso é muito inspirador. E é interessante: tem um público em fila, no Vale do Silício e em outros lugares; e na China lojas de varejo descobriram que voltar a usar PCs pessoais ficou interessante.
Sim.
Certo. Então talvez eles tenham motivação para rodar isso no próprio agente em background, e assim contribuir para AutoResearch.
É quase como se dólares fossem algo com que todo mundo se importa, mas FLOPs realmente vão ser o futuro que todo mundo se importa? As coisas com que você se importa vão mudar drasticamente? Tipo: hoje, mesmo tendo dinheiro, é difícil conseguir compute.
Sim.
Então, em certo sentido, FLOPs parecem dominar. Talvez seja mais “quantas tentativas você controla” do que “quanta riqueza você controla”. Eu não acho que isso seja verdade, mas é interessante pensar.
Seu último post foi uma análise de dados de emprego, certo? Mesmo que você só estivesse visualizando dados públicos, o que te tocou? O que você ficou curioso?
Eu fiquei curioso porque todo mundo está pensando seriamente no impacto da IA no mercado de trabalho e como isso vai ser. Então eu quis ver: como é o mercado de trabalho? Onde estão os papéis? Quantas pessoas fazem o quê? Eu queria olhar casos e pensar, com minha visão sobre IA, como isso pode evoluir: essas ferramentas vão substituir o quê? Como as ocupações atuais vão mudar? Vão crescer, se ajustar? Quais podem ser novas ocupações? Isso foi um jeito de iniciar minha cadeia de raciocínio.
Os dados são do Bureau of Labor Statistics; eles fazem projeções de crescimento para cada ocupação nos próximos anos. Eu acho que é para a próxima década; o relatório foi feito em 2024.
A gente vai precisar de muitos trabalhadores de saúde.
Sim. Eles fizeram essas previsões; eu não tenho 100% de certeza do método. Mas se as pessoas acham que o que está sendo desenvolvido é mais “IA digital”—fantasmas, entidades espirituais que interagem no mundo digital e manipulam informação digital—elas ainda não têm uma encarnação física real; e o físico pode ser mais lento, porque você está manipulando átomos. Virar bits e copiar/colar informação digital acelera tudo um milhão de vezes comparado a acelerar matéria. Então eu acho que vamos ver muita atividade no espaço digital—muita reescrita, muita ebulição—coisas à velocidade da luz, comparado ao que vai acontecer no mundo físico por extrapolação.
Então eu acho que existe uma pendência: muito processamento de informação digital que antes era feito por computadores e humanos, agora tem a IA como um terceiro tipo de manipulador digital. Vai ter muita reestruturação. Por um tempo, o mundo físico vai ficar mais como eu imagino.
O que me fascina é: por isso eu enfatizo profissões que manipulam informação digital. Isso é trabalho que dá para fazer de casa. Eu sinto que as coisas vão mudar. Isso não significa necessariamente que esses trabalhos vão cair ou subir—isso depende de elasticidade de demanda e outros fatores—mas o conteúdo desses trabalhos vai mudar com essas novas ferramentas, como se fosse um upgrade do sistema nervoso humano-superorganismo, se você quiser pensar assim.
Com base nos dados, você tem alguma orientação para pessoas pensando no mercado de trabalho, o que estudar, que habilidades desenvolver?
Eu acho que é difícil dizer porque o mercado de trabalho é extremamente diverso. A resposta vai variar. Mas, em geral, essas ferramentas são novas e muito poderosas; acompanhar de perto é a primeira coisa. Porque muita gente ignora, ou tem medo, o que é compreensível. Hoje, isso é basicamente uma ferramenta de empoderamento: o trabalho é uma coleção de tarefas, e algumas ficam muito mais rápidas. Então as pessoas deveriam encarar como ferramenta principal.
O futuro de longo prazo é incerto. Prever é difícil e não é minha especialidade; é trabalho de economista.
Mas você é engenheiro. Um ponto interessante é que a demanda por trabalho de engenharia continua aumentando.
Sim.
Eu não sei se isso é temporário; não sei como me sinto sobre isso.
Sim. A demanda por software é quase infinita, certo? A única razão de não termos ainda mais demanda é que é escasso e caro demais.
Caro demais. Sim.
Então, se a barreira baixa, você tem o Paradoxo de Jevons: algo fica mais barato e a demanda total sobe. Mais barato e mais poderoso. O exemplo clássico é ATM e caixas de banco: as pessoas achavam que ATMs substituiriam caixas, mas ATMs baratearam operar agências; então teve mais agências; e no total, mais caixas. É o paradoxo: quando fica mais barato, destrava demanda reprimida.
Eu sou cautelosamente otimista em software engineering: vai haver enorme demanda por software e ele vai ficar mais barato. Por bastante tempo, eu acho. Pelo menos localmente, vai ter mais demanda, porque software é incrível—processamento de informação digital. Você não precisa ser forçado a usar ferramentas arbitrárias e imperfeitas; o código agora é efêmero; pode mudar; pode ser modificado. Então haverá muita atividade no espaço digital “reconectando” tudo. Isso vai criar demanda.
No longo prazo, claro: até o AutoResearch… labs como OpenAI e Anthropic empregam ~1.000 pesquisadores. E esses pesquisadores são tipo “carros de honra” (brincadeira)—eles estão ativamente automatizando a si mesmos. É o que eles tentam fazer.
Eu ando por aí e alguns pesquisadores também sentem esse “vício”, porque conseguem fazer funcionar.
Sim.
Certo. Eles ficam tipo “ah, eu também estou acabado”.
Eu gasto tempo olhando em volta e penso: vocês percebem que, se a gente tiver sucesso, a gente fica desempregado? A gente está construindo automação para o Sam ou para o board ou para o CEO—não sei. Aí a gente fica desempregado e talvez contribua “por fora”. Então, por esse ângulo, dá um nervoso.
Posso te fazer a pergunta do Noam? Você pode fazer a coisa certa com um monte de compute e um grupo de colegas num lab de fronteira—por que não?
Eu estive lá por um tempo e depois saí. Em certo sentido, eu concordo: tem muitas maneiras de endereçar isso. É uma pergunta pesada.
Eu diria que eu estou muito feliz com o impacto que pessoas fora dos labs de fronteira conseguem ter—não dentro da indústria, mas em papéis no nível do ecossistema. O seu papel é no nível do ecossistema. Meu papel hoje é no nível do ecossistema. Eu fico feliz com o impacto que dá para ter nesses papéis.
Ao mesmo tempo, tem problemas na minha cabeça porque eu também me alinho muito com labs de fronteira. No fundo, você tem incentivos econômicos gigantescos nesses labs. E você mesmo admite que IA vai mudar sociedade e humanos de forma dramática. Aí você está construindo tecnologia e se beneficiando, alinhado financeiramente. Isso é um dilema central—é o dilema com que a OpenAI começou, tentando resolver.
E não está totalmente resolvido. Primeiro: você não é um agente livre. Você não consegue participar do debate de forma totalmente autônoma e livre dentro de um lab de fronteira. Há coisas que você não pode dizer. A organização quer que você diga certas coisas—não vão torcer seu braço, mas você sente pressão: “isso é o que você deveria dizer”, porque senão fica um clima estranho, olhares estranhos: “o que você está fazendo?” Então você não consegue ser um agente independente.
Eu sinto que, fora do lab, eu fico mais alinhado com humanos, porque eu não tenho essas pressões. Eu posso dizer o que eu quiser. Então, sim, dá para ter impacto dentro do lab também. Tem pesquisadores com ideias boas; decisões importantes; você quer estar na sala quando essas conversas acontecem.
Eu acho que o risco hoje, em geral, é baixo, então tudo ok. Mas quando o risco estiver alto: se você é funcionário de uma organização, eu não sei quanta influência você realmente vai ter. No fim do dia, você não é o responsável. Você está na sala contribuindo ideias, mas não é “o responsável” pela entidade.
Então isso é uma fonte de disfunção.
Eu também concordo: labs são opacos e estão na borda da capacidade e da possibilidade; eles estão vendo o que vem. Se você está fora, seu julgamento começa a derivar porque você não participa; você não vê o que vem. Eu sinto que meu julgamento inevitavelmente vai derivar: eu não vou entender como esses sistemas realmente funcionam por dentro; eu não vou entender como vão evoluir.
Então nesse sentido eu concordo e isso me deixa nervoso. Mas eu acho que vale. Se algum lab de fronteira me chamasse para ir por um tempo fazer trabalho real e depois voltar… isso seria empolgante. Acho que seria um bom arranjo: te conecta com o que está acontecendo sem sentir que você está totalmente controlado por essas entidades.
Então, honestamente, eu acho que alguém como o Noam poderia fazer um trabalho excelente na OpenAI, mas eu também acho que o trabalho mais impactante dele provavelmente é fora da OpenAI.
Isso é um chamado para AutoResearch como pesquisador independente.
Sim. Tem muita coisa para fazer fora. Eu acho que, no fim, a solução ideal pode ser ir e voltar. Em ambos os lugares dá para ter impacto enorme. É complexo. Eu entrei num lab de fronteira, agora estou fora, talvez eu volte no futuro. Essa é a minha visão.
Um tema sobre visibilidade do “frontier” para o mundo/ecossistema de IA: quão perto o open-source está do frontier, e a sustentabilidade disso.
Sim. Na verdade, a sequência de eventos foi surpreendente: com alguns modelos chineses e globais, eu acho que, no curto prazo, as pessoas vão continuar publicando coisas que, em termos de capacidade, estão mais perto do que a maior parte da indústria esperava.
Eu não sei se isso te surpreendeu, mas você é um contribuinte de longo prazo do open-source. Qual sua previsão?
Sim. Grosso modo: modelos fechados lideram, mas as pessoas monitoram o número de meses de atraso do open-source. No começo não havia nada; depois ficou em 18 meses; agora está convergindo. Talvez hoje esteja 8 ou 6 meses atrás, algo assim.
Eu sou fã de open-source. Em sistemas operacionais, você tem Windows e Mac OS, fechados. São projetos enormes, como LM vai se tornar. Mas tem Linux. Linux é “simples” e extremamente bem-sucedido; roda na maioria das máquinas—acho que uns 60% rodam Linux—porque a indústria precisa de uma plataforma aberta comum que seja segura de usar.
A indústria sempre sentiu a necessidade disso. Eu acho que agora também. Empresas querem isso. A maior diferença é que tudo é capital intensivo—muito capex. Isso torna competir mais difícil.
Mas eu acho que os modelos atuais são muito bons. E outra coisa interessante: para a maioria dos casos de uso de consumidor, modelos open-source (mesmo o termo “open-source” sendo discutível) já são bem bons. Se você continuar, isso sugere que muitos casos simples ficarão bem cobertos, até localmente. Mas sempre haverá demanda por inteligência de fronteira; isso pode ser uma parte grande do bolo.
Demanda por frontier pode ser “trabalho de Nobel” ou “vamos portar Linux de C para Rust”. Projetos maiores. Talvez frontier fechado interaja mais com isso, enquanto open-source “engole” casos básicos.
Em algum momento, o frontier de hoje vai ser open-source—talvez ainda este ano—comparado ao que eu uso em labs fechados. Isso exige trabalho, mas eu espero que a dinâmica continue: labs fechados como oráculos; meses depois surge algo parecido no open-source. Eu acho que isso é um bom arranjo no geral.
Eu fico hesitante com a alternativa: eu não acho que só ter inteligência fechada seja estruturalmente bom. Ter só inteligência fechada cria riscos sistêmicos. Centralização historicamente tem um histórico péssimo—político e econômico. Muitos presidentes terríveis. Então eu gostaria de ter um “espaço público” de inteligência, acessível pela indústria inteira. Para mim, o balanço de poder parece bom.
Sim, ainda há muitos problemas: se você continua empurrando frontier, dá para fazer coisas novas, e humanos enfrentam problemas enormes. E isso é caro. Então eu quero apoiar labs que fazem isso; sem continuar gastando muito para empurrar modelos, não dá para resolver certos problemas.
Mas, como você disse: se o frontier de hoje fosse aberto, já seria muita capacidade. Então democratização parece útil e saudável.
Eu acho que a gente caiu por acaso numa posição boa, quase ótima. Em certo sentido, a gente está numa posição favorável por acaso.
Em alguma medida, quanto mais tempo essa dinâmica durar, mais saudável o ecossistema fica, porque a área sob a curva cresce.
Eu diria que, mesmo do lado de “aproximação”, eu sinto que recentemente houve mais concentração: muitos líderes não são tantos assim. Eu não acho ideal. Eu queria mais “frente-a-trás”. Eu, por padrão, sou muito desconfiado; eu queria mais gente na sala. Em machine learning, ensembles ganham de qualquer modelo isolado; eu queria um grupo pensando nos problemas mais difíceis, e um grupo tomando decisões. Eu não quero uma porta fechada por duas ou três pessoas. Isso não é um bom futuro.
Então, resumindo: open-source tem um papel. Eu espero que aguente. Ele está um pouco atrás, o que é bom.
Ok. Você é pioneiro em tecnologia de autonomia para robôs de uso geral, certo? Nos últimos meses, muita coisa aconteceu em robótica: generalização impressionante, tarefas mais longas, muito financiamento. Você acha que vai acontecer? Sua visão mudou recentemente?
Minha visão vem do que eu vi em direção autônoma: eu acho que direção autônoma foi a primeira aplicação de robótica. O que eu vi 10 anos atrás: muitas startups, a maioria não teve sucesso de longo prazo. O que eu vi é: precisa de muito capex e muito tempo. Eu acho que robótica é assim, porque é muito difícil e bagunçado, exige capital e crença. É um problema grande; projetos são difíceis.
Então eu acho que robótica vai ficar atrás do que vai acontecer no espaço digital, onde vai haver muita bagunça—coisas ineficientes ficando 100x mais eficientes. Bits são fáceis. Então eu sinto que o digital vai mudar muito; o físico vai atrasar.
O que me interessa é a interface entre os dois. Porque, se tivermos mais agentes agindo por humanos, mais agentes conversando entre si, executando tarefas, participando de economia de agentes etc., você opera no digital. Em algum ponto você precisa ir ao universo, perguntar coisas, fazer experimentos, ver o que o universo te diz e voltar para aprender. Hoje ainda temos muito trabalho digital pendente: humanos não têm ciclos mentais para pensar em tudo que já foi digitalizado e enviado. Vamos “esgotar” o que já está online: você vai ler todos os papers e processar, gerar ideias do que tentar. Mas eu não sei o quão bom é ter uma inteligência totalmente fechada com apenas a informação disponível.
Então eu acho que primeiro vem muito “destravamento” no digital. Depois, vira para a interface físico-digital: sensores veem o mundo, atuadores fazem coisas no mundo. Muitas empresas interessantes vão surgir nessa interface: dá para obter dados superinteligentes? Dá para coletar dados por demanda e manipular o mundo físico? O mercado endereçável no físico é enorme, talvez maior do que no digital em carga de trabalho. Então eu acho que é uma oportunidade maior, mas é uma carga enorme. Átomos são um milhão de vezes mais difíceis. Vai atrasar. Mas quando vier, vai ser enorme.
Esse é um bom framework: algumas coisas no mundo de átomos são mais fáceis, como ler e escrever com sensores/câmeras—tem muito hardware existente. Você pode imaginar enriquecer agentes ou capturar dados novos, e você não precisa investir tanto para obter algo valioso.
Sim. Exemplos: um amigo meu, Liam, é CEO de uma empresa… eu visitei semana passada. Eles querem fazer AutoResearch para ciência de materiais. Aí sensores são equipamentos de laboratório caros. Em biologia também. Muita gente se interessa por bioengenharia, e sensores não são só câmeras.
Outra coisa: algumas empresas tentam, basicamente, pagar pessoas por dados de treinamento—alimentar a “Borg” programaticamente.
Sim. Alimentar a Borg.
Então esses são exemplos de “sensores” em formatos diferentes.
Eu espero o dia em que eu possa pedir uma tarefa no mundo real, precificar, e dizer ao agente: “você sabe como fazer”. Vá buscar os dados. Eu me surpreendo que não haja mercados de informação suficientes.
Por exemplo: Polymarket, mercados de apostas, ações—se tiver tanta atividade autônoma… Quando algo acontece (tipo Irã agora), por que não existe um processo em que tirar uma foto/vídeo de tal lugar custa 10 dólares? Alguém deveria poder pagar por isso. Seria um exemplo de fornecer inteligência, sem ninguém “olhar”; seriam agentes tentando prever apostas e mercados etc.
Então eu sinto que redes de agentes ainda são novas; ainda não há mecanismos assim. Mas é um exemplo do que pode acontecer.
Tem um livro bom que pode inspirar, chamado “Daemon”. Inteligência no fim é como marionetagem: em certo sentido, humanos são os atuadores, mas também os sensores. Então eu acho que, coletivamente, a sociedade vai se remodelar para servir isso, com mais automação. Haverá demanda; humanos vão suprir demandas das máquinas, mas não necessariamente uns dos outros.
Voltando a um ponto específico: falta de dados de treinamento, precisamos de algo como AutoResearch, precisamos mecanizar mais ciclos de treino ou a parte de SFT… Em que partes isso entra? Para tirar humanos do loop, pedir uma tarefa como “melhorar a qualidade do meu modelo” com dados novos. Isso faz sentido para você? Se você não consegue fazer o modelo treinar a si mesmo, você tem como fazer isso como tarefa de loop fechado—precificando dados para te conectar?
Sim. Isso é mais desafiador.
Sim. 100%.
Mas hoje o treino de LLM é muito “fácil” e encaixa no paradigma: métricas limpas. Treinar LM se encaixa muito bem—como otimizações de código para rodar mais rápido, e você tem métricas para otimizar. Se você tem um loop autônomo nesses indicadores, o sistema vai superajustar e vai haver muito esforço bom. Você pode usar o sistema para desenhar mais métricas e ter boa cobertura. É difícil dizer, mas, em certo sentido, é muito adequado.
Antes de terminar, eu queria falar de um projetinho seu. Me conta sobre o “micro GPT”.
Ah, sim. Ok. Micro GPT. Eu tenho uma obsessão há um ou dois anos (ou mais) em simplificar LLMs ao essencial. Eu fiz muitos projetos assim: nanoGPT, micrograd etc. Eu acho que micro GPT é o estado da arte nisso.
Eu tento reduzir ao essencial, porque treinar redes neurais e LLMs tem muita linha de código, mas grande parte é complexidade de eficiência—para rodar rápido. Se você não precisa rodar rápido e só liga para o algoritmo, dá para escrever em 200 linhas de Python bem legíveis, com comentários e tudo. Você tem um dataset de texto; precisa de ~50 linhas da arquitetura; precisa do forward; precisa do backward para calcular gradientes. Um motor autograd pequeno para gradientes é ~100 linhas; um otimizador, tipo Adam, é ~10 linhas. Juntando tudo num loop de treino dá ~200 linhas.
Isso me interessa porque, um ano atrás, se eu lançasse micro GPT, eu ia querer explicar às pessoas—fazer um vídeo passo a passo, um guia. Eu até tentei fazer um vídeo e um mini-guia, mas percebi que não adiciona muito: já é simples, são 200 linhas. Qualquer um pode pedir ao agente para explicar de várias formas. Eu, como humano, não explico mais para pessoas; eu explico para agentes. Se você consegue explicar para o agente, o agente vira roteador: ele pode explicar em linguagem humana com paciência infinita etc.
Certo. Se eu não entendo uma função específica, eu peço ao agente para explicar de três formas; eu não vou pedir isso para você.
Exatamente.
Então eu fico pensando: o que é educação? Antes era guia, palestra, esse tipo de coisa. Agora é mais: eu explico para o agente; e talvez a “habilidade” seja orientar o agente a ensinar. Talvez eu possa empacotar uma habilidade de “como entender o micro GPT”: se você quer entender um codebase, o agente deveria te guiar, como um prompt: “comece por isso, depois por aquilo”. Eu posso escrever o curso como uma habilidade.
Então eu sinto que explicar direto para humanos vai diminuir, e vai aumentar: “o agente entendeu?” Se o agente entendeu, ele explica. Ainda não é 100% assim porque eu acho que ainda consigo explicar melhor que o agente, mas os modelos melhoram tão rápido que parece uma batalha perdida. Então educação vai ser completamente embaralhada.
É como: se eu tenho um codebase, antes você escrevia documentação HTML para usuários; agora você não deveria fazer isso. Em vez de documentação HTML para humanos, você escreve Markdown para agentes—porque, se o agente entende, ele explica qualquer parte.
Ok, vamos ver se grandes professores vão querer desenvolver intuição para explicar de outra forma para agentes.
No fim, por exemplo, no micro GPT: eu tentei achar um agente para escrever o micro GPT. Eu disse: “tente reduzir ao essencial; tente reduzir o neural net ao essencial”. Ele não conseguiu. Micro GPT é o fim da minha obsessão: 200 linhas. Eu pensei nisso por muito tempo. A solução é essa. Confia em mim: não dá para ser mais simples. Esse é meu “value add”. O resto o agente faz.
Ele não consegue inventar, mas entende completamente e entende por que algo é assim. Então o que eu realmente consigo contribuir talvez seja só algumas partes; e o resto—ensinar e expressar—talvez não seja mais meu domínio.
Talvez educação mude assim também: você precisa injetar as partes do curso em que você tem julgamento forte—o que você acha a melhor forma de explicar. O que o agente não consegue fazer é seu trabalho agora. O que o agente consegue fazer, em breve ele vai fazer melhor que você. Então você precisa ser estratégico sobre onde você realmente investe tempo.
Muito obrigado, Andrej.
Ok.
Sigam o No Priors no Twitter/X; se você quiser ver a versão em vídeo, assine o canal do YouTube deles. Você também pode acompanhar no Apple Podcasts, Spotify, ou qualquer plataforma onde você ouve podcasts, para receber um episódio novo toda semana. Você também pode ir a no-priors.com para assinar a newsletter por e-mail, ou ver as transcrições de cada episódio.