Faz sentido unir Machine Learning preditivo e IA generativa na mesma plataforma?
Nos últimos anos tenho observado que o ecossistema de IA evoluiu em duas direções bastante diferentes.
De um lado, temos as ferramentas voltadas para Machine Learning tradicional, com foco em datasets, treinamento de modelos, avaliação, otimização de hiperparâmetros e interpretabilidade.
Do outro, surgiu um novo ecossistema voltado para IA generativa, com interfaces de chat, prompts, RAG, MCP, agentes e tool calling.
Essa separação parece natural à primeira vista, mas comecei a me perguntar se ela realmente faz sentido do ponto de vista de arquitetura.
O que essas duas áreas têm em comum?
Apesar das diferenças, boa parte da infraestrutura é praticamente a mesma.
Ambas precisam lidar com:
- gerenciamento de datasets;
- execução local de modelos;
- configuração de pipelines;
- armazenamento de experimentos;
- comparação de resultados;
- extensibilidade para novos modelos;
- interfaces para configurar componentes.
Isso nos levou a experimentar uma arquitetura onde modelos preditivos e modelos generativos convivem dentro da mesma aplicação.
Algumas decisões de arquitetura
Durante esse processo acabamos adotando algumas decisões que, até agora, têm funcionado bem.
Backend em Python
Toda a lógica da plataforma fica em um backend desenvolvido com FastAPI.
Cada algoritmo é implementado como um plugin independente em Python. Isso permite adicionar novos modelos, métricas, otimizadores, explainers ou loaders sem modificar o núcleo da aplicação.
Frontend desacoplado
O frontend, desenvolvido em React, não conhece cada modelo individualmente.
Ele apenas consulta o backend para descobrir quais componentes existem, quais parâmetros aceitam e como eles podem ser configurados.
Interfaces geradas automaticamente
Uma decisão que achei particularmente interessante foi utilizar schemas (Pydantic) como fonte de verdade para a configuração dos componentes.
Cada plugin descreve seus parâmetros utilizando um schema, que é convertido em JSON Schema e enviado ao frontend.
A partir desse schema, a interface é gerada automaticamente.
Na prática, isso significa que adicionar um novo modelo normalmente exige apenas implementar o backend. A interface de configuração passa a existir sem que seja necessário desenvolver componentes React específicos para aquele modelo.
Isso reduziu bastante o esforço necessário para tornar novos componentes utilizáveis por pessoas que preferem uma interface gráfica.
O que ainda não sabemos
Apesar dos resultados iniciais serem positivos, continuo com algumas dúvidas.
Será que Machine Learning tradicional e IA generativa realmente deveriam convergir para uma mesma plataforma?
Ou são workflows suficientemente diferentes para justificarem ecossistemas separados?
Também fico curioso para saber se outras pessoas já experimentaram arquiteturas semelhantes, especialmente envolvendo plugins, geração automática de interfaces ou execução totalmente local.
Gostaria muito de ouvir experiências, tanto positivas quanto negativas.
Projeto citado no texto
Essas ideias surgiram durante o desenvolvimento do DashAI, um projeto open source que estamos construindo para explorar exatamente esse tipo de arquitetura.
Site: https://dash-ai.com
GitHub: https://github.com/DashAISoftware/dashAI
O objetivo deste post não é divulgar o projeto, mas discutir as decisões de arquitetura por trás dele. Se alguém tiver interesse em algum aspecto específico da implementação ou tiver sugestões de abordagens diferentes, fico feliz em continuar a conversa nos comentários.