Pular para o conteúdo

Quando a IA entra no fluxo (e quando não)

Aula 6 de 89 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: 9 min.

Objetivo: Decidir determinístico x LLM e exigir orçamento, proveniência e aprovação

Selo de estado: Preview (teto atual do produto) · Curso ACD-260 — Arquitetura de solução · Aula 6 de 8 · Atualizado em 2026-10-04.

Objetivo#

Ao final desta aula você vai decidir determinístico × LLM e exigir orçamento, proveniência e aprovação — e vai saber nomear os três lugares onde a IA não entra.

Vídeo#

Identificador: acd-260-06-quando-a-ia-entra-no-fluxo · Duração-alvo: 9 min · Tela: /query.

Roteiro (capítulos):

  1. 0:00–1:10 — Duas famílias de "inteligência" (/query) — determinístico e com LLM; privacidade, custo e garantias diferentes.
  2. 1:10–3:00 — A regra de desenho: determinístico primeiro (/dashboards/[id]) — onde a IA agrega e onde ela só enfeita.
  3. 3:00–4:40 — Os três lugares onde a IA não entra — o número oficial, o disparo do alerta, o efeito material sem aprovação.
  4. 4:40–6:10 — O que sai e o que nunca sai (/auditoria) — PII na origem, visão segura, fence <dados>.
  5. 6:10–7:30 — Orçamento e proveniência (/auditoria) — reserva → liquidação, teto mensal, opId.
  6. 7:30–9:00 — A decisão da Aurora (/query) — o que foi aprovado, o que exige dois aprovadores, o interruptor que você liga de propósito.

Conteúdo#

Duas famílias, e elas não se misturam

O produto tem duas formas de "inteligência", e a diferença entre elas é de privacidade, custo e garantia:

FamíliaManda dado para um LLM?Custo de tokenComo se prova
Determinística — estatística, regressão, comparação de limiares, rodando no nosso servidorNão. Nunca.zerotestes de referência com resultado idêntico a cada execução
Com LLM — envia contexto para um modelo e usa a respostaSim (salvo desligamento)sim, medido e com tetoverificação determinística sobre a saída (citações, ids, filtros)

Anomalias, previsões, decomposição de variação e alertas são determinísticos. Nenhum LLM decide se algo é anomalia, projeta uma série ou dispara alerta. Text-to-SQL, Q&A do painel, insights, narrativa de relatório e geração assistida usam LLM — e por isso passam por egress, orçamento e recusa.

A regra de desenho: determinístico primeiro

A pergunta que ordena tudo: existe uma resposta determinística para isto? Se existe, é ela que entra no fluxo — porque é reproduzível, barata e auditável sem proveniência. A IA entra em dois lugares, e só:

  • Onde há texto a redigir. Narrativa executiva de um relatório, resumo de um painel, explicação de uma variação já calculada. O número vem da medida; a IA escreve a frase em volta dele.
  • Onde a pergunta é aberta. Q&A do painel e text-to-SQL para exploração — alguém quer perguntar algo que ninguém transformou em visual ainda.

E há onde ela não entra:

Não entraPor quêO que entra no lugar
O número oficial do paineluma medida é determinística, versionada e testável; um número gerado por LLM não é reproduzívelMEDIDA('Receita') na biblioteca de medidas
A decisão de anomalia e o disparo de alertajá são determinísticos, com histórico e backtestdetecção e limiar do produto
Efeito material sem aprovação humanaescrever num sistema externo é irreversívelação com aprovação (abaixo)

A frase que resume o princípio editorial do produto: a IA recusa e avisa — ela não finge. Quando não há evidência, ela diz que não há; quando o dado é amostra, ela avisa; quando cita um número, esse número está no dado que ela recebeu. Nenhuma resposta afirma causa e efeito que os dados não comprovam.

O que sai e o que nunca sai

Desenhar IA é desenhar egress. O que pode sair vai sempre dentro de um fence <dados id="...">…</dados>, com os tokens de fence neutralizados — todo texto do cliente é tratado como dado, nunca instrução, e os system prompts carregam essa regra fixa.

O que nunca sai:

  • Colunas marcadas como PII — excluídas na origem, antes de montar o prompt. A IA nem sabe que existem.
  • Dado de outro workspace — uma guarda de prefixo descarta qualquer tabela fora do workspace.
  • Mais do que o solicitante vê — no Q&A e nos insights, a IA lê a visão segura (RLS + PII) do próprio usuário.

E há três ajustes de postura que o desenho pode exigir: desligar o envio a provedores (tudo cai no resultado determinístico, nada sai), desligar o envio de linhas (vai um resumo estatístico por coluna; nenhum valor de célula sobrevive) e apertar o teto de linhas (entre 0 e 50 — só diminui, nunca alarga). Sem ajuste, o comportamento é até 50 linhas por bloco e chamada real ao provedor quando há credencial.

O padrão não é conservador — e isso é uma decisão sua

Os interruptores de desligamento são opcionais e ficam DESLIGADOS quando não configurados: sem configuração explícita, a execução está ligada. Não existe, em lugar nenhum do produto, liberação caso a caso operada pela nossa equipe. Quem quer a postura "nada material sai daqui sem eu mandar" precisa ligar o interruptor deliberadamente — escreva isso no desenho, não conte com um default que não existe.

Orçamento, proveniência e aprovação

Três controles que todo fluxo com IA precisa declarar:

