Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Estudos/Guia / Deep Dive
RSSMarkdownLLMs
Guia / Deep DiveIA / Agentes

Agentes de IA por Dentro (1/3): Anatomia e o Loop de Raciocínio

26 de jun. de 2026 8 min Com apoio de IA000 visualizações00 reproduções
Série · Agentes de IA por Dentro · Parte 1 de 3
  1. 1Agentes de IA por Dentro (1/3): Anatomia e o Loop de Raciocínio(você está aqui)
  2. 2Agentes de IA por Dentro (2/3): Catálogo de Padrões, de ReAct a Multi-Agente
  3. 3Agentes de IA por Dentro (3/3): Agentes em Produção na AWS com Bedrock AgentCore
Ouvir estudo

cerca de 8 min · áudio gerado ao tocar

Se você é desenvolvedor ou arquiteto de software e está entrando no mundo de IA generativa, provavelmente já ouviu 'agente de IA' dezenas de vezes, em demos de produto, em vagas de emprego, em pitches de startup. O problema é que o termo é usado para coisas radicalmente diferentes: desde um chatbot com um if/else sofisticado até sistemas que realmente tomam decisões autônomas e executam ações no mundo real. Essa confusão tem custo: equipes constroem soluções erradas para o problema certo, ou gastam complexidade desnecessária onde um simples pipeline resolveria. Esta é a Parte 1 de uma série de três aulas. Aqui você vai entender o que um agente de IA realmente é, com precisão conceitual, sem jargão vazio. A Parte 2 cobre os padrões de arquitetura multi-agente (orquestrador, subagentes, padrões de composição). A Parte 3 fecha com produção na AWS usando Bedrock AgentCore. Comece aqui.

O que você vai aprender

A definição precisa de agente de IA e os cinco ingredientes que o compõem
O que diferencia um agente de um LLM puro, de um workflow fixo e de RAG simples, com tabela comparativa
A anatomia interna: modelo (cérebro), ferramentas, memória de curto e longo prazo, e o planner
O loop ReAct (percepção → raciocínio → ação → observação) explicado passo a passo com exemplo concreto
Tool/function calling por dentro: como o modelo emite uma intenção estruturada e o runtime executa
Quando você precisa de um agente, e quando não precisa (a resposta honesta)

Glossário Rápido: Termos desta Aula

LLM
Large Language Model, um modelo de linguagem grande treinado para prever o próximo token. Pense nele como uma função: texto entra, texto sai. Sem estado, sem memória própria entre chamadas.
Agente de IA
Um sistema que usa um LLM como motor de raciocínio, tem um objetivo, acessa ferramentas, mantém memória e decide autonomamente os próximos passos até completar a tarefa.
Tool / Function Calling
Mecanismo pelo qual o LLM emite uma intenção estruturada (JSON) dizendo 'quero chamar esta função com estes parâmetros'. O runtime executa e devolve o resultado.
RAG
Retrieval-Augmented Generation, padrão onde você busca documentos relevantes num banco vetorial e injeta no contexto do LLM antes de gerar a resposta. Fluxo fixo, sem autonomia.
ReAct
Reasoning + Acting, framework de Yao et al. (2022) que intercala passos de raciocínio ('Thought') com passos de ação ('Action') e observação do resultado ('Observation') num loop.
Planner
Componente (pode ser o próprio LLM) responsável por decompor um objetivo em subtarefas e decidir a ordem de execução.
Context Window
O 'buffer de memória de trabalho' do LLM, tudo que ele pode 'ver' numa única chamada. É a memória de curto prazo do agente.
Runtime / Orchestrator
O código que gerencia o loop do agente: chama o LLM, interpreta a intenção de tool call, executa a ferramenta, injeta o resultado de volta no contexto e repete.

Subindo o Elevador: do negócio para a tecnologia

Gregor Hohpe usa a metáfora do 'Architecture Elevator' para descrever o trabalho do arquiteto: transitar conscientemente entre o andar de negócios (o porquê) e o andar de tecnologia (o como), sem perder o fio condutor. Vamos usar isso aqui.

