Projetar para dúvida, controle e recuperação: fundamentos, experimento e evidência
Esta unidade integra fundamentos e prática de projetar para dúvida, controle e recuperação. O leitor começa pelo problema e pelo vocabulário — uncertainty, human-in-the-loop, abstention, confidence — antes de localizar dados, decisões e fronteiras. A segunda parte transforma a explicação em experimento: define baseline, executa o caminho esperado, provoca uma falha e compara qualidade, custo, latência e risco. O caso de manutenção conectado ao ERP mantém o raciocínio concreto e mostra onde políticas determinísticas e revisão humana continuam necessárias. A unidade termina com diagnóstico, critérios de aceite, exercício independente e evidência que outra pessoa consegue reproduzir, evitando tratar uma demonstração isolada como prova de produção.
Projetar para dúvida, controle e recuperação
IA precisa de uma interface honesta
Fluência verbal não é confiança. A interface deve indicar o que o sistema fez, qual evidência usou, o que não sabe e qual ação ocorrerá. Um rótulo genérico “pode errar” transfere toda responsabilidade; controles situacionais ajudam no momento da decisão.
pergunta → resposta + fontes + limites
→ usuário revisa
→ confirmação com alvo/efeito
→ execução → recibo/undo/escalonamentoIncerteza acionável
Não mostre percentual arbitrário. Quando houver calibração, explique significado. Caso contrário, use estados baseados em evidência: “encontrei procedimento vigente”, “fontes divergem”, “não há evidência suficiente”. Abstenção precisa de próximo passo: pedir campo, abrir manual ou encaminhar especialista.
Human-in-the-loop de verdade
Pessoa no loop não é decoração. Ela precisa de tempo, competência, contexto, autoridade para negar e registro. Se 10 mil alertas chegam por hora, não existe supervisão real. Distribua automação por risco:
| Risco | Padrão |
|---|---|
| baixo/reversível | executar com recibo e undo |
| médio | prévia e confirmação |
| alto/irreversível | revisão qualificada e segregação |
| incerto | abster e escalar |
Confirmação mostra ação, alvo, dados enviados, custo/consequência e possibilidade de reversão. Evite botão padrão que induz aceitar.
Falhas humanas previsíveis
Automation bias faz aceitar sugestão; complacência cresce após acertos; antropomorfismo infla confiança; dark patterns escondem recusa; explicações plausíveis racionalizam erro. Mitigue com comparação à fonte, linguagem calibrada, revisão de casos críticos, diversidade de apresentação e feedback simples.
Acessibilidade vale para streaming, teclado, leitor de tela, contraste, foco e movimento. Atualizações não devem roubar foco; conteúdo gerado precisa de rótulo e região apropriada.
Evals e operação
Meça sucesso da tarefa, correção após revisão, falso aceite, abandono, escalonamento, tempo, undo e satisfação — não só cliques. Faça usability test com erros deliberados. Feedback deve distinguir “não gostei” de “fato incorreto”, “fonte errada” e “ação perigosa”.
Privacidade: informe envio a terceiros, não exponha prompt interno, minimize histórico e ofereça exclusão. Segurança: encode output, links seguros e confirmação server-side.
Exercício e aceite
Prototipe diagnóstico de OS com fonte, divergência, abstenção e ação sensível. Teste com cinco pessoas, incluindo resposta propositalmente errada. Aceite: usuário detecta erro; fontes acessíveis; recusa não é penalizada; confirmação descreve efeito; undo/escalonamento; teclado e leitor de tela; métricas não incentivam aceite cego.
Fontes
Laboratório e caderno de evidências
Este caderno transforma o conceito do livro em uma decisão de engenharia auditável. O cenário é Desenhar revisão humana de sugestão crítica. A regra é começar pelo sistema atual — formulário manual e consulta ao manual — e só acrescentar complexidade quando uma avaliação previamente definida demonstrar ganho líquido.
1. Escreva o contrato da decisão
Registre em uma página: quem usa, qual decisão recebe apoio, quais entradas existem naquele instante, qual saída é permitida, qual efeito é proibido e quem responde pelo resultado. Separe sugestão, decisão e execução. Uma resposta textual pode sugerir; a API de domínio continua autorizando e registrando qualquer mudança.
Use critérios no formato dado/quando/então. Inclua caminho nominal, ausência de dados, conflito, outro tenant, dependência indisponível e tentativa adversarial. “Funciona bem” não é critério. Declare o limite de tempo, custo, dados e risco, além da condição de parada.
2. Construa o pacote mínimo de evidência
Crie um conjunto pequeno, porém representativo, antes de alterar o sistema. Cada caso tem identificador estável, origem, resposta ou comportamento esperado, risco, tags e razão da inclusão. O conjunto de desenvolvimento ajuda a iterar; um holdout separado impede otimizar contra a própria prova. Dados reais exigem minimização, controle de acesso e retenção. Quando usar casos sintéticos, identifique-os e confirme que não substituem a distribuição real.
A comparação deve manter constantes as partes que não estão sendo avaliadas. Se trocar modelo e prompt ao mesmo tempo, você não saberá a causa. Registre versões, configurações, ambiente, seeds quando aplicável e data. Preserve os piores erros como artefatos, não apenas a média.
3. Desenhe a fronteira operacional
entrada validada → componente candidato → validação externa
→ autorização/policy → resultado observável
→ feedback curado → avaliação de regressãoMarque onde conteúdo não confiável entra, onde identidade e permissões são resolvidas, onde segredos ficam e qual componente pode produzir efeito. O modelo não é fonte de verdade nem mecanismo de autorização. Use schema, consulta ao sistema de registro, allowlists, limites e confirmação proporcional ao risco.
Para cada dependência defina timeout, retry, idempotência, fallback e circuit breaker. Retry não é padrão para efeitos: um timeout pode ocorrer depois do sucesso. Modo degradado precisa preservar segurança e deixar claro ao usuário o que perdeu.
4. Faça uma pré-mortem
As falhas prioritárias deste livro são: automation bias; confirmação vaga; alerta excessivo; acessibilidade. Para cada uma, escreva gatilho, impacto, detecção, contenção, recuperação e teste do controle. Inclua falha acidental e abuso deliberado. Se a única defesa é “o modelo provavelmente recusará”, o controle ainda não existe.
Execute tabletop: uma pessoa opera, outra injeta a falha e uma terceira observa. O operador deve diagnosticar usando dashboards, traces e runbook, sem depender do autor. Registre lacunas e transforme recorrência em teste, política, alerta ou mudança arquitetural.
5. Meça o sistema completo
O painel mínimo acompanha falso aceite; undo; escalonamento; tempo e sucesso de tarefa. Faça cortes por versão, tipo de tarefa, risco e população relevante. Latência fim a fim inclui fila, retrieval e ferramentas. Custo é dividido por tarefa concluída, não por chamada. Qualidade em produção usa sinais curados; clique ou concordância do usuário não prova correção.
Defina SLO e orçamento de erro quando houver operação contínua. Alertas precisam de owner e ação. Telemetria passa por redaction antes de sair do processo; prompt, documento, memória ou trace completo podem conter informação pessoal, segredo ou conteúdo malicioso.
6. Libere em degraus
A sequência segura é offline, shadow, equipe interna, canário, aumento gradual e produção. Cada degrau possui gate e rollback. Feature flag separa deploy de liberação. A reversão deste cenário é: remover automação e manter evidência e processo manual. Treine a reversão antes do incidente e verifique que dados derivados, filas e caches também retornam a estado compatível.
Mudança de modelo, prompt, índice, ferramenta, policy ou dataset é mudança de sistema. Rode regressão proporcional. Um fornecedor atualizar silenciosamente comportamento não remove sua obrigação de testar.
Matriz de aceite
| Dimensão | Evidência exigida | Falha que bloqueia |
|---|---|---|
| valor | ganho sobre baseline em casos representativos | demo isolada sem comparação |
| correção | golden set, holdout e análise dos piores casos | métrica média sem cauda |
| segurança | testes negativos de identidade, dados e efeitos | policy apenas no prompt |
| privacidade | minimização, finalidade, retenção e exclusão | dado sensível em trace |
| operação | SLO, alerta, runbook e rollback exercitado | dependência sem timeout |
| governança | owner, versão, usos permitidos e revisão | sistema órfão |
Exercício de competência
Entregue um repositório ou pacote reproduzível contendo contrato, diagrama de fronteiras, casos de avaliação, script de execução, relatório comparativo, threat model, dashboard mínimo e runbook. Introduza deliberadamente duas falhas da pré-mortem e demonstre detecção e recuperação. Outra pessoa deve conseguir repetir o resultado sem explicação oral.
A aprovação exige: baseline preservado; critérios definidos antes do resultado; pelo menos um caso em que o sistema se abstém; efeito sensível protegido fora do modelo; custos medidos; rollback testado; limitações e usos proibidos escritos. Se o candidato não superar o baseline com segurança, documentar “não adotar” é um resultado tecnicamente correto.
Perguntas de recuperação ativa
- Qual afirmação deste sistema depende de evidência externa?
- O que o modelo pode propor, mas jamais autorizar?
- Qual mudança invalidaria o holdout?
- Como detectaríamos a pior falha antes do usuário?
- Qual é o caminho de retirada em menos de uma hora?
Relações
Use este caderno junto ao livro de evals para desenho estatístico, ao de segurança para cenários adversariais, ao de observabilidade para sinais e ao de UX para supervisão. A profundidade nasce da conexão entre decisão, implementação, medição e recuperação — não da quantidade de ferramentas citadas.
Comprove o que você aprendeu
Responda todas as questões. O gabarito comentado só aparece depois do envio.