O LLM é um componente, não o piloto
Ele responde dentro de etapas; nunca controla o fluxo de controle.
Engenharia Agêntica
O vídeo abre na “magia”: um agente de IA livre resolve uma tarefa em segundos e encanta a plateia. Em seguida, a mesma demo é levada à produção e se desfaz — loops imprevisíveis, custo que explode e alucinações que se propagam, exatamente o lado Caótico do storyboard ao lado.
A narrativa então vira a chave para a engenharia: o mesmo problema, agora resolvido por um pipeline determinístico em que o LLM entra só no caminho onde é insubstituível. Etapas em sequência, contratos que barram o erro, custo linear e saídas validadas e explicáveis — o lado Disciplinado.
Mensagem de fechamento para PMs e executivos: a capacidade vem do modelo; a confiança vem da engenharia. Não é preciso menos ambição, e sim menos IA no caminho crítico.
A capacidade vem do modelo; a confiança vem da engenharia. Uma jornada interativa pelos princípios que separam um protótipo encantador de um produto que aguenta produção.
Prefere o essencial antes? Ler a síntese (~1 min)
Como funciona
A informação flui por etapas determinísticas; o LLM entra só onde é insubstituível, e a saída volta validada e explicada.
Os 10 princípios
A tese em dez regras. Sistemas de IA confiáveis nascem de arquitetura disciplinada — não de prompts mais inteligentes.
Ele responde dentro de etapas; nunca controla o fluxo de controle.
Mesma entrada, mesma saída — sempre. Não-determinismo é defeito.
Motor sensível e interface exposta, ligados por um contrato estreito.
Resolva com regras e dados; gaste IA só no resíduo interpretativo.
A saída do modelo é input não confiável até ser validada.
Evidência ≠ inferência ≠ julgamento; mantenha a rastreabilidade.
Ausência de dado é incerteza explícita, nunca "falso".
Quota e custo são estado de domínio; processe em ondas, nunca pague duas vezes.
BDD com cenários degradados, DoR/DoD rígidos, bloqueio honesto.
Drivers, lacunas e proveniência constroem a confiança que gera adoção.
Cinco pilares
Os dez princípios respondem como construir. Os cinco pilares respondem quanto rigor aplicar e quando. A premissa não muda: o LLM é um componente, nunca o piloto — a disciplina é o que torna a autonomia confiável.
Autonomia não é interruptor (confio / não confio) — é um contínuo. A posição correta de uma tarefa nesse contínuo é função de duas variáveis: o custo do erro (de cosmético a catastrófico) e a reversibilidade (de instantânea a irreversível).
Analogia O laboratório de P&D e a linha de produção certificada. O erro não é ter os dois modos — é mover um artefato entre zonas sem reprocessá-lo sob as regras da zona de destino.
Conecta com P1 · componente, P4 · determinístico-primeiro. Use o Calibrador de Autonomia para posicionar uma tarefa na matriz.
Restrições bem colocadas não desaceleram o sistema — elas aumentam a velocidade segura máxima, porque reduzem o espaço de estados que o agente precisa raciocinar. Três instrumentos formam o sandbox:
Analogia Um F1 não é rápido apesar dos freios de carbono — é rápido por causa deles: a confiança na frenagem é o que autoriza atacar a curva mais tarde. Remover os freios não acelera o carro; impede-o de completar uma volta.
Conecta com P5 · contratos, P9 · governança fail-closed.
Componentes de raciocínio, ferramentas e interface se comunicam por contratos explícitos e versionáveis, nunca por acoplamento direto. Duas fronteiras importam:
⚠ Limitação declarada — "A2UI"
"A2UI" é tratado aqui como padrão arquitetural (a fronteira agente↔interface), não como especificação canônica da indústria. Protocolos reais adjacentes incluem AG-UI (Agent-User Interaction) e A2A (Agent-to-Agent, do Google). Já o MCP é protocolo aberto com especificação pública. Valide a nomenclatura antes de publicá-la como termo técnico estabelecido.
Conecta com P3 · Cérebro × Vitrine, P5 · contratos, Agent Ready · publicar a fronteira MCP na Web.
Um Sistema Intencional tem o comportamento governado por uma intenção arquitetural explícita — não pela saída estatisticamente mais provável. A jornada move a fonte da garantia de um lugar que não se controla (a distribuição interna do modelo) para um que se controla (a arquitetura ao redor dele).
Analogia O componente analógico ruidoso dentro de um circuito digital. Ninguém "conserta" o ruído do sensor — encapsula-se o sensor numa arquitetura que extrai o sinal e descarta o resto.
Conecta com P2 · determinismo, P6 · camadas epistêmicas, P8 · ledgers. Diagnostique seu estágio no modelo de maturidade abaixo.
A disciplina pesada — DAGs, contratos rígidos, Ledgers, ADRs — tem custo de setup e custo de rigidez. Esses custos só se pagam quando amortizados por longevidade, escala ou criticidade. Onde não há o que amortizar, o rigor é negativo, não neutro. Dois contextos pedem leveza deliberada:
Analogia O andaime versus a estrutura permanente. O erro não é usar andaime — é deixar o andaime virar a estrutura.
🔴 Regra de transição
A leveza é legítima enquanto o artefato permanecer no seu polo de origem. No instante em que ele é promovido — passa a ser dependido por usuários, dinheiro ou dados — a promoção obriga o upgrade de garantias. A pergunta de governança não é "isto é exploração ou produção?", mas "alguém já depende disto como se fosse produção?". Se sim, a estrutura permanente não é opcional.
Conecta com P4 · determinístico-primeiro, Jornada · saber quando não construir.
A garantia migra do modelo para a arquitetura em quatro estágios. Selecione um estágio para ver o que já existe, o que falta e o próximo passo — um diagnóstico de "onde estou agora".
Da abstração ao código
Não é teoria: cada princípio vira poucas linhas de engenharia disciplinada. Python puro, contratos estritos e o LLM contido a um único passo.
from pydantic import BaseModel, Field
class Inference(BaseModel):
model_config = {"extra": "forbid"} # rejeita campo inesperado do LLM
intent: str
confidence: float = Field(ge=0.0, le=1.0) # limite no schema, nao no if
def run_pipeline(item, llm):
# Serve a qualquer dominio: leads B2B, tickets de suporte,
# pedidos de e-commerce, laudos medicos -- a estrutura e a mesma.
signals = collect_signals(item) # M1: deterministico (APIs, banco, sem IA)
if signals.missing: # Open-World: ausencia = incerteza
return Inference(intent="desconhecido", confidence=0.0)
raw = llm.extract(signals.snippet) # M2: LLM so no residuo interpretativo
return Inference.model_validate(raw) # valida a saida (input nao confiavel)
class TokenLedger:
def __init__(self, daily_cap: int):
self.cap = daily_cap
self.spent = 0
def try_spend(self, n: int) -> bool:
if self.spent + n > self.cap: # teto do dia atingido
return False # falhar e parar: sem fatura surpresa
self.spent += n
return True
ledger = TokenLedger(daily_cap=1000)
for item in fila:
if not ledger.try_spend(cost(item)):
mark_pending(item) # retoma na proxima onda
break # para limpo, em ponto seguro
def explain(score):
# nunca exponha o numero: traduza em "por que agora" + "o que falta"
return {
"why_now": [d.text for d in score.positive_signals],
"gaps": score.missing_signals, # honestidade Open-World
"sources": [d.url for d in score.references],
}
Trilha guiada
Dez capítulos, do caos dos prompts ao projeto completo. Abra cada um para ver o objetivo e o que você sai sabendo.
Ninguém constrói um sistema bancário deixando o banco de dados "decidir livremente" o que fazer com cada transação. O banco é poderoso, mas opera dentro de transações, constraints e contratos rígidos — é poderoso porque é contido. Um LLM merece o mesmo respeito arquitetural.
O problema: a forma mais sedutora de construir com IA é encadear prompts e dar autonomia total ao modelo. Funciona numa demo; em produção, gera defeitos que o software clássico raramente enfrenta — loops infinitos (um agente devolve a tarefa ao outro e cada volta custa dinheiro), custo imprevisível, alucinações que se propagam quando a saída inventada de um vira entrada do outro, e irreprodutibilidade (a mesma entrada produz saídas diferentes, impossível de depurar).
A solução é cultural antes de técnica: parar de tratar o modelo como mágica e tratá-lo como engenharia. Aplica-se ao componente probabilístico tudo o que já sabemos sobre software confiável — contratos de interface, testes determinísticos, controle de orçamento, isolamento de responsabilidades.
Na prática, isso significa que a capacidade vem do modelo, mas a confiança vem da engenharia ao redor dele.
Pense num fluxograma fixo de uma fábrica: cada estação faz uma coisa específica e passa o resultado adiante. Compare com uma sala onde várias pessoas conversam tentando decidir o que fazer a seguir. O primeiro é um DAG — um grafo de etapas fixas; o segundo é uma conversa aberta entre modelos.
O problema: dar ao LLM autoridade sobre o fluxo de controle ("agentes decidem tudo de ponta a ponta") é flexível e impressionante — e impossível de garantir. Não dá para prometer prazo, estimar custo ou passar por auditoria.
A solução é separar duas camadas que costumam ser confundidas. A camada de orquestração/I-O pode ser assíncrona e tolerante a falhas — é a borda do sistema. A camada de decisão/cálculo deve ser pura e determinística — é onde o resultado é computado, sem aleatoriedade. O modelo é chamado dentro de uma etapa para fazer uma coisa; ele nunca decide qual será a próxima.
Na prática, isso significa que o LLM responde perguntas — ele não decide quais perguntas fazer a seguir.
É a diferença entre a cozinha de um restaurante e o salão. A cozinha é quente, perigosa e não muda toda semana — é onde o trabalho pesado acontece. O salão é a parte que o cliente vê e que você redecora com frequência. Você não coloca o fogão no meio das mesas, e não dá ao cliente a chave do estoque.
O problema: sistemas cognitivos têm dois perfis de carga opostos. O "Cérebro" (motor cognitivo) é pesado, assíncrono, sensível (chaves, dados, lógica proprietária) e muda raramente. A "Vitrine" (interface) é leve, síncrona, exposta à internet pública e muda o tempo todo. Atendê-los na mesma aplicação é uma armadilha clássica: uma falha na vitrine exposta compromete o motor, e cada mudança de interface arrisca a lógica.
A solução é separá-los fisicamente e conectá-los por um contrato estreito — tipicamente uma API com pouquíssimos endpoints —, nunca por um banco de dados compartilhado. O cérebro processa em segundo plano e publica um snapshot pronto; a vitrine apenas lê o resultado e coleta feedback, devolvido de forma controlada.
Na prática, isso significa que a equipe itera na interface todos os dias sem nunca arriscar o motor sensível.
Antes de ligar o motor caro, resolva o máximo com o que já está estruturado — como um bom cozinheiro que prepara tudo que dá para preparar antes de acender o fogão. A regra de ouro da confiabilidade é contraintuitiva: use a IA o mínimo possível.
O problema: cada responsabilidade entregue ao LLM é uma fonte de alucinação e um custo. Mandar o modelo "descobrir" algo que uma consulta a banco, uma regra de negócio ou uma busca exata já responde é desperdiçar dinheiro e introduzir risco onde não precisava existir.
A solução: mapeie cada campo da tarefa e pergunte — "isso pode vir de uma fonte estruturada, de uma regra ou de uma busca exata?" Se sim, não é trabalho de IA. O que sobra — desambiguar texto livre, inferir intenção, classificar tom — é o resíduo interpretativo. Só ele justifica o custo e o risco de uma chamada de modelo. E esse resíduo encolhe a cada versão, conforme você descobre o que mais pode ser determinístico.
Na prática, isso significa que menos IA no caminho é, ao mesmo tempo, menos custo e mais confiança.
Você nunca confiou cegamente no que o navegador envia para o backend — sempre validou no servidor. Um schema estrito é o mesmo validador de formulário, agora aplicado à saída do LLM: ela é input não confiável por definição, até passar pelo porteiro.
O problema: se o modelo inventa um atributo, alucina um formato ou devolve score = 1.7 onde o intervalo é 0–1, e isso entra no sistema sem validação, o erro se propaga silenciosamente — e só aparece três etapas depois, irreconhecível.
A solução é blindar toda fronteira com contratos estritos. Boas práticas concretas: proíba o desconhecido (rejeite qualquer campo fora do esquema em vez de ignorá-lo); coloque os limites no schema, não num if perdido (é o esquema que recusa o 1,7); valide tipos estaticamente quando a linguagem permitir; e degrade item a item — num lote, um item malformado é marcado como incerto, não derruba o lote inteiro. Inclui também sanitizar input adversarial antes do Cérebro.
Na prática, isso significa que a validação falha imediatamente e de forma barata, em vez de propagar o erro.
Imagine cadastrar um cliente totalmente novo, sem nenhum histórico no banco. O software clássico opera sob "mundo fechado": o que não está no banco é falso. Sistemas de inteligência precisam do oposto — o Mundo Aberto: a ausência de evidência é incerteza, não negação.
O problema: "não encontramos sinal de que o cliente está insatisfeito" não é o mesmo que "o cliente está satisfeito" — é "desconhecido". Tratar a lacuna como um "falso" inventa uma conclusão onde não há evidência: a pior categoria de falha, uma decisão de negócio errada tomada com falsa confiança.
A solução tem duas faces. Primeiro, isole as camadas epistêmicas: evidência observada ≠ inferência gerada ≠ julgamento final, mantendo a rastreabilidade até a fonte — uma inferência tratada como fato vira "evidência" de si mesma e o sistema passa a acreditar nas próprias invenções. Segundo, faça da incerteza um estado de primeira classe: o que não foi observado é informação valiosa ("não foi possível confirmar X"), e falhas de sensor degradam para incerteza, nunca para um valor inventado.
Na prática, isso significa que ensinar o sistema a dizer "não sei" o torna mais confiável e mais seguro.
Você já domina pagination e job queues para processar grandes volumes sem derrubar o banco, e cache para não repetir trabalho caro. FinOps de IA é aplicar esses mesmos padrões a um recurso cujo "miss" custa uma chamada de modelo, não um SELECT.
O problema: tratar limites de token e crédito com try/except em cima do erro de rate limit é frágil e amador. Um fluxo livre transforma o orçamento em variável aleatória — o mesmo pedido pode custar centavos ou dezenas de reais.
A solução: modele o orçamento como estado de domínio persistente — um ledger que sobrevive entre execuções, sabe quanto já gastou, reseta no período e recusa o gasto ao se aproximar do teto, antes de o provedor recusar por você. Combine com três hábitos: poda precoce (o filtro mais barato primeiro — lixo nunca chega ao LLM); processamento em ondas resumíveis (cada onda salva o progresso e para limpo; a próxima retoma de onde parou); e um corpus acumulativo com chave idempotente — se já foi processado, não processe de novo.
Na prática, isso significa que o sistema fica mais barato por item conforme cresce.
Como testar um sistema cujo componente central é estocástico — que pode responder diferente a cada execução? A resposta é isolar a estocasticidade nos testes: você não testa se o modelo é "inteligente"; testa se o sistema ao redor dele permanece correto quando o modelo, a rede ou os dados falham.
O problema: sem critério objetivo de "pronto", "funcionou" é uma percepção, não uma verificação — e alucinações elegantes passam despercebidas. Pior ainda ao delegar a agentes de código autônomos, que não têm bom senso para preencher lacunas: ambiguidade entregue a um agente vira alucinação de escopo.
A solução: escreva cenários em Gherkin (Dado/Quando/Então) antes do código, com chamadas externas substituídas por fixtures gravadas — teste determinístico e de custo zero de API. Todo cenário cobre três eixos: caminho feliz, modo degradado (uma API cai, estoura limite ou dá timeout — o sistema degrada graciosamente) e open-world (um sinal esperado está ausente). Reforce com portões: a DoR impede uma tarefa de entrar com decisões em aberto; a DoD é fail-closed — se não foi possível concluir, registra-se o bloqueio e para-se num ponto seguro.
Na prática, isso significa que um "BLOQUEADO" honesto é sucesso do processo; um "concluído" falso é dívida que vence com juros.
Ninguém toma uma decisão importante porque "o algoritmo deu 0,674". Compare com: "priorizado porque sinalizou expansão recente e tem histórico de compra no setor; não foi possível confirmar o orçamento". O número é inútil e não inspira confiança; a justificativa, sim.
O problema: a "caixa preta" é o maior bloqueador de adoção corporativa de IA. Um score opaco gera resistência do usuário, enxurrada de "por que o sistema sugeriu isso?" no suporte e reprovação em auditorias de explicabilidade.
A solução é trocar o número por uma explicação acionável com três elementos: drivers em linguagem natural (o que pesou a favor e contra), sinais ausentes (a honestidade do Open-World — mostrar a lacuna aumenta a confiança mais do que escondê-la) e proveniência (de qual fonte veio cada sinal, para o usuário verificar). Dois cuidados tornam a XAI confiável: gere a explicação por regras determinísticas sobre o mesmo objeto que gerou a pontuação — nunca com uma segunda chamada de LLM, que racionalizaria; e considere esconder o número e mostrar só o "por que agora" e "o que falta saber".
Na prática, isso significa que uma resposta explicável e modesta vence uma resposta exata e opaca em adoção.
Tudo se junta num caso real: o SocialSelling, um sistema de priorização de leads B2B onde os dez princípios viraram produto. O pipeline é determinístico em cinco módulos — M1 Busca, M2 Extração, M3 Score, M4 Ranking, M5 XAI —, e o LLM atua só em M2 e M5; M3 e M4 são Python puro.
Como os princípios aparecem: o LLM é componente contido (P1/P2) num fluxo determinístico (P4); o Cérebro local publica snapshots e o portal nunca toca o banco do motor (P3); schemas estritos blindam toda fronteira (P5) e ledgers governam requisições e créditos (P8); a operadora vê "por que agora" e "o que falta", nunca o score (P10). A ausência de dado vira incerteza explícita (P6/P7), e cenários BDD degradados sustentam a governança fail-closed (P9).
A virada final: quando a IA passa de copilot a desenvolvedora autônoma, a responsabilidade migra para a máquina — e isso exige estrutura. O contexto sai da cabeça e entra no repositório (ADRs, SDDs, DoR/DoD versionados), porque contexto não documentado é contexto que não existe.
Na prática, isso significa que a disciplina central é distinguir o implementado do especificado — saber quando não construir.
Oito cenários reais — quatro sobre os dez princípios, quatro sobre os cinco pilares. Não decore a regra; escolha o que faria em produção. Cada resposta explica o porquê.
Acertos: 0/8
Você está construindo um sistema de análise de contratos jurídicos. O sistema precisa: receber o PDF, extrair cláusulas, classificar o risco e gerar um relatório.
1. Qual arquitetura é correta?
Um sistema de triagem clínica avalia pacientes. Para um paciente recém-cadastrado, não há exames dos últimos 12 meses no sistema — o dado simplesmente não existe.
2. O que o sistema bem projetado faz?
Um sistema de moderação de conteúdo atribuiu score 0.847 a uma postagem. O revisor humano pergunta: "por que este post foi sinalizado?"
3. Qual resposta gera mais confiança?
Um agente de moderação está processando 200.000 posts. Às 15h, ele atinge o limite diário de tokens definido no ledger. Ainda faltam 60.000 posts.
4. O que o sistema deve fazer?
Um agente de suporte precisa consultar pedidos e emitir reembolsos limitados. Você vai conectá-lo ao sistema de pagamentos.
5. Qual desenho respeita o menor privilégio?
Seu sistema valida toda saída do LLM contra um schema estrito, mas o próprio LLM ainda decide a ordem das etapas e quais ferramentas chamar.
6. Em que estágio de maturidade ele está?
Num hackathon de fim de semana você quer validar se uma ideia de produto faz sentido. O protótipo será descartado na segunda-feira.
7. Qual é a engenharia correta aqui?
As consultas que um agente livre descobriu durante uma exploração viraram um relatório que o time de vendas passou a consumir toda segunda-feira.
8. O que a regra de transição exige agora?
Laboratório
Ajuste as decisões de engenharia e veja o impacto — em tempo real e por um modelo determinístico (sem IA): mesmos controles, mesmos resultados.
Valores de base: Custo parte de 30 e Risco parte de 40 — refletem o overhead mínimo de qualquer sistema em produção (infraestrutura, latência, falhas de rede). Zero nunca é possível no mundo real.
O que está acontecendo nesta arquitetura
Ajuste a autonomia ou marque guardrails para ver o impacto de cada decisão.
Dica: alta autonomia sem schemas/BDD dispara risco e custo; ledger + cache derrubam o custo; evals e observabilidade elevam a auditabilidade.
Quanto rigor uma tarefa merece? Posicione-a pelos dois eixos do Espectro de Autonomia — custo do erro e reversibilidade — e veja o quadrante e a cerimônia recomendada. O cálculo é determinístico (sem IA).
Uma saída pode estar perfeitamente válida e ainda assim errada. Contrato e avaliação atacam falhas diferentes.
Falha estrutural: tipo errado, campo extra, score = 1.7, JSON malformado.
Barrado deterministicamente pelos contratos (P5), em runtime. Binário e barato.
Saída válida mas semanticamente errada: drift, alucinação lógica bem formatada.
O contrato não vê. Detectado por evals semânticos / LLM-as-a-judge.
O LLM-as-a-judge roda offline, fora do caminho crítico — pontua amostras contra uma rubrica fixa e vira métrica agregada (taxa de drift), nunca decisão em runtime. Mantém o "zero IA no caminho crítico". A lição: "passou no contrato" ≠ "está correto".
O mesmo pipeline determinístico, sob diferentes condições. Escolha um cenário.
Em produção, as coisas falham. Veja como o mesmo pipeline determinístico se comporta em três condições diferentes — e por que o design importa mais do que a ausência de erros.
Este padrão de 5 etapas se repete em domínios diferentes: priorização de leads B2B, triagem de tickets de suporte, moderação de conteúdo, análise de contratos. A estrutura é a mesma; o domínio muda.
Laboratório
Adicione componentes e veja o sistema avaliar a arquitetura por regras determinísticas — apontando riscos e boas práticas.
Clique nos componentes acima para montar sua arquitetura.
Repositório To-Be
Quando a IA passa de copilot a desenvolvedora autônoma, a responsabilidade migra para a máquina — e responsabilidade exige estrutura.
Um agente não tem intuição sobre decisões passadas. Contexto não documentado é contexto que não existe — a documentação vira infraestrutura de primeira classe.
Código esteticamente perfeito, porém logicamente errado. A confiança que o código bonito inspira é o que o torna traiçoeiro. Vibe Coding sem testes fortes não é ágil — é imprudente.
Software Design Document
A fonte da verdade sobre o que o sistema é e seus limites.
Architecture Decision Records
A memória imutável que explica o porquê das decisões passadas.
Behavior-Driven Development
O contrato de testes em Gherkin — o alvo executável do agente.
Definition of Ready / Done
As barreiras da tarefa: protegem o agente de suposições e validam o resultado.
Model Context Protocol
As mãos e os olhos controlados do agente para acessar ferramentas.
Estrutura de pastas é um conceito espacial — explore-a como tal. Clique numa pasta para expandir; clique em qualquer item para ver sua função.
Clique em um arquivo ou pasta para ver sua função.
🔴 Regra de Ouro — versione o estado cognitivo
O PROGRESS.md, as skills e as configs do agente entram no Git junto com o
código. Assim o rollback recupera código e o raciocínio da IA ao mesmo
tempo. Código e cognição evoluem — e são restauráveis — juntos.
🟠 Gates também são financeiros
Um agente sem teto de custo pode entrar em loop e virar uma fatura inesperada. Os gates precisam de limite de iterações, orçamento e "falhar e parar" quando o teto é atingido — parar num ponto seguro, como diante de um teste vermelho.
Um Master Context longo descreve visão, escopo e guardrails; o LLM gera a árvore e os arquivos base. Rápido — mas a fundação gerada vira a verdade do agente, então erros aqui se propagam. Invista mais tempo no meta-prompt que no código.
Na ordem: pastas de contexto → SDD base → 1º ADR → regras de validação → 1º BDD → DoR/DoD. Só então o código. Mais lento, controle total.
As duas convergem para a mesma lógica: contexto e gates primeiro, código depois.
Consulta rápida
Os dez princípios em uma frase, um glossário dos termos-chave e o estudo de caso que originou este conteúdo.
Este conteúdo foi extraído de um sistema real de priorização de leads B2B — onde os dez princípios viraram produto.
Disciplina central do projeto: distinguir o implementado (PoC) do especificado (V1+) — saber quando não construir o aparato completo.
O SocialSelling é o caso que originou este conteúdo, mas os mesmos princípios se aplicam a qualquer sistema que usa LLMs: um agente de suporte técnico, um moderador de conteúdo, um analisador de contratos jurídicos ou um sistema de triagem clínica. O que muda é o domínio — a arquitetura permanece.
Métricas calculadas no seu navegador (localStorage) — nada é enviado a servidor.
Em síntese
Engenharia de Agentes de IA é a disciplina de construir sistemas agênticos confiáveis tratando a saída do modelo como input não confiável governado por arquitetura. A regra central: um sistema de IA confiável tem muito pouca IA no caminho crítico — regras e dados resolvem o determinístico e o modelo atua só no resíduo interpretativo.
É o pilar M2 (Arquitetar) da Engenharia da Confiança.
Perguntas frequentes
É a disciplina de projetar sistemas agênticos confiáveis tratando cada saída do modelo como input não confiável, validado por arquitetura (schemas, limiares, fronteiras). O objetivo é manter pouca IA no caminho crítico: regras e dados resolvem o determinístico e o LLM atua apenas no resíduo interpretativo.
Resolver com regras e dados estruturados tudo o que for possível e reservar a IA só para a fração da tarefa que exige o modelo. Mesma entrada deve produzir mesma saída; o não-determinismo fica isolado e testável.
O motor cognitivo (pesado, com acesso a dados sensíveis) e a interface exposta são sistemas separados, ligados por um contrato estreito. A Vitrine nunca toca o banco diretamente; o Cérebro nunca confia cegamente no que vem de fora — reduz a superfície de ataque e de falha.
Toda inferência carrega um grau de confiança; a arquitetura define um piso abaixo do qual a saída é interceptada antes de virar fato e degradada para um fallback estruturado (revisão humana, incerteza explícita ou rota determinística). Se não foi possível concluir com segurança, o sistema para num ponto seguro em vez de promover um palpite.
O MCP é a fronteira de segurança pela qual o agente ganha "mãos e olhos" de forma controlada, declarando explicitamente quais ferramentas pode usar. Cada tool é tipada por um schema com pré e pós-condições, o que torna as ações do agente auditáveis.
Com um ledger de quota: um estado de domínio persistente que governa créditos e gasto e recusa a despesa antes mesmo de chamar o provedor. Combinado com poda precoce (filtro barato primeiro), evita que o custo de chamadas a modelos escape do controle.