[{"data":1,"prerenderedAt":330},["ShallowReactive",2],{"lang-switch-post-\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models":3,"post-pt-papers-agentic-reasoning-for-large-language-models":4},"\u002Fen\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models",{"id":5,"title":6,"body":7,"cover":315,"date":316,"description":317,"extension":318,"meta":319,"navigation":202,"order":181,"path":320,"playlist":321,"seo":322,"status":323,"stem":324,"tags":325,"__hash__":329},"posts\u002Fpt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models.md","Raciocínio Agêntico: Quando o LLM Sai do Sofá",{"type":8,"value":9,"toc":307},"minimark",[10,30,35,38,41,53,57,60,66,84,90,94,105,109,112,116,161,165,168,276,287,290,300,303],[11,12,13,14,18,19,29],"p",{},"Todo mundo virou \"agente\" de uns tempos pra cá. Chatbot vira agente, script com um ",[15,16,17],"code",{},"for"," vira agente, prompt bonito vira agente. A palavra desgastou tão rápido quanto \"disruptivo\" desgastou lá atrás. Por isso resolvi ler (na diagonal, sem compromisso de aula) um survey enorme chamado ",[20,21,25],"a",{"href":22,"rel":23},"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2601.12538",[24],"nofollow",[26,27,28],"em",{},"Agentic Reasoning for Large Language Models",", assinado por gente de Illinois, Meta, Amazon, Google DeepMind, UC San Diego e Yale, tudo junto num paper só. Quando esse tanto de nome pesado se junta pra escrever 70 e tantas páginas organizando um assunto, dá pra desconfiar que talvez não seja só modinha.",[31,32,34],"h2",{"id":33},"a-diferença-de-verdade-passivo-contra-interativo","A diferença de verdade: passivo contra interativo",[11,36,37],{},"O paper resume isso numa tabela que eu adorei, comparando \"LLM raciocinando\" contra \"raciocínio agêntico\". Vou recontar em versão zoada:",[11,39,40],{},"Um LLM raciocinando comum é tipo aquela máquina de café do trabalho: você aperta o botão, ela cospe o café dela, ponto final. Não importa quantas vezes você aperte de novo, ela nunca vai lembrar que você pediu sem açúcar da última vez, porque não tem memória, não observa o resultado do que fez, é uma tacada só, sem interação nenhuma com o mundo depois de responder.",[11,42,43,44,47,48,52],{},"Raciocínio agêntico é o funcionário novo que aprendeu seu pedido na segunda semana. Ele usa ferramenta (pega a caneca certa), busca informação quando precisa (pergunta se você quer capuccino hoje), guarda contexto de uma interação pra outra (lembra do seu pedido de ontem), e ajusta o comportamento com o tempo. O paper formaliza isso direitinho: em vez de um ",[15,45,46],{},"π(resposta | pergunta)"," de mão única, o modelo vira um laço que decide, age, observa o resultado, e decide de novo, quantas vezes precisar. É a diferença entre responder e ",[49,50,51],"strong",{},"fazer",".",[31,54,56],{"id":55},"três-andares-cada-um-mais-ambicioso-que-o-outro","Três andares, cada um mais ambicioso que o outro",[11,58,59],{},"O survey organiza tudo em três camadas, e eu achei mais fácil pensar nelas como a evolução de um estagiário:",[11,61,62,65],{},[49,63,64],{},"Andar 1, raciocínio agêntico fundamental",": o estagiário no primeiro dia. Sabe planejar uma tarefa quebrando ela em pedaços menores, sabe usar as ferramentas que a empresa disponibiliza (chamar uma API, rodar um código), e sabe pesquisar quando não sabe algo (busca na web, olha a documentação). Isso já é o suficiente pra resolver tarefa dentro de um ambiente estável, mas ele ainda não aprende nada de uma tarefa pra outra.",[11,67,68,71,72,75,76,79,80,83],{},[49,69,70],{},"Andar 2, raciocínio agêntico autoevolutivo",": o mesmo estagiário, três meses depois. Agora ele reflete sobre os próprios erros (\"da última vez que fiz assim, deu ruim, vou tentar diferente\"), guarda memória do que já funcionou, e vai ajustando o próprio jeito de trabalhar com a experiência acumulada. O paper separa isso em três sabores, e os exemplos reais são ótimos. ",[49,73,74],{},"Evolução verbal"," é literalmente o estagiário escrevendo um bilhete pra si mesmo (\"não esquece de X da próxima vez\"), é o que o framework Reflexion faz, texto puro guiando a próxima tentativa. ",[49,77,78],{},"Evolução procedural"," é ele indo além, construindo uma caixa de ferramentas nova conforme aprende (o Voyager faz isso jogando Minecraft, criando funções de código reutilizáveis a cada nova habilidade aprendida). E ",[49,81,82],{},"evolução estrutural"," é o nível \"e se o estagiário reescrevesse o próprio contrato de trabalho\", onde o sistema (AlphaEvolve, por exemplo) usa um LLM pra mexer no próprio código-fonte, tratando o próprio algoritmo como hipótese a ser testada e melhorada. Esse último é assustador de tão ambicioso.",[11,85,86,89],{},[49,87,88],{},"Andar 3, raciocínio agêntico coletivo",": já não é mais um estagiário, é o time inteiro. Vários agentes dividem papel (um planeja, um executa, um critica o trabalho do outro), trocam mensagem entre si, e compartilham memória. Frameworks como AutoGen e CAMEL vivem nesse andar, simulando literalmente uma equipe de gente conversando pra resolver um problema junto.",[31,91,93],{"id":92},"estudar-pra-prova-ou-aprender-de-verdade","Estudar pra prova ou aprender de verdade",[11,95,96,97,100,101,104],{},"Outra distinção do paper que eu curti: ",[49,98,99],{},"raciocínio em contexto"," contra ",[49,102,103],{},"raciocínio pós-treino",". Em contexto é estudar de última hora: o modelo não muda um peso sequer, só usa o tempo de inferência pra pensar mais (testar caminhos diferentes, revisar a própria resposta, buscar informação extra), tudo dentro da mesma conversa. Pós-treino é estudar de verdade: o comportamento bom vira parte permanente do modelo via reforço (o paper cita a fórmula do GRPO, uma técnica de aprendizado por reforço que ajusta o modelo comparando um grupo de respostas entre si, recompensando as melhores do grupo), então da próxima vez ele já nasce sabendo, sem precisar reaprender a cada conversa nova.",[31,106,108],{"id":107},"um-respiro-meta","Um respiro meta",[11,110,111],{},"Reparei numa coisa lendo isso: o \"andar 1\" que descrevi ali em cima, planejar a tarefa, usar ferramenta, buscar informação, verificar o resultado, é literalmente o que está acontecendo agora, enquanto esse post é escrito. Sim, esse texto que você tá lendo nasceu de um agente (no sentido bem técnico que o paper usa) lendo o PDF, decompondo a tarefa de escrever o post, e verificando o resultado antes de publicar. A ironia não passou despercebida.",[31,113,115],{"id":114},"fechando","Fechando",[117,118,119,133],"table",{},[120,121,122],"thead",{},[123,124,125,130],"tr",{},[126,127,129],"th",{"align":128},"left","O que eu já sabia",[126,131,132],{"align":128},"O que esse survey assentou",[134,135,136,145,153],"tbody",{},[123,137,138,142],{},[139,140,141],"td",{"align":128},"\"Agente de IA\" virou palavra de propaganda",[139,143,144],{"align":128},"Tem uma definição técnica real por trás: interação, memória, e adaptação, não só um prompt mais chique",[123,146,147,150],{},[139,148,149],{"align":128},"ReAct e frameworks parecidos existem",[139,151,152],{"align":128},"Eles são só o andar 1 de uma hierarquia de três níveis, e o topo (multiagentes coordenando) é bem mais ambicioso",[123,154,155,158],{},[139,156,157],{"align":128},"RL ajusta modelo de linguagem",[139,159,160],{"align":128},"A distinção \"em contexto vs. pós-treino\" é sobre ONDE a melhoria mora: na conversa de agora, ou permanentemente no peso do modelo",[31,162,164],{"id":163},"aplicação-prática","Aplicação Prática",[11,166,167],{},"Pra sentir na pele a ideia central (interação bate resposta única, palavras exatas do survey: \"scaling test-time interaction\"), montei o jogo mais simples que existe: adivinhar um número entre 1 e 100.",[169,170,175],"pre",{"className":171,"code":172,"language":173,"meta":174,"style":174},"language-python shiki shiki-themes github-light github-dark","def chute_unico(alvo, chute):\n    # \"raciocínio de LLM comum\": uma tacada só, sem feedback nenhum\n    return chute == alvo\n\ndef chute_agentico(alvo, n=100, tentativas=7):\n    # \"raciocínio agêntico\": usa o feedback (maior\u002Fmenor) a cada tentativa\n    baixo, alto = 1, n\n    for _ in range(tentativas):\n        chute = (baixo + alto) \u002F\u002F 2\n        if chute == alvo:\n            return True\n        elif chute \u003C alvo:\n            baixo = chute + 1\n        else:\n            alto = chute - 1\n    return False\n","python","",[15,176,177,185,191,197,204,210,216,222,228,234,240,246,252,258,264,270],{"__ignoreMap":174},[178,179,182],"span",{"class":180,"line":181},"line",1,[178,183,184],{},"def chute_unico(alvo, chute):\n",[178,186,188],{"class":180,"line":187},2,[178,189,190],{},"    # \"raciocínio de LLM comum\": uma tacada só, sem feedback nenhum\n",[178,192,194],{"class":180,"line":193},3,[178,195,196],{},"    return chute == alvo\n",[178,198,200],{"class":180,"line":199},4,[178,201,203],{"emptyLinePlaceholder":202},true,"\n",[178,205,207],{"class":180,"line":206},5,[178,208,209],{},"def chute_agentico(alvo, n=100, tentativas=7):\n",[178,211,213],{"class":180,"line":212},6,[178,214,215],{},"    # \"raciocínio agêntico\": usa o feedback (maior\u002Fmenor) a cada tentativa\n",[178,217,219],{"class":180,"line":218},7,[178,220,221],{},"    baixo, alto = 1, n\n",[178,223,225],{"class":180,"line":224},8,[178,226,227],{},"    for _ in range(tentativas):\n",[178,229,231],{"class":180,"line":230},9,[178,232,233],{},"        chute = (baixo + alto) \u002F\u002F 2\n",[178,235,237],{"class":180,"line":236},10,[178,238,239],{},"        if chute == alvo:\n",[178,241,243],{"class":180,"line":242},11,[178,244,245],{},"            return True\n",[178,247,249],{"class":180,"line":248},12,[178,250,251],{},"        elif chute \u003C alvo:\n",[178,253,255],{"class":180,"line":254},13,[178,256,257],{},"            baixo = chute + 1\n",[178,259,261],{"class":180,"line":260},14,[178,262,263],{},"        else:\n",[178,265,267],{"class":180,"line":266},15,[178,268,269],{},"            alto = chute - 1\n",[178,271,273],{"class":180,"line":272},16,[178,274,275],{},"    return False\n",[11,277,278,279,282,283,286],{},"A versão de chute único acerta 1 em 100 vezes, não importa quantas \"tentativas\" você deixe ela ter, porque ela nunca usa o resultado da tentativa anterior. A versão agêntica usa a dica (maior ou menor) pra cortar o espaço de busca pela metade a cada rodada, exatamente a mesma lógica por trás de busca binária. A fórmula fechada pra chance de acerto com ",[15,280,281],{},"k"," tentativas é ",[15,284,285],{},"min(2^k - 1, 100) \u002F 100",": cada tentativa a mais dobra quantos números você consegue cobrir com certeza.",[11,288,289],{},"Arrasta o slider abaixo e repara: com só 1 tentativa, a chance é a mesma dos dois métodos (1%, você só tem uma bala mesmo). Mas a partir da segunda tentativa a linha azul (com feedback) decola, enquanto a laranja (sem interação) fica birrenta no chão, porque ela simplesmente não usa a informação nova que cada tentativa a mais poderia trazer. Com 7 tentativas, a versão agêntica já bate 100% de certeza. É a mesma matemática por trás de \"20 perguntas\", só que aqui são só 7 porque o espaço de busca é bem menor.",[291,292],"agentic-guess-explorer",{":initial-attempts":293,":max-attempts-shown":294,":n":295,"agentic-label":296,"slider-label":297,"static-label":298,"x-label":297,"y-label":299},"3","10","100","com feedback (agêntico)","tentativas permitidas","chute único (sem interação)","chance de acertar",[11,301,302],{},"Simples assim: interação troca \"sorte\" por \"matemática garantida\", e esse é exatamente o argumento central do survey inteiro, só que aplicado num monte de coisa mais impressionante que adivinhar número.",[304,305,306],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":174,"searchDepth":187,"depth":187,"links":308},[309,310,311,312,313,314],{"id":33,"depth":187,"text":34},{"id":55,"depth":187,"text":56},{"id":92,"depth":187,"text":93},{"id":107,"depth":187,"text":108},{"id":114,"depth":187,"text":115},{"id":163,"depth":187,"text":164},null,"2026-08-20","Li na diagonal um survey gigante (Illinois, Meta, Amazon, DeepMind, UCSD e Yale juntos) tentando organizar o que realmente significa chamar um modelo de linguagem de 'agente'. Spoiler: não é só marketing, tem uma diferença de verdade aí.","md",{},"\u002Fpt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models","papers",{"title":6,"description":317},"published","pt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models",[326,327,328],"agentes","llm","raciocinio","1ueEMp2NxZgmfnbe-J2kHqKWSy-5GT40rdfNkLJsjuo",1787338984010]