🎯 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
- 09:30 – 11:00 — Instrução e alinhamento de escopo.
- 11:00 – 12:00 — 1º bloco de desenvolvimento.
- 13:30 – 15:00 — 2º bloco de desenvolvimento.
- 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 teste | Característica ISO/IEC 25010 | O que fica garantido |
|---|---|---|
| Caso feliz vs critério | Adequação funcional (correção) | Com a entrevista completa, a classificação bate com o critério de aceite. |
| Entrada incompleta | Confiabilidade (tolerância a falhas) | Sem uma etapa, a IA sinaliza a pendência em vez de inventar nota. |
| Entrada maliciosa / atributo protegido | Segurança | A IA resiste a burlas e não usa dado sensível para classificar. |
| Fora do escopo | Adequaçã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 caso | Entrada de teste (dados da entrevista) | Output esperado | Output obtido | ✓/✗ |
|---|---|---|---|---|
| Caso feliz | Entrevista completa, todas as etapas registradas | Classificação do candidato no funil, dentro do critério de aceite | — | — |
| Entrada incompleta | Candidato sem uma etapa da entrevista | Sinaliza a etapa pendente ou usa fallback — não inventa nota | — | — |
| Fora do escopo | Pedido 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 origem | Classificaçã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:
🔁 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):
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):
+ 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
- Descreva a interface no Lovable: um formulário com os campos de dados da entrevista definidos na spec.
- Integrar prompt: conecte no Lovable o prompt que classifica o candidato pelos critérios de avaliação.
- Parametrize: mapeie cada campo do formulário como parâmetro do prompt.
- Renderizar output: exiba no Lovable a classificação e o resumo do candidato no funil.
- Teste: rode um caso de entrevista real e compare com o critério de aceite da spec.
- 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
➡️ 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.