A supervisão humana é frequentemente defendida como barreira essencial contra falhas e abusos em sistemas de agentes autônomos. Mas dados inéditos de um experimento com mais de 40 mil rodadas de um jogo de aprovação de comandos sugerem que, sob pressão, até mesmo humanos atentos deixam passar ameaças críticas — e com uma frequência preocupante.
O experimento: humanos contra comandos suspeitos
O teste consistiu em um browser game onde o jogador assume o papel de “human-in-the-loop” para um agente de codificação. A missão: aprovar ou negar comandos do agente, alguns rotineiros (como git status), outros claramente maliciosos (como cat ~/.aws/credentials). O desafio é agravado por tempo limitado e pela necessidade de distinguir rapidamente entre operações legítimas e potenciais ataques de exfiltração ou destruição.
Ao longo de 40.000 sessões e mais de 409.000 decisões individuais, a performance média foi de 66,3% de acerto — ou seja, 1 em cada 3 ameaças passou despercebida (fonte). Em 32,9% dos jogos, o saldo final foi negativo, mostrando que penalidades por aprovações erradas ou bloqueios excessivos superaram os acertos.
Onde humanos erram mais
O detalhamento por categoria mostra que comandos abertamente destrutivos (rm -rf /) foram barrados na maioria das vezes (miss rate de 11,7%). Já ameaças menos óbvias, como exfiltração de credenciais via curl ou leitura de arquivos sensíveis, passaram batidas em 33–35% dos casos. O comando mais frequentemente aprovado erroneamente foi npm run analyze, com 64,7% de erro — ainda que o histórico do comando deixasse claro o risco de vazamento de dados. A familiaridade com comandos do ecossistema Node.js parece ter reduzido a vigilância dos jogadores.
Na prática, comandos disfarçados sob nomes conhecidos — mas com payloads maliciosos no package.json — dobraram a taxa de sucesso de ataques em relação a ameaças de exfiltração mais óbvias.
O cansaço da permissão
Um efeito já observado em pesquisas com sistemas como Claude Code, da Anthropic, foi confirmado: quanto mais prompts de aprovação, maior a fadiga e menor a atenção do usuário. O gráfico das sessões mostra que, após uma curva inicial de “aquecimento”, a taxa de erro volta a subir nos comandos finais, sugerindo cansaço ou tentativa de acelerar decisões para cumprir o tempo.
Além disso, 7% dos jogadores aprovaram todos os comandos, ignorando o risco — comportamento análogo ao uso do flag --dangerously-skip-permissions em ambientes reais. Por outro lado, parte dos usuários bloqueou tudo, inclusive comandos inofensivos, criando gargalos e penalidades no jogo.
Overblocking e o dilema do humano no loop
A estatística revela também o outro lado: comandos legítimos bloqueados em excesso. Por exemplo, npm config set registry https://npm.internal foi barrado 59% das vezes, e operações comuns como limpar diretórios (rm -rf dist/) ou liberar portas (kill $(lsof -t -i:3000)) foram bloqueadas em mais de 40% dos casos. O medo de errar leva a uma postura defensiva, mas que prejudica a eficiência dos agentes.
O cenário sugere um limite prático para a abordagem “human-in-the-loop”: quando o volume de decisões é alto e o custo do erro é assimétrico, a supervisão humana tende a perder eficácia. Como bem colocado em discussão no Hacker News, pedir para o usuário validar comandos individuais — que parecem rotineiros, mas podem ter sido adulterados — não é garantia de segurança real.
Por que isso importa
A confiança em humanos como última linha de defesa para agentes de IA pode ser superestimada, especialmente em fluxos intensivos ou repetitivos. O experimento mostra que nem mesmo alertas explícitos ou logs detalhados bastam para impedir erros sistemáticos. Para equipes que dependem de agentes autônomos, o design de permissões precisa ir além do prompt de aprovação: auditoria contínua, detecção de anomalias e limites automáticos ganham ainda mais peso. O modelo “aprove/deny” isolado não escala — e pode, na prática, criar uma falsa sensação de controle.