Auditoria de modos de falha · 2026-08-11

Caixa-Preta dos Agentes

Mineração completa do histórico de agentes deste Mac. Dez agentes leram cada correção do usuário, o contexto que a causou e classificaram a falha real. Três harnesses: Claude Code, Codex e Pi/OMP.

Taxa de correção
25,4
por 100 mensagens humanas
Corpus minerado
~2,5 GB
de transcripts brutos
Sessões
3.607
2.288 + 1.152 + 167
Correções (history)
669
de 2.635 mensagens
Fatias mineradas
10
1 agente por fatia
Harnesses
3
Claude Code · Codex · Pi
Claude Code ~1,0 GB · 2.288 jsonl Codex ~1,1 GB · 1.152 sessões Pi/OMP ~0,43 GB · 167 sessões

1 · Metodologia

Três fontes, três réguas

As fatias não medem com a mesma régua. As fatias 1, 3 e 5 contam bruto: toda correção do usuário. As fatias 2, 4 e 6–9 filtram para falhas genuínas. A fatia 10 lê outra fonte: o history.jsonl com todos os prompts.

Não some as três colunas. Elas contam eventos diferentes com critérios diferentes. Cada painel abaixo tem escala própria. Compare formas e proporções, não totais.

2 · Falhas por categoria

O mesmo perfil aparece nas três fontes

Em cada painel, a barra laranja marca a maior categoria daquela fonte. Falso-pronto, travado-esperando e scope-creep ficam no topo em todas.

Sessões · contagem bruta

Fatias 1, 3, 5 — toda correção · escala própria

travado-esperando
148
outra
142
falso-pronto
90
scope-creep
79
alvo-errado
78
ignorou-MCP
77
erro-repetido
48
ignorou-instrução
21
leu-errado
6

Sessões · só falhas genuínas

Fatias 2 (fortes), 4, 6–9 · escala própria

erro-repetido
64
outra
47
travado-esperando
43
scope-creep
34
falso-pronto
29
alvo-errado
27
ignorou-MCP
9
ignorou-instrução
5
leu-errado
1

A fatia 2 ainda registrou 47 casos brutos de halt-imperativo (continuar após ordem de parada); nenhum passou no filtro "forte".

history.jsonl · fonte distinta

Fatia 10 — 669 correções em 2.635 msgs · escala própria

outra
189
falso-pronto
165
travado-esperando
98
scope-creep
94
ignorou-MCP
46
leu-errado
45
erro-repetido
32

Dentro de "outra" (189):

frustração-com-erro 119 quebrou-algo 25 frustração-pura 15 ■ qualidade-ruim 11 ■ interrupção-corretiva 9 ■ resultado-errado 9

Faixas consolidadas por categoria

Cada barra mostra a faixa mínimo–máximo entre as metodologias de sessão (bruto vs. filtrado). O history.jsonl fica de fora, porque é outra fonte. Escala única: 0 a 310 ocorrências.

travado-esperando
191–310
falso-pronto
119–255
alvo-errado
105–187
scope-creep
113–184
erro-repetido
112–145
ignorou-MCP/instr.
86–112
leu-errado
7–52

3 · Modelos e harnesses

Falhas absolutas seguem o uso, não a qualidade

Viés de uso. O modelo mais usado acumula mais falhas absolutas. Estes números não normalizam por horas de uso nem por sessões. Não leia esta tabela como ranking de qualidade.

fable-5
~189
gpt-5.x
56
gpt-5.6-luna
56
opus-5
~44
grok-4.5
14
gpt-5.6-sol
10
opus-4-8
6
kimi-k3
5

Leituras que sobrevivem ao viés: falso-pronto e travado-esperando aparecem em todos os modelos e harnesses. Scope-creep e erro-repetido pesam mais nos harnesses multiagente (Codex e Pi). Ignorou-MCP é quase exclusivo do Claude Code. Na fatia 4, as sessões opus-5 tiveram zero falhas genuínas e as fable-5 concentraram as 13 — mas 7 delas vêm de uma única sessão catastrófica.

4 · Top 5 modos de falha

Ordenados por frequência × custo

Os exemplos abaixo são verbatim dos transcripts. Aspas laranjas são frases do próprio agente; aspas cinzas são correções do usuário.

1

Falso-pronto / invenção de estado

O agente declara sucesso sem verificar. É o maior gap entre impacto e detectabilidade: o report parece certo até o usuário testar.

"Frota no ar" — nenhum processo rodando.
"Fase 1 VERDE" — sem acompanhar o deploy. "PASS" — com screenshot que não existe. Afirmou usar Opus 4.6 com Opus 5 aberto.
2

Travado-esperando / loop sem progresso