Andar de negócios: Empresas querem automatizar tarefas que hoje exigem um humano tomando decisões em sequência, pesquisar informações, interpretar resultados, decidir o próximo passo, executar uma ação, verificar se funcionou, corrigir o curso. Um analista financeiro que pesquisa dados de mercado, compara com uma política interna, decide se precisa de mais dados e então redige um relatório está fazendo exatamente isso. O valor está na autonomia do ciclo decisório, não apenas na geração de texto.

Andar de tecnologia: Para replicar isso em software, você precisa de mais do que um LLM. Você precisa de um sistema que perceba o estado do mundo, raciocine sobre ele, decida uma ação, execute essa ação via ferramentas externas, observe o resultado e itere, tudo guiado por um objetivo. Isso é um agente. A distinção não é filosófica; ela tem consequências diretas de arquitetura: latência, custo por tarefa, superfície de falha, observabilidade e segurança mudam completamente quando você sai de uma chamada de LLM para um loop autônomo.

A Definição Precisa: cinco ingredientes

Um agente de IA é um sistema computacional com cinco ingredientes que trabalham juntos:

  1. LLM como motor de raciocínio: o modelo não é o agente; ele é o cérebro. Pense nele como a CPU de um computador: poderosa, mas inerte sem o resto do sistema.
  2. Objetivo: uma tarefa ou meta que o agente deve atingir. Sem objetivo, o LLM é apenas um gerador de texto responsivo.
  3. Ferramentas (Tools): interfaces para o mundo externo: APIs, bancos de dados, buscas na web, execução de código, sistemas internos. São os efetores do agente, mãos e olhos.
  4. Memória: curto prazo (o context window da chamada atual) e longo prazo (armazenamento externo: banco vetorial, banco relacional, cache). Sem memória de longo prazo, o agente esquece tudo entre sessões.
  5. Autonomia para decidir os próximos passos: este é o ingrediente que separa agente de tudo o mais. O agente decide em runtime quais ferramentas chamar, em que ordem, quantas vezes, e quando parar. Não é um grafo de fluxo pré-definido.

A Anthropic resume bem em seu guia: 'Agents are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks.' Autonomia dinâmica é a palavra-chave.

Agente × Workflow × RAG × LLM Puro, o que cada um é

DimensãoLLM PuroRAG SimplesWorkflow / Pipeline FixoAgente Autônomo
Quem decide o fluxo?Ninguém, uma chamadaCódigo fixo (retrieve → generate)Código fixo (grafo de passos)O próprio LLM em runtime
Ferramentas externas?NãoApenas busca vetorialSim, mas pré-definidas e ordenadasSim, escolhidas dinamicamente
Memória entre passos?NãoContexto injetado, sem estadoEstado passado entre nós do grafoCurto prazo (contexto) + longo prazo (externo)
Número de chamadas ao LLM?11 (ou poucos, fixo)N fixo (definido no grafo)N variável (o agente decide)
Custo / latênciaBaixo e previsívelBaixo e previsívelMédio e previsívelAlto e variável (risco de loop)
Quando usar?Tarefa simples, resposta diretaQ&A sobre documentos internosProcesso conhecido, passos fixosTarefa aberta, passos desconhecidos a priori

Diagrama 1: Anatomia de um Agente de IA

Os cinco componentes internos de um agente e como se relacionam. O LLM é o centro de raciocínio; o runtime/orquestrador é o loop de controle; ferramentas são as saídas para o mundo; memória é o estado persistido.

🧠 Núcleo de Raciocínio / Reasoning Core
  • LLM · (Modelo / Brain)
  • Planner · (decompõe o objetivo)
🔄 Runtime / Orchestrator
  • Agent Runtime · (loop de controle)
🧰 Ferramentas / Tools
  • Web Search · API
  • Database · Query
  • Code · Executor
  • External · API / System
💾 Memória / Memory
  • Memória Curto Prazo · (Context Window)
  • Memória Longo Prazo · (Vector Store / DB)
