E19 · pass@3 contra pass^3
10 minRode o ensaio com ruído de 25%.
Pronto quando: passk.py imprime pass@3: 90%, pass^3: 50% e instáveis: t01 t06 t08 t10.
Aula 7 · 18 min
"Acerta 90%" pode querer dizer que acerta quase sempre ou que acerta pelo menos uma vez em três tentativas. Para um loop que roda sem você, só a primeira serve. Nesta aula você mede as duas no seu conjunto de ouro, vê quanto o número oscila entre rodadas e aprende a ler SWE-bench e o horizonte do METR sem exagerar.
Começar a aula
Objetivo: medir pass@k e pass^k com repetições, ler a variância entre rodadas e citar SWE-bench e o horizonte METR sem exagero.
Clique em cada etapa.
Para loop autônomo, reporte pass^k e o desvio entre rodadas, não o pass@k.
O agente de triagem falso, com TRIAGEM_RUIDO=0.25, erra o "urgente" em 25% das tentativas (sorteio fixo, reproduzível).
E=~/projetos/loop-r-eng-verificacao-v72/kit/evals; mkdir -p /tmp/ensaio-evals TRIAGEM_RUIDO=0.25 python3 $E/rodar-evals.py --agente "python3 $E/agente-triagem-falso.py" \ --k 3 --saida /tmp/ensaio-evals/k3.tsv > /dev/null python3 $E/passk.py /tmp/ensaio-evals/k3.tsv
10 casos × 3 tentativas taxa por tentativa: 73% (rodada 1: 70% · rodada 2: 80% · rodada 3: 70%; desvio 5 pontos) pass@3: 90% (ao menos 1 acerto) pass^3: 50% (acertou todas) se fossem independentes, 73%^3 = 39% instáveis: t01 t06 t08 t10
O mesmo agente pode ser anunciado como "90%" (pass@3) ou descrito como "metade dos casos sai certa sempre" (pass^3). A rodada 2 sozinha diria 80%; a 1 e a 3, 70%.
pass^3 ficou acima da conta independente (39%) porque os erros não são independentes: 5 casos nunca erram e o caso armadilha (t07) erra sempre. No seu conjunto, a lista de instáveis é a lista de casos para estudar primeiro.
Só o que a fonte primária diz, com data.
O METR estimou que cerca de metade dos PRs que passam nos testes do SWE-bench Verified não seriam aceitos pelos mantenedores do projeto.
Teste verde mede o que o teste cobre. Estilo, escopo e efeito colateral ficam de fora: é o espaço do avaliador cético e da amostra humana.
Há relatos em fontes secundárias de que benchmarks públicos de código vazaram para o treino e de que provedores trocaram de benchmark por isso. Não confirmamos os números na fonte primária.
Consequência prática, que não depende do número: o seu conjunto de ouro, privado e tirado das suas falhas, diz mais sobre o seu agente que qualquer placar público.
Horizonte de 50% = duração de uma tarefa (em tempo de especialista humano) que o modelo acerta metade das vezes. Não é quanto tempo o agente trabalha sozinho.
As tarefas são de engenharia de software, ML e segurança, bem especificadas e verificáveis por código. Não vale para tarefa vaga.
A FAQ do METR dá cerca de 2 h 17 min para o GPT-5. O Claude Mythos Preview (versão inicial, avaliada em março/2026) ficou em pelo menos 16 h, com intervalo de 95% de 8,5 h a 55 h, no limite do que o METR diz conseguir medir.
A página de horizontes foi encerrada: último modelo adicionado em 08/05/2026, último aviso em 08/09/2026. Modelos posteriores não têm horizonte oficial. Use como ordem de grandeza, com 50% de acerto, não 80%.
Sai da sua cota: 30 chamadas com o conjunto do ensaio. Depois, troque pelo seu conjunto.
python3 $E/rodar-evals.py --agente 'claude -p --tools ""' --k 3 --saida /tmp/ensaio-evals/real-k3.tsv python3 $E/passk.py /tmp/ensaio-evals/real-k3.tsv
armadilha 3/3 bug 15/15 duvida 6/6 pedido 6/6 total 30/30 (100%) → /tmp/ensaio-evals/real-k3.tsv 10 casos × 3 tentativas taxa por tentativa: 100% (rodada 1: 100% · rodada 2: 100% · rodada 3: 100%; desvio 0 pontos) pass@3: 100% (ao menos 1 acerto) pass^3: 100% (acertou todas) se fossem independentes, 100%^3 = 100% instáveis: nenhum
Claude Code 2.1.303, modelo padrão da assinatura, 4 min 20 s. Com 10 casos fáceis, o agente real acertou as 30 tentativas: este conjunto não mede variância nenhuma. Para ver pass^k cair, o conjunto precisa de casos difíceis (aula 5). O seu número vai depender do seu conjunto.
Ensaio, o seu agente e uma frase honesta.
Rode o ensaio com ruído de 25%.
Pronto quando: passk.py imprime pass@3: 90%, pass^3: 50% e instáveis: t01 t06 t08 t10.
Rode o seu conjunto de ouro (aula 5) com --k 3 e o seu agente real. Anote no progress.md ou no README do agente uma linha com data, N de casos, pass^3 e desvio entre rodadas.
Pronto quando: python3 $E/passk.py [seu tsv] imprime as linhas pass@3:, pass^3: e instáveis:, e grep -c "pass^3" [arquivo onde anotou] → 1 ou mais.
Pergunta 1 de 4
Para um loop que roda sem supervisão, qual métrica importa?competência
Pergunta 2 de 4
Com 75% de acerto por tentativa, independentes, quanto dá pass^3?
Pergunta 3 de 4
Segundo o METR (10/03/2026), o que acontece com PRs que passam no SWE-bench Verified?competência
Pergunta 4 de 4
Horizonte de 50% de 16 h significa o quê?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.