Voltar ao Blog
AI & Development4 de setembro de 20258 min de leitura

O "AI Agent" que te venderam é ReAct de 2022

DR

Doug Ribeiro

8 min de leitura

Um deck que me mandaram recentemente descrevia um AI agent para administração de banco de dados. Diagramas limpos, loop de chamada de ferramentas, threshold de confiança, escalada humana. Os slides eram bons. O padrão era ReAct, publicado por Yao et al. em outubro de 2022. O deck simplesmente não dizia isso.

Essa é a parte do ciclo de hype de IA que acho exaustiva. Um padrão acadêmico conhecido ganha um nome novo, um logo de fornecedor e um caso de uso, e de repente virou uma inovação. O exemplo do DBA naqueles slides era uma ilustração boa. O padrão em si era mais velho que a maioria das empresas vendendo ele como ponta de lança.

O Que o ReAct Realmente É

ReAct quer dizer Reasoning + Acting. É um loop. O LLM produz um pensamento sobre o que fazer a seguir, escolhe uma ação de uma whitelist de ferramentas, a ação roda, o resultado volta como uma observação, e essa observação alimenta o próximo pensamento. Repete até o modelo decidir que a tarefa está feita.

text
Thought: I need to check if the orders table is locked.
Action: run_sql("SELECT pid FROM pg_locks WHERE relation = 'orders'::regclass")
Observation: [{"pid": 3421}]
Thought: There is a lock held by pid 3421. I should check what query is running.
Action: run_sql("SELECT query FROM pg_stat_activity WHERE pid = 3421")
Observation: [{"query": "UPDATE orders SET ... WHERE created_at < ..."}]
Thought: Long-running update. I should escalate before killing it.
Action: notify_slack("DBA: long UPDATE on orders, pid 3421, need decision")
Observation: Message delivered to #oncall
Thought: Done. Writeback the incident.

É isso. O padrão inteiro. Todo o resto nos slides, os triggers, a whitelist de ferramentas, a escape hatch baseada em confiança, é andaime em volta desse loop. Andaime importante, mas andaime.

Por Que o Reempacotamento Funciona

A razão de o ReAct ser redescoberto o tempo todo é que o paper original era acadêmico. Exemplos de prompt, algumas tarefas de benchmark, nenhuma guerra de produção contada. Fornecedores e consultores pegam esse kernel acadêmico, embrulham em um domínio (DBA, security ops, suporte ao cliente, TI interno), adicionam a caixa de ferramentas deles, e entregam como produto.

Não sou contra isso. Transformar um paper em um produto usável é trabalho de verdade. O problema é quando o wrapper de domínio é vendido como a inovação, e você acaba pagando por um loop ReAct embrulhado em uma whitelist de ferramentas que sua equipe teria construído em uma semana.

O Que Apresentações de Agent Nível Iniciante Geralmente Omitem

Se você está assistindo a um pitch ou uma talk sobre agents e eles cobrem apenas o loop, as ferramentas e a escape hatch, aqui está onde eu pressiono. São as partes que separam uma demo funcional de um agent que sobrevive em produção.

O Que o Deck Geralmente CobreTrigger (cron, webhook, alerta)Planner LLM com system promptLoop de chamada de ferramentas …Nó de decisão (concluído, retry…Writeback (log, ticket, Slack)O Que Eles Deixam de ForaMemória: de curto e longo prazoCrescimento da janela de contex…Custo por execução vs. custo de…Orquestração multi-agentAvaliação e testes de regressãoRollback quando o agent toma um…VS

Memória Geralmente Está Faltando

O loop tem um scratchpad. Esse scratchpad é a memória de curto prazo da sessão. Tudo bem. Mas o que acontece amanhã quando um incidente parecido aparece? Se o agent não lê e escreve em um store persistente, ele é reativo, não está aprendendo. A maioria dos decks introdutórios pula isso inteiramente. Tenho um post separado sobre arquitetura de memória porque ela não é uma coisa, é cinco camadas.

O Contexto Cresce a Cada Iteração

Cada pensamento, ação e observação volta para o prompt da próxima iteração. Dez loops depois e você está pagando por um prompt com dez pensamentos, dez chamadas de ferramenta e dez observações. Vinte loops depois, você bate no teto da sua janela de contexto ou no seu orçamento. Os decks nunca mostram o custo em tokens por execução. Peça.

Avaliação É Tratada com Mão Acenando

Sistemas não determinísticos precisam de harness de avaliação. Como você sabe que uma mudança no system prompt não regrediu o comportamento em um conjunto de incidentes conhecidos? Se o pitch não tem um replay de golden-set ou uma forma de comparar decisões entre versões, é um protótipo vestido de produto.

Como Avaliar um Pitch de Agent Sem Ser Aquela Pessoa

Não estou sugerindo que você entre em cada reunião de fornecedor gritando sobre o paper do Yao. O padrão é útil, a produtização tem valor real, e desenvolvedores rabugentos dizendo "isso é só ReAct" são a razão de as pessoas pararem de nos convidar para reuniões. Mas existem quatro perguntas que expõem se a equipe vendendo o agent sabe o que está fazendo.

  • O que acontece com o contexto no loop 20? Se eles não têm uma estratégia de sumarização ou truncamento, o agent morre ou queima dinheiro em sessões longas.
  • Onde a memória vive? Apenas por sessão serve para agents simples. Para qualquer coisa operacional, quero ver um store de longo prazo e um caminho de sincronização para ele.
  • Como você previne uma ação confidentemente errada? Whitelist mais dry-run mais threshold de confiança é o mínimo. Sem isso, o agent vai fazer algo que você não consegue desfazer.
  • Como você avalia mudanças? Uma mudança de system prompt é uma mudança de comportamento. Sem um harness de regressão você está entregando no feeling.

O padrão é de 2022. O hype é da terça passada. Avalie a implementação, não o folheto.

O Que Isso Realmente Significa Para Você

Se você está avaliando um produto de agent, agora você sabe o baseline. Se você está construindo um, agora você sabe onde estão os problemas interessantes. O loop não é a parte difícil. As partes difíceis são memória, avaliação, controle de custo e recuperação de decisões ruins. Quem te disser o contrário está te vendendo o andaime e chamando de casa.

Referencias

AIAgentsReActLLM