👤 Entrada / Input
  • Usuário / Sistema · (objetivo / tarefa)

Tool Calling por Dentro: o coração do agente

Se você já trabalhou com APIs REST, entende function calling imediatamente com esta analogia: o LLM é um cliente que não pode fazer HTTP diretamente. Em vez disso, ele escreve um pedido de chamada num formato estruturado (JSON), e o runtime age como um proxy que executa a chamada real e devolve o resultado.

Na prática, funciona assim. Você registra ferramentas no sistema com um schema JSON, nome, descrição, parâmetros. O LLM recebe esse schema junto com o prompt do usuário. Quando o modelo decide que precisa de uma ferramenta, em vez de gerar texto livre, ele emite um objeto JSON especial:

{
  "tool_use": "search_web",
  "parameters": { "query": "taxa Selic hoje" }
}

O runtime intercepta isso, executa a função search_web com o parâmetro fornecido, obtém o resultado (digamos, "13,25% a.a.") e injeta de volta no contexto como uma mensagem de observação. O LLM então continua o raciocínio com essa nova informação disponível.

Por que isso é o coração do agente? Porque é o mecanismo que transforma o LLM de um gerador de texto passivo num ator que afeta o mundo. Sem tool calling, o agente não age, ele apenas planeja em voz alta. Com tool calling, cada iteração do loop pode mudar o estado externo: criar um arquivo, chamar uma API, escrever num banco de dados. Isso também é onde mora o risco: uma ferramenta mal especificada ou sem guardrails pode causar efeitos colaterais irreversíveis. Voltaremos a isso na Parte 2.

Diagrama 2: O Loop ReAct: Percepção → Raciocínio → Ação → Observação

Exemplo concreto: agente recebe a tarefa 'Qual o impacto da variação da Selic nos últimos 6 meses sobre o preço médio de CDBs de grandes bancos?', uma tarefa que exige múltiplos passos e fontes.

👤 Entrada / Input
  • Tarefa do Usuário · (objetivo complexo)
🔄 Loop ReAct (iterações do agente)
  • Thought 1 · 'Preciso da série histórica da Selic'
  • Action 1 · search_web('Selic histórico 6 meses')
  • Observation 1 · [dados da Selic retornados]
  • Thought 2 · 'Agora preciso de dados de CDB'
  • Action 2 · query_db('CDB grandes bancos 6m')
  • Observation 2 · [taxas CDB retornadas]
  • Thought 3 · 'Tenho dados suficientes, calcular correlação'
  • Action 3 · execute_code('correlação Selic × CDB')
  • Observation 3 · [resultado: correlação 0.87]
  • Final Answer · (relatório gerado)
🧰 Ferramentas Externas / External Tools
  • Web Search · API
  • Market Data · Database
  • Code · Executor

O Loop ReAct: Thought, Action, Observation

O paper de Yao et al. (2022) formalizou algo que parece óbvio em retrospecto mas foi um salto conceitual importante: intercalar raciocínio explícito com ações reais melhora drasticamente a qualidade e rastreabilidade do agente.

O loop tem quatro fases que se repetem:

Percepção (Perception): O agente recebe o estado atual, a tarefa original, o histórico de ações anteriores e as observações acumuladas. Tudo isso está no context window. É como abrir o seu IDE com o diff completo do que aconteceu até agora.

Raciocínio (Thought): O LLM gera um passo de raciocínio em linguagem natural: 'Eu tenho os dados da Selic, mas ainda não tenho os dados de CDB. Preciso consultar o banco de dados de mercado.' Esse passo não executa nada, é o modelo pensando em voz alta. Isso é crucial para debugabilidade: você pode ler o raciocínio do agente como um log.

Ação (Action): Com base no raciocínio, o LLM emite uma tool call estruturada. O runtime executa.

Observação (Observation): O resultado da ferramenta é injetado de volta no contexto como uma mensagem de sistema. O loop recomeça com esse novo contexto.

O agente para quando decide que tem informação suficiente para responder ao objetivo original, ou quando atinge um limite de iterações (seu circuit breaker). Sem esse limite, você tem um loop infinito, e uma fatura de API infinita.

