Pular para o conteúdo

Q&A: citações, evidências, recusa

Aula 5 de 87 minOperarAtualizada em 2026-10-04

Vídeo em produção

A gravação desta aula está no lote de produção. O objetivo, o exercício e a documentação já valem. Duração-alvo: 7 min.

Objetivo: Verificar citação contra o visual

Selo de estado: Preview (teto atual do produto) · Curso ACD-410 — Ingestia AI: perguntar aos dados com proveniência · Aula 5 de 8 · Atualizado em 2026-10-04.

Objetivo#

Ao final desta aula você vai verificar citação contra o visual — abrir uma resposta do Q&A, encontrar no painel o número que cada citação aponta e reconhecer, pelo tipo de recusa, por que a IA preferiu não responder.

Vídeo#

Identificador no manifesto: acd-410-05-qa-do-dashboard-com-citacoes · duração-alvo 7 min · tela do produto: /query.

Roteiro de gravação (5 capítulos):

#Minutagem-alvoCapítuloTela do produto
10:00–0:45Abertura: título + selo Preview. O Q&A responde só sobre o snapshot já materializado — "sem custo de consulta", mas com custo de token./dashboards/[id] (painel comercial da Aurora)
20:45–2:30Perguntar no ✨ e ler a resposta com as evidências. Mostrar o que é um id de widget e de linha, e que o LLM é obrigado a citar esses ids./dashboards/[id] (painel lateral ✨)
32:30–4:15Conferir ao vivo: a citação aponta para o número que está no visual? Trocar o filtro da tela e repetir a pergunta — os filtros voltam ecoados pelo lado determinístico./dashboards/[id]
44:15–6:00As quatro recusas: fora do contexto (custo zero), sem evidência, evidência fraca, IA indisponível. Provocar uma e ler o texto./dashboards/[id] (painel lateral ✨)
56:00–7:00Custo real na resposta e o mesmo opId na auditoria; proibição de afirmar total sobre amostra; encerramento com o "faça você mesmo"./auditoria

Conteúdo#

A ideia central: o LLM redige, o código verifica

O Q&A do dashboard é a capacidade onde a arquitetura de honestidade fica mais explícita. Você pergunta algo sobre o painel; o LLM escreve a resposta; e quem decide se aquela resposta tem lastro é código puro, não o modelo.

O mecanismo é simples de entender e difícil de burlar: cada widget enviado ao prompt recebe um id — [W1], [W2] — e cada linha um sub-id — [W1.r3]. O LLM é obrigado a citar esses ids. Depois, um verificador confere cada citação contra o índice do que realmente viajou no prompt, não contra o texto que o modelo escreveu. Citação forjada não passa: se o modelo inventar [W9.r9], a verificação não encontra esse id no índice e a citação cai.

O que o LLM fazO que o código faz
Texto da respostaredige em português—
Citaçõesprecisa citar ids [W1.r3]confere cada id contra o índice do que viajou
Filtros consideradosdeclara o que diz ter consideradoecoa os filtros reais da tela e marca divergência
Amostraé instruído a não afirmar totalo widget já chega marcado como amostra, com quantas linhas foram enviadas e quantas existem
Recusapode recusartransforma "nenhuma citação confere" em recusa, mesmo que o texto parecesse bom
Custo—reserva → liquidação, com custo real formatado na própria resposta

Nas telas

No painel, o botão ✨ abre o painel lateral. Embaixo dele há a caixa "Pergunte aos seus dados…"; cada pergunta respondida aparece como um bloco com "Você: …", o texto da resposta e, abaixo, uma lista de evidências. O rodapé avisa: "respostas baseadas nos dados já carregados — sem custo de consulta". Leia com cuidado: sem custo de consulta significa que nenhuma query roda no datalake; não significa de graça — o token é cobrado do orçamento de IA.

Os filtros ativos da tela entram na conta: o painel lateral lê o estado dos filtros da URL e manda essa lista junto. Sem isso, a IA responderia sobre o snapshot inteiro como se fosse o recorte que você está vendo. E o que volta como "filtros considerados" vem do lado determinístico, nunca da boca do modelo.

Em /auditoria, a pergunta fica registrada como pergunta sobre o painel, com marca quando foi recusada ou quando a evidência era fraca, e o uso em ai.usage.

As quatro recusas (e quanto cada uma custa)

RecusaQuando aconteceCusto
Fora do contextoa pergunta não toca nenhum termo do painelzero — recusa antes de gastar token
Sem evidênciao LLM respondeu, mas nenhuma citação confere contra o dadoo custo real é liquidado: gastou, reporta
Evidência fracaa maioria das citações é ruima resposta sai com aviso, e só as citações que conferem entram como evidência
IA indisponívelsem provedor de modelo ou erro na chamadafallback honesto, citações vazias — nunca evidência fingida

