Ir para o conteúdo

Agentes de IA: o que são, como funcionam e como criar um

Agentes de IA vão além do chatbot: recebem objetivos, escolhem ferramentas, mantêm estado e executam etapas. Entenda a arquitetura, os riscos e como criar um agente útil.

Palavras: 3072Tempo de Leitura: 16 Minutos

Um chatbot responde.

Um agente age.

Essa é a diferença mais simples — e também a mais perigosa de simplificar demais.

Quando você conversa com um modelo de linguagem e pergunta “qual é a previsão do tempo?”, ele pode responder usando conhecimento ou uma busca. Quando você diz “reagende minha reunião, avise as pessoas e atualize o documento do projeto”, a tarefa exige outra arquitetura: interpretar um objetivo, decidir etapas, acessar ferramentas, observar resultados, corrigir o plano e executar ações em sistemas reais.

É aí que entramos no terreno dos agentes de IA.

Nos últimos anos, o termo virou rótulo para quase tudo: chatbot com function calling, automação com LLM, workflow no n8n, assistente de programação, sistema multiagente e até scripts que apenas chamam uma API.

Isso cria confusão.

Por isso, antes de pensar em frameworks, MCP, memória ou squads de agentes, vale construir uma definição operacional.

Um agente de IA é um sistema no qual um modelo recebe um objetivo, interpreta o estado atual, escolhe entre ações disponíveis, usa ferramentas e repete esse ciclo até produzir um resultado ou chegar a um limite definido.

O ponto importante não é “usar IA”.

É delegar parte da decisão sobre o próximo passo ao modelo.

Essa mudança parece pequena. Na prática, transforma a IA de componente de geração em componente de operação.

Chatbot, workflow e agente não são a mesma coisa

Comecemos separando três arquiteturas.

Chatbot

O fluxo costuma ser:

usuário
  ↓
mensagem
  ↓
modelo
  ↓
resposta

O modelo pode ter contexto, memória e busca, mas a principal saída continua sendo uma resposta.

Workflow com IA

Agora existe um caminho definido pelo software:

formulário
   ↓
classificar texto com IA
   ↓
consultar banco
   ↓
gerar resumo
   ↓
enviar e-mail

A IA participa do processo, mas o código já decidiu a sequência.

Anthropic usa uma distinção útil: workflows seguem caminhos predefinidos; agents deixam o modelo dirigir dinamicamente parte do processo e do uso de ferramentas.

Agente

O fluxo muda:

objetivo
   ↓
modelo observa o contexto
   ↓
escolhe uma ação
   ↓
usa uma ferramenta
   ↓
recebe o resultado
   ↓
decide o próximo passo
   ↓
...
   ↓
resultado

A diferença está no loop.

O software define regras, ferramentas, limites e ambiente.

O modelo decide, dentro desses limites, o que fazer a seguir.

Um agente não é apenas um LLM com um nome

A forma mais útil de pensar em agentes é como um sistema formado por camadas.

Uma arquitetura mínima costuma ter:

objetivo
  ↓
instruções
  ↓
modelo
  ↓
orquestração / estado
  ↓
tools
  ↓
sistemas externos
  ↓
observação
  ↺

Cada camada resolve um problema diferente.

1. O modelo

O modelo é o mecanismo de interpretação e decisão.

Ele recebe:

  • a solicitação;
  • instruções;
  • contexto disponível;
  • descrição das ferramentas;
  • resultados anteriores;
  • eventualmente memória ou conhecimento recuperado.

Então decide se precisa:

  • responder;
  • pedir mais informação;
  • chamar uma ferramenta;
  • delegar;
  • executar outra etapa;
  • encerrar.

Um modelo melhor pode aumentar a qualidade das decisões.

Mas isso não transforma automaticamente um sistema ruim em agente confiável.

Já escrevi sobre esse ponto em O modelo não é o produto: em aplicações reais, arquitetura, contexto, ferramentas, validação, custo e controle importam tanto quanto o modelo.

2. As instruções

Um agente precisa saber qual trabalho executa.

Não basta:

“Você é um agente útil.”

Uma especificação melhor contém:

  • objetivo;
  • fronteiras;
  • critérios de sucesso;
  • decisões permitidas;
  • decisões proibidas;
  • quando pedir ajuda;
  • formato esperado;
  • regras de segurança.

Por exemplo:

