MODULO 3.4

๐Ÿค– Agentes de IA

Construa agentes autonomos que planejam, executam e iteram para resolver tarefas complexas.

6
Topicos
30
Minutos
Avancado
Nivel
Arquitetura
Tipo
1

๐Ÿค– O que sao Agentes

Um agente de IA e um LLM que opera em um loop de acao: observar o ambiente, pensar sobre o que fazer, agir usando ferramentas e observar o resultado. Diferente de um chatbot simples que responde uma vez, o agente itera autonomamente ate completar a tarefa.

๐Ÿ”„ Paradigma ReAct (Reasoning + Acting)

1 Observar: O agente recebe a tarefa ou o resultado da acao anterior. Analisa o estado atual do problema.
2 Pensar: O LLM raciocina sobre qual a proxima acao necessaria. Gera um "pensamento" explicito antes de agir.
3 Agir: Escolhe e executa uma ferramenta (buscar na web, executar codigo, ler arquivo, chamar API).
4 Observar resultado: Recebe o output da ferramenta e decide se a tarefa esta completa ou se precisa iterar.

๐Ÿ“Š Niveis de Autonomia

Assistente (Nivel 1)

Responde perguntas e executa acoes simples quando solicitado. O humano controla cada passo. Exemplo: chatbot de FAQ.

Copiloto (Nivel 2)

Sugere acoes e executa com aprovacao. O humano supervisiona e aprova. Exemplo: GitHub Copilot, assistente de email.

Agente (Nivel 3)

Planeja e executa autonomamente multiplos passos. O humano define o objetivo e recebe o resultado. Exemplo: agente de pesquisa, coding agent.

๐Ÿ’ก Exemplos Reais de Agentes

  • โ€ข Browsing agents: Navegam a web, leem paginas, clicam em links e extraem informacoes para responder perguntas complexas.
  • โ€ข Coding agents: Escrevem codigo, executam testes, debugam erros e iteram ate o codigo funcionar (ex.: Claude Code, Devin).
  • โ€ข Research agents: Buscam em multiplas fontes, sintetizam informacoes e produzem relatorios estruturados.
2

๐Ÿ—บ๏ธ Loop de Planejamento

Agentes mais sofisticados nao apenas reagem โ€” eles planejam antes de agir. O padrao plan-and-execute separa o planejamento da execucao, permitindo que o agente decomponha tarefas complexas em subtarefas gerenciaveis e replaneje quando algo falha.

๐Ÿ—๏ธ Padrao Plan-and-Execute

1 Receber tarefa: O agente recebe um objetivo de alto nivel (ex.: "Pesquise os 5 melhores frameworks de IA e compare-os").
2 Decompor em subtarefas: Divide em passos concretos โ€” buscar cada framework, coletar features, montar tabela comparativa.
3 Executar passo a passo: Executa cada subtarefa em sequencia, usando ferramentas apropriadas para cada uma.
4 Replanejar se necessario: Se uma subtarefa falha ou revela nova informacao, o agente ajusta o plano restante.

โœ… Quando Planejar

  • โœ“ Tarefas com multiplas etapas dependentes
  • โœ“ Objetivos complexos que exigem decomposicao
  • โœ“ Cenarios onde erros sao custosos (melhor planejar antes)
  • โœ“ Tarefas que envolvem coordenar multiplas ferramentas

โŒ Quando Executar Diretamente

  • โœ— Tarefas simples de um unico passo
  • โœ— Respostas diretas que nao precisam de ferramentas
  • โœ— Quando velocidade e mais importante que precisao
  • โœ— Tarefas repetitivas com fluxo ja conhecido

๐Ÿ’ก Profundidade de Planejamento

Cuidado com over-planning: planejar demais antes de agir pode ser tao ruim quanto nao planejar. O ideal e planejar 2-3 passos a frente e replanejar apos cada execucao. Planejamento muito detalhado tende a ficar obsoleto rapidamente quando o agente descobre novas informacoes durante a execucao.

3

๐Ÿง  Memoria e Estado

Um agente eficaz precisa manter contexto entre iteracoes. Sem memoria, o agente esquece o que ja fez, repete acoes e perde coerencia. Existem diferentes tipos de memoria, cada uma servindo um proposito especifico no funcionamento do agente.

๐Ÿ’ฌ

Short-term Memory (Buffer de Conversa)

O historico recente da conversa โ€” as ultimas mensagens trocadas entre o usuario, o agente e as ferramentas. E a forma mais simples de memoria.

  • Vantagem: Simples de implementar, mantem contexto imediato.
  • Limitacao: Restrita ao tamanho da context window do modelo.