Recusa é resposta correta

A regra da casa é "a IA recusa e avisa — ela não finge". Uma recusa bem fundamentada vale mais do que um número bonito sem lastro. Nos exercícios deste curso, provocar uma recusa é um objetivo, não um acidente.

Exemplo: a Aurora Varejo

Ana abre o painel comercial da Aurora com o filtro de período em "últimos 30 dias" e a filial em Campinas, e pergunta no ✨:

"qual categoria mais caiu vs o mês anterior neste painel?"

Resposta esperada: uma frase curta nomeando a categoria e a queda em pontos percentuais, seguida de evidências apontando para as linhas do visual de categorias — algo como [W2.r4] para a linha da categoria citada. Junto, os filtros considerados ecoados: período dos últimos 30 dias e filial Campinas. Ana então olha o visual na tela e confirma: o número da evidência é o mesmo que está no gráfico.

Agora Ana pergunta "qual a previsão para dezembro?". Resposta esperada: recusa — previsão não está no snapshot. E se ela perguntar "quanto foi o total de pedidos?" sobre um visual que chegou marcado como amostra, a resposta esperada é dizer que o número exato exige agregar no SQL, em vez de somar o que está na tela. Afirmar total, soma, "maior" ou "todos" sobre amostra é proibido.

Como conferir uma citação, passo a passo

  1. Leia a afirmação e identifique qual número ela usa.
  2. Encontre a evidência correspondente embaixo da resposta.
  3. Localize o widget citado no painel e a linha dentro dele.
  4. Compare o valor. Bateu? A afirmação tem lastro. Não bateu, ou não há evidência? Trate a frase como não verificada.
  5. Confira os filtros considerados contra os filtros que estão na tela: se divergirem, a resposta é sobre outro recorte.

Erros comuns

ErroPor que é graveO que fazer
Aceitar número sem citaçãoé exatamente o que a arquitetura do produto tenta impedir; sem citação a frase não foi verificadaexija a evidência; sem ela, não leve o número para a reunião
Pergunta sem períodoo painel tem um recorte na tela, mas a pergunta pode pedir outrodiga o período na pergunta e confira os filtros ecoados
Achar que a IA aprende com os dadoso Q&A não guarda histórico de conversa nem treina com o seu painelcada pergunta é independente; repita o contexto necessário
Pedir "agora"a resposta vem do snapshot da última atualizaçãoatualize o painel ou use o text-to-SQL
Somar amostrao número fica errado e a IA está proibida de ajudar nissouse o text-to-SQL para o total exato

O que o Q&A NÃO faz

Não roda consulta no datalake. Não afirma causa e efeito — correlação vista no painel não vira "X causou Y". Não responde sobre o que não está no snapshot (previsão, dado externo, "agora"). Não afirma total ou ranking sobre amostra. E não dá garantia de exatidão: o estado é Preview, com qualidade em produção NOT_MEASURED e avaliação humana pendente. As defesas — ids, verificação de citações, eco de filtros — são determinísticas e testadas, mas nenhuma defesa elimina 100% do risco. Revise sempre.

Faça você mesmo#

No painel comercial do workspace de treino Aurora Varejo. Atenção: cada pergunta no ✨ consome o orçamento de IA do workspace — a resposta mostra o custo real em reais, e o mesmo valor aparece em /auditoria. Confira o teto do mês antes de começar.

  1. Abra o painel comercial, aplique dois filtros na tela (período e filial) e abra o painel lateral ✨.
  2. Pergunte "qual categoria mais caiu vs o mês anterior neste painel?" e leia a resposta inteira, incluindo as evidências.
  3. Confira a citação nº 1: localize o widget e a linha apontados e compare o valor com o que está no visual. Anote "bateu" ou "não bateu".
  4. Confira a citação nº 2 do mesmo jeito. Se a resposta tiver só uma evidência, faça uma segunda pergunta e confira a dela.
  5. Confira os filtros considerados na resposta contra os dois filtros que você aplicou no passo 1. Divergiu? Registre.
  6. Provoque uma recusa: pergunte "qual a previsão para dezembro?" e anote o tipo de recusa e o custo informado.
  7. Em /auditoria, localize as perguntas pelo opId e confirme o custo real de cada uma, além da marca de recusa quando houver.

Você terminou quando tiver duas citações conferidas contra os visuais (com o valor anotado), uma recusa registrada com o texto exato e o custo real de cada pergunta encontrado na auditoria.

Checagem rápida#

Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.

Documentação relacionada#

Capacidades ensinadas#

C13.1 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".

Carregando seu progresso…