Aberto a posições de AI Engineer remoto ou híbrido
Estudo de caso — Em construção · fase 0: arquitetura

Plataforma de agentes de IA para empresas: o design da arquitetura

Estou projetando uma plataforma que conecta Excel, bancos de dados, APIs e documentos, e responde em linguagem natural dizendo de onde sai cada número. Está em construção, na fase 0: esta página descreve o design.

Diagrama de arquitetura da plataforma de agentes: fontes de dados, serviço de ingestão, PostgreSQL com pgvector, serviço de agentes com LangGraph e LangChain, e aplicação web com Next.js e FastAPI.
Ver diagrama em tamanho completo

O que é e em que estado está

A plataforma de agentes de IA para empresas está em construção, na fase 0: arquitetura. Ainda não há código publicado. Esta página descreve o design que defini, não um produto que se possa usar hoje.

O design está documentado com um modelo C4, um diagrama de sequência e 10 ADRs. O diagrama de arquitetura completo pode ser aberto em tamanho completo mais abaixo.

O problema que resolve

A informação de uma empresa está espalhada entre planilhas de Excel, bancos de dados, APIs e documentos. A plataforma se propõe a conectar essas fontes e responder perguntas em linguagem natural indicando, em cada resposta, de onde sai cada número.

O que a pessoa recebe no chat são respostas com suas fontes, gráficos e dashboards, e relatórios em PDF.

Arquitetura

São quatro peças: um serviço de ingestão, um banco PostgreSQL com pgvector, um serviço de agentes e uma aplicação web. A camada transversal adiciona o LLM via LangChain, traces e custos com Langfuse, e avaliações sobre um conjunto de perguntas.

  • Stack previsto: Python, LangGraph, LangChain, FastAPI, PostgreSQL com pgvector, Langfuse, Next.js e Docker.
  • Deploy previsto: Docker Compose no servidor próprio do cliente (on-prem).
  • Aplicação web: um frontend de chat em Next.js, um API gateway em FastAPI, autenticação e RBAC com um JWT que leva o tenant_id, e usuários com papéis e permissões.

Fontes de dados e ingestão

As fontes estruturadas são APIs REST, webhooks, bancos externos (MySQL e SQL Server), Excel e CSV, e JSON. As não estruturadas são PDF, Word, digitalizações e imagens que precisam de OCR, e e-mail, TXT e MD.

  • Conectores com sincronização incremental.
  • Workers sobre Redis e Celery, com novas tentativas, backoff e uma fila de jobs com falha.
  • Mapeamento de colunas para o esquema, usando um LLM opcional apenas nos campos ambíguos.
  • Validação com Pydantic.
  • Parser e OCR com PyMuPDF e Tesseract, seguidos de chunking e embeddings.
  • Upload de documentos.

A parte de IA: o serviço de agentes

O serviço de agentes expõe duas ferramentas do LangChain. A SQL Tool é o único acesso às tabelas. A Retrieval Tool busca os top-k trechos, sempre dentro de um tenant.

Sobre elas há um grafo de estados do LangGraph: um orquestrador encaminha cada pergunta ao agente de SQL, ao agente de relatórios (gráficos e PDF) ou ao agente de RAG. A memória usa um checkpointer.

Confiabilidade e segurança previstas

  • A SQL Tool é somente leitura: lista permitida, SQL validado, timeout, limite de linhas e RLS.
  • As tabelas levam RLS por tenant_id, e a Retrieval Tool também busca por tenant.
  • Um guardrail de entrada contra prompt injection e um guardrail de saída que valida e cita.
  • Os documentos são guardados com hash e versões.
  • O Langfuse registra traces e custos, e o sistema é avaliado sobre um conjunto de perguntas.

O que está definido e o que não está

  • Definido: a arquitetura, documentada com um modelo C4, um diagrama de sequência e 10 ADRs.
  • Ainda não existe: o código. Não há repositório público, não há demo e não há métricas, porque não há nada a medir.
  • Tudo o que está acima é design. Quando houver uma primeira versão funcionando, esta página será atualizada com o que tiver sido medido.

Stack

  • Python
  • LangGraph
  • LangChain
  • FastAPI
  • PostgreSQL + pgvector
  • Langfuse
  • Next.js
  • Docker