Quando você precisa de um agente, e quando não precisa

Esta é a pergunta mais importante desta aula, e a resposta honesta é: na maioria dos casos reais, você não precisa de um agente autônomo.

A Anthropic é direta no seu guia de engenharia: 'When building applications with LLMs, we recommend finding the simplest solution possible, and only adding complexity when needed.' Isso não é modéstia corporativa, é arquitetura sólida.

Use workflow + RAG quando: os passos são conhecidos e fixos, o processo pode ser modelado como um grafo determinístico, a previsibilidade de custo e latência é crítica, e o domínio tem baixa tolerância a erros (financeiro regulado, saúde, jurídico). Um pipeline de onboarding de cliente, um sistema de Q&A sobre documentos regulatórios, uma geração de relatório com template fixo, tudo isso é workflow, não agente.

Use agente quando: a tarefa é aberta e os passos necessários não podem ser determinados a priori, o problema exige raciocínio adaptativo baseado em resultados intermediários, e você aceita variabilidade de custo e latência em troca de flexibilidade. Pesquisa exploratória, assistentes de debugging, automação de processos onde a sequência depende dos dados encontrados, esses são casos genuínos.

O sinal de alerta: se você consegue desenhar o fluxo completo em um diagrama de sequência antes de escrever código, provavelmente é um workflow. Se o diagrama tem um ponto de interrogação no meio: 'depende do que o LLM encontrar', aí você tem um candidato a agente. Comece sempre pelo mais simples.

Por onde começar, checklist mental do arquiteto

✅ Antes de chamar de 'agente': os passos da tarefa são conhecidos a priori? Se sim → workflow.
✅ A tarefa exige apenas recuperação de informação + geração de texto? Se sim → RAG simples.
✅ Se for agente: defina o objetivo com precisão. Objetivo vago = loop infinito.
✅ Liste as ferramentas necessárias com schemas precisos. Ferramenta mal descrita = alucinação de parâmetros.
✅ Defina um limite máximo de iterações (circuit breaker). Sem isso, o agente pode iterar indefinidamente.
✅ Separe memória de curto prazo (context window) de longo prazo (storage externo) desde o início.
FA
Perspectiva do Arquiteto | Fernando Azevedo
Arquiteto de TI Especialista

Depois de 16 anos construindo sistemas financeiros onde um bug pode significar perda real de dinheiro ou violação regulatória, minha reação instintiva a 'agente autônomo' é cautela, não ceticismo, cautela. O loop ReAct é genuinamente poderoso, mas autonomia tem custo: você troca previsibilidade por flexibilidade, e em sistemas regulados essa troca precisa ser justificada explicitamente. O que me convence a usar um agente não é a tecnologia em si, mas a natureza do problema: se o fluxo de decisão é genuinamente desconhecido a priori e depende de dados intermediários, o agente é a ferramenta certa. Se você consegue desenhar o fluxo antes de escrever código, use um pipeline. A maioria dos casos que vejo rotulados como 'agente' na prática são workflows com RAG, e não há nada errado nisso. Simplicidade é uma feature de arquitetura. Dito isso, para tarefas exploratórias, pesquisa de dados não estruturados e automação de processos complexos onde a sequência depende do que você encontra no caminho, o modelo mental desta aula vai servir como base sólida para tudo que vem depois, incluindo as decisões de produção na AWS que cobrimos na Parte 3.

Veredicto: O que você deve levar desta aula

Um agente de IA não é um LLM com um prompt melhor. É um sistema com cinco ingredientes precisos, modelo, objetivo, ferramentas, memória e autonomia, onde o LLM age como motor de raciocínio num loop iterativo (ReAct) que percebe, raciocina, age e observa até completar a tarefa. O mecanismo central que torna isso possível é o tool/function calling: o modelo emite intenções estruturadas em JSON, o runtime executa, e o resultado alimenta o próximo ciclo de raciocínio. A distinção entre agente, workflow e RAG não é semântica, ela determina custo, previsibilidade, superfície de falha e requisitos de observabilidade. Use o agente quando a autonomia é genuinamente necessária; use o pipeline quando o fluxo é conhecido. Na Parte 2, vamos subir um andar no elevador e olhar para os padrões de arquitetura que emergem quando você compõe múltiplos agentes, orquestrador, subagentes, paralelismo e os trade-offs de cada abordagem. Na Parte 3, descemos para o chão de fábrica: produção real na AWS com Bedrock AgentCore.

