Projeto
Plataforma de desenvolvimento pessoal com IA
- Papel
- AI Engineer
- Contexto
- Produto de cliente
- Stack
Produto comercial em produção: mentor contextual, diagnóstico por área e plano de 90 dias que a interface renderiza como objeto, não como texto.
O problema
Um produto de desenvolvimento pessoal conversa com o usuário sobre hábitos, metas e estado emocional. Isso coloca a camada de IA num terreno sensível: a mesma resposta que soa acolhedora pode, no caso errado, virar um conselho que o produto não tem legitimidade para dar.
Além do risco de conteúdo, existe o risco de custo: o produto é vendido por assinatura de valor fixo, então cada real de inferência sai da margem. Uma camada de LLM aberta ao usuário final, sem teto, é uma conta que cresce sozinha.
A solução
Camada de IA de um produto mobile de desenvolvimento pessoal, com mentor contextual, diagnóstico por área da vida e plano de 90 dias que a interface renderiza como objeto em vez de texto. Tudo atrás de um ponto único de chamada ao modelo, com guardrail de escopo, moderação e teto de custo por usuário.
Como a consulta atravessa o sistema
- 01
Runner
toda chamada entra por aqui, sem exceção de feature.
- 02
Moderação
a entrada é checada antes de qualquer geração ser paga.
- 03
Contexto
diagnóstico, áreas e plano vêm do banco por usuário, dentro de orçamento de token.
- 04
Geração
a resposta é pedida sob schema, não como texto livre.
- 05
Validação
o objeto é conferido na borda antes de a interface renderizar.
Decisões de engenharia
- 01
Toda chamada ao modelo passa por um ponto só.
- Alternativa considerada
- Cada feature falando com a API direto, com o seu próprio cliente.
- Por quê
- Moderação, timeout, retry, validação de schema, versionamento de prompt e contabilidade de token viram preocupações resolvidas uma vez, em vez de cada feature resolvendo à sua maneira e divergindo. O dia em que um guardrail muda, ele muda num lugar: com cliente por feature, muda em todos e falha em um.
- O que custou
- Acoplamento. Toda feature nova nasce dentro dessa camada, e nenhuma consegue experimentar um modelo ou um formato de chamada sem passar por ela.
- 02
Sem busca vetorial: o contexto vem do banco, por usuário.
- Alternativa considerada
- Embeddings do histórico do usuário, índice vetorial e reranking, que é o caminho default para "dar contexto ao modelo".
- Por quê
- O corpus relevante para o mentor é o dado do próprio usuário: o diagnóstico, as áreas em aberto e o plano em andamento. Recuperar isso por identificador no Postgres é exato, auditável e mais barato que embedar e ranquear dezenas de registros que já vêm com a chave certa. A montagem de contexto tem orçamento fixo de token, com ordem de prioridade.
- O que custou
- Não generaliza. No dia em que o mentor precisar citar conteúdo que o usuário não escreveu, não existe camada de recuperação para reaproveitar, e ela vai ter de ser construída do zero.
Resultado
Produto comercial vendido a cliente, com a camada de IA em produção.