O framework ReAct é inspirado na maneira como os seres humanos conseguem, de forma intuitiva, usar a linguagem natural — muitas vezes por meio de nosso próprio monólogo interior — no planejamento passo a passo e na execução de tarefas complexas.
Em vez de implementar fluxos de trabalho baseados em regras ou previamente definidos, agentes do ReAct dependem dos recursos de raciocínio de seus LLMs para ajustar dinamicamente sua abordagem com base em novas informações ou nos resultados das etapas anteriores.
Imagine fazer as malas para uma breve viagem. Você pode começar identificando as considerações principais (" Como estará o tempo enquanto eu estiver lá?") e, em seguida, consultar ativamente fontes externas ("Vou verificar a previsão meteorológica local").
Usando essa nova informação (“Vai fazer frio”), você determina sua próxima consideração (“Quais roupas de frio eu tenho?”) e ação (“Vou verificar meu armário”). Ao realizar essa ação, você pode encontrar um obstáculo inesperado (“Todas as minhas roupas de calor estão no depósito”) e ajustar devidamente sua próxima etapa (“Quais roupas posso colocar juntas?”).
De maneira semelhante, o framework ReAct utiliza engenharia de prompts para estruturar a atividade de um agente de IA em um padrão formal de alternância entre pensamentos, ações e observações:
Depois de executar uma ação, o modelo reavalia o progresso e usa essa observação para fornecer uma resposta final ou informar o próximo pensamento. A observação pode, idealmente, também considerar informações anteriores, seja da janela de contexto padrão do modelo ou de um componente de memória externa.
Como o desempenho de um agente de ReAct depende fortemente da capacidade de seu LLM central “pensar verbalmente” enquanto resolve tarefas complexas, agentes de ReAct se beneficiam enormemente de modelos altamente capazes com habilidades avançadas de raciocínio e de seguimento de instruções.
Para minimizar custos e latência, um framework ReAct multiagentes pode contar principalmente com um modelo maior e mais eficiente atuando como agente central, cujo raciocínio ou ações podem envolver a delegação de subtarefas a mais agentes criados usando modelos menores e mais eficientes.