AGENTES DE IA DA PLATAFORMA
Documentação técnica completa — arquitetura, segurança e isolamento dos agentes de IA.
Mestre IA
Aluno
Consultor FightPro
Admin (Financeiro)
Suporte FightPro
Admin (Layout)
1. Visão Geral
A plataforma possui três agentes de IA distintos, cada um com um propósito específico, público-alvo e nível de acesso a dados próprios. A separação garante que cada tipo de usuário (aluno ou administrador) tenha acesso apenas às ferramentas relevantes ao seu perfil, seguindo o princípio de menor privilégio.
Os agentes utilizam o modelo Gemini (Google) já integrado à aplicação, com histórico de conversa persistido em banco de dados (entidade ChatSession) para manter o contexto entre sessões.
2. Arquitetura de Agentes
Os três agentes seguem uma arquitetura segregada por função:
- Mestre IA (Aluno): técnica, treino, dieta e psicologia esportiva. Acesso restrito aos dados do próprio aluno.
- Consultor FightPro (Admin, no Financeiro): negócios — precificação, marketing, retenção, tributação. Acesso aos dados financeiros.
- Suporte FightPro (Admin, no Layout): suporte técnico — explicar funcionalidades, sugerir configurações e direcionar para suporte humanizado.
Cada agente possui seu próprio backend function, seu próprio system prompt e seu próprio tipo de ChatSession (agent_type), garantindo isolamento total de contexto e histórico.
3. Agente Mestre IA (Aluno)
Público: Alunos (role='user').
Onde aparece: Botão flutuante (FAB) no canto inferior direito, com ícone de Sparkles, visível apenas no painel do aluno.
Funcionalidades:
- Mentor faixa-preta em técnica de Jiu-Jitsu, fisiologia, nutrição (Dieta Gracie) e psicologia do esporte.
- Sistema de anamnese para prescrição de treinos e dietas adaptadas (avaliação de risco clínico).
- Créditos gratuitos mensais + pacotes pagos extras (Stripe/Pix).
- Histórico persistido por aluno (agent_type='aluno').
Visibilidade para o administrador: NENHUMA. O ícone não aparece no painel admin.
4. Agente Consultor FightPro (Negócios)
Público: Administradores (role='admin').
Onde aparece: Card expansível dentro da página Financeiro (não é um FAB flutuante).
Funcionalidades:
- Especialista em gestão: precificação, marketing, retenção, inadimplência, tributação, capital de giro.
- Acesso aos dados financeiros reais da academia.
- Sugestões de preços e planos data-driven.
Este agente não foi alterado nesta implementação — permanece intacto no Financeiro.
5. Agente Suporte FightPro (Administrador)
Público: Administradores (role='admin').
Onde aparece: Botão flutuante (FAB) no canto inferior direito, com ícone de LifeBuoy (boia), visível apenas no painel do administrador.
O que resolve:
- Reduz a curva de aprendizado: o admin pergunta como funciona qualquer página sem ler manuais.
- Sugestões de configuração inteligentes com base nos dados reais.
- Suporte humanizado como último recurso (e-mail suporte@fightpro.com.br).
Hierarquia de atendimento:
- Explicação técnica da funcionalidade/componente.
- Sugestão de configuração com base nos dados reais.
- Transbordo para suporte humanizado (e-mail) se não for possível resolver.
Base de conhecimento: o agente conhece todas as páginas (Dashboard, Alunos, Check-in, Graduação, Financeiro, Comunidade, Configurações, Meu Perfil) e suas funcionalidades específicas.
6. Segurança e Isolamento
Controle de acesso (RLS + validação no backend):
adminSupportChat: validauser.role === 'admin'. Retorna 403 para alunos.geminiChat(Mestre IA): acessa apenas o registro do próprio aluno. Sem acesso a dados financeiros.adminGeminiChat(Consultor): validauser.role === 'admin'. Acesso a dados financeiros do tenant.
Isolamento de contexto:
- Cada agente usa um
agent_typedistinto (aluno, admin, admin_support) — histórico nunca se mistura. - System Prompt de cada agente é independente e especializado.
Isolamento de interface:
- FAB do Mestre IA renderizado apenas quando
user.role === 'user'. - FAB do Suporte renderizado apenas quando
user.role === 'admin'. - Alunos nunca veem o Suporte; administradores nunca veem o Mestre IA.
7. Plano Sugerido e Aplicado
Plano original sugerido:
- Retirar o ícone do agente de IA do painel do administrador.
- Criar um agente de IA de suporte para o administrador com Gemini.
- O agente deve explicar cada componente/página e sugerir configurações.
- Em último caso, direcionar para suporte humanizado com e-mail.
- Ícone de suporte apenas no painel do administrador; alunos sem acesso.
Plano aplicado (decisões de engenharia):
- Criação de um novo backend function (
adminSupportChat) em vez de reaproveitar oadminGeminiChat— preserva o Consultor de Negócios sem quebra. - System Prompt especializado em suporte técnico, com base de conhecimento de todas as páginas.
- Hierarquia de atendimento em 3 níveis (explicação → sugestão → suporte humanizado).
- Contexto real injetado: métricas financeiras + configurações para sugestões data-driven.
- Histórico isolado via
agent_type='admin_support'. - Novo componente
AdminSupportChat.jsxcom sugestões clicáveis e identidade visual distinta (LifeBuoy). Layout.jsxrefatorado: renderização condicional do FAB por role.- E-mail de suporte humanizado fornecido apenas em último caso, via System Prompt.