Objetivo:
qualificar leads recebidos pelo formulário.

Pode:
- consultar CRM;
- consultar histórico de contato;
- sugerir prioridade;
- criar tarefa para vendedor.

Não pode:
- enviar proposta;
- alterar preço;
- excluir registros;
- prometer prazo ao cliente.

Escalar para humano quando:
- valor estimado > R$ 50 mil;
- dados estiverem inconsistentes;
- cliente solicitar condição fora da política.

Isso é muito mais próximo de um contrato operacional.

3. As tools

Tools são as capacidades do agente.

Sem tools, o modelo pode pensar e gerar texto.

Com tools, ele pode interagir com o mundo.

Exemplos:

  • buscar dados;
  • consultar banco;
  • criar ticket;
  • enviar mensagem;
  • executar SQL;
  • chamar API;
  • manipular arquivo;
  • rodar testes;
  • abrir pull request;
  • controlar navegador;
  • disparar workflow.

OpenAI descreve agentes como unidades que combinam modelo, instruções e capacidades como tools, MCP, guardrails e handoffs. Google também coloca tools como uma das peças centrais: são elas que transformam raciocínio em ação.

Mas uma ferramenta mal desenhada aumenta o risco.

Compare:

execute_sql(query)

com:

buscar_cliente_por_email(email)
criar_tarefa_comercial(cliente_id, descricao)
registrar_nota(cliente_id, nota)

A primeira entrega poder enorme e pouco contexto.

As outras expõem operações mais estreitas, compreensíveis e auditáveis.

Anthropic resume isso de forma prática: agentes são tão bons quanto as ferramentas disponíveis.

4. O estado e a memória

Um agente que executa tarefas em múltiplas etapas precisa lembrar onde está.

Imagine:

  1. buscar pedido;
  2. verificar política;
  3. consultar pagamento;
  4. decidir se pode reembolsar;
  5. executar ação;
  6. registrar evidência.

Se o sistema perde o estado entre as etapas, o agente não sabe o que já verificou.

Por isso precisamos distinguir algumas coisas.

Contexto de trabalho

Informação necessária para esta execução.

Estado

O que já aconteceu no processo.

Memória persistente

Informações que devem continuar disponíveis depois desta execução.

Conhecimento externo

Documentos, banco, RAG, APIs ou outras fontes consultadas quando necessário.

Misturar tudo numa enorme janela de contexto é possível em demos.

Em produção, normalmente precisamos decidir explicitamente o que guardar, por quanto tempo e para quê.

5. A orquestração

A orquestração controla o loop.

Em pseudocódigo:

estado = iniciar(objetivo)

enquanto estado.nao_finalizado:

    decisao = modelo.decidir(
        objetivo,
        instrucoes,
        estado,
        ferramentas
    )

    se decisao.tipo == "tool":
        resultado = executar_com_controle(decisao.tool)
        estado.registrar(resultado)

    se decisao.tipo == "perguntar":
        pausar_e_pedir_entrada()

    se decisao.tipo == "finalizar":
        validar_saida()
        encerrar()

Na prática entram mais componentes:

  • timeouts;
  • retry;
  • limites de passos;
  • validação de argumentos;
  • autenticação;
  • autorização;
  • tracing;
  • aprovações;
  • tratamento de falhas.

É aqui que um “prompt esperto” vira engenharia de software.

Como um agente trabalha na prática

Imagine um agente de suporte para pedidos.

O usuário escreve:

“Meu pedido não chegou. Quero saber o que aconteceu.”

O agente pode executar algo como:

Etapa 1 — identificar o cliente

Tool:

buscar_cliente(email)

Etapa 2 — localizar o pedido

Tool:

listar_pedidos(cliente_id)

Etapa 3 — consultar logística

Tool:

consultar_rastreamento(pedido_id)

Resultado:

status: retido na transportadora
motivo: endereço incompleto

Etapa 4 — decidir

As regras dizem:

  • endereço incompleto pode ser corrigido;
  • reenvio exige confirmação do cliente;
  • reembolso acima de determinado valor precisa de aprovação humana.

Etapa 5 — agir

O agente pergunta:

“O endereço cadastrado termina em 125. Deseja corrigir antes de solicitar o reenvio?”

Perceba a diferença.

O agente não apenas respondeu uma pergunta.

