[{"data":1,"prerenderedAt":357},["ShallowReactive",2],{"lang-switch-post-\u002Fplaylists\u002Fpapers":3,"playlist-pt-papers":4,"playlist-posts-pt-papers":40},null,{"id":5,"title":6,"body":7,"cover":3,"description":30,"extension":31,"meta":32,"navigation":33,"order":34,"path":35,"seo":36,"status":37,"stem":38,"__hash__":39},"playlists\u002Fpt\u002Fplaylists\u002Fpapers\u002Findex.md","Artigos",{"type":8,"value":9,"toc":26},"minimark",[10,14,17],[11,12,13],"p",{},"As outras três playlists daqui são estudo de verdade: notebook de aula, livro-texto do lado, cada linha de código esmiuçada até doer. Essa aqui é outra vibe. De vez em quando eu leio um artigo ou survey que me deixa empolgado, geralmente na diagonal, sem ler cada página com lupa, e queria um lugar pra falar sobre ele sem toda a cerimônia de uma aula.",[11,15,16],{},"É isso que essa playlist é: eu conto o que achei mais maneiro do artigo, com metáfora torta, uma zoeira aqui e ali, e sempre que der, um código Python simples e um gráfico só pra dar aquela visão. Não espera rigor de notebook nem cobertura seção-por-seção, o objetivo aqui é papo reto sobre uma ideia interessante, não um resumo acadêmico.",[11,18,19,20,25],{},"Primeiro da série é sobre um assunto que não dá pra fugir hoje em dia: ",[21,22,24],"a",{"href":23},"\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models","raciocínio agêntico em modelos de linguagem",", um survey gigante que tenta organizar tudo que virou moda chamar de \"agente de IA\".",{"title":27,"searchDepth":28,"depth":28,"links":29},"",2,[],"Leitura diagonal de artigos e surveys que eu achei maneiros, sem a pretensão de virar aula. Código simples, gráfico pra dar uma visão, e a conversa de sempre com você.","md",{},true,4,"\u002Fpt\u002Fplaylists\u002Fpapers",{"title":6,"description":30},"published","pt\u002Fplaylists\u002Fpapers\u002Findex","vdbQsWX-nWs5oIGxtPjwUJoPdxwWZJza7ld2fNeGb0o",[41],{"id":42,"title":43,"body":44,"cover":3,"date":345,"description":346,"extension":31,"meta":347,"navigation":33,"order":214,"path":348,"playlist":349,"seo":350,"status":37,"stem":351,"tags":352,"__hash__":356},"posts\u002Fpt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models.md","Raciocínio Agêntico: Quando o LLM Sai do Sofá",{"type":8,"value":45,"toc":337},[46,64,69,72,75,87,91,94,100,118,124,128,139,143,146,150,195,199,202,306,317,320,330,333],[11,47,48,49,53,54,63],{},"Todo mundo virou \"agente\" de uns tempos pra cá. Chatbot vira agente, script com um ",[50,51,52],"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 ",[21,55,59],{"href":56,"rel":57},"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2601.12538",[58],"nofollow",[60,61,62],"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.",[65,66,68],"h2",{"id":67},"a-diferença-de-verdade-passivo-contra-interativo","A diferença de verdade: passivo contra interativo",[11,70,71],{},"O paper resume isso numa tabela que eu adorei, comparando \"LLM raciocinando\" contra \"raciocínio agêntico\". Vou recontar em versão zoada:",[11,73,74],{},"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,76,77,78,81,82,86],{},"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 ",[50,79,80],{},"π(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 ",[83,84,85],"strong",{},"fazer",".",[65,88,90],{"id":89},"três-andares-cada-um-mais-ambicioso-que-o-outro","Três andares, cada um mais ambicioso que o outro",[11,92,93],{},"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,95,96,99],{},[83,97,98],{},"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,101,102,105,106,109,110,113,114,117],{},[83,103,104],{},"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. ",[83,107,108],{},"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. ",[83,111,112],{},"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 ",[83,115,116],{},"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,119,120,123],{},[83,121,122],{},"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.",[65,125,127],{"id":126},"estudar-pra-prova-ou-aprender-de-verdade","Estudar pra prova ou aprender de verdade",[11,129,130,131,134,135,138],{},"Outra distinção do paper que eu curti: ",[83,132,133],{},"raciocínio em contexto"," contra ",[83,136,137],{},"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.",[65,140,142],{"id":141},"um-respiro-meta","Um respiro meta",[11,144,145],{},"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.",[65,147,149],{"id":148},"fechando","Fechando",[151,152,153,167],"table",{},[154,155,156],"thead",{},[157,158,159,164],"tr",{},[160,161,163],"th",{"align":162},"left","O que eu já sabia",[160,165,166],{"align":162},"O que esse survey assentou",[168,169,170,179,187],"tbody",{},[157,171,172,176],{},[173,174,175],"td",{"align":162},"\"Agente de IA\" virou palavra de propaganda",[173,177,178],{"align":162},"Tem uma definição técnica real por trás: interação, memória, e adaptação, não só um prompt mais chique",[157,180,181,184],{},[173,182,183],{"align":162},"ReAct e frameworks parecidos existem",[173,185,186],{"align":162},"Eles são só o andar 1 de uma hierarquia de três níveis, e o topo (multiagentes coordenando) é bem mais ambicioso",[157,188,189,192],{},[173,190,191],{"align":162},"RL ajusta modelo de linguagem",[173,193,194],{"align":162},"A distinção \"em contexto vs. pós-treino\" é sobre ONDE a melhoria mora: na conversa de agora, ou permanentemente no peso do modelo",[65,196,198],{"id":197},"aplicação-prática","Aplicação Prática",[11,200,201],{},"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.",[203,204,208],"pre",{"className":205,"code":206,"language":207,"meta":27,"style":27},"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",[50,209,210,218,223,229,234,240,246,252,258,264,270,276,282,288,294,300],{"__ignoreMap":27},[211,212,215],"span",{"class":213,"line":214},"line",1,[211,216,217],{},"def chute_unico(alvo, chute):\n",[211,219,220],{"class":213,"line":28},[211,221,222],{},"    # \"raciocínio de LLM comum\": uma tacada só, sem feedback nenhum\n",[211,224,226],{"class":213,"line":225},3,[211,227,228],{},"    return chute == alvo\n",[211,230,231],{"class":213,"line":34},[211,232,233],{"emptyLinePlaceholder":33},"\n",[211,235,237],{"class":213,"line":236},5,[211,238,239],{},"def chute_agentico(alvo, n=100, tentativas=7):\n",[211,241,243],{"class":213,"line":242},6,[211,244,245],{},"    # \"raciocínio agêntico\": usa o feedback (maior\u002Fmenor) a cada tentativa\n",[211,247,249],{"class":213,"line":248},7,[211,250,251],{},"    baixo, alto = 1, n\n",[211,253,255],{"class":213,"line":254},8,[211,256,257],{},"    for _ in range(tentativas):\n",[211,259,261],{"class":213,"line":260},9,[211,262,263],{},"        chute = (baixo + alto) \u002F\u002F 2\n",[211,265,267],{"class":213,"line":266},10,[211,268,269],{},"        if chute == alvo:\n",[211,271,273],{"class":213,"line":272},11,[211,274,275],{},"            return True\n",[211,277,279],{"class":213,"line":278},12,[211,280,281],{},"        elif chute \u003C alvo:\n",[211,283,285],{"class":213,"line":284},13,[211,286,287],{},"            baixo = chute + 1\n",[211,289,291],{"class":213,"line":290},14,[211,292,293],{},"        else:\n",[211,295,297],{"class":213,"line":296},15,[211,298,299],{},"            alto = chute - 1\n",[211,301,303],{"class":213,"line":302},16,[211,304,305],{},"    return False\n",[11,307,308,309,312,313,316],{},"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 ",[50,310,311],{},"k"," tentativas é ",[50,314,315],{},"min(2^k - 1, 100) \u002F 100",": cada tentativa a mais dobra quantos números você consegue cobrir com certeza.",[11,318,319],{},"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.",[321,322],"agentic-guess-explorer",{":initial-attempts":323,":max-attempts-shown":324,":n":325,"agentic-label":326,"slider-label":327,"static-label":328,"x-label":327,"y-label":329},"3","10","100","com feedback (agêntico)","tentativas permitidas","chute único (sem interação)","chance de acertar",[11,331,332],{},"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.",[334,335,336],"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":27,"searchDepth":28,"depth":28,"links":338},[339,340,341,342,343,344],{"id":67,"depth":28,"text":68},{"id":89,"depth":28,"text":90},{"id":126,"depth":28,"text":127},{"id":141,"depth":28,"text":142},{"id":148,"depth":28,"text":149},{"id":197,"depth":28,"text":198},"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í.",{},"\u002Fpt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models","papers",{"title":43,"description":346},"pt\u002Fplaylists\u002Fpapers\u002Fagentic-reasoning-for-large-language-models",[353,354,355],"agentes","llm","raciocinio","1ueEMp2NxZgmfnbe-J2kHqKWSy-5GT40rdfNkLJsjuo",1787338982567]