๐Ÿ—„๏ธ

Long-term Memory (Vector Store)

Informacoes persistidas em um banco de dados vetorial. O agente pode buscar memorias relevantes de sessoes anteriores usando busca semantica.

  • Vantagem: Persiste entre sessoes, escala para milhares de interacoes.
  • Limitacao: Requer infraestrutura de vector store (Pinecone, Weaviate, ChromaDB).
๐Ÿ“

Working Memory (Scratchpad)

Uma area temporaria onde o agente armazena notas, resultados intermediarios e o estado atual da tarefa. Funciona como um "bloco de notas" mental.

  • Vantagem: Permite ao agente rastrear progresso e acumular informacoes entre passos.
  • Limitacao: Consome espaco na context window; precisa ser podada periodicamente.
๐Ÿ“‹

Summary Memory (Resumo Compactado)

Quando o historico fica longo demais, o agente gera um resumo das interacoes passadas e substitui as mensagens originais. Ideal para conversas longas.

  • Vantagem: Mantem contexto essencial sem estourar a context window.
  • Limitacao: Perde detalhes especificos durante a sumarizacao.

โš ๏ธ Gerenciamento de Context Window

A maior limitacao pratica de agentes e o tamanho da context window. Cada iteracao do loop adiciona mais tokens (pensamento, acao, resultado). Estrategias para gerenciar:

  • โ€ข Sliding window: Manter apenas as N ultimas iteracoes no contexto
  • โ€ข Sumarizacao periodica: A cada 5-10 iteracoes, resumir o historico
  • โ€ข Externalizar estado: Salvar resultados intermediarios fora do contexto e recuperar quando necessario
4

๐Ÿ‘ฅ Multi-Agentes

Em vez de um unico agente fazendo tudo, sistemas multi-agentes dividem o trabalho entre agentes especializados. Cada agente tem um papel, ferramentas e instrucoes proprias. A coordenacao entre eles e o desafio central.

๐Ÿ—๏ธ Arquiteturas Multi-Agentes

Supervisor (Orquestrador)

Um agente central recebe a tarefa, decide qual agente especialista deve trabalhar em cada parte e consolida os resultados. O supervisor controla o fluxo e resolve conflitos. E o padrao mais comum e previsivel.

Peer-to-Peer (Colaborativo)

Agentes se comunicam diretamente entre si, sem supervisor central. Cada agente decide quando precisa de ajuda e a quem pedir. Mais flexivel, mas mais dificil de controlar e debugar.

Pipeline (Sequencial)

Agentes trabalham em sequencia โ€” o output de um e o input do proximo. Similar a uma linha de producao. Simples de implementar, mas limitado a fluxos lineares.

๐Ÿ”ง Frameworks Multi-Agentes

  • โ€ข CrewAI: Define agentes com roles, goals e backstories. Suporta tarefas sequenciais e paralelas. API simples e intuitiva.
  • โ€ข AutoGen (Microsoft): Agentes conversam entre si para resolver tarefas. Suporta human-in-the-loop e execucao de codigo.
  • โ€ข LangGraph: Modelagem de agentes como grafos de estado. Maximo controle sobre o fluxo, ideal para sistemas complexos em producao.

๐Ÿ’ก Especializacao vs. Generalismo

Agentes especializados (cada um com poucas ferramentas e instrucoes focadas) tendem a performar melhor que um agente generalista com muitas ferramentas. A razao: quanto mais opcoes o LLM tem, maior a chance de escolher errado. Divida responsabilidades claramente entre agentes.

5

๐Ÿ›ก๏ธ Limites e Seguranca

Agentes autonomos executam acoes reais no mundo โ€” enviam emails, modificam arquivos, fazem chamadas de API. Sem guardrails adequados, um agente pode causar danos serios. Seguranca nao e opcional, e a base de qualquer sistema agente em producao.

โš ๏ธ Riscos de Agentes Autonomos

  • โ€ข Loops infinitos: O agente pode ficar preso em um ciclo sem convergir para uma solucao, consumindo tokens e recursos indefinidamente.
  • โ€ข Acoes destrutivas: Deletar arquivos, enviar mensagens erradas, modificar dados em producao sem confirmacao.
  • โ€ข Exfiltracao de dados: Um agente com acesso a dados sensiveis e a internet pode vazar informacoes involuntariamente.
  • โ€ข Prompt injection via ferramentas: Dados retornados por ferramentas podem conter instrucoes maliciosas que desviam o comportamento do agente.

