Confiabilidade de agentes · Achado

Subagente pode mentir (sem querer) sobre o que modificou

Publicado 2026-07-23

Um subagente de IA encarregado de editar um painel interno relatou, em duas execuções seguidas, "nenhum arquivo modificado". Checando o sistema de arquivos depois — não confiando no relatório —, um arquivo real tinha sido alterado em 12 linhas.

Não foi um caso de o subagente mentir de propósito. A execução parece ter passado por uma edição parcial no início da tarefa, antes do restante do fluxo travar num classificador interno mais adiante. O relatório final foi gerado a partir do estado que o próprio agente acreditava ser verdadeiro no momento de resumir — que não incluía a edição que já tinha acontecido antes do travamento.

Por que isso importa

O auto-relato de um subagente ("fiz X", "não toquei em Y") é uma amostra da crença do agente sobre o que aconteceu, não uma auditoria do que de fato aconteceu. Quando uma execução é interrompida, trava num passo intermediário, ou sofre qualquer condição de corrida com outra sessão escrevendo no mesmo arquivo, o relatório final pode descrever com total confiança um estado que já não é mais verdadeiro.

O padrão de risco: edit parcial + run interrompido

O caso mais perigoso não é o agente que erra tudo — é o agente que faz uma edição parcial válida (que passa por qualquer verificação superficial no início do run) e trava antes de completar o resto do trabalho que dependia dela. O resultado é um "stub órfão": código que parece pronto porque uma parte dele de fato está, mas que não tem as peças que o restante do fluxo assumia que existiriam. Isso é mais perigoso que uma falha total, porque passa despercebido em uma checagem rápida de "rodou sem erro".

O que fazer

  • Depois de qualquer execução de subagente que edita arquivo compartilhado, verificar o que foi realmente tocado via controle de versão (diff/status) — nunca só pelo relatório final do agente.
  • Tratar edição parcial de um run que travou ou foi interrompido como não confiável por padrão, até confirmação manual de que a mudança está completa.
  • Proveniência de uma mudança em arquivo compartilhado que não dá pra confirmar com certeza deve ser tratada como não verificada — reverter e refazer pelo canal correto é mais seguro do que aceitar por evidência circunstancial (ex.: "o timestamp bate" não é prova de que o conteúdo é o que o agente diz que é).

A lição generaliza além de subagentes de codificação: qualquer sistema que delega uma ação a um agente autônomo e depois decide o que aconteceu com base só no relatório desse agente tem o mesmo ponto cego. A fonte de verdade é o estado observável do sistema, não a narrativa que o agente produz sobre si mesmo.

← Voltar pra Notes