Ele:

  • observou;
  • consultou ferramentas;
  • aplicou regras;
  • escolheu o próximo passo;
  • pausou para obter autorização.

Isso é agentic.

Autonomia não é binária

Um erro comum é pensar:

manual ←──────────────→ autônomo

como se existissem apenas dois estados.

Na prática, podemos desenhar níveis.

Nível 1 — recomendação

O agente analisa e sugere.

Humano executa.

Nível 2 — preparação

O agente cria rascunho, proposta, query ou mudança.

Humano aprova.

Nível 3 — execução limitada

O agente pode executar ações de baixo risco.

Ações sensíveis exigem aprovação.

Nível 4 — execução ampla

O agente possui maior autonomia dentro de políticas e limites.

Essa escala é útil porque mais autonomia não significa automaticamente melhor sistema.

Para muitos casos, o nível 2 ou 3 entrega boa parte do ganho com muito menos risco.

Quando usar agente — e quando não usar

Agentes são interessantes quando:

  • a sequência exata de passos varia;
  • o sistema precisa interpretar situações novas;
  • existem várias tools possíveis;
  • o agente precisa buscar informação antes de decidir;
  • a tarefa envolve exceções;
  • um workflow fixo seria grande e frágil;
  • há valor suficiente para justificar custo e complexidade.

Mas se o processo for:

se pagamento aprovado:
    enviar nota
senão:
    avisar financeiro

você provavelmente não precisa de um agente.

Código tradicional é:

  • mais barato;
  • mais previsível;
  • mais fácil de testar;
  • mais fácil de auditar.

Anthropic recomenda explicitamente começar pela solução mais simples e aumentar a complexidade apenas quando o problema justificar.

Esse conselho é importante.

“Agentificar” tudo é tão ruim quanto tentar resolver tudo com microsserviços.

Como criar seu primeiro agente

Vamos transformar a arquitetura em um processo prático.

Passo 1 — escolha uma tarefa estreita

Evite começar com:

“agente que administra minha empresa.”

Prefira:

“agente que recebe tickets novos, consulta documentação e prepara uma resposta para revisão humana.”

A tarefa precisa ter:

  • entrada clara;
  • objetivo claro;
  • ferramentas definidas;
  • saída verificável.

Passo 2 — escreva o contrato

Defina:

entrada
objetivo
tools
limites
critérios de sucesso
condições de parada
condições de escalonamento

Se você não consegue escrever isso, ainda não entende suficientemente o processo para automatizá-lo com segurança.

Passo 3 — exponha poucas ferramentas

Comece pequeno.

Por exemplo:

buscar_documentacao(query)
buscar_ticket(id)
salvar_rascunho(ticket_id, texto)

Não exponha acesso administrativo inteiro “porque pode ser útil depois”.

Cada tool aumenta:

  • superfície de decisão;
  • superfície de erro;
  • superfície de segurança.

Passo 4 — crie validação

Se o agente produz saída estruturada, valide.

Se chama ferramenta, valide argumentos.

Se modifica dado crítico, valide estado anterior.

Se existe política, transforme parte dela em código determinístico.

Um bom padrão é:

modelo decide
    ↓
código valida
    ↓
ação acontece

e não:

modelo decide
    ↓
ação acontece diretamente

Passo 5 — limite o loop

Todo agente precisa de condições de parada.

Por exemplo:

  • máximo de 8 passos;
  • timeout de 90 segundos;
  • máximo de 3 falhas de tool;
  • orçamento de custo;
  • necessidade de aprovação em determinadas ações.

Sem limites, um erro de raciocínio pode virar:

  • loop;
  • custo;
  • spam;
  • alterações repetidas.

Passo 6 — registre tudo o que importa

Você precisa conseguir responder:

  • qual instrução estava ativa?
  • qual modelo foi usado?
  • quais tools estavam disponíveis?
  • qual tool foi chamada?
  • com quais argumentos?
  • qual resultado voltou?
  • por que a execução parou?
  • quem aprovou uma ação sensível?

Isso é observabilidade de agentes.

O artigo Agentes em produção: migração, permissões e segurança aprofunda exatamente essa camada.

Passo 7 — crie avaliações

“Funcionou comigo” não é benchmark.

Monte casos.

caso 1: pedido normal
caso 2: dado ausente
caso 3: política ambígua
caso 4: ferramenta falha
caso 5: usuário pede ação proibida
caso 6: informação conflitante

