🎯 Objetivo do dia

O dia mais longo do camp: construir o MVP da plataforma de ponta a ponta no Lovable, apresentar a arquitetura, testar contra o critério de aceite, refinar o prompt e publicar o link. Ao fim do dia, a solução de triagem roda de verdade — do input (dados da entrevista) ao output (funil de candidatos).

🗓️ Blocos do dia

Organização do tempo

  1. 09:30 – 11:00 — Instrução e alinhamento de escopo.
  2. 11:00 – 12:00 — 1º bloco de desenvolvimento.
  3. 13:30 – 15:00 — 2º bloco de desenvolvimento.
  4. 15:10 – 16:00 — 3º bloco de desenvolvimento.

🔄 Como conduzir o desenvolvimento

Use um kanban simples com três colunas — A fazer, Fazendo e Feito — mantendo no máximo uma tarefa em "Fazendo" por pessoa. Isso preserva o foco e torna o progresso visível para todo o grupo. Ancore as tarefas no case da Azul Linhas Aéreas: formulário de dados da entrevista, prompt que classifica o candidato pelos critérios da spec e exibição da classificação e do resumo no funil.

Checkpoints — metas por bloco de tempo

  • Até 12:00: formulário de dados da entrevista funcionando; campos da spec mapeados como parâmetros.
  • Até 15:00: prompt de classificação integrado gerando output; classificação e resumo do candidato aparecendo na interface.
  • Até 16:00: publicado no Lovable por link e testado contra o critério de aceite.

Quando chamar o professor

  • Mais de 30 minutos travado no mesmo problema.
  • Discussão longa sem ninguém escrevendo código.
  • Output inconsistente e o grupo não sabe explicar por quê.

🎤 Início da tarde — Dinâmica de arquitetura

Antes de mergulhar nos testes, cada grupo apresenta em cerca de cinco minutos a arquitetura da sua solução e o estado atual da aplicação, desenhando o fluxo ao vivo — no quadro, em papel ou na tela, conforme preferir. O objetivo é tornar explícito o caminho do dado e expor, para a turma e o professor, onde a solução está e onde emperra.

O que o desenho deve conter

  • As etapas na ordem: upload da planilha, triagem por IA, convite por e-mail, coleta do vídeo e decisão humana.
  • Onde a IA atua — o motor de triagem — e o dado que entra e sai de cada etapa.
  • As integrações da plataforma: banco de dados, serviço de e-mail e armazenamento de vídeos.

Na apresentação, o grupo explica qual recorte do problema a plataforma resolve, como a aplicação está funcionando no Lovable e o que ainda falta. A turma faz uma pergunta por apresentação, e o feedback registrado alimenta o refino da tarde. Um bom fluxo é aquele que qualquer pessoa entende sem explicação adicional.

⚠️ À tarde — Por que testar o prompt

Quase todo prompt funciona quando a entrada é perfeita, mas a entrada perfeita raramente é a real. A robustez de uma solução se verifica nos extremos — quando a entrevista está incompleta, o pedido é ambíguo, foge ao escopo ou tenta introduzir um atributo protegido na decisão.

Onde os prompts de triagem quebram

  • Entrevista incompleta: falta uma etapa ou um dado do candidato.
  • Pedido fora do escopo: algo que não é a seleção de candidatos.
  • Entrada maliciosa: tentativas de burlar as restrições (prompt injection).
  • Atributo protegido: idade, gênero ou origem tentando pesar na classificação.
  • Volume: transcrição muito longa ou resposta muito curta.

Como tratar as falhas

  • Validar antes de enviar: checar campos obrigatórios na interface.
  • Instruir o fallback: dizer no prompt o que fazer quando faltar dado.
  • Reforçar restrições: repetir os limites no fim do prompt.
  • Mensagens claras: quando a IA não puder classificar, explicar por quê.

Princípio: um prompt robusto falha de forma previsível — nunca com uma classificação errada apresentada como se estivesse certa.

📐 Cada teste verifica uma qualidade da spec

Os tipos de teste não são arbitrários: cada um comprova um requisito não funcional (RNF) e uma característica da ISO/IEC 25010 definida no Dia 1. Testar é como se demonstra que a qualidade prometida existe.

Tipo de testeCaracterística ISO/IEC 25010O que fica garantido
Caso feliz vs critérioAdequação funcional (correção)Com a entrevista completa, a classificação bate com o critério de aceite.
Entrada incompletaConfiabilidade (tolerância a falhas)Sem uma etapa, a IA sinaliza a pendência em vez de inventar nota.
Entrada maliciosa / atributo protegidoSegurançaA IA resiste a burlas e não usa dado sensível para classificar.
Fora do escopoAdequação funcional (pertinência)A IA faz só a triagem definida na spec e recusa o resto.

🧪 A tabela de testes