Orçamento (reserva → liquidação). O gasto roda num ledger sobre a trilha de auditoria: ai.reserva gravada antes da chamada com estimativa conservadora (o teto é verificado só depois do commit, então concorrência não fura o teto), ai.usage com o custo real (tokens × preço, em R$), ai.reserva_liquidada fechando o par — inclusive quando a chamada falha —, ai.reserva_cancelada e ai.blocked (recusa por teto, com custo 0, para o administrador ver a demanda barrada). O teto mensal por workspace é R$ 50 por padrão; zerado significa sem teto, não "bloqueado" — confira isso antes de prometer contenção. Rate limit por rota é fail-closed; se a checagem do teto falhar (banco fora), a chamada é liberada e marcada degraded.

Proveniência. Toda resposta traz proveniencia: modelo, versão do prompt, custo real (R$) e opId, que casa ai.reserva ↔ ai.usage ↔ ai.reserva_liquidada. É isso que permite voltar, meses depois, a uma resposta e saber qual prompt e qual custo a geraram. O produto não guarda histórico de conversas — o que fica é a trilha.

Aprovação humana. A IA propõe; o humano confirma. Na geração assistida ela devolve um artefato com um campo validacao preenchido por código determinístico; a escrita só acontece na confirmação. O text-to-SQL propõe apenas SELECT, nunca DML/DDL. Para efeitos materiais há segregação de funções: quem propõe não aprova a própria ação; ações de alto impacto exigem dois aprovadores distintos; o fluxo é pendente → aprovada → executada; e a idempotência usa sha256(ação ‖ parâmetros canônicos), então o mesmo efeito nunca é aplicado duas vezes.

A decisão da Aurora

A Comércio Aurora pede: "um agente que responda o WhatsApp do gerente e lance o pedido no ERP." O desenho que se defende, pedaço por pedaço:

  • Resumo semanal escrito para a diretoria: IA (narrativa) — há texto a redigir, e os números vêm do relatório. Exige o entitlement de narrativa (Growth+).
  • "Por que a receita caiu em Campinas?": determinístico primeiro — a decomposição de variação responde com reprodutibilidade; a IA só redige a leitura.
  • "Quantos pedidos em aberto acima de R$ 5 mil?" no WhatsApp: Q&A com citação, lendo a visão segura do gerente (RLS por filial da aula 4). Se não houver evidência, a resposta é recusa, não chute.
  • Alerta de queda de 20%: determinístico, com histórico e backtest. Nenhum LLM decide disparo.
  • Lançar o pedido no ERP: é ação material. Vai para o fluxo de aprovação com segregação de funções; por mexer em documento fiscal, trata-se como alto impacto ⇒ dois aprovadores distintos, ambos diferentes de quem propôs. Enquanto o segundo aprovador não existir no organograma, o interruptor de ações fica ligado de propósito.
  • O teto: teto mensal de IA definido em um valor explícito (não zerado), com o ai.blocked monitorado para saber se o time está batendo no limite.
  • O que é recusado: a IA gerando o número da receita que vai para a diretoria. A frase: "o número é uma medida; a IA escreve o texto em volta dele. Se a IA produzir o número, ninguém consegue reproduzi-lo no mês seguinte."

Erros comuns de desenho

  • Pedir à IA o que já é determinístico. Caro, não reproduzível, sem ganho.
  • Supor que os interruptores vêm ligados. Vêm desligados: sem configuração, a execução está ligada.
  • Confundir teto zerado com bloqueio. Zerado = sem teto.
  • Achar que recarregar crédito levanta o teto de IA. São controles diferentes; o teto zera na virada do mês.
  • Deixar aprovação de efeito material sem segundo par de olhos. Alto impacto exige dois aprovadores distintos.
  • Prometer que a IA "nunca erra" porque há verificação. A verificação é determinística sobre a saída; qualidade e latência em produção seguem não medidas.

Faça você mesmo#

O produto desta aula é um artefato de decisão: uma tabela de decisão por fluxo. Use /query e /auditoria no workspace de treino para conferir proveniência e eventos; o resto é escrito.

  1. Liste os fluxos que o cliente pediu com a palavra "IA" — um por linha, na frase dele.
  2. Para cada fluxo, responda: existe resposta determinística para isto? Se existe, marque determinístico e encerre a linha.
  3. Para os que sobraram, classifique o motivo de ser IA: texto a redigir ou pergunta aberta. Se não for nenhum dos dois, o fluxo volta para o passo 2.
  4. Para cada linha com IA, escreva o egress: o que sai (estrutura, linhas, resultado) e o que você está desligando (envio de linhas, teto de linhas).
  5. Escreva o orçamento: o valor do teto mensal (nunca "zerado" se a intenção é conter) e quem acompanha ai.blocked.
  6. Marque as linhas de efeito material e, para cada uma, nomeie quem propõe e quem aprova — e se é alto impacto (dois aprovadores).
  7. Escreva a recusa: um pedido de IA que seu desenho devolve, com a razão em uma frase.
  8. Abra /auditoria e confirme que você sabe onde ler ai.reserva, ai.usage, ai.reserva_liquidada e ai.blocked.

Você terminou quando: cada fluxo tem motor (determinístico ou IA), motivo, egress, teto e — nos materiais — propositor e aprovador nominais; e existe uma linha escrita dizendo qual interruptor você liga de propósito.

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#

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

Carregando seu progresso…