Documentação

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:

  1. Explicação técnica da funcionalidade/componente.
  2. Sugestão de configuração com base nos dados reais.
  3. 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: valida user.role === 'admin'. Retorna 403 para alunos.
  • geminiChat (Mestre IA): acessa apenas o registro do próprio aluno. Sem acesso a dados financeiros.
  • adminGeminiChat (Consultor): valida user.role === 'admin'. Acesso a dados financeiros do tenant.

Isolamento de contexto:

  • Cada agente usa um agent_type distinto (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 o adminGeminiChat — 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.jsx com sugestões clicáveis e identidade visual distinta (LifeBuoy).
  • Layout.jsx refatorado: renderização condicional do FAB por role.
  • E-mail de suporte humanizado fornecido apenas em último caso, via System Prompt.