E19 · pass@3 contra pass^3
10 minEjecuta el ensayo con ruido de 25%.
Listo cuando: passk.py imprime pass@3: 90%, pass^3: 50% e instáveis: t01 t06 t08 t10.
Lección 7 · 18 min
"Acierta el 90%" puede querer decir que acierta casi siempre o que acierta al menos una vez en tres intentos. Para un loop que corre sin ti, solo sirve la primera. En esta clase mides las dos en tu conjunto de oro, ves cuánto oscila el número entre rondas y aprendes a leer SWE-bench y el horizonte de METR sin exagerar.
Comenzar la clase
Objetivo: medir pass@k y pass^k con repeticiones, leer la varianza entre rondas y citar SWE-bench y el horizonte de METR sin exagerar.
Haz clic en cada etapa.
Para un loop autónomo, reporta pass^k y la desviación entre rondas, no el pass@k.
El agente de triagem falso, con TRIAGEM_RUIDO=0.25, falla el "urgente" en 25% de los intentos (sorteo fijo, reproducible).
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
El mismo agente puede anunciarse como "90%" (pass@3) o describirse como "la mitad de los casos sale bien siempre" (pass^3). La ronda 2 sola diría 80%; la 1 y la 3, 70%.
pass^3 quedó por encima de la cuenta independiente (39%) porque los errores no son independientes: 5 casos nunca fallan y el caso trampa (t07) falla siempre. En tu conjunto, la lista de inestables es la lista de casos para estudiar primero.
Solo lo que dice la fuente primaria, con fecha.
METR estimó que cerca de la mitad de los PRs que pasan las pruebas de SWE-bench Verified no serían aceptados por los mantenedores del proyecto.
Una prueba en verde mide lo que la prueba cubre. Estilo, alcance y efectos colaterales quedan fuera: es el espacio del evaluador escéptico y de la muestra humana.
Hay reportes en fuentes secundarias de que benchmarks públicos de código se filtraron al entrenamiento y de que los proveedores cambiaron de benchmark por eso. No confirmamos los números en la fuente primaria.
Consecuencia práctica, que no depende del número: tu conjunto de oro, privado y sacado de tus fallas, dice más sobre tu agente que cualquier marcador público.
Horizonte de 50% = duración de una tarea (en tiempo de especialista humano) que el modelo acierta la mitad de las veces. No es cuánto tiempo trabaja el agente solo.
Las tareas son de ingeniería de software, ML y seguridad, bien especificadas y verificables por código. No vale para una tarea vaga.
La FAQ de METR da unas 2 h 17 min para GPT-5. Claude Mythos Preview (versión inicial, evaluada en marzo/2026) quedó en al menos 16 h, con un intervalo de 95% de 8,5 h a 55 h, en el límite de lo que METR dice poder medir.
La página de horizontes fue cerrada: el último modelo agregado fue el 08/05/2026, el último aviso el 08/09/2026. Los modelos posteriores no tienen horizonte oficial. Úsalo como orden de magnitud, con 50% de acierto, no 80%.
Consume la cuota de tu suscripción: 30 llamadas con el conjunto del ensayo. Después, cámbialo por tu 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 predeterminado de la suscripción, 4 min 20 s. Con 10 casos fáciles, el agente real acertó los 30 intentos: este conjunto no mide ninguna varianza. Para ver caer pass^k, el conjunto necesita casos difíciles (clase 5). Tu número va a depender de tu conjunto.
Ensayo, tu agente y una frase honesta.
Ejecuta el ensayo con ruido de 25%.
Listo cuando: passk.py imprime pass@3: 90%, pass^3: 50% e instáveis: t01 t06 t08 t10.
Ejecuta tu conjunto de oro (clase 5) con --k 3 y tu agente real. Anota en progress.md o en el README del agente una línea con fecha, N de casos, pass^3 y desvío entre rondas.
Listo cuando: python3 $E/passk.py [tu tsv] imprime las líneas pass@3:, pass^3: e instáveis:, y grep -c "pass^3" [archivo donde anotaste] → 1 o más.
Pregunta 1 de 4
Para un loop que corre sin supervisión, ¿qué métrica importa?competencia
Pregunta 2 de 4
Con 75% de acierto por intento, independientes, ¿cuánto da pass^3?
Pregunta 3 de 4
Según METR (10/03/2026), ¿qué pasa con los PRs que pasan en SWE-bench Verified?competencia
Pregunta 4 de 4
¿Qué significa un horizonte de 50% de 16 h?
Elige una alternativa. La explicación aparece después de tu intento.