Técnicas

Prompting ReAct: raciocinar e agir com ferramentas

O prompting ReAct intercala raciocínio com chamadas de ferramentas para que um modelo possa consultar informações e agir. Como o ciclo funciona, um exemplo de prompt e seus modos de falha.

Traduzido do original em inglês. Código, prompts e saídas de modelos são mantidos em inglês.

ReAct, abreviação de “reasoning and acting” (raciocinar e agir), é um padrão de prompting em que um modelo alterna entre pensar no que fazer e fazê-lo com uma ferramenta. Foi apresentado por Yao e colegas em 2022 e é o ciclo básico dentro da maioria dos agentes de IA de hoje.

O ciclo

Um agente ReAct repete três passos até conseguir responder.

  1. Pensamento. O modelo raciocina sobre o que sabe e o que precisa em seguida.
  2. Ação. Ele escolhe uma ferramenta e os argumentos com que chamá-la.
  3. Observação. A aplicação executa a ferramenta e devolve o resultado ao modelo.

Depois o ciclo se repete, agora com a observação fazendo parte do contexto.

Question: Is order 8841 eligible for a refund?

Thought: I need the order date and the refund window.
Action: get_order(order_id="8841")
Observation: {"date": "2026-09-02", "status": "delivered", "custom": false}

Thought: Delivered and not custom. I need the policy window.
Action: get_policy(topic="refunds")
Observation: "Refunds within 30 days of delivery, excluding custom items."

Thought: 36 days have passed, so it is outside the window.
Answer: No. The 30-day refund window ended on 2 October 2026.

Raciocinar sem agir não alcança fatos fora do modelo. Agir sem raciocinar chama ferramentas às cegas. Intercalar os dois permite que cada observação molde a decisão seguinte.

ReAct com a chamada de ferramentas moderna

A técnica original usava um formato de texto que a aplicação analisava. As APIs atuais de modelos têm a chamada de ferramentas embutida: você descreve cada ferramenta com um nome, uma descrição e um JSON Schema dos parâmetros, e o modelo devolve uma solicitação estruturada para chamar uma. O ciclo é o mesmo; a API cuida da infraestrutura.

Isso desloca a engenharia de prompts para três lugares.

1. O prompt de sistema

Descreva o objetivo, os limites e quando parar.

You are an order support agent. Use the tools to answer questions
about a customer's orders.

- Look up facts with tools. Do not guess order details.
- Call a tool only when its result is needed for the answer.
- If a tool returns an error, try once more with corrected arguments,
  then tell the customer what could not be checked.
- Never issue a refund above $200. Escalate instead.
- Stop and answer as soon as you have enough information.

2. As descrições das ferramentas

Um modelo escolhe ferramentas apenas pelas descrições. Trate cada descrição como um prompt.

  • Fraca: get_order: gets an order
  • Melhor: get_order: Returns date, status, items, and total for one order. Use when the customer mentions an order number. Does not include payment details.

Diga o que a ferramenta retorna, quando usá-la e o que ela não faz. Nomeie os parâmetros com clareza e descreva seus formatos.

3. Os resultados das ferramentas

As observações voltam ao contexto, então a forma delas importa. Retorne dados compactos e rotulados, não uma página HTML bruta. Inclua uma mensagem de erro explícita sobre a qual o modelo possa agir: “No order with that ID” é útil; um stack trace não é.

Modos de falha

Laços. O agente repete a mesma chamada. Defina um número máximo de passos e diga ao modelo o que fazer ao atingir o limite.

Uso excessivo de ferramentas. Ele chama ferramentas para coisas que já sabe. Diga quando não chamar.

Argumentos errados. Ele inventa um ID ou um formato. Aperte o esquema dos parâmetros e retorne erros que expliquem o formato esperado.

Crescimento do contexto. Cada observação é relida em cada passo, então o custo cresce com o quadrado do número de passos. Corte ou resuma observações antigas. Veja a otimização de tokens.

Injeção por meio das observações. Uma página da web ou um documento retornado por uma ferramenta pode conter instruções. O modelo pode segui-las. Isso é injeção de prompt indireta e é o principal risco de segurança dos agentes. Marque os resultados das ferramentas como dados, restrinja o que as ferramentas podem fazer e exija aprovação para ações irreversíveis.

Respostas prematuras. Ele responde antes de verificar. Exija que as afirmações factuais venham do resultado de uma ferramenta.

Quando usar ReAct

Situação Use
Os passos são conhecidos de antemão Uma cadeia de prompts: mais barata e previsível
O caminho depende do que for encontrado ReAct
A tarefa precisa de dados ao vivo ou privados ReAct com ferramentas de recuperação
A tarefa executa ações em outros sistemas ReAct, com aprovação para ações arriscadas
Uma única consulta e depois uma resposta Uma etapa de recuperação, não um laço

Um agente é a opção mais flexível e a mais difícil de tornar confiável. Use um quando a flexibilidade for necessária.

Dando ferramentas aos agentes com MCP

O Model Context Protocol é uma forma padrão de oferecer ferramentas a um agente, de modo que um único servidor de ferramentas funcione com muitas aplicações de IA. O servidor MCP do PromptFlowEngine expõe a análise, a reestruturação e a sanitização de prompts como ferramentas somente leitura. Um agente pode usá-las em seu próprio ciclo, por exemplo para sanitizar o contexto antes de repassá-lo, ou para transformar uma tarefa vaga em especificação antes de começar.

Para o desenho mais amplo das instruções de agentes, continue com os prompts para agentes de IA.