Depois meça:

  • taxa de conclusão;
  • decisão correta;
  • uso correto de tools;
  • número de passos;
  • custo;
  • necessidade de intervenção;
  • erros críticos.

Agentes são sistemas probabilísticos operando sobre software determinístico.

Avaliação é a ponte entre os dois.

Passo 8 — aumente autonomia devagar

Primeiro:

agente prepara.

Depois:

agente executa ações reversíveis.

Só então considere:

agente executa ações de impacto maior.

Autonomia deveria ser conquistada por evidência.

Não presumida pela qualidade de uma demo.

E onde entra o MCP?

MCP — Model Context Protocol — é uma forma padronizada de conectar sistemas de IA a ferramentas, recursos e fontes externas.

Em vez de cada aplicação inventar uma integração exclusiva, um servidor MCP pode expor capacidades para clientes compatíveis.

Mas MCP não “transforma algo em agente”.

Ele resolve outra camada:

agente
  ↓
como acessar ferramentas/contexto?
  ↓
MCP pode ser uma das respostas

Um agente também pode usar:

  • function calling;
  • SDKs;
  • REST APIs;
  • CLI;
  • banco;
  • browser;
  • integrações nativas.

MCP será um dos próximos conteúdos deste cluster porque vale ser entendido separadamente.

Um agente precisa de memória?

Não necessariamente.

Essa é outra confusão comum.

Um agente simples pode concluir uma tarefa em uma única execução usando apenas o estado daquela sessão.

Memória persistente faz sentido quando existe valor em lembrar algo depois.

Exemplos:

  • preferência do usuário;
  • histórico operacional;
  • decisão anterior;
  • contexto de projeto;
  • conhecimento aprendido.

Mas guardar tudo também cria problemas:

  • privacidade;
  • dados obsoletos;
  • contexto irrelevante;
  • custo;
  • conflito de informação.

A pergunta não é:

“Como coloco memória no agente?”

É:

“Qual informação futura realmente melhora a próxima decisão?”

Multiagente é melhor que um agente?

Também não.

Você pode criar:

agente gerente
   ├── agente pesquisa
   ├── agente código
   ├── agente teste
   └── agente revisão

Isso pode ser útil quando existem especializações e fronteiras claras.

Mas também adiciona:

  • coordenação;
  • mais chamadas;
  • mais custo;
  • mais latência;
  • mais estados;
  • mais pontos de falha.

Um único agente com boas tools pode ser melhor que cinco agentes conversando entre si.

Arquitetura multiagente deve resolver um problema.

Não servir como decoração técnica.

O principal risco muda quando a IA pode agir

Quando um modelo apenas gera texto, uma alucinação pode virar uma resposta errada.

Quando um agente possui tools, a mesma classe de erro pode virar:

  • registro alterado;
  • arquivo apagado;
  • código publicado;
  • mensagem enviada;
  • pagamento iniciado;
  • permissão concedida.

Por isso, segurança de agentes precisa combinar segurança tradicional com controles específicos.

NIST publicou em 2026 uma análise sobre segurança de agentes e encontrou amplo consenso de que eles introduzem ameaças novas e exigem adaptação das práticas de cybersecurity.

Alguns controles básicos:

Menor privilégio

Dê apenas as permissões necessárias.

Tools estreitas

Prefira ações específicas a interfaces administrativas genéricas.

Aprovação humana

Ações irreversíveis ou de alto impacto devem poder pausar.

Isolamento

Execução de código e arquivos precisa de sandbox quando aplicável.

Validação determinística

Nunca delegue ao modelo aquilo que pode ser garantido de forma barata por código.

Auditoria

Ação importante precisa deixar rastro.

O perigo da prompt injection

Imagine um agente que:

  1. lê páginas da web;
  2. acessa seu e-mail;
  3. possui tool para enviar mensagens.

Uma página externa pode conter instruções maliciosas tentando convencer o modelo a usar suas tools de forma indevida.

O agente precisa distinguir:

instrução confiável do sistema
        ≠
conteúdo externo não confiável

Esse problema não é resolvido por “um prompt melhor”.

Ele exige arquitetura:

  • separar dados de instruções;
  • restringir tools;
  • limitar credenciais;
  • validar destino;
  • exigir aprovação quando necessário.

Agentes não eliminam engenharia de software

Eles aumentam a importância dela.

