Como construí guardrails que impedem meu agente de aprovar boleto errado

Imagem de capa para o artigo: Como construí guardrails que impedem meu agente de aprovar boleto errado

Construir guardrails que impedem meu agente de aprovar boleto errado não foi um exercício teórico. Foi uma resposta direta a um risco operacional óbvio: quando você coloca um agente para tocar processo financeiro, qualquer erro deixa de ser bug simpático e vira problema de caixa, retrabalho e confiança destruída.

O ponto aqui não é parecer sofisticado usando Claude, automação ou OCR. É desenhar um sistema em que o agente não consiga tomar a decisão errada sozinho quando a evidência é fraca, ambígua ou incompleta. A transformação real vem daí: sair de uma automação frágil, que parece funcionar em demo, para um fluxo que aguenta operação de verdade, com bloqueio, escalonamento e trilha de auditoria.

Agente confiável não é o que acerta sempre; é o que sabe exatamente quando não pode decidir.

Por que guardrails para aprovar boleto são mais importantes do que o modelo

Muita gente encara aprovação de boleto como problema de extração de dados. Não é. Extração é só a primeira camada. O problema real é decisão financeira sob incerteza. O OCR pode ler um valor, o Claude pode interpretar um campo, mas nenhum desses componentes, isoladamente, deveria ganhar permissão para liberar pagamento.

Esse é o erro clássico de quem está saindo da execução técnica para a geração de negócio: confundir capacidade de processamento com capacidade de responsabilização. Um agente consegue classificar, resumir e cruzar informação em segundos. Isso não significa que ele deva autorizar dinheiro quando há divergência entre fornecedor, pedido, nota e boleto.

Na prática, eu passei a tratar boleto como um objeto de alto custo de erro. Se o sistema aprova errado, o prejuízo não é só financeiro. Você também contamina confiança interna no produto, cria exceções manuais em cadeia e abre espaço para fraude simples. Um fluxo sem guardrails pode até ter boa taxa de automação no início, mas apodrece rápido quando encontra casos reais.

Por isso a ordem certa não é “qual modelo usar?”, e sim “quais condições tornam impossível aprovar automaticamente?”. Quando você começa por essa pergunta, o desenho muda. O modelo deixa de ser juiz final e vira componente de apoio dentro de uma arquitetura de restrições.

Como desenhei validações para impedir aprovação de boleto errado

Eu não resolvi isso com uma regra mágica. Resolvi com validação em camadas. Cada camada tem uma função específica: confirmar identidade, checar consistência documental, medir confiança e decidir se o caso pode seguir, deve travar ou precisa de humano.

A primeira camada é estrutural. Antes de qualquer interpretação semântica, o sistema verifica CNPJ, código de barras, vencimento, valor e beneficiário. Se o boleto chega sem campos mínimos ou com formato inválido, ele nem entra no fluxo de decisão. Parece básico, mas muita automação quebra porque tenta “ser inteligente” antes de ser rigorosa.

A segunda camada é contextual. O boleto precisa bater com o que já existe no sistema: fornecedor cadastrado, pedido aprovado, nota fiscal esperada, centro de custo compatível e histórico daquela relação comercial. Se o valor está correto, mas o beneficiário difere do cadastro, isso não é detalhe. É sinal de risco. Guardrail bom trata inconsistência pequena como evento grande.

A terceira camada é probabilística, mas com limites duros. Claude pode ajudar a interpretar divergências, extrair justificativas e classificar exceções. Só que ele não decide sozinho quando há conflito crítico. Se a confiança cai abaixo de um limiar ou se existem sinais contraditórios, o sistema força revisão humana. O objetivo não é maximizar automação. É minimizar erro irreversível.

As regras que usei para bloquear decisões automáticas do agente

O ponto mais importante dos guardrails foi sair da lógica binária de “aprovado” ou “reprovado” e criar um terceiro estado: não autorizado a decidir. Esse estado parece simples, mas muda tudo. Ele impede que o agente chute quando o contexto é ruim.

Na operação, eu defini gatilhos objetivos para travamento automático. Não deixei isso no campo da sensibilidade do modelo. Se acontecer uma dessas condições, a decisão não segue sem humano:

  • Compare. Cruze o CNPJ do beneficiário com o cadastro do fornecedor e com o documento fiscal. Divergência bloqueia o fluxo.
  • Valide. Confirme que o valor do boleto está dentro da tolerância definida em relação ao pedido e à nota. Diferença fora da faixa escalona.
  • Exija. Só permita decisão automática quando houver evidência completa: boleto legível, documento associado e contexto comercial existente.
  • Trave. Se houver mudança recente de dados bancários ou de beneficiário, force revisão humana, mesmo com os demais campos corretos.
  • Registre. Salve a justificativa da decisão, os sinais usados e o nível de confiança para auditoria posterior.

Essas regras não surgiram de teoria de compliance. Surgiram de observar onde o agente parecia confiante demais. Esse é um padrão recorrente: quando você dá contexto parcial para o sistema, ele ainda tenta fechar lacunas. Em conteúdo isso pode ser útil. Em financeiro, isso é perigoso.

