Arquitetura Geral
Visão de Alto Nível
O sistema de AI Agents da INCI Brasil é construído com uma arquitetura modular que separa responsabilidades em três camadas principais:
Componentes e Responsabilidades
1. Chatwoot - Camada de Interface
Função: Gerenciamento de conversas e interface de atendimento
Responsabilidades:
- Receber mensagens dos canais (WhatsApp, Instagram, Webchat)
- Armazenar histórico de conversas
- Prover interface web para atendentes humanos
- Gerenciar status de conversas (aberta, resolvida, pendente)
- Conectar com WhatsApp Business API oficial da Meta
Tecnologia: Ruby on Rails (Docker) Versão: v4.0.1 URL: https://chatwoot.zamply.com.br
2. N8N - Camada de Orquestração
Função: Backend e cérebro do sistema
Responsabilidades:
- Receber webhooks do Chatwoot quando nova mensagem chega
- Processar lógica de negócio (regras, condições, roteamento)
- Consultar Dify para respostas baseadas em IA
- Executar integrações com sistemas externos
- Gerenciar fallback e handoff para humanos
- Processar filas de mensagens
Arquitetura:
- 1 serviço editor: Interface visual para criar/editar workflows
- 10 réplicas webhook: Recebem requisições HTTP dos webhooks
- 25 réplicas worker: Processam jobs da fila (concurrency: 250)
Tecnologia: Node.js (modo queue) URL: https://n8n-queue.incibrasil.com.br
3. Dify - Camada de Inteligência
Função: IA e recuperação de contexto (RAG)
Responsabilidades:
- Armazenar base de conhecimento estruturada
- Processar consultas usando RAG (Retrieval Augmented Generation)
- Gerenciar agentes de IA
- Prover interface para equipe alimentar/corrigir conhecimento
- Integrar com LLMs (GPT, Claude, etc.)
Tecnologia: Python/FastAPI (Docker) Versão: v0.13.0 URL: https://dify.zamply.com.br
4. MySQL - Camada de Dados
Função: Armazenamento e persistência
Responsabilidades:
- Armazenar dados de conversas, contatos, agentes
- Logs de processamento
- Insights de campanhas
- Webhooks recebidos
Schema Principal: Ver documentação do banco de dados (em desenvolvimento)
Fluxo de Processamento de Mensagem
Mensagem Recebida (Incoming)
Escalabilidade
Dimensionamento Horizontal
O sistema é preparado para escalar horizontalmente:
- N8N Workers: Podem ser aumentados conforme demanda
- N8N Webhooks: Podem ser replicados para mais requisições/segundo
- Chatwoot Sidekiq: Workers paralelos para processar jobs
Limites Atuais
| Componente | Configuração | Limite Estimado |
|---|---|---|
| N8N Webhooks | 10 réplicas | ~1000 req/s |
| N8N Workers | 25 réplicas (conc: 250) | ~6250 jobs simultâneos |
| Chatwoot | 16 CPU / 32GB RAM | ~10k conversas ativas |
| Dify | Compartilhado | ~100 req/s |
Segurança e Isolamento
Comunicação entre Componentes
- Todas as comunicações entre serviços são via HTTPS
- APIs protegidas com tokens de autenticação
- Chatwoot usa tokens por conta (multi-tenant)
- N8N workflows isolados por conta/projeto
Dados Sensíveis
- Tokens e credenciais armazenados como variáveis de ambiente
- Banco de dados com acesso restrito
- Logs sem informações pessoais sensíveis (compliance LGPD)
Monitoramento
Métricas Importantes
- Taxa de resposta da IA: % de mensagens respondidas sem handoff
- Tempo médio de resposta: Latência total do fluxo
- Taxa de sucesso: % de mensagens processadas sem erro
- Uso de recursos: CPU, memória, disco
Logs
Cada componente mantém logs próprios:
- Chatwoot: Logs no container Docker
- N8N: Logs por execução de workflow
- MySQL: Tabela
logscom payloads completos
Próximos Passos
- Entenda a Infraestrutura onde tudo roda
- Conheça os Fornecedores em detalhes