Construindo com IA

Um coach de conversação com IA funcionando, construído sozinho como projeto final de um curso (ago–set de 2025). Sem time, sem usuários reais, sem negócio em jogo: o que ele mostra é prática com iteração de prompts, saídas estruturadas, evals e testes adversariais.

Ele faz par com o case do AI Coach: a mesma lacuna de prática de fala, uma vez dentro de restrições reais da organização e outra aqui, com liberdade técnica total.

Ver a apresentação de 5 min (em inglês)

O problema: as pessoas sabem as regras, mas travam numa conversa real.
Papel
Construtor solo: PM, pesquisador, engenheiro de prompts, avaliador
Período
Ago–set de 2025 (PRD em 12/ago; apresentação final em 20/set)
Contexto
Curso "AI for Product Managers" (Miqdad Jaffer, ex-OpenAI, Maven)
Ferramentas
Lovable, Supabase, OpenAI (GPT-5 → GPT-4.1-mini), Grok para dados de teste adversariais

Por que este exercício

O projeto final pedia uma função de IA de ponta a ponta: discovery, um protótipo funcionando e um plano de lançamento. Não inventei um problema de brinquedo; usei uma lacuna do meu trabalho. Os usuários da RealLife English assistem a uma aula, fazem flashcards e exercícios de escrita, mas a próxima chance real de falar é uma sessão marcada com outra pessoa. Nada liga "fiz o exercício" a "consigo usar isso numa conversa real".

A persona e a lacuna

Público-alvo: pessoas que já trabalham em ambientes em inglês, já pagam por soluções de idioma, sabem as regras, mas não têm confiança porque não usam o vocabulário em situações reais.

Contexto de mercado: o ensino de inglês corre risco de virar commodity com a IA, com Duolingo, Cake e parceiros de conversa com IA como a Loora andando rápido. A conexão humana continua relevante; a oportunidade é a IA como apoio à prática, não como substituta da conversa real.

"Excelente entrega. Você claramente fez o trabalho de entender a jornada, a mentalidade e as dores do usuário... Seu mapeamento emocional de UX é excelente... Cuidadoso, focado e claramente guiado por insights reais de quem aprende."Miqdad Jaffer, instrutor do curso, sobre a fase de discovery

Críticas dele: dimensionar melhor o mercado, deixar claro o evento de monetização e explicar como o LLM sustenta a função (geração, feedback ou busca). Notas justas sobre o plano, não sobre o protótipo. Trade-off honesto: com o prazo do curso correndo, passei para design e desenvolvimento sem aplicar esse feedback antes, e registrei isso na hora.

O protótipo

Fluxo: assistir à aula → flashcards → preencher lacunas → prática de fala com IA (role play com feedback imediato). O passo de IA era novo; o resto espelha a RealLife English, então o coach precisava caber num modelo mental que já existia.

O fluxo de quatro passos, com a prática de fala com IA como novidade.

Uma restrição proposital: no máximo 3 trocas com a IA por sessão. Sessões curtas, menos carga cognitiva e prática focada em lembrar, não em conversa aberta.

Praticando a palavra "sludge", de uma aula sobre capacidade de atenção.
Feedback da sessão: aprovação por palavra e um resumo escrito, gerado a partir da transcrição.

Prompts e evals

Comecei com o GPT-5 para tudo e depois vi que o GPT-4.1-mini bastava para o ciclo principal, e saía mais barato.

O trabalho de verdade foi a saída estruturada. Os primeiros testes vazavam a resposta dentro do exercício: o modelo gerava a lacuna e incluía a resposta na mesma mensagem. As primeiras avaliações conflitavam entre si. Troquei ~20 campos soltos por uma saída estruturada em YAML e iterei prompt e critérios juntos.

  • Geração de exercícios: estrutura, ordem, relevância (usa o vocabulário alvo), sem inventar vocabulário, tom.
  • Geração de feedback: tom, relevância, foco em compreensão em vez de implicar com gramática, aceita respostas válidas no sentido, propõe repetição em voz alta, permite tentar de novo, sem alucinação, sem fugir do tema.
A nota das evals subindo de 0% para mais de 80%: mais rígida onde o prompt estava solto, mais flexível onde bloqueava respostas válidas.

Testes com personas sintéticas

Em vez de esperar usuários reais, criei quatro personas adversariais: comum (erros pequenos, como "on" e "in"), realista (erros de iniciante, como "teached"), irritada e insegura (palavrões em inglês e no idioma do usuário, gerados com o Grok) e fora do tema (respostas sem relação, como uma TV ligada ao fundo).

Os dois problemas mais difíceis: equilibrar instruções com saída estruturada, e lidar com respostas fora do tema ou adversariais.

Os testes sintéticos pegaram um caso real: ao conjugar o verbo irregular "to pay", o modelo devolveu uma lacuna ("_ed") em vez de "paid off". Pequeno, mas o tipo de falha que destrói a confiança rápido.

O que eu lançaria depois, e um plano de lançamento

Escopo do MVP: geração de exercícios, chat, feedback e interface de áudio. Ficaram de fora: acompanhamento de nota por palavra ao longo do tempo, um modelo de conversa ao vivo e personalização pelos objetivos declarados.

MVP, release 2 e a visão de longo prazo (RAG, memória, fonética, preferências de voz).
Dois trilhos, dois conjuntos de KPIs: usuários novos e premium fiéis se comportam de forma diferente.

A lógica dos dois segmentos espelha o que o Daily Missions mostrou: renovar depois do trial é um sinal diferente de converter no início do trial.

O que eu faria diferente

  • Evals ajustadas com dados sintéticos deixaram passar alucinações reais. Com aulas e vocabulário reais, o modelo errou de formas que o conjunto de testes não pegou.
  • Só chat ficou repetitivo. O role play funcionou, mas o formato precisa de mais textura, e deveria sair de encenar um cenário para contar uma história real.
  • Não cheguei a custo e viabilidade. Nenhum modelo de custo por token; registrei a lacuna em vez de pular.
  • Comparar mais modelos e métodos de avaliação, e definir antes o escopo de detecção fonética: ela exige embeddings ou fine-tuning, uma abordagem diferente do resto.
"Os limites da minha linguagem significam os limites do meu mundo." Ludwig Wittgenstein, fechando a apresentação.