Blog

O que são guardrails de IA?

10 min de leitura

A resposta curta

Guardrails são as restrições que mantêm um sistema de IA dentro da fronteira que você definiu, impostas por engenharia e não por pedir educadamente ao modelo. Elas decidem o que ele pode ver, o que pode chamar, o que pode dizer e o que pode fazer.

O teste útil é se a restrição continua valendo quando o modelo se comporta mal. Se a sua proteção é uma frase no prompt, ela não vale, porque o modelo é justamente aquilo de que você está se protegendo.

É essa camada que separa uma demo de algo que você coloca na frente de cliente, e é a camada que se constrói por último, normalmente depois de um incidente.

Prompt bom não é guardrail

Quase todo time começa escrevendo instrução: nunca revele dado interno, sempre recuse pergunta fora do tema, mantenha o tom profissional. Isso ajuda. Não é controle.

Prompt é um pedido a um sistema probabilístico. Funciona na maior parte das vezes, que é a pior propriedade possível para uma fronteira de segurança, porque "na maior parte das vezes" é exatamente como se produz um incidente que ninguém consegue reproduzir.

A distinção é simples. Prompt diz o que o modelo deveria fazer. Guardrail torna a alternativa impossível. Se um usuário não acessa um registro pela sua API, nenhuma forma de escrever a frase deveria permitir que ele acesse pelo seu assistente.

As quatro camadas

Entrada. O que chega ao modelo: limite de tamanho, filtro de conteúdo, tratamento do que vem de fonte não confiável, e rejeição de requisição que não tem por que existir.

Escopo e permissão. O que o sistema pode ver e chamar para aquele usuário específico, imposto na camada de dado.

Saída. O que tem permissão de sair: validação de formato, checagem de ancoragem contra a fonte, filtro para dado que jamais deveria aparecer numa resposta.

Ação. O que ele pode de fato fazer nos seus sistemas: quais funções, com que limites, idempotente onde há escrita, e o que exige um humano antes de executar.

Permissão é a camada que realmente importa

Se você só for construir uma, construa essa. A falha grave mais comum em IA em produção não é uma resposta ofensiva, é um sistema que entrega dado que quem perguntou nunca teve direito de ver.

Acontece porque recuperação e permissão são construídas em separado. O índice é populado uma vez com tudo, e espera-se que a filtragem aconteça depois, no prompt ou na interface. Aí chega uma pergunta formulada de um jeito que ninguém previu, e o documento volta.

A correção é sem glamour: leve a identidade de quem pergunta até o fim, filtre no momento da consulta e não depois, e nunca deixe uma conta de serviço com direitos amplos ser quem faz a chamada. É também por isso que servidores MCP precisam de escopo, e que bancos vetoriais precisam de metadado de permissão anexado na ingestão, não remendado depois.

Guardrail de saída e o que ele não pega

Checagem de saída pega bem problema estrutural: formato errado, campo obrigatório faltando, texto que parece cartão ou documento, resposta que não cita nada quando deveria citar fonte.

As checagens de ancoragem são as valiosas. Você verifica se o que o modelo disse é de fato sustentado pelos trechos entregues a ele, em vez de montado a partir de dado de treino. Em contexto regulado, isso costuma ser a diferença entre uma resposta que você defende e uma que não.

O que checagem de saída não pega é uma resposta confiante, bem formatada e plausível que por acaso está errada de um jeito que só um especialista notaria. Isso não é problema de guardrail, é problema de avaliação, e os dois vivem sendo confundidos.

Prompt injection, sem mistério

Prompt injection é quando o texto que o modelo lê contém instrução, e o modelo obedece. Não é exótico. Um chamado de suporte, um PDF, uma página web, um nome de arquivo, um convite de agenda: qualquer coisa que o sistema ingere é lugar onde instrução pode se esconder.

A versão perigosa é a indireta. Ninguém ataca a sua janela de chat. A pessoa coloca texto num documento que o seu sistema vai resumir depois, e a instrução entra pela porta dos fundos.

Não existe prompt que previna isso de forma confiável, e é esse o ponto que as pessoas não absorvem. A mitigação é arquitetural: tratar todo conteúdo recuperado como dado não confiável e não como instrução, manter a permissão do modelo estreita o bastante para que obedecer a uma instrução maliciosa não realize nada, e exigir confirmação para qualquer coisa destrutiva.

Onde o humano entra no circuito

Revisão humana é um guardrail, e como todo guardrail tem custo. Coloque em tudo e você construiu uma versão mais lenta do processo manual que queria melhorar.

A regra de onde colocar é o custo de errar. Reversível e de baixa consequência, deixe rodar. Irreversível, regulado ou caro de desfazer, exija uma pessoa. No meio disso, use confiança e encaminhe os casos incertos.

Desenhe o caminho de escalonamento como superfície de produto de verdade, não como remendo. Uma fila que ninguém olha é pior que não ter escalonamento, porque cria aparência de supervisão sem a substância.

Como testar

De forma adversarial, e com periodicidade. Escreva os ataques como casos de teste, do mesmo jeito que você escreve teste funcional: tentativas de acessar dado de outro usuário, instrução escondida em documento recuperado, pedido para exceder escopo, entrada desenhada para produzir saída proibida.

Rode em CI, a cada mudança de prompt e a cada atualização de modelo. Uma suíte de guardrail que estava verde seis meses atrás não diz nada sobre hoje, porque o modelo por baixo mudou e ninguém reconferiu.

Acompanhe o resultado como número, não como impressão, que é a mesma disciplina descrita em evals de LLM. E espere a suíte crescer depois de cada incidente, porque cada um ensina uma suposição que você não sabia que estava fazendo.

O que custa pular isso

O custo direto é o incidente: dado exposto, ação tomada que não deveria, resposta pública que ninguém quer explicar. O custo indireto é pior e mais comum. Time que entrega sem guardrail acaba sem conseguir expandir o sistema, porque cada capacidade nova é um risco sem limite e ninguém aprova.

Então a feature fica presa num piloto, que é exatamente o desfecho que o projeto existia para evitar.

Guardrail não é a parte empolgante e não é opcional. É o que permite que uma feature de IA toque em algo que importa, que é o objetivo inteiro de construir IA em produção, ponta a ponta.

Se você tem uma feature de IA chegando em usuário real e a única coisa entre ela e seus dados é um prompt, essa é a lacuna a fechar primeiro. Trinta minutos e você sai sabendo o que é preciso.

Agendar call Ou mande os detalhes por escrito
Voltar para o blog