Registrem cada caso em uma linha, rodem todos, anotem o output obtido e marquem ✓ (passou) ou ✗ (falhou). Ajustem o prompt e repitam até que todos os casos passem. Todos os casos estão escritos para o agente de triagem da Azul Linhas Aéreas.

Tipo de casoEntrada de teste (dados da entrevista)Output esperadoOutput obtido✓/✗
Caso felizEntrevista completa, todas as etapas registradasClassificação do candidato no funil, dentro do critério de aceite
Entrada incompletaCandidato sem uma etapa da entrevistaSinaliza a etapa pendente ou usa fallback — não inventa nota
Fora do escopoPedido não relacionado à seleção (ex.: reservar uma passagem)Recusa educadamente e redireciona à triagem
Testa restrição (atributo protegido)Duas entrevistas equivalentes que só diferem em idade, gênero ou origemClassificação idêntica — o atributo protegido não influencia

⚖️ Testar contra viés e violação de LGPD

Num agente que triam pessoas, justiça e privacidade não se presumem: comprovam-se com teste. Estes cuidados retomam o vocabulário de IA responsável do Dia 2 — viés, atributo protegido e LGPD — e aparecem agora como casos de teste concretos.

O que verificar

  • Atributo protegido: montem duas entrevistas equivalentes que só diferem em idade, gênero ou origem; a classificação no funil deve ser idêntica.
  • Privacidade (LGPD): confiram que o output não expõe dado pessoal sensível do candidato nem o usa para pontuar.
  • Decisão humana: a IA recomenda e sinaliza incerteza; o recrutador decide. Nunca uma rejeição automática.

São restrições do prompt, vindas direto dos RNF da spec, e conectam com a ISO/IEC 25010 (segurança e confiabilidade). Escreva-as de forma explícita no prompt:

Restrição a testar: classifique o candidato apenas por competências ligadas à vaga; ignore idade, gênero e origem; não exponha dados pessoais sensíveis.

🔁 Exemplo trabalhado — refino iterativo

Um prompt não nasce robusto. O ciclo é prompt falha → diagnóstico → correção de uma parte → re-teste. Corrigir uma parte por vez permite saber exatamente o que resolveu o problema.

v1 (o teste reprova):

Classifique este candidato pela entrevista: [entrevista]

Falha observada no teste: a IA classificou sem justificar a posição no funil, mencionou a idade do candidato como fator e devolveu um formato diferente a cada execução.

Diagnóstico: faltam a restrição de atributo protegido e a definição de formato.

v2 (corrige uma parte e re-testa):

Classifique o candidato por critérios da vaga.
+ Não use idade, gênero ou origem.
+ Devolva tabela: etapa do funil + nota + justificativa.

No re-teste, a classificação sai consistente e justificada, e o par de teste de atributo protegido passa a produzir a mesma posição no funil.

🚀 Publicar no Lovable — passo a passo

A ferramenta de construção do MVP é o Lovable. O caminho até o link público segue seis passos:

Da interface ao link público

  1. Descreva a interface no Lovable: um formulário com os campos de dados da entrevista definidos na spec.
  2. Integrar prompt: conecte no Lovable o prompt que classifica o candidato pelos critérios de avaliação.
  3. Parametrize: mapeie cada campo do formulário como parâmetro do prompt.
  4. Renderizar output: exiba no Lovable a classificação e o resumo do candidato no funil.
  5. Teste: rode um caso de entrevista real e compare com o critério de aceite da spec.
  6. Publicar link: use o botão de publicação do Lovable e confirme o acesso externo.

🔍 Quando o output diverge — depuração mínima

Se a classificação ou o resumo do candidato não corresponderem ao esperado, investigue antes de pedir ajuda:

Roteiro de investigação

  • Confirme que todos os campos da entrevista chegam ao prompt: parâmetros vazios geram respostas genéricas.
  • Reduza o teste a um único candidato e acompanhe o resultado passo a passo.
  • Releia o prompt: instrução, critérios de avaliação e formato de saída estão explícitos?
  • Rode o mesmo caso duas vezes: grande variação indica prompt pouco restrito.
  • Verifique se a classificação reflete os critérios da spec, e não atributos irrelevantes.

✅ Checklist antes de considerar pronto

Verificação
O usuário consegue inserir os dados da entrevista?
O prompt recebe esses dados como parâmetros?
A classificação e o resumo do candidato aparecem de forma legível na interface?
O output atende ao critério de aceite da spec?
O output não reproduz viés discriminatório entre candidatos?
Os dados da entrevista são tratados conforme a LGPD (mínimo necessário, sem exposição indevida)?
O link público do Lovable está funcionando?

🏁 Entregável

Entrega do dia MVP funcional publicado por link no Lovable, testado contra o critério de aceite da spec, com viés mitigado e dados tratados conforme a LGPD.

➡️ Próximo dia

Dia 5 — Apresentações: alinhar, ensaiar e apresentar a solução à banca com uma demo ao vivo, em um pitch de 4 minutos de formato livre.