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):
- 0:00–1:10 — Duas famílias de "inteligência" (
/query) — determinístico e com LLM; privacidade, custo e garantias diferentes. - 1:10–3:00 — A regra de desenho: determinístico primeiro (
/dashboards/[id]) — onde a IA agrega e onde ela só enfeita. - 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:40–6:10 — O que sai e o que nunca sai (
/auditoria) — PII na origem, visão segura, fence<dados>. - 6:10–7:30 — Orçamento e proveniência (
/auditoria) — reserva → liquidação, teto mensal,opId. - 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ília | Manda dado para um LLM? | Custo de token | Como se prova |
|---|---|---|---|
| Determinística — estatística, regressão, comparação de limiares, rodando no nosso servidor | Não. Nunca. | zero | testes de referência com resultado idêntico a cada execução |
| Com LLM — envia contexto para um modelo e usa a resposta | Sim (salvo desligamento) | sim, medido e com teto | verificaçã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 entra | Por quê | O que entra no lugar |
|---|---|---|
| O número oficial do painel | uma medida é determinística, versionada e testável; um número gerado por LLM não é reproduzível | MEDIDA('Receita') na biblioteca de medidas |
| A decisão de anomalia e o disparo de alerta | já são determinísticos, com histórico e backtest | detecção e limiar do produto |
| Efeito material sem aprovação humana | escrever num sistema externo é irreversível | açã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.blockedmonitorado 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.
- Liste os fluxos que o cliente pediu com a palavra "IA" — um por linha, na frase dele.
- Para cada fluxo, responda: existe resposta determinística para isto? Se existe, marque
determinísticoe encerre a linha. - 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.
- 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).
- Escreva o orçamento: o valor do teto mensal (nunca "zerado" se a intenção é conter) e quem acompanha
ai.blocked. - Marque as linhas de efeito material e, para cada uma, nomeie quem propõe e quem aprova — e se é alto impacto (dois aprovadores).
- Escreva a recusa: um pedido de IA que seu desenho devolve, com a razão em uma frase.
- Abra
/auditoriae confirme que você sabe onde lerai.reserva,ai.usage,ai.reserva_liquidadaeai.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#
- ai/index
- ai/privacidade-egress-orcamento
- ai/aprovacao-humana-e-auditoria
- administracao/capacidades-kill-switch
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".