
Status
ConcluídoCriado em
Visualizações
Tecnologias
Tags
Camapum — Ecossistema de IA & Governança Condominial Multi-Tenant
Plataforma Full-Stack e Orquestração de IA com RAG Corporativo, Multiagentes e Mensageria Multimodal.
Contexto e Desafio de Engenharia
A gestão operacional e jurídica de ecossistemas condominiais complexos enfrenta um gargalo crítico: a ineficiência e a descentralização no processamento de ocorrências, infrações e auditorias de regimentos internos. O fluxo tradicional é manual, lento e altamente suscetível a erros humanos. Ele exige que o administrador interprete queixas subjetivas, folheie extensos estatutos textuais em PDF, consulte índices macroeconômicos externos (como o histórico do salário mínimo) e redija notificações legais sob o risco de contestação jurídica por citações incorretas.
O Camapum foi projetado para resolver esse problema de ponta a ponta através de uma arquitetura distribuída que une uma aplicação web segura e um motor assíncrono de Inteligência Artificial. Os dois pilares de engenharia inegociáveis do projeto são:
- Isolamento Lógico Absoluto (Zero-Trust Data Isolation): Garantir que múltiplos locatários (multi-tenancy) compartilhem a mesma infraestrutura de banco de dados, sem qualquer risco de vazamento de informações (data leakage) entre condomínios concorrentes.
- Determinismo Algorítmico em IA: Orquestrar LLMs para operar como motores jurídicos de alta precisão, eliminando alucinações por meio de particionamento dinâmico de contexto e validação matemática de dados financeiros.
Arquitetura de Software e Divisão de Camadas
1. Camada de Apresentação e Estado Client-Side (Frontend)
- Single Page Application (SPA): Desenvolvida em React 18 e TypeScript, utilizando o Vite como build tool para garantir tempos mínimos de inicialização e hot-reloading eficiente.
- Roteamento e Guardas de Segurança: O controle de rotas cliente é gerenciado pelo React Router DOM v6, implementando componentes de alta ordem (HOCs) para encapsular a lógica de autorização baseada em RBAC (Role-Based Access Control), separando estritamente os escopos através de
AdminProtectedRouteeSindicoProtectedRoute. - Gerenciamento de Estado Assíncrono: Utilização do TanStack React Query v5 para orquestrar o ciclo de vida das requisições HTTP, cacheamento inteligente de rede, invalidação de queries em segundo plano (stale-while-revalidate) e atualizações otimistas da UI (optimistic updates).
- Interface e Design System: Construção baseada em componentes acessíveis e agnósticos da Radix UI (via Shadcn UI), estilizados com Tailwind CSS, enriquecidos com microinterações via Framer Motion e renderização de dados estatísticos com Recharts.
2. Persistência e Isolamento Multilocatário (Backend & BaaS)
- Multi-Tenancy na Camada de Dados: O ecossistema adota o Supabase (PostgreSQL) como núcleo de persistência. A segurança e o isolamento lógico dos dados não dependem de validações no client-side; eles são forçados nativamente a nível de banco de dados por meio de políticas de Row-Level Security (RLS).
- Políticas PL/pgSQL Customizadas: Consultas e mutações (select, insert, update, delete) são interceptadas pelo motor do Postgres, que avalia dinamicamente o contexto do usuário autenticado (
auth.uid()) através de funções autorizativas comohas_roleeis_sindico_of_condo, garantindo a partição estrita dos registros. - Compute e File Storage: O upload de regimentos e evidências físicas de ocorrências é processado em buckets privados e estruturados do Supabase Storage. Rotas administrativas críticas e lógicas de privilégios de escrita são isoladas em microsserviços serverless através de Supabase Edge Functions.
3. Pipeline de RAG Automático (Retrieval-Augmented Generation)
O sistema elimina a necessidade de treinar ou fazer fine-tuning de modelos pesados, implementando uma esteira automatizada de ingestão de conhecimento assim que um novo documento regulatório é inserido na plataforma:
- Segmentação Semântica Detalhada: O fluxo de processamento no n8n captura o arquivo PDF e o submete a um Recursive Character Text Splitter (LangChain). O texto é quebrado em fragmentos (chunks) estruturados de 500 caracteres com um overlap estratégico de 100 caracteres, preservando a integridade conceitual de incisos, artigos e parágrafos sem quebras abruptas de sintaxe.
- Indexação Vetorial Particionada: Os fragmentos textuais são convertidos em vetores densos de 1536 dimensões utilizando os modelos de Embeddings da OpenAI. Esses vetores são armazenados diretamente na tabela de documentos do banco, indexados via extensão
pgvectore obrigatoriamente vinculados ao metadado docondo_id. - Busca Híbrida com Cohere Reranker: Durante uma busca por similaridade do cosseno, para evitar ruídos textuais e otimizar a janela de contexto da LLM, o banco recupera as 10 principais correspondências vetoriais. Em seguida, uma camada de Reranker da Cohere reclassifica semanticamente a relevância desses trechos em relação à infração reportada, injetando apenas os 4 fragmentos mais precisos no prompt final da IA.
4. Orquestração de Processos via Arquitetura Multiagente
A tomada de decisão e a geração da peça jurídica final são distribuídas entre múltiplos sub-agentes especialistas no n8n, garantindo que cada modelo execute uma tarefa atômica e determinística:
- Agente A0 (Fato & Normalização): Consome a denúncia bruta da ocorrência, elimina ruídos descritivos e a estrutura em um payload JSON tipado por meio de scripts modulares em JavaScript.
- Agente A1 (Recuperação RAG): Responsável único por varrer a base vetorial restrita daquele
condo_idespecífico, extraindo os trechos literais das normas infringidas, atuando como uma trava de segurança contra alucinações da LLM. - Agente A2 (Cálculo Financeiro e Integração OData): Consome índices macroeconômicos em tempo real através da API OData da Fundação IpeaData para resgatar o valor exato do salário mínimo vigente. Equipado com uma ferramenta de calculadora matemática do LangChain, o agente executa a equação decimal de conversão da penalidade (ex: aplicação de porcentagem sobre o teto regulamentar), garantindo precisão financeira absoluta e imune a falhas lógicas de inferência de texto.
- Agente A3 (Prazo, Defesa e Resolução Jurídica): Isola e formata as cláusulas de contraditório, especificando de forma clara as instâncias deliberativas e os prazos legais para a interposição de recursos administrativos por parte do morador notificado.
Destaques Técnicos e Desafios Superados
- Descentralização e Blindagem de Dados: Sucesso na arquitetura de um ecossistema multi-tenant onde a segurança é aplicada na base do banco (RLS), mitigando ataques de personificação ou falhas de bypass de segurança em rotas do frontend.
- Mitigação Absoluta de Alucinações: A combinação de segmentação por LangChain, indexação via
pgvectorisolada por metadados e filtragem secundária por re-ranking semântico garantiu um índice de acerto cirúrgico nas citações de artigos e penalidades. - Fechamento Automático do Ciclo de Operação: O n8n gerencia transações de persistência de dados para registrar o histórico na tabela
agente_execucoes, atualiza os status das linhas no Supabase e interage com as APIs do Google Drive e Google Docs para gerar documentos oficiais padronizados e prontos para assinatura e envio legal.
Resultados e Impacto
A integração da plataforma web ao motor inteligente de workflows transformou um processo administrativo complexo, que durava dias, em uma operação automatizada de menos de 60 segundos. O ecossistema confere transparência e auditabilidade total à gestão condominial (uma vez que toda notificação gerada cita textualmente a evidência legal e o cálculo real), sob uma arquitetura serverless altamente escalável, desacoplada e resiliente.