π§ De LLM a Agente: a diferenca
Um Large Language Model (LLM) como Claude, GPT ou Gemini e, em essencia, um motor de completacao de texto extremamente sofisticado. Voce envia um prompt, ele gera uma resposta β e ai para. Nao importa quao brilhante seja a resposta: o LLM nao verifica se ela esta correta, nao busca informacoes adicionais, nao executa codigo para validar e nao lembra da conversa na proxima sessao. Ele e reativo por natureza: responde quando perguntado e fica inerte o resto do tempo.
Um agente de IA, por outro lado, e um sistema construido sobre um LLM que adiciona quatro capacidades fundamentais: perceber o ambiente (ler arquivos, receber dados de APIs, observar mudancas), raciocinar sobre o que fazer (planejar estrategias, decompor problemas), agir no mundo (executar codigo, chamar ferramentas, modificar arquivos) e lembrar o que aconteceu (manter contexto entre sessoes, acumular conhecimento). Essa transicao de "modelo que responde" para "sistema que age" e o salto conceitual mais importante da IA moderna.
π‘ Conceito Fundamental
Um agente nao e apenas um LLM com prompt melhor β e uma arquitetura completa com quatro pilares que transformam geracao de texto em acao autonoma:
- β’ Percepcao: O agente observa seu ambiente β le arquivos do projeto, recebe dados de APIs, monitora mudancas em repositorios, analisa imagens e logs
- β’ Raciocinio: O LLM interno analisa o que percebeu, formula hipoteses, cria planos de acao e decide a proxima etapa logica
- β’ Acao: O agente executa operacoes concretas β escreve codigo, roda comandos no terminal, chama APIs externas, cria arquivos
- β’ Memoria: O agente retΓ©m informacoes entre etapas e sessoes β lembra decisoes passadas, acumula conhecimento sobre o projeto
π LLM vs Agente β comparacao direta
- LLM puro: Recebe prompt β gera texto β termina. Nao verifica, nao executa, nao persiste. E um turno unico sem feedback
- Agente baseado em LLM: Recebe tarefa β planeja β executa β observa resultado β corrige β repete ate completar. Multiplos turnos com auto-correcao
- Analogia: Um LLM e como um consultor que da conselhos por telefone. Um agente e como um funcionario que entra no escritorio, analisa a situacao, executa o trabalho e reporta o resultado
- Na pratica: Claude Code, OpenCode e GitHub Copilot Workspace sao exemplos de agentes β usam LLMs internamente mas adicionam percepcao, acao e memoria ao redor
π Loop de raciocinio: ReAct
O padrao ReAct (Reason + Act), proposto por Yao et al. em 2022, e o loop fundamental que transforma um LLM em um agente funcional. A ideia e elegante na sua simplicidade: em vez de pedir ao modelo que gere a resposta final de uma vez, voce o instrui a alternar entre pensar (Thought), agir (Action) e observar (Observation) em ciclos iterativos ate chegar ao resultado desejado. Cada ciclo refina a compreensao do problema e aproxima o agente da solucao.
Na pratica, o ciclo ReAct funciona assim: o agente recebe uma tarefa ("corrija o bug no login"), formula um pensamento ("preciso primeiro encontrar o arquivo de autenticacao"), executa uma acao (busca no codebase por arquivos relacionados a auth), observa o resultado (encontra auth.py com um erro na linha 42), formula novo pensamento ("o erro e uma comparacao incorreta de hash"), executa nova acao (edita a linha 42) e observa novamente (roda os testes e todos passam). Esse loop continua ate que o agente determine que a tarefa esta completa.
π‘ O Ciclo Thought β Action β Observation
Cada iteracao do loop ReAct segue tres etapas rigidas que se repetem ate a tarefa ser concluida:
- β’ Thought (Pensamento): O agente raciocina em linguagem natural sobre o estado atual β o que ja sabe, o que falta descobrir, qual a proxima acao logica
- β’ Action (Acao): O agente invoca uma ferramenta concreta β buscar arquivos, ler codigo, executar comando, chamar API β com parametros especificos
- β’ Observation (Observacao): O resultado da acao retorna ao agente como nova informacao β saida do terminal, conteudo do arquivo, resposta da API
- β’ Iteracao: Com a observacao em maos, o agente formula novo pensamento e decide: continuar (mais acoes necessarias) ou finalizar (tarefa completa)
π ReAct na pratica
- Performance comprovada: ReAct supera chain-of-thought puro em tarefas que exigem informacao externa, com ganhos de 20-30% em benchmarks de question-answering
- Transparencia: Como cada pensamento e explicito, e possivel auditar exatamente por que o agente tomou cada decisao β essencial para depuracao
- Variantes modernas: ReWOO (Reason Without Observation) separa planejamento de execucao para reduzir custos; Plan-and-Execute faz todo o plano antes de agir
- Limite pratico: Loops muito longos (20+ iteracoes) tendem a degradar porque o contexto acumulado de thoughts/actions/observations consome a janela do modelo
π οΈ Ferramentas (Tools)
Um LLM sem ferramentas e como um cirurgiao sem bisturi: pode ter todo o conhecimento do mundo, mas nao consegue operar. As ferramentas (tools) sao o que transformam o raciocinio do agente em acao concreta. Quando um agente precisa ler um arquivo, ele chama a ferramenta read_file. Quando precisa executar codigo, chama run_command. Quando precisa buscar na web, chama web_search. Cada ferramenta e uma funcao bem definida com parametros de entrada e saida estruturada.
O mecanismo que permite ao LLM invocar ferramentas chama-se function calling. Em vez de gerar texto livre, o modelo gera uma chamada de funcao estruturada (nome da funcao + argumentos em JSON) que o sistema executa e retorna o resultado. Esse mecanismo foi padronizado pela OpenAI em 2023 e hoje e suportado por todos os grandes provedores. Em 2024, a Anthropic elevou o conceito com o Model Context Protocol (MCP), que cria um padrao aberto para conectar agentes a qualquer fonte de dados ou ferramenta externa de forma interoperavel.
π‘ Tipos de Ferramentas
Ferramentas se dividem em categorias pela natureza da interacao que proporcionam ao agente:
- β’ Function Calling nativo: O LLM gera chamadas de funcao estruturadas (JSON) que o runtime executa β o padrao basico de todos os agentes modernos
- β’ API Tools: Ferramentas que se conectam a servicos externos β busca web, envio de email, consulta a bancos de dados, integracao com Slack, GitHub, Jira
- β’ MCP (Model Context Protocol): Protocolo aberto da Anthropic que padroniza como agentes descobrem e usam ferramentas β um "USB-C" para conectar IAs a qualquer recurso
- β’ Ferramentas de sistema: Leitura/escrita de arquivos, execucao de comandos shell, manipulacao de git β o que permite ao agente interagir com o sistema operacional
π Impacto das ferramentas
- Sem ferramentas: O agente so pode responder com texto baseado em seu treinamento β nao pode verificar fatos, executar codigo ou acessar dados atualizados
- Com ferramentas basicas (file + shell): O agente ja pode ler codebases, executar testes, fazer commits β nivel de Claude Code e OpenCode
- Com MCP: O agente se conecta a qualquer recurso externo de forma padronizada β bancos de dados, APIs empresariais, servicos cloud, ferramentas de design
- Ecossistema MCP em 2026: Milhares de servidores MCP disponiveis β de integracao com Figma ate consultas a data warehouses corporativos
πΎ Memoria: curta e longa
A memoria e o que separa um agente que aprende de um que repete os mesmos erros. Todo LLM tem uma forma de "memoria de curto prazo" embutida: a janela de contexto (context window). Tudo que esta na conversa atual β o system prompt, as mensagens trocadas, os resultados de ferramentas β faz parte dessa memoria temporaria. Ela e poderosa enquanto dura, mas desaparece completamente quando a sessao termina ou quando o volume de informacao ultrapassa o limite de tokens do modelo.
Para superar essa limitacao, agentes modernos implementam memoria de longo prazo usando tecnicas como RAG (Retrieval-Augmented Generation) e vector stores. A ideia e simples: em vez de tentar guardar tudo na janela de contexto, o agente armazena informacoes em um banco de dados externo e recupera apenas o que e relevante para a tarefa atual. Vector stores transformam textos em representacoes matematicas (embeddings) que permitem busca por similaridade semantica β o agente pode perguntar "o que eu sei sobre autenticacao neste projeto?" e recuperar os trechos mais relevantes de toda sua memoria.
π‘ Tipos de Memoria em Agentes
A memoria de um agente opera em multiplas camadas, cada uma com funcao e duracao distintas:
- β’ Memoria de trabalho (context window): Toda a conversa atual β prompt, mensagens, resultados de tools. Limitada a 128k-1M tokens. Volatil: desaparece ao fim da sessao
- β’ Memoria episodica (RAG): Registros de interacoes passadas armazenados externamente e recuperados por relevancia. Permite ao agente "lembrar" de sessoes anteriores
- β’ Memoria semantica (vector store): Conhecimento estruturado sobre o projeto β arquitetura, decisoes de design, padroes de codigo β indexado para busca por similaridade
- β’ Memoria procedimental (spec files): Arquivos como AGENTS.md, .cursorrules ou spec.md que definem como o agente deve se comportar β persistem entre sessoes
π Memoria na pratica
- Context window atual: Claude oferece ate 1M tokens (~750k palavras); GPT-4 ate 128k tokens. Parece muito, mas codebases reais preenchem rapidamente
- RAG em swarms: O agente Explorer escaneia o codebase e indexa num vector store. Outros agentes consultam esse indice em vez de ler todos os arquivos
- Custo de contexto: Cada token na janela custa dinheiro em API. Memoria de longo prazo via RAG pode reduzir custos em 60-80% comparado a enviar tudo no prompt
- Spec files como memoria: Projetos como OpenCode Swarm usam arquivos .md no repositorio como "memoria compartilhada" entre agentes e sessoes
π Planejamento e decomposicao
A capacidade de planejar e o que separa um agente que resolve problemas reais de um que apenas segue instrucoes passo a passo. Quando voce pede a um agente "implemente um sistema de autenticacao com OAuth2", ele precisa decompor essa tarefa ambigua em subtarefas concretas e executaveis: instalar dependencias, criar rotas de callback, configurar providers, implementar token refresh, adicionar middleware de protecao e escrever testes. Sem essa capacidade de decomposicao, o agente tentaria fazer tudo de uma vez e produziria codigo fragmentado e inconsistente.
O padrao Plan-and-Execute separa explicitamente o planejamento da execucao. Primeiro, um agente planejador (ou o proprio orquestrador) cria um plano detalhado com todas as etapas numeradas. Depois, cada etapa e executada individualmente β potencialmente por agentes diferentes. A grande vantagem e que o plano pode ser revisado e ajustado antes de qualquer execucao, evitando desperdicio de recursos. Em swarms avancados, a decomposicao e hierarquica: uma tarefa grande se decompoe em subtarefas medias, que por sua vez se decompoe em tarefas atomicas que um unico agente executor pode completar.
π‘ Estrategias de Planejamento
Agentes usam diferentes estrategias de planejamento dependendo da complexidade da tarefa:
- β’ Plan-and-Execute: Cria o plano completo antes de executar qualquer etapa. Ideal para tarefas bem definidas com dependencias claras entre subtarefas
- β’ Decomposicao hierarquica: Tarefas grandes viram subtarefas medias que viram tarefas atomicas. Cada nivel pode ser delegado a agentes diferentes no swarm
- β’ Replanning dinamico: O plano e ajustado durante a execucao com base nos resultados observados β essencial quando o ambiente muda ou surgem imprevistos
- β’ Discovery-first: Antes de planejar, o agente faz perguntas ao usuario e explora o ambiente para entender restricoes e requisitos β usado pelo agente Prometheus no OMO
π Impacto do planejamento
- Com planejamento: Agentes completam tarefas complexas com taxa de sucesso 40-60% maior do que sem planejamento explicito
- Decomposicao hierarquica: Reduz tarefas de 50+ etapas (que travam agentes) em blocos de 5-8 tarefas atomicas gerenciaveis
- Custo do replanejamento: Recriar um plano custa tokens, mas e muito mais barato do que executar um plano ruim ate o fim e ter que recomecar
- Spec files na pratica: Sistemas como OpenCode Swarm geram um plan.md antes da execucao β esse arquivo funciona como contrato entre o planejador e os executores
π― Agente autonomo vs assistente
Nem todo agente precisa (ou deve) ser totalmente autonomo. Existe um espectro de autonomia que vai desde o chatbot basico β que so responde quando perguntado β ate o agente completamente autonomo que recebe um objetivo de alto nivel e executa dezenas de acoes sem intervencao humana. A escolha do nivel de autonomia correto para cada agente no swarm e uma decisao de design critica que impacta qualidade, seguranca e confianca do usuario.
O conceito de human-in-the-loop e o mecanismo que permite calibrar essa autonomia. Em modo assistente, o agente propoe acoes e espera aprovacao humana antes de executar. Em modo semi-autonomo, o agente executa acoes de baixo risco sozinho mas pede confirmacao para operacoes criticas (deletar arquivos, fazer deploy, modificar banco de dados). Em modo totalmente autonomo, o agente age por conta propria com guardrails β regras de seguranca que impedem acoes destrutivas independentemente da "vontade" do agente. Em swarms, cada papel tipicamente tem um nivel de autonomia diferente: o Explorer pode rodar livre (so le), mas o Coder precisa de gates de revisao.
π‘ Espectro de Autonomia
Os graus de autonomia de um agente de IA, do mais restrito ao mais livre:
- β’ Chatbot (autonomia zero): Responde perguntas e gera texto, mas nao executa acoes. O usuario faz tudo manualmente com base nas respostas
- β’ Assistente (autonomia baixa): Propoe acoes e espera aprovacao humana para cada uma. Util em ambientes de alta criticidade como producao ou financas
- β’ Semi-autonomo (autonomia media): Executa acoes seguras automaticamente, pede aprovacao apenas para operacoes de risco. O equilibrio mais comum em swarms de codigo
- β’ Autonomo com guardrails (autonomia alta): Age livremente dentro de limites predefinidos β nao pode deletar arquivos criticos, fazer deploy sem testes, ou exceder budget de tokens
π Autonomia em swarms reais
- Explorer/Pesquisador: Autonomia total β so fazem leitura, nao podem causar dano. Rodam livremente para coletar contexto
- Coder/Executor: Autonomia media β escrevem codigo mas passam por revisao automatica antes de merge. Gates de qualidade obrigatorios
- Reviewer/Critic: Autonomia alta na avaliacao β podem rejeitar e pedir retrabalho sem intervencao humana. O veto do revisor e automatico
- Human-in-the-loop em 2026: A maioria dos swarms de producao mantΓ©m um ponto de aprovacao humana para decisoes arquiteturais e deploys β autonomia total end-to-end ainda e rara
π Resumo do Modulo
Proximo Modulo:
1.3 - Arquiteturas de Swarms