Nos posts anteriores, aprendemos:
- Como as ferramentas são disponibilizadas para o agente por meio do prompt do sistema.
- Como agentes de IA são sistemas capazes de “raciocinar”, planejar e interagir com seu ambiente.
Neste post, vamos explorar o fluxo completo de trabalho de um Agente de IA — um ciclo que definimos como Pensamento-Ação-Observação.
Depois, vamos nos aprofundar em cada uma dessas etapas.
Os componentes principais
Agentes funcionam em um ciclo contínuo de: pensar (Pensamento) → agir (Ação) → observar (Observação).
Vamos detalhar essas etapas:
- Pensamento: A parte do agente que é um modelo de linguagem (LLM) decide qual deve ser o próximo passo.
- Ação: O agente executa uma ação, chamando ferramentas com os argumentos necessários.
- Observação: O modelo analisa e reflete sobre a resposta fornecida pela ferramenta.
O ciclo Pensamento-Ação-Observação
Os três componentes funcionam juntos em um laço contínuo. Usando uma analogia com programação, o agente utiliza um laço while
: o ciclo continua até que o objetivo do agente seja alcançado.
Visualmente, isso se parece com o seguinte:
Em muitos frameworks de Agentes, as regras e diretrizes são incorporadas diretamente no prompt do sistema, garantindo que cada ciclo siga uma lógica definida.
Em uma versão simplificada, nosso prompt de sistema pode se parecer com isto:
system_prompt = """You are an AI assistant designed to help users efficiently and accurately. Your primary goal is to provide helpful, precise, and clear responses.
You have access to the following tools:
Tool Name: calculator, Description: Multiply two integers., Arguments: a: int, b: int, Outputs: int
You should first think step by step in order to fulfill the objective with a reasoning divided into Thought/Action/Observation steps that can be repeated multiple times if needed.
You should first reflect on the current situation using: `Thought: {you_thoughts}`, then (if necessary), cal a tool with the proper JSON formatting `Action: {JSON_BLOB}`, or print your final answer starting with the prefix `Final Answer:`
"""
Podemos ver aqui que, na Mensagem do Sistema, definimos:
- O comportamento do Agente.
- As ferramentas às quais nosso Agente tem acesso, como descrevemos na seção anterior.
- O ciclo Pensamento-Ação-Observação, que incorporamos nas instruções fornecidas ao modelo de linguagem (LLM).
Vamos analisar um pequeno exemplo para entender o processo antes de nos aprofundarmos em cada etapa.
São Pedro, o Agente do clima
Criamos o São Pedro, o Agente do clima.
Um usuário pergunta ao agente São Pedro: “Como está o clima agora em Florianópolis?”
A função do São Pedro é responder a essa pergunta utilizando uma ferramenta de API de clima.
Veja como o ciclo se desenrola:
Pensamento
Raciocínio interno:
Ao receber a pergunta, o diálogo interno do São Pedro pode ser:
“O usuário precisa de informações atualizadas sobre o clima em Florianópolis. Tenho acesso a uma ferramenta que busca dados meteorológicos. Primeiro, preciso chamar a API de clima para obter os dados mais recentes.”
Essa etapa mostra o agente dividindo o problema em partes: primeiro, reunir os dados necessários.
Ação
Uso da ferramenta:
Com base em seu raciocínio e no conhecimento da ferramenta get_weather
, o São Pedro prepara um comando em formato JSON para chamar a API de clima. Por exemplo, sua primeira ação pode ser:
Pensamento: Preciso verificar o clima atual em Florianópolis.
{
"action": "get_weather",
"action_input": {
"location": "Florianópolis
" } }
Aqui, a ação especifica claramente qual ferramenta deve ser chamada (por exemplo, get_weather
) e qual parâmetro deve ser passado (neste caso, "location": "Florianópolis"
).
Observação
Retorno do ambiente:
Após chamar a ferramenta, o São Pedro recebe uma observação. Pode ser a resposta bruta da API, como:
“Clima atual em Florianópolis: parcialmente nublado, 15°C, 60% de umidade.”
Essa observação é então adicionada ao prompt como contexto adicional. Ela funciona como um feedback do mundo real, confirmando se a ação teve sucesso e fornecendo os dados necessários.
Pensamento atualizado
Reflexão:
Com a observação em mãos, o São Pedro atualiza seu raciocínio interno:
“Agora que tenho os dados climáticos de Florianópolis, posso compilar uma resposta para o usuário.”
Ação final
O São Pedro então gera uma resposta final, formatada conforme o esperado:
Pensamento: Já tenho os dados do clima. O clima atual em Florianópolis está parcialmente nublado, com temperatura de 15°C e umidade de 60%.
Resposta final: O clima atual em Florianópolis está parcialmente nublado, com temperatura de 15°C e umidade de 60%.
Essa ação final envia a resposta de volta ao usuário, encerrando o ciclo.
O que vemos neste exemplo:
- Ciclo iterativo dos Agentes
Os agentes percorrem um ciclo até que o objetivo seja alcançado. O processo do São Pedro é cíclico. Ele começa com um pensamento, depois age chamando uma ferramenta e, por fim, observa o resultado. Se a observação indicasse um erro ou dados incompletos, o São Pedro poderia reentrar no ciclo para ajustar sua abordagem.
- Integração de Ferramentas
A capacidade de chamar uma ferramenta (como uma API de clima) permite que o São Pedro vá além do conhecimento estático e acesse dados em tempo real — um aspecto essencial para muitos agentes de IA.
- Adaptação dinâmica
Cada ciclo permite que o agente incorpore novas informações (observações) ao seu raciocínio (pensamento), garantindo que a resposta final seja bem fundamentada e precisa.
Este exemplo ilustra o conceito central por trás do ciclo ReAct (um conceito que vamos desenvolver na próxima seção): a interação entre Pensamento, Ação e Observação capacita agentes de IA a resolverem tarefas complexas de forma iterativa.
Ao entender e aplicar esses princípios, você pode projetar agentes que não apenas raciocinam sobre suas tarefas, mas também utilizam ferramentas externas de forma eficaz para completá-las — tudo isso enquanto refinam continuamente suas respostas com base no feedback do ambiente.
Quer aprender mais?
Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.