Referências

Anthropic: Building effective agentsYao et al. ReAct: Synergizing Reasoning and Acting in Language Models (arXiv 2210.03629)AWS: What are AI agents?Gregor Hohpe: The Architecture Elevator (book)
#ai-agents#llm#react-loop#function-calling#architecture#bedrock#foundational#series
Fontes do caso
Anthropic: Building effective agentsYao et al. ReAct: Synergizing Reasoning and Acting in LLMsAWS: What are AI agents?
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
Escrito com apoio de IA a partir do caso público e da minha leitura como arquiteto.
Próximo passo
Agentes de IA em produção na AWSComo eu desenho, oriento e audito agentes que vão ao ar, com os números e as fontes.Ver o IA BuilderTrilha Arquiteto de IA, gratuitaFundamentos, LLMs, RAG, tools, MCP e arquitetura na AWS, em aulas curtas e interativas.Começar a trilha

Continue lendo

Guia / Deep DiveLoop Engineering: projetando os loops que guiam agentes de IAO gargalo dos agentes de IA deixou de ser a frase do prompt e passou a ser o desenho do loop: trigger, topologia, verifier e stop rules. Este guia ensina os fundamentos do loop engineering, do ReAct base ao catálogo de padrões, com exemplos reais do meu próprio sistema e um passo a passo para engenheirar qualquer loop com segurança.Ler Guia / Deep DiveAgentes de IA por Dentro (2/3): Catálogo de Padrões, de ReAct a Multi-AgenteA segunda aula da série mapeia o catálogo completo de padrões de arquitetura de agentes de IA: dos loops single-agent (ReAct, Reflexion, Plan-and-Execute) à orquestração multi-agente, passando por memória como decisão de arquitetura, guardrails e human-in-the-loop. O objetivo é dar ao arquiteto uma linguagem precisa para escolher, e justificar, o padrão certo para cada problema, sem cair nos anti-patterns clássicos.Ler Guia / Deep DiveAgentes de IA por Dentro (3/3): Agentes em Produção na AWS com Bedrock AgentCoreA terceira e última parte da série desce o elevador até o andar técnico: como colocar um agente de IA em produção na AWS usando o Amazon Bedrock AgentCore. Cobrimos o mapa completo dos componentes (Runtime, Gateway, Memory, Identity, Observability), a escolha de modelo por custo/latência/raciocínio, segurança com guardrails e isolamento de sessão, e FinOps para manter o custo real abaixo de poucos dólares por mês.Ler
AnteriorAgentes de IA por Dentro (2/3): Catálogo de Padrões, de ReAct a Multi-AgentePróximoPlaybook: 5 Mudanças em Arquitetura de IA, e o que fazer com cada uma
Gostou deste estudo? Receba o próximo.

Post-mortems, ADRs e deep dives de arquitetura no seu email, do jeito que um arquiteto lê.

Sem spam · cancele quando quiser

Pergunte ao Fernando sobre isto

Uma resposta focada sobre este estudo, do meu assistente de IA, baseada no meu trabalho.

Participe da conversa

Entre para comentar

Confirme seu e-mail para participar, você também recebe a newsletter. Sem senha.

Neste estudo
Subindo o Elevador: do negócio para a tecnologiaA Definição Precisa: cinco ingredientesAgente × Workflow × RAG × LLM Puro, o que cada um éArquiteturaTool Calling por Dentro: o coração do agenteArquiteturaO Loop ReAct: Thought, Action, ObservationQuando você precisa de um agente, e quando não precisaVeredicto: O que você deve levar desta aulaReferências