๐Ÿ”’ Praticas de Seguranca Essenciais

1 Sandboxing: Execute acoes do agente em ambientes isolados. Containers, VMs ou permissoes restritas. Nunca de acesso root ou admin.
2 Rate limits: Limite o numero de acoes por minuto, custo maximo por execucao e numero maximo de iteracoes do loop.
3 Human-in-the-loop: Para acoes de alto impacto (enviar email, deletar dados, fazer pagamento), exija aprovacao humana antes de executar.
4 Principio do menor privilegio: De ao agente apenas as permissoes minimas necessarias. Se so precisa ler arquivos, nao de permissao de escrita.
5 Logging e auditoria: Registre cada acao, decisao e ferramenta chamada. Essencial para debugar problemas e auditar comportamento.

โœ… Fazer

  • โœ“ Definir limites claros de iteracoes (max 20-50)
  • โœ“ Implementar circuit breakers para falhas consecutivas
  • โœ“ Validar outputs de ferramentas antes de usar
  • โœ“ Testar em ambiente staging antes de producao

โŒ Evitar

  • โœ— Dar acesso irrestrito a sistemas criticos
  • โœ— Confiar cegamente nas decisoes do agente
  • โœ— Ignorar logs e nao monitorar execucoes
  • โœ— Permitir acoes irreversiveis sem confirmacao
6

๐Ÿงช Exercicio: Agente com Ferramentas

Neste exercicio, voce vai construir um agente simples que usa 3 ferramentas para completar uma tarefa de pesquisa. O objetivo e praticar o loop ReAct e entender como um agente decide qual ferramenta usar em cada passo.

๐Ÿ”ง Definicao das 3 Ferramentas

๐Ÿ” search(query)

Busca informacoes na web ou em uma base de dados. Recebe uma query de busca e retorna trechos relevantes. Simule com 5-10 documentos pre-definidos.

๐Ÿงฎ calculate(expression)

Executa calculos matematicos. Recebe uma expressao e retorna o resultado. Util para comparacoes numericas, porcentagens e analises quantitativas.

โœ๏ธ write(title, content)

Escreve o resultado final em formato estruturado. Recebe titulo e conteudo, produz a resposta formatada para o usuario.

๐Ÿ“‹ Implementacao do Loop ReAct

Tarefa: "Qual e a populacao total dos 3 maiores

paises da America do Sul?"

Iteracao 1:

Pensamento: Preciso descobrir os 3 maiores paises.

Acao: search("3 maiores paises America do Sul por area")

Resultado: Brasil, Argentina, Peru...

Iteracao 2:

Pensamento: Agora preciso das populacoes de cada um.

Acao: search("populacao Brasil Argentina Peru 2025")

Resultado: Brasil 215M, Argentina 46M, Peru 34M...

Iteracao 3:

Pensamento: Tenho os dados, vou calcular o total.

Acao: calculate("215000000 + 46000000 + 34000000")

Resultado: 295000000

Iteracao 4:

Pensamento: Tenho a resposta completa. Vou escrever.

Acao: write("Populacao dos 3 maiores paises", ...)

Resultado: Relatorio final entregue. โœ…

๐ŸŽฏ Criterios de Avaliacao

  • 1. O agente escolheu a ferramenta certa em cada passo?
  • 2. Os "pensamentos" sao coerentes e levam a proxima acao logica?
  • 3. O agente convergiu para a resposta em poucas iteracoes (sem loops desnecessarios)?
  • 4. O resultado final esta correto e bem estruturado?
  • 5. Teste com uma tarefa impossivel โ€” o agente reconhece e para?

๐Ÿ“ Resumo do Modulo

โœ“
Agentes sao LLMs com loop de acao โ€” Observam, pensam, agem e iteram ate completar a tarefa
โœ“
Planejamento melhora tarefas complexas โ€” Decompor em subtarefas e replanejar quando necessario
โœ“
Memoria e essencial para coerencia โ€” Short-term, long-term, working e summary memory servem propositos diferentes
โœ“
Multi-agentes dividem complexidade โ€” Agentes especializados coordenados superam um unico agente generalista
โœ“
Seguranca nao e opcional โ€” Sandboxing, rate limits, human-in-the-loop e logging sao obrigatorios
โœ“
Pratique o loop ReAct โ€” Construir agentes simples e a melhor forma de entender como funcionam

Proximo Modulo:

3.5 โ€” Continue aprofundando seus conhecimentos na trilha avancada