Pular para o conteúdo principal

Reflexion: Agentes de Linguagem que Aprendem com Erros sem Retreinamento

· 6 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Tenho pensado no que seria necessário para construir um agente de livro-razão Beancount que melhore com o tempo sem ser retreinado toda vez que comete um erro. O artigo de Shinn et al., "Reflexion: Language Agents with Verbal Reinforcement Learning" (NeurIPS 2023), aborda diretamente essa questão, e a resposta é promissora e mais limitada do que os números das manchetes sugerem.

O artigo

2026-04-25-reflexion-language-agents-verbal-reinforcement-learning

Reflexion (Shinn, Cassano, Berman, Gopinath, Narasimhan, Yao; NeurIPS 2023) propõe que, em vez de ajustar os pesos do modelo por meio de aprendizagem por reforço dispendiosa, você pode melhorar um agente fazendo-o escrever sua própria análise de falhas em linguagem natural. Após cada tentativa, um modelo de Auto-Reflexão lê a trajetória e o sinal de recompensa, produz um post-mortem verbal e o anexa a um buffer de memória episódica. No próximo teste, o Ator lê as reflexões acumuladas antes de agir. Nenhum gradiente é computado. Nenhum modelo é ajustado (fine-tuned). O "aprendizado" reside inteiramente na janela de contexto.

A arquitetura de três componentes — Ator, Avaliador, Auto-Reflexão — é modular o suficiente para acomodar diferentes tipos de tarefas. O Avaliador pode ser um resultado binário de teste unitário, um juiz LLM ou uma heurística específica da tarefa. Essa flexibilidade é o que torna o artigo interessante além dos benchmarks de codificação.

Ideias principais

  • No pass@1 do HumanEval Python, Reflexion + GPT-4 atinge 91%, superando a linha de base de 80% do GPT-4 — uma lacuna real e significativa. No Leetcode Hard, o salto é de 7,5% → 15%, o que representa um progresso, mas também um lembrete de quão difíceis esses problemas continuam sendo.
  • No AlfWorld (planejamento doméstico baseado em texto), o Reflexion resolve 130/134 tarefas após 12 tentativas, contra 108/134 da linha de base ReAct — o resultado de tomada de decisão mais convincente do artigo.
  • No HotpotQA (QA de saltos múltiplos), CoT + Reflexion sobe de 61% para 75% de correspondência exata em 100 perguntas amostradas.
  • No MBPP (um segundo benchmark de Python), o Reflexion prejudica levemente o desempenho: 80,1% → 77,1%. O artigo omite isso discretamente.
  • No WebShop, o Reflexion não consegue ajudar. Os autores atribuem isso ao fato de a tarefa exigir "diversidade e exploração significativas" — o agente escreve reflexões inúteis que não se generalizam entre as buscas de produtos.
  • A memória é limitada a 1–3 experiências armazenadas. Isso é pragmático dada a extensão do contexto, mas significa que o agente não pode acumular aprendizado ao longo de uma implantação longa.

O que se sustenta — e o que não

A afirmação central é sólida: a reflexão verbal melhora o desempenho em tarefas com feedback claro e verificável. Se você sabe se o código passou nos testes unitários, o módulo de reflexão tem algo concreto sobre o qual raciocinar. Os resultados do AlfWorld e do HumanEval são reais e significativos.

Mas a falha no WebShop é instrutiva e o artigo a subestima um pouco. A reflexão funciona quando o avaliador pode produzir um sinal claro e acionável. Quando o modo de falha é "o agente explorou a parte errada de um grande espaço de busca", dizer a ele para "tentar termos de busca diferentes da próxima vez" não converge. Essa é uma limitação estrutural: o reforço verbal não substitui as estratégias de exploração.

Os experimentos de codificação também têm uma circularidade que os autores reconhecem em seu post no blog: o agente gera seus próprios testes unitários para avaliar seu próprio código. Uma suíte de testes falha produz falsos positivos. O número de 91% no HumanEval se mantém porque o HumanEval fornece testes de verdade fundamental (ground-truth), mas o loop de autoavaliação do agente é menos confiável em problemas novos onde não existe um oráculo externo.

A reprodutibilidade é uma preocupação real. Todos os resultados principais usam o GPT-4, e os experimentos com starchat-beta não mostram nenhuma melhora em relação à linha de base, o que significa que a técnica é dependente da capacidade do modelo. Equipes que executam modelos menores ou de pesos abertos não devem esperar os mesmos ganhos.

Por que isso importa para a IA financeira

O caso de uso do Beancount tem exatamente a propriedade que faz o Reflexion funcionar bem: um avaliador claro. Se um agente categoriza incorretamente uma transação, a verificação do saldo do livro-razão ou uma etapa de reconciliação pode produzir um sinal binário — os livros batem ou não. Essa é uma superfície de feedback muito melhor do que a recompensa ambígua da busca de produtos do WebShop.

Concretamente, posso imaginar um agente de gravação (write-back) do Beancount que, após uma tentativa de lançamento malsucedida (conta inválida, moeda errada, falha de asserção), gera uma reflexão verbal: "Usei Expenses:Meals, mas esta conta requer uma subcategoria. Da próxima vez, verificarei a hierarquia de contas antes de postar". Essa reflexão é armazenada e recuperada na próxima transação semelhante. O agente efetivamente acumula uma política específica da sessão a partir de seus próprios erros.

O limite de memória é o principal desafio arquitetônico. Um buffer de 1–3 experiências é adequado para uma única sessão, mas um agente de contabilidade implantado precisa aprender através de milhares de transações e semanas de operação. Estender o Reflexion para memória de longo prazo — talvez resumindo ou indexando reflexões — é um problema em aberto. O artigo não o resolve.

O que ler a seguir

  • Language Agent Tree Search (LATS) (Zhou et al., arXiv:2310.04406; ICML 2024) — estende o Reflexion ao envolver a busca em árvore de Monte Carlo no loop de reflexão-repetição, permitindo que os agentes explorem múltiplos ramos de raciocínio em vez de se comprometerem com uma única trajetória. Alcança 92,7% no HumanEval com GPT-4.
  • Retroformer (Yao et al., arXiv:2308.02151; ICLR 2024) — em vez de depender do mesmo LLM para se auto-refletir, o Retroformer treina um modelo retrospectivo leve e separado via gradiente de política, tornando o processo de reflexão aprendível entre tarefas. Mais fundamentado, mas requer ajuste fino.
  • Self-Reflection in LLM Agents: Effects on Problem-Solving Performance (arXiv:2405.06682, 2024) — um estudo empírico que investiga especificamente quando e por que a reflexão ajuda, com ablações em diferentes tipos de tarefas. Útil para calibrar quando aplicar o Reflexion vs. outras estratégias de correção.