O agente espera um input que já chegou, ou repete um ciclo que não converge. Inclui o halt-imperativo: continuar após STOP/FREEZE.

1h14 em loop confundindo o Computer Use com o navegador pessoal; cada iteração do teste matava o áudio dos AirPods de novo.
Monitor de 60 s esperando, passivo, um clique de "trust" que o usuário já tinha dado. Subagentes órfãos nunca mortos. Commits WIP depois de um FREEZE.
3

Scope-creep / desobediência de escopo

O agente faz mais (ou outra coisa) do que o pedido. O AGENTS.md global é a regra mais ignorada — em especial paralelização e decomposição atômica.

Orquestrador esperou os 4 subagentes terminarem em vez de agir incremental. Refactors oportunistas fora do brief, exigindo ordens repetidas de disciplina.
Agente de limpeza mexeu em branches de outras sessões. Destruiu ambientes (purge + bootstrap) culpando um ESC que o usuário nunca apertou.
4

Ignorou MCP / ferramenta dedicada

O agente usa o caminho manual quando existe ferramenta dedicada configurada. Um dos casos é limitação real de harness, não desobediência.

curl no grill-board com o MCP configurado (2 sessões). Chrome e Dia pessoais no lugar do Computer Use oficial, mesmo após correção explícita.
Burlou o hard hook de subagentes criando processos `pi -p` diretos.
5

Erro-repetido após correção

O agente repete a mesma classe de erro na mesma sessão, ou contamina sessões futuras via skill e memória. Inclui a confusão de identidade de modelo.

Diagnóstico errado recorrente: "1Password travou" — não travou (opus e fable). Skill criada com `--json` num comando e não no outro, induzindo erro em sessões futuras.
Usuário: "pq vc ta usando 5.6 sol low??? estava HIGH" · "vc sabe que Sol é codex né?"

5 · Contramedidas aplicadas

Cada regra nova ataca um modo de falha medido

Saída do grill aprendizados-do-video-do-theo-no-setup-do-mac (19/19 respondidas). Commits 3f84c70…dba9115 na branch feat/control-center-v1 de ~/agents-config.

Contramedida Onde vive Modo de falha que ataca
"Done" só depois de conferir cada item do pedido original AGENTS.md · Reporting done falso-pronto
Perguntas são read-only; código só muda com pedido explícito AGENTS.md · Reporting done scope-creep
Correção do usuário vira restrição e vale até o fim da sessão AGENTS.md · Reporting done erro-repetido
Identidade de modelo/effort: ler do sistema, nunca chutar AGENTS.md · Reporting done falso-pronto
MCP-first; fallback só depois de declarar a limitação AGENTS.md · Tooling ignorou-MCP
Serviços rodando e sessões de usuário são produção AGENTS.md · Tooling quebrou-algo
Orquestração responsiva; mata órfãos e salva o output antes AGENTS.md · Subagents travado-esperando
STOP, FREEZE e HALT são imediatos: parar, salvar, confirmar AGENTS.md · Subagents halt-imperativo
emil-design-eng vira manual-only skill scope-creep
handoff passa a exigir verificação de estado antes de afirmar skill falso-pronto
managing-skills passa a exigir teste dos comandos documentados skill erro-repetido
Doc novo: known-harness-limitations.md (7 limitações + workarounds) ~/agents-config/docs limitações de harness

6 · Fora do alcance de instruções

Sete limitações de harness

Nenhuma linha de AGENTS.md resolve estes casos. A numeração segue o doc known-harness-limitations.md.

L1

Classificador de permissão bloqueia o orquestrador

Prompts de permissão reaparecem para ações já aprovadas. Workaround: allowlist no settings.json; senão, expor o bloqueio na hora.

L2

MCP mid-session não carrega via ToolSearch

O registry congela no início da sessão. Workaround: declarar a limitação, usar fallback documentado, reiniciar a sessão.

L3

Safety overreach em frustração técnica

Mensagens técnicas com palavrão recebem resposta de CVV/SAMU, em todos os providers. A camada de safety fica abaixo das instruções; a regra do AGENTS.md mitiga só em parte.

L4

Subagentes órfãos sem garbage collection

O harness não mata subagente que silencia. Workaround: o orquestrador checa status entre respostas, mata e salva o output antes.

L5

Degradação com ~200k de contexto

Prioridades se confundem e instruções antigas somem. Workaround: tratar 200k como gatilho duro de compactação ou handoff.

L6

Identidade de modelo não exposta

O harness (Codex) não publica o slug do modelo; o agente chuta e erra. Workaround: ler do sistema; se não houver, dizer "não exposto".

L7

STOP/FREEZE não é enforçado pelo harness

A ordem de parada é só texto; sem hook, o modelo pode seguir trabalhando. Workaround: regra global de halt + kill pelo supervisor em frotas.