Um dos primeiros agentes que construí era extremamente simples: Ele recuperava informações de um armazenamento vetorial, formatava-as como HTML e enviava por e-mail ao usuário. Não há nada mais simples do que isso, e ainda assim, esse agente falhou cerca de 1% das vezes. Sem erro. Sem aviso. Ele simplesmente retornava lixo. Aqui está a dura verdade: Os agentes falham muito. E falham silenciosamente. O tempo todo. Você simplesmente não pode confiar em um LLM para fazer a coisa certa todas as vezes. Até agora, construí e implantei algumas dezenas de agentes, e aqui estão algumas das coisas que realmente funcionam: 1. Observabilidade desde o primeiro dia. Se você não consegue ver o que seu agente está fazendo, não pode depurá-lo, melhorá-lo ou confiá-lo. Todo agente deve produzir rastros mostrando o fluxo completo de solicitações, interações do modelo, uso de tokens e metadados de tempo. 2. Barreiras em entradas e saídas. Tudo que entra e sai de um LLM deve ser verificado por código determinístico. Mesmo coisas que não são propensas a falhar eventualmente falharão. 3. Avaliação LLM-como-juiz. Você pode construir um juiz simples usando um LLM para avaliar automaticamente as saídas do seu agente. Rotule um conjunto de dados, escreva o prompt de avaliação e itere até que seu juiz capture a maioria das falhas. 4. Análise de erros. Você pode coletar amostras de falhas, categorizá-las e diagnosticar os erros mais frequentes. 5. Engenharia de contexto. Muitas vezes, os agentes falham porque seu contexto é ruidoso, sobrecarregado ou irrelevante. Aprender a manter o contexto relevante é fundamental. 6. Ciclos de feedback humano. Às vezes, a melhor barreira é um humano no processo, especialmente para decisões de alto risco.