Estudo: Arquitetura e Implementação de Agentes de IA¶
1. O que é um Agente de IA e seus principais padrões de arquitetura¶
Um agente de IA é um sistema que percebe um ambiente, decide (planeja) e atua para atingir objetivos. No contexto de aplicações web, é um software que recebe entradas (URL, texto, prompt), usa modelos/algoritmos e ferramentas externas (buscas, DBs) e devolve ações/decisões (resposta, veredito, execução de tarefas).
1.1. Componentes essenciais:¶
- Percepção / Input: Captura dados: texto do usuário, páginas web, feeds de notícias, APIs.
- Módulo de Planejamento / Raciocínio: Decide os passos a seguir (ex.: “buscar fontes → comparar → sintetizar”). Geralmente implementado com um LLM (Large Language Model) + lógica de controle.
- Uso de Ferramentas (Tooling): Ferramentas externas chamadas pelo agente: web crawler, base de fatos, classificadores, tradutores.
- Memória:
- Curto prazo: histórico da sessão, contexto atual.
- Longo prazo: fatos verificados, perfis de usuário.
- Execução / Ação (Output): Geração de relatórios, atualizações no banco de dados.
1.2. Principais padrões de arquitetura de agentes de IA¶
1.2.1. Planner–Executor (Planejador + Executor)¶
- O que é: Um módulo “planejador” gera um plano de alto nível (lista de passos/subtarefas); o “executor” implementa cada passo chamando ferramentas e retornando resultados.
- Vantagens: Facilita a decomposição de tarefas complexas e a paralelização de passos (ex.: paralelizar buscas em fontes).
- Desvantagens: Requer um componente adicional para reconciliar resultados.
1.2.2. Multi-agent / Orquestração (subagentes especializados)¶
- O que é: Vários agentes especializados (pesquisador, extrator, verificador, sintetizador) colaboram; pode haver um “orquestrador” que coordena.
- Vantagens: Modularidade, independência de responsabilidades, fácil teste e substituição de componentes (ex.: trocar o extrator por outro melhor).
- Desvantagens: Complexidade operacional e de comunicação entre agentes; necessidade de mecanismos de consenso/merge de evidências.
1.3. RAG (Retrieval-Augmented Generation)¶
RAG é uma arquitetura de IA que aprimora os LLMs ao permitir que eles acessem e utilizem informações de fontes de dados externas para gerar respostas mais precisas e contextualmente ricas. Em vez de depender apenas do seu conhecimento de treinamento, um sistema RAG primeiro recupera dados relevantes de bancos de dados, documentos e da web e depois os usa para melhorar a geração de texto, garantindo que as respostas sejam mais atualizadas.
2. Principais frameworks e bibliotecas para construir agentes¶
2.1. LangChain¶
É um framework que simplifica o desenvolvimento de aplicações baseadas em LLMs. Ele fornece "blocos de construção" prontos e ferramentas que permitem aos desenvolvedores conectar LLMs a fontes de dados, criar cadeias de processos e agentes de IA, possibilitando aplicações mais complexas e inteligentes como chatbots.
- Propósito: Orquestração de LLMs, RAG, agentes (tool-calling) e integração com vector DBs.
- Pontos fortes: Grande ecossistema, documentação, integração com provedores (OpenAI, Anthropic), suporte a agents e RAG; migração para LangGraph para execução mais sofisticada.
2.2. AutoGen (Microsoft)¶
AutoGen é uma estrutura de código aberto projetada para criar aplicativos de IA com vários agentes que podem operar de forma semiautônoma e totalmente autônoma.
- Propósito: Framework para construir aplicações multi-agent e workflows event-driven com LLMs.
- Pontos fortes: Pensado para cenários multi-agent, streaming e colaboração; suporte de pesquisa/produção da Microsoft.
2.3. LlamaIndex (GPT Index)¶
LlamaIndex é um framework de código aberto que conecta modelos de LLMs com os seus próprios dados, permitindo a criação de aplicações de IA generativa mais precisas e contextualizadas.
- Propósito: Camada de ingestão e indexação de dados para agentes/assistentes (document parsing, RAG).
- Pontos fortes: Facilita construir "knowledge bases" sobre documentos, integra com vector DBs e agentes. Útil para extrair evidências de fontes de dados baseadas em texto.
3. Intenção de um Web Crawler com um Agente de IA¶
3.1. O que é um Web Crawler¶
Um web crawler é um programa que navega automaticamente pela web, visitando links e coletando informações. É usado por motores de busca (Googlebot, Bingbot) para indexar páginas.
3.2. Interação do web crawler com o agente¶
- Agente (IA) recebe a intenção → “preciso verificar essa notícia”.
- Crawler é acionado para coletar conteúdo atualizado em sites confiáveis.
- O crawler retorna os dados para o agente.
- O agente interpreta o conteúdo (NLP, embeddings, classificação).
- O agente decide a resposta final e comunica ao usuário.
4. Proposta de aplicação de um agente no projeto¶
4.1. Objetivo da funcionalidade¶
Permitir que um usuário submeta uma URL/texto e receba um relatório de verificação com veredito (Verdadeiro / Falso / Impreciso / Não Verificado), evidências citadas, score de confiança e explicação.
4.2. Fluxo¶
- Recebe input (URL/texto) na UI.
- Classificação de intenção → “checagem factual”.
- Planejamento (planner) → passos:
retrieve-sources
,extract-claims
,verify-claim
,synthesize-report
. - Tooling:
- Crawler: Busca a URL submetida + extrai texto; paralelamente aciona crawler para fontes confiáveis relacionadas ao tema.
- RAG: Busca de artigos verificados e no banco de dados de notícias. Usar LlamaIndex para coletar, carregar e análise de dados.
- Classificador/Comparador: Modelos que comparam claims extraídos vs. evidência.
- Synthesis: LLM gera relatório explicável com citações diretas (trechos curtos), score e limitações.
- Resposta: Retorna relatório ao usuário.
4.3. Interações do agente¶
- Busca: Buscar artigos relacionados (crawler + search).
- Extração: Extrair claims/entidades/datas do texto submetido.
- Comparação: Para cada claim, recuperar evidências e checar correspondência (factualidade/tempo/contexto).
- Sintetizar: Gerar laudo com: veredito, evidências (links + trechos de artigos) e índice de confiança.