Um bom agente precisa de:

  • contratos;
  • APIs;
  • autenticação;
  • autorização;
  • estado;
  • filas;
  • logs;
  • testes;
  • observabilidade;
  • rollback;
  • tratamento de erro.

A diferença é que agora existe uma camada probabilística escolhendo algumas transições.

Isso faz com que disciplina de engenharia seja ainda mais valiosa.

Como saber se seu agente é bom

Eu usaria uma pergunta simples:

ele produz resultados válidos de forma repetível, com custo e risco aceitáveis?

Não:

“ele parece inteligente?”

Um agente impressionante numa conversa pode ser péssimo operacionalmente.

Meça:

resultado válido
───────────────
custo + tempo + risco

No artigo Quando um agente de IA fica realmente mais barato que um funcionário?, eu aprofundo essa unidade econômica: o que importa não é token barato, mas custo por resultado aceito.

Um exemplo de arquitetura segura

Imagine um agente comercial.

Em vez de:

agente
  ↓
acesso total ao CRM
  ↓
faz qualquer alteração

podemos criar:

                    ┌→ buscar_cliente
                    │
objetivo → agente ──┼→ listar_oportunidades
                    │
                    ├→ criar_rascunho_followup
                    │
                    └→ solicitar_aprovacao
                               ↓
                            humano
                               ↓
                         enviar_followup

A IA continua tomando decisões úteis.

Mas a arquitetura limita o blast radius.

Esse é o tipo de sistema que me interessa muito mais do que “agente 100% autônomo” usado como slogan.

O melhor primeiro agente é pequeno

Se você quiser experimentar hoje, escolha algo que:

  • você já sabe fazer manualmente;
  • acontece com frequência;
  • possui critérios claros;
  • usa poucas ferramentas;
  • tem erro reversível;
  • consegue ser avaliado.

Algumas ideias:

Desenvolvimento

Agente que recebe issue, investiga arquivos e prepara patch para revisão.

Conteúdo

Agente que pesquisa fontes, cria outline e marca afirmações que precisam de conferência.

Suporte

Agente que consulta base de conhecimento e prepara resposta.

Vendas

Agente que pesquisa lead e gera briefing para uma conversa.

Operação

Agente que analisa logs e sugere diagnóstico sem executar mudanças automaticamente.

Começar pequeno não reduz ambição.

Aumenta a chance de aprender o que realmente precisa ser automatizado.

O que muda daqui para frente

Agentes de IA estão deslocando a interface com software.

Antes, nós mesmos navegávamos por telas e APIs.

Agora, cada vez mais podemos expressar um objetivo e deixar um sistema decidir parte dos passos intermediários.

Isso é poderoso.

E cria uma nova responsabilidade.

Quanto maior a capacidade de ação, mais importantes ficam:

  • limites;
  • observabilidade;
  • avaliação;
  • identidade;
  • autorização;
  • supervisão;
  • engenharia.

O futuro interessante dos agentes não é um mundo em que ninguém controla nada.

É um mundo em que software consegue fazer mais trabalho sob contratos claros e verificáveis.

Essa diferença separa automação útil de autonomia irresponsável.

Um checklist para seu primeiro agente

Antes de colocar qualquer agente em produção, responda:

  • Qual é o objetivo exato?
  • Como sei que ele concluiu corretamente?
  • Quais tools ele realmente precisa?
  • Que ações são reversíveis?
  • O que exige aprovação?
  • Qual o limite de passos?
  • Qual o limite de custo?
  • O que fica registrado?
  • Como testo casos ruins?
  • O que acontece quando uma tool falha?
  • Como revogo acesso?
  • Como paro a execução?

Se essas respostas não existem, ainda não existe um agente pronto para produção.

Existe uma demo.

Próximo nível

Se você já entendeu a arquitetura — modelo, instruções, tools, estado, avaliação e controle — o próximo passo é construir sistemas reais e medir o que acontece quando eles saem da demo.

No AIStack, eu aprofundo justamente essa transição: sistemas com IA, agentes, tools, RAG, custo, avaliação e segurança como engenharia, não como coleção de prompts.

Nos próximos conteúdos deste cluster, vamos separar componentes que merecem ser entendidos individualmente — especialmente MCP, diferença entre agentes e chatbots, uso de agentes no n8n e comparação entre arquiteturas agentic.

Publicado em