04 Investigar
Notas do instrutor para a investigação humana baseada em evidências e a entrega da proveniência de produção.
Material do facilitador para 04 Investigar.
Duração
~20 minutos no total.
- 3 min — filtrar feedback negativo e verificar a raiz autoritativa do Chat.
- 4 min — criar três configurações de pontuação e a fila com anexos fixos.
- 4 min — codificar abertamente o comportamento antes do diagnóstico.
- 5 min — inspecionar evidências e executar SQL de
policy-v1/policy-v2lado a lado. - 4 min — inserir correção, aprovar, concluir e registrar proveniência.
Preflight do instrutor
Antes da turma, confirme que o Módulo 03 produziu um chat_turn autoritativo com Boolean user-thumbs=false e sql-execution-success=true. Mantenha o ID privado e confira que a saída raiz contém pergunta, SQL, linhas e outcome.
Se precisar ensaiar, crie as configurações num projeto descartável, mas não a fila final. O conjunto de IDs anexados à fila fica fixo na criação, então crie primeiro as três configurações:
| Nome | Tipo | Valores |
|---|---|---|
observed-issue | TEXT | evidência em formato livre |
failure-category | CATEGORICAL | stale-business-policy, incorrect-sql, ambiguous-request, not-actionable |
approved-for-golden | BOOLEAN | true / false |
O exercício ocorre apenas na interface. Scripts verificam pontuações e depois promovem a exportação revisada, mas não criam a fila, escrevem julgamentos ou concluem a tarefa.
Roteiro de fala
-
Filtre Tracing por
user-thumbs = falsee associe o ID da planilha. Diga: “o feedback decide o que investigamos em seguida, não o que concluímos”. -
Use Settings → Scores → Create para cada configuração. Em Annotations → Queues → Create, chame a fila de
production-investigation-<session>com sufixo único e anexe as três. -
Selecione a observação raiz
chat_turn, abra Annotate e escolha a fila. Mostre a filhallm_call, mas explique que é o alvo errado: não contém resultado estruturado ponta a ponta nem é o incidente lógico. -
Lembre que a preparação foi revelada, mas peça que suspendam esse conhecimento e codifiquem abertamente o observável. Uma boa nota inicial é:
The SQL executed and returned a count. The observed count differs from the second reference count. The query uses a 90-day customer signup window, and the trace metadata reports policy-v1. -
Só depois revele tudo: metadado
policyversion=policy-v1, SQL/resultado baseado em cadastro e pontuações. O campo-fonte épolicy_version; o adaptador emitepolicyversion. -
Execute as definições lado a lado. A referência
policy-v1é:SELECT count() FROM v_customers WHERE signup_date >= today() - INTERVAL 90 DAYA referência atual
policy-v2é:SELECT uniqExact(customer_id) FROM v_orders WHERE order_ts >= now() - INTERVAL 30 DAY AND status NOT IN ('cancelled', 'returned') -
Só então aplique o diagnóstico: registre
failure-category=stale-business-policy, mude Corrected Output para plain-text mode e cole a consulta atual bruta. O Langfuse não executa SQL; verifique o texto no cliente somente leitura antes de definirapproved-for-golden=truee concluir. -
Preserve
source_trace_id,failure_category,source_policy_version, a correção e o ID opcional da tarefa para o Módulo 05.
Três diagnósticos tentadores, mas errados
- “O modelo ignorou o prompt.” O SQL segue
policy-v1; a falha é a política implantada desatualizada. - “
sql-execution-successestá quebrado.” O SQL executou, entãotrueestá correto; o evaluator não testa significado de negócio. - “Um 👎 prova que o SQL está errado.” O feedback identifica um trace a revisar, mas não esclarece a intenção nem fornece consulta substituta verificada; comparação e revisão fazem isso.
Mantenha as alternativas visíveis até a codificação aberta. O instrutor conhece a resposta, mas deve modelar uma investigação real baseada em evidências.
Seleção da observação raiz
Há duas observações relevantes:
| Observação | Contém | Usar na anotação? |
|---|---|---|
chat_turn raiz | pergunta e saída estruturada de SQL/resultado | Sim |
llm_call filha | transcrição, SQL e uso de tokens | Não |
Se alguém adicionar a filha, não a conclua como investigação. Adicione o chat_turn raiz à fila correta e mantenha/exclua a tarefa equivocada segundo a retenção. Preserve o ID do trace, não o da observação filha, como source_trace_id.
Anexos fixos da fila e nomes seguros para repetição
O Langfuse fixa os IDs anexados na criação. Uma configuração omitida não pode ser acrescentada depois; crie todas primeiro. Configurações são mutáveis: alterações compatíveis exigem atualização auditada e não reescrevem pontuações existentes.
Use um sufixo seguro:
production-investigation-<session>-retry-1Se houver omissão ou ID errado, crie nova fila com as três configurações, adicione novamente a raiz e marque a antiga como substituída (ou remova-a se a política permitir). Para editar configuração já anexada, use atualização auditada. Nunca reutilize um nome concluído de modo a ocultar qual tarefa decidiu.
Confiabilidade da saída corrigida
A correção vira verdade dourada futura; sintaxe e política importam. Mude Corrected Output para plain-text mode antes de colar SQL bruto. O Langfuse armazena, não executa; execute o texto exato pelo cliente da Etapa 6. Consulta malformada, em tabelas brutas, com várias instruções ou que falha deve continuar não aprovada.
Para SQL malformado:
- defina ou mantenha
approved-for-golden=false; - não conclua como aprovado;
- corrija usando as views
v_*permitidas; - execute e inspecione; e
- só então aprove e conclua.
Se já foi concluída uma correção ruim, crie nova fila/tarefa com sufixo em vez de apagar a trilha de auditoria. A promoção do Módulo 05 também valida e executa SQL somente leitura, mas não substitui a revisão.
Falhas comuns
- Nenhum trace no filtro — confirme tipo Boolean e
user-thumbs=false; associe o ID da planilha, não o diagnóstico curl. - Alvo errado — a tarefa mostra só transcrição/SQL porque
llm_callfoi adicionada. Adicionechat_turnraiz. - Dimensão ausente — crie nova fila com sufixo; não use formulário incompleto. Para edição compatível, atualize a configuração auditadamente.
- Metadado ausente — procure
policyversion, nãopolicy_version, e confirme a tagpolicy-v1. - Contagens iguais — pare e repita o preflight do Módulo 03; não fabrique evidência.
- Correção formatada — use plain-text mode e apenas a consulta.
- Correção não executa — o Langfuse não detectará. Mantenha aprovação falsa, corrija e execute antes de concluir.
Conclusão e entrega
Antes do Módulo 05, confirme que a tarefa concluída aponta ao chat_turn autoritativo, a observação veio antes do diagnóstico, o SQL é exatamente o atual e a tarefa está aprovada. A planilha deve conter:
source=production-feedback
source_trace_id=<authoritative Chat trace ID>
failure_category=stale-business-policy
source_policy_version=policy-v1
annotation_id=<task ID when available>A pontuação negativa permanece no trace como sinal de triagem. A anotação humana fornece a verdade revisada. O Módulo 05 preserva ambas as origens ao promover a correção e criar um evaluator preventivo.