🛡️ Guardrails em Aplicações com LLMs
Guardrails (ou “trilhos de segurança”) são mecanismos que impõem restrições, validações e comportamentos seguros em torno de modelos de linguagem (LLMs) para garantir que suas respostas estejam alinhadas com as expectativas funcionais, éticas e de segurança da aplicação.
Eles são especialmente importantes em sistemas com geração de texto aberta, onde o modelo pode produzir respostas imprevisíveis, incorretas ou sensíveis. Os guardrails ajudam a controlar o comportamento do modelo e proteger os usuários e a integridade do sistema.
📌 O que são Guardrails?
Guardrails são regras ou estruturas de controle implementadas ao redor do modelo LLM para restringir, validar ou corrigir sua saída, entrada, ou comportamento interno.
Esses controles podem atuar em diferentes momentos:
- Entrada: validação e saneamento de prompts antes de serem enviados ao modelo.
- Saída: filtragem, moderação ou reescrita da resposta do LLM.
- Fluxo: impedir que o modelo siga caminhos errados, sensíveis ou perigosos dentro de uma lógica conversacional ou agente.
- Comportamento: limitar o tipo de tarefas ou ações que um agente pode executar com base em regras de negócio ou de segurança.
Eles também podem ser aplicados em diferentes níveis da aplicação, e onde colocá-los depende do que você quer garantir com seus guardrails:
- Para garantir o funcionamento ou segurança de agentes ou componentes específicos, adicione os guardrails em volta desses componentes.
- Para adicionar verificações que garantam padrões do modelo de linguagem ao longo de todas as aplicações que o usam, você pode adicionar as guardrails em volta da própria LLM.
Exemplo de aplicação COM vs SEM guardrails:
Referência: GuardrailsAI
🎯 Por que usar Guardrails?
- Evitar alucinações perigosas
- Proteger dados sensíveis ou pessoais
- Controlar o tom, formato ou conteúdo da saída
- Garantir conformidade com políticas ou regulamentações
- Aumentar a confiabilidade e previsibilidade da aplicação
- Reduzir riscos legais e reputacionais
🧠 Guardrails vs. Fine-tuning
- Fine-tuning altera o modelo em si, tentando ensinar comportamentos desejados.
- Guardrails controlam o uso do modelo sem modificá-lo, aplicando lógica externa ao LLM.
Guardrails são ideais para controle em tempo real e cenários onde se deseja evitar retraining.
⚙️ Implementação de Guardrails no LangGraph
No contexto do LangGraph, guardrails são implementados por meio de validações no fluxo de execução, que podem ser:
- Validações de entrada: etapas que validam se os dados estão no formato correto ou se não violam regras de conteúdo.
- Validações de saída: verificações após a chamada ao LLM para garantir que a resposta seja adequada.
- Nós de decisão (if/else): usados para redirecionar o fluxo com base em condições específicas, como detecção de erro, conteúdo sensível ou ausência de contexto.
- Memória e estado persistente: ajudam a manter controle sobre o histórico e aplicar regras com base no comportamento anterior do agente.
LangGraph permite incorporar esses controles de forma explícita nos grafos adicionando nós para fins específicos, promovendo observabilidade, reprodutibilidade e segurança.
Exemplo de guardrails implementados em LangGraph