Também separei regras de bloqueio absoluto de regras de tolerância controlada. Data de vencimento próxima pode gerar alerta. Beneficiário divergente não pode gerar alerta; tem que gerar trava. Misturar severidades faz o sistema parecer sofisticado, mas no fundo só embaralha risco.

Onde a maioria erra ao criar guardrails para agentes financeiros

O erro mais comum é acreditar que guardrail é prompt bem escrito. Não é. Prompt ajuda a orientar comportamento, mas não substitui arquitetura de controle. Se o seu agente consegue aprovar um boleto errado porque o texto estava persuasivo ou porque um campo foi interpretado com excesso de confiança, o problema não é de redação. É de desenho do sistema.

Outro erro é usar métricas erradas. Muita gente comemora taxa de automação ou velocidade de processamento sem medir taxa de falso positivo financeiro. Em outras palavras: quantos casos o agente aprovou quando deveria ter parado? Esse número importa mais do que qualquer dashboard bonito de produtividade.

Também vejo equipes tratando exceção como ruído. Só que exceção é exatamente onde o guardrail prova valor. O caso perfeito, com PDF limpo, fornecedor correto e valor idêntico ao pedido, qualquer automação resolve. O que separa sistema sério de demo é o comportamento diante de documento borrado, fornecedor com razão social parecida, alteração bancária recente e cobrança fora do padrão.

Por fim, há o problema cultural. Muita empresa quer vender internamente a ideia de agente autônomo antes de construir a capacidade de auditar, contestar e reverter decisões. Isso é vaidade técnica. Se você não consegue explicar por que um boleto foi aprovado ou bloqueado, você não construiu automação confiável. Construiu opacidade operacional.

O que mudou depois que parei de buscar autonomia total na aprovação de boletos

A virada veio quando eu parei de otimizar para “agente que resolve tudo” e comecei a otimizar para sistema que erra pouco e escala bem. Parece menos sexy, mas funciona muito melhor. A autonomia parcial, com restrições fortes, produziu mais resultado do que a fantasia de hands-off total.

Na prática, o ganho foi em três frentes. Primeiro, redução de risco: os casos perigosos passaram a ser travados antes da decisão. Segundo, menos retrabalho: a equipe humana deixou de revisar tudo e passou a revisar só o que realmente exigia contexto adicional. Terceiro, confiança acumulada: com trilha de decisão clara, ficou mais fácil ajustar regra, rever erro e melhorar o sistema continuamente.

Esse ponto importa muito para builders e gestores de IA em transição para negócio. O mercado ainda romantiza agente autônomo, mas quem opera sabe que valor vem de confiabilidade repetível, não de demo impressionante. Mostrar o sistema funcionando inclui mostrar onde ele para. E, sendo brutalmente honesto, isso vende melhor para gente séria do que qualquer narrativa de automação mágica.

Se você está construindo algo parecido, a pergunta certa não é “como fazer meu agente aprovar mais boletos?”. A pergunta certa é “em quais condições ele está proibido de aprovar?”. Quando essa resposta fica precisa, o resto encaixa: modelo, workflow, fila humana, logging e melhoria contínua.


Perguntas frequentes sobre Como construí guardrails que impedem meu agente de aprovar boleto errado

Qual é o primeiro guardrail que devo criar para um agente que aprova boletos?

O primeiro é separar validação estrutural de decisão. Antes de qualquer análise contextual, confirme campos mínimos como CNPJ, valor, vencimento, beneficiário e integridade do código de barras. Sem isso, o agente nem deveria entrar na etapa de aprovação.

Quando um agente deve obrigatoriamente escalar um boleto para revisão humana?

Sempre que houver divergência crítica entre boleto, fornecedor cadastrado, pedido ou nota fiscal. Mudança recente de dados bancários, baixa confiança na extração ou ausência de evidência suficiente também devem travar o fluxo automaticamente.

Prompt bem escrito resolve o problema de aprovar boleto errado?

Não resolve sozinho. Prompt ajuda o Claude a interpretar melhor o contexto, mas não substitui regras duras, estados de bloqueio e validações externas. Aprovação financeira depende de arquitetura de controle, não só de instrução textual.

Como medir se meus guardrails financeiros estão funcionando de verdade?

A métrica principal é quantos falsos positivos financeiros ainda passam, ou seja, quantos boletos foram aprovados quando deveriam ter parado. Além disso, acompanhe taxa de escalonamento, motivos de bloqueio e tempo de resolução das exceções.

Vale a pena buscar aprovação 100% automática de boletos?

Na maioria dos casos, não como objetivo inicial. O melhor desenho costuma ser automação alta com bloqueio conservador em casos ambíguos. Buscar autonomia total cedo demais geralmente aumenta risco e reduz confiança na operação.

Conteúdo criado especialmente para você

Explore mais artigos e descubra insights práticos para o seu negócio.

Ver todos os artigos →