Inteligência Artificial
CIA - Competitor Intelligence Agent
Inteligência Competitiva Automatizada para E-commerce B2B
Arquiteto de IA & Desenvolvedor Full Stack
Castronados (B2B E-commerce)• 2025
Em Progresso0visualizações
Visão Geral
CIA (Competitor Intelligence Agent) é uma plataforma de inteligência competitiva que combina web scraping inteligente, extração via LLM e interface conversacional para automatizar completamente o monitoramento de concorrentes.
O Problema
Distribuidores B2B enfrentam um processo exaustivo para monitorar preços da concorrência: acessar cada site, navegar por centenas de categorias, copiar manualmente preços e condições comerciais de milhares de produtos. Um processo que leva 2-4 semanas por site, com dados que ficam desatualizados antes mesmo de completar a coleta.
A Solução
O CIA transforma esse processo em uma operação automatizada que coleta 15.000+ produtos em 4-8 horas, com 95%+ de acurácia na extração de preços, condições de pagamento, descontos e promoções.
Diferenciais Competitivos
- ●Especializado em B2B brasileiro - Suporta sites com área logada (preços diferenciados para PJ)
- ●Extração inteligente via LLM - Entende condições comerciais complexas (parcelamento, desconto à vista, leve 3 pague 2)
- ●Interface conversacional - Consultas em português natural: "Quais produtos de papel A4 estão mais baratos na Oceano?"
- ●Custo acessível - Solução viável para distribuidores de médio porte (R$ 500-2.000/mês vs R$ 25.000+ das enterprise)
O Desafio
O Processo Manual Inviável
O cliente (Castronados) enfrentava um cenário comum entre distribuidores B2B:
- ●2-4 semanas para coletar preços de um único concorrente
- ●20.000+ produtos por site, cada um com múltiplas informações
- ●Dados desatualizados antes de completar a coleta
- ●Erro humano constante em digitação e produtos pulados
- ●Impossível monitorar mais que 2-3 concorrentes por mês
- ●Tempo do dono gasto em tarefa operacional repetitiva
Soluções Enterprise Inacessíveis
As plataformas existentes (Competera, DataWeave, Prisync) custam de $5.000 a $10.000/mês, focam em grandes varejistas, não suportam sites B2B com área logada, e não extraem condições comerciais complexas do mercado brasileiro.
Requisitos Técnicos Complexos
- ●Processar sites com JavaScript pesado e lazy loading
- ●Autenticar em áreas logadas com CNPJ
- ●Extrair preços em múltiplos formatos (parcelado, com desconto, mínimo de compra)
- ●Manter 95%+ de acurácia em extração
- ●Custo de LLM controlado (< R$ 3.000/mês para 600.000 produtos)
A Solução
Arquitetura de Agentes com LangGraph
Desenvolvemos uma arquitetura de agentes inteligentes que combina web scraping via Playwright com extração semântica via LLM, orquestrada pelo LangGraph para workflows complexos com retry, branching e state management.
Scraping Engine (Playwright)
Motor de navegação que simula comportamento humano em sites dinâmicos.
- Session management com autenticação preservada
- Rate limiting inteligente (2s entre requests)
- User-agent rotation e fingerprint evasion
- Screenshot on error para debugging
- Retry com exponential backoff
Extração via LLM
Compreensão semântica de preços e condições comerciais complexas.
- HTML → Markdown preprocessing (70% redução de tokens)
- Claude Haiku para classificação de páginas (50ms)
- Claude Sonnet para extração de produtos complexos
- Validação Pydantic de dados extraídos
- Fallback regex para padrões conhecidos
Orquestração LangGraph
Workflow de estados para navegação e extração com controle granular.
- Nodes: Planner → Navigator → Extractor → Persist
- Classificação de páginas (listing/product/category)
- Fila de URLs com priorização inteligente
- Error handling com retry condicional
- Supervisor para validação final
Query Agent (Chat)
Interface conversacional para consultas em linguagem natural.
- Intent classification + entity extraction
- SQL generation otimizado para analytics
- Comparações de preços entre concorrentes
- Análise de tendências e histórico
- Exportação em CSV/JSON/Excel
Data Architecture
PostgreSQL com schema otimizado para analytics de preços.
- pg_trgm para busca fuzzy de produtos
- Price history com triggers automáticos
- pgvector para matching semântico (futuro)
- RLS para multi-tenancy seguro
- Índices otimizados para queries frequentes
Dashboard & Alertas
Visualização de dados e automações de notificação.
- Dashboard Next.js com Recharts
- Comparativo de preços em tempo real
- Alertas de mudança de preço por email
- Jobs queue com acompanhamento de progresso
- Exportação e integração com ERPs
Workflow do Agente de Scraping
O LangGraph orquestra um workflow de estados que simula o raciocínio de um analista humano navegando sites de concorrentes.
Planner Node
Análise inicial e estratégia
Site AnalysisCategory MappingURL PrioritizationVolume Estimation
Navigator Node
Navegação e classificação
Page FetcherPage ClassifierLink ExtractorPagination Handler
Extractor Node
Extração de dados
HTML ParserLLM ExtractorPrice NormalizerPydantic Validator
Persist Node
Persistência e dedup
DeduplicationDB WriterPrice HistoryState Update
Supervisor Node
Validação e controle
Quality CheckError HandlerProgress TrackerReport Generator
Query Agent
Interface conversacional
Intent ClassifierEntity ExtractorSQL GeneratorResponse Synthesizer
Resultados
- ⏱️ Redução de 95% no tempo de coleta: de 2-4 semanas para 4-8 horas por site
- 📈 Cobertura 4x maior: de 2-3 sites/mês para 10+ sites/semana
- 🎯 95%+ de acurácia na extração de preços e condições comerciais
- 💰 Custo operacional automatizado: eliminação de horas manuais do dono
- 🔄 Dados semanais atualizados vs mensais desatualizados
- 🧠 Extração inteligente de condições B2B: parcelamento, desconto PJ, mínimo de compra
- 💬 Interface conversacional em português para consultas complexas
- 📊 Histórico de preços para análise de tendências e sazonalidade
Principais Features
- 🕷️ Web scraping automatizado de sites com JavaScript e lazy loading
- 🔐 Suporte a sites com autenticação (área logada para PJ/CNPJ)
- 🧠 Extração semântica via LLM de preços, condições e promoções
- 💬 Query Agent para consultas em linguagem natural em português
- 📊 Dashboard de visualização com comparativos e histórico
- 🔔 Alertas automáticos de mudança de preço por email
- 📤 Exportação em CSV, JSON e Excel para integração com ERPs
- 🔄 Scheduling de jobs com frequência configurável
- 📈 Tracking de evolução de preços ao longo do tempo
- 🏷️ Matching de produtos entre catálogo próprio e concorrentes
- ⚡ Processamento em paralelo com Celery workers
- 📱 Interface responsiva para acompanhamento mobile
- 🛡️ Rate limiting e boas práticas de scraping (robots.txt)
- 🔍 Busca fuzzy de produtos com pg_trgm
Arquitetura
Arquitetura modular com frontend Next.js, backend FastAPI, workers Celery para jobs de scraping, e agentes LangGraph para orquestração inteligente. Todos os componentes se conectam ao Supabase como fonte de verdade.
🖥️ Frontend (Next.js 15)
Interface de usuário com dashboard de visualização, gerenciamento de concorrentes, acompanhamento de jobs e chat para consultas. Design responsivo com shadcn/ui.
Next.js 15Tailwind CSSshadcn/uiRechartsReact Query
⚡ Backend (FastAPI)
API REST para o frontend, orquestração de jobs, integração com LangGraph e validação de dados. Endpoints para CRUD, jobs, produtos e chat.
FastAPIPydantic v2SQLAlchemyPython 3.12
🕷️ Scraping Engine (Playwright)
Motor de navegação em sites dinâmicos com gerenciamento de sessões autenticadas, screenshots para debug e rate limiting inteligente.
PlaywrightPythonhtml2textBeautifulSoup
🧠 AI Agents (LangGraph)
Workflow de agentes para scraping inteligente: Planner analisa estrutura, Navigator classifica páginas, Extractor extrai dados, Persist salva no DB.
LangGraphLangChainClaude Haiku/SonnetLangSmith
📋 Job Queue (Celery)
Processamento assíncrono de jobs de scraping com workers distribuídos, retry automático e monitoramento de progresso em tempo real.
CeleryRedisFlower
💾 Database (Supabase)
PostgreSQL gerenciado com RLS para multi-tenancy, triggers para histórico de preços, extensões pg_trgm e pgvector.
SupabasePostgreSQLpg_trgmpgvector
💬 Query Agent
Agente conversacional que interpreta perguntas em português, gera SQL otimizado, executa queries e formata respostas claras com insights.
LangChainClaude SonnetSQLPython
📊 Observability (LangSmith)
Rastreamento completo de cada extração: tokens consumidos, tempo de resposta, taxa de sucesso, custo por job.
LangSmithSentryStructured Logging
Destaques Técnicos
🔄 LangGraph para Workflows de Scraping
Diferente de scrapers tradicionais que seguem regras fixas, o CIA usa LangGraph para criar um workflow de estados inteligente. O Planner analisa a estrutura do site, o Navigator classifica cada página (listing/product/category), o Extractor usa o LLM adequado para cada tipo, e o Supervisor valida a qualidade. Permite retry condicional, branching dinâmico e recuperação de erros.
💰 Otimização de Custos de LLM
Com 600.000 produtos/mês, cada token conta. Implementamos: (1) HTML → Markdown preprocessing reduzindo 70% dos tokens; (2) Claude Haiku para tarefas simples (classificação) e Sonnet apenas para extração complexa; (3) Prompt caching da Anthropic para system prompts repetidos; (4) Fallback para regex em padrões conhecidos. Resultado: custo < R$ 2.500/mês.
🔐 Autenticação em Sites B2B
Sites B2B brasileiros frequentemente exigem login com CNPJ para ver preços diferenciados. O CIA gerencia sessões autenticadas via Playwright, preservando cookies entre requests, detectando expiração de sessão e re-autenticando automaticamente. Credenciais armazenadas criptografadas no Supabase.
🧠 Extração Semântica de Condições Comerciais
O diferencial do CIA está em entender condições comerciais complexas que regex não consegue capturar: '10x sem juros', '10% à vista no PIX', 'Leve 3 pague 2', 'Mínimo 5 unidades'. O LLM extrai esses dados estruturados em JSON validado por Pydantic, normalizando preços e condições para comparação.
📊 Query Agent com SQL Generation
O usuário pergunta em português natural: 'Quais produtos de papel A4 estão mais baratos na Oceano do que no meu catálogo?'. O Query Agent classifica a intenção, extrai entidades (categoria: papel A4, concorrente: Oceano), gera SQL otimizado com JOINs e comparações, executa a query e sintetiza uma resposta clara com números e insights.
🔄 Sistema de Matching de Produtos
Produtos iguais têm nomes diferentes em cada site ('Papel Chamex A4 500fls' vs 'Chamex A4 Resma 500'). O CIA usa combinação de busca fuzzy (pg_trgm) com embeddings semânticos (pgvector) para matching cross-catalog, permitindo comparação de preços do mesmo produto entre concorrentes e catálogo próprio.
Diagramas & Fluxos
Arquitetura e fluxos detalhados do sistema
Projetos Relacionados
Confira outros projetos similares que podem te interessar