🏅 El campo de oro message.model
Toda comparación empieza separando el corpus de cada modelo, y la clave es el campo message.model.
O extract_corpus.py recorre todo el historial (todos los proyectos en
~/.claude/projects) y se combina en un corpus conjunto todos los turnos de un modelo.
# default: claude-fable-5 python extract_corpus.py # um modelo específico, com pasta de saída python extract_corpus.py --model claude-opus-4-8 --out ./corpus_opus # só listar os modelos que existem no histórico python extract_corpus.py --list
📦 Lo que produce
- •
transcript.md— transcripción ligera solo con los turnos de ese modelo. - •
stats.json— todas las métricas medidas. - •Un informe legible impreso en el terminal.
💡 Empieza por el --list
Antes de filtrar, ejecuta --list para ver los nombres exactos de los modelos presentes en tu historial. Los nombres cambian entre versiones; el --list evita que filtres por un modelo que no existe y obtengas un corpus vacío.
message.model
todo el historial
modelos presentes
transcript + stats
🔗 TURNO LÓGICO: la unidad correcta
Vimos en el módulo anterior que cada bloque es una línea. Si mides por línea, un turno de respuesta de 5 bloques se convierte en «5 turnos»: la señal se diluye. La unidad correcta es el turno lógico: 1 prompt humano hasta el siguiente, con todo lo que hizo el modelo en el medio. Todas las métricas de este módulo son por turno lógico.
🎯 Por qué esta es la unidad correcta
El turno lógico responde a la pregunta que importa: "para responder a este solicitud, ¿el modelo pensó antes? ¿Cuántas herramientas usó? ¿En qué orden?». Es la granularidad del ritmo de trabajo — ni la línea (demasiado fina), ni la sesión (demasiado gruesa).
prompt → prompt
todos los bloques
el ritmo real
por turno lógico
📐 Las métricas medidas
O extract_corpus.py no da impresiones — da números. Cada corpus se resume con:
turnos lógicos, % que pensaron antes, herramientas por turno (promedio y mediana), lectura antes de editar y prueba después de editar.
Es el vocabulario común sobre el que se calculará la diferencia.
Turnos lógicos y % que piensa antes
Cuántos turnos lógicos tuvo el modelo y en qué fracción de ellos hubo un bloque de razonamiento antes de la primera acción.
Herramientas / turno (media y mediana)
La densidad de acción por turno. Media y mediana juntas, porque un puñado de turnos enormes puede elevar la media sin afectar lo típico.
Leer antes de editar y probar después de editar
Heurísticas de disciplina: ¿leyó el archivo antes de editarlo? ¿ejecutó pruebas después de editar? Medidas por secuencia de herramientas.
💡 Números, no impresiones
La gracia está en cambiar «creí que Fable piensa más» por «Fable pensó antes en el 99% de los turnos». El número es lo que se puede defender, transferir y —en la ruta 3— convertir en una regla del playbook.
presencia 🧠
promedio + mediana
disciplina
disciplina
⚖️ Comparar 2 modelos
Con dos corpus medidos, el compare_models.py coloca los modelos
lado a lado e imprime la columna Δ — la distancia entre ambos ritmos.
Es el paso donde la diferencia que se convierte en playbook queda visible en una sola tabla.
# fable-5 vs opus-4-8 (default) python compare_models.py # explícito, gravando o resultado python compare_models.py --a claude-fable-5 --b claude-opus-4-8 --out compare.json
métrica claude-fable-5 claude-opus-4-8 Δ ──────────────────────────────────────────────────────────────── % turnos c/ raciocínio 99% 54% +45% ferramentas/turno (média) 6.57 7.86 -1.29 sessões 7 1114 turnos do assistente 69 ...
📄 O compare.json
Con --out compare.json, el resultado se convierte en un archivo estructurado, fácil de versionar y de alimentar al make_playbook.py en la ruta 3. La tabla de la terminal es para leerla; el JSON es para que la máquina siga el pipeline.
los dos modelos
tabla + Δ
compare.json
se convierte en playbook
🎯 El delta real medido
Aquí está el hallazgo que impulsa el curso. Fable-5 pensó antes en 99% de los turnos lógicos frente a 54% de Opus — un delta de +45 puntos, la señal sólida y transferible. En herramientas/turno: 6,57 vs 7,86 — Fable fue más económico.
⚠ Actualización: medido después con una muestra grande (4.892 pasos), el número honesto es ~85% (no 99%) y la brecha baja a +31 pts — y aparece una brecha oculta en prueba-después-de-editar (41% frente a 2%). Consulta la Ruta 4 · La prueba real.
✓ Lo que dice el número
- ✓Fable piensa antes de actuar casi siempre (99%).
- ✓+45 puntos es un delta grande y claro.
- ✓Fable usa menos herramientas por turno (6,57).
✗ Qué NO deducir
- ✗"Menos herramientas = peor" — puede ser densidad.
- ✗"Más herramientas = mejor" — puede ser thrashing.
- ✗Que la cantidad de herramientas, por sí sola, permite establecer un ranking.
💡 Honestidad
Más herramientas no es mejor por sí solo: puede ser densidad (lo resolvió con unas pocas acciones acertadas) o thrashing (probó varias cosas hasta acertar). El delta sólido y transferible aquí es el piensa-antes-de-agir — esta se convierte en regla ancla en la ruta 3.
99%
54%
+45 pts
6,57 vs 7,86
⚠️ Los límites
Un curso honesto también dice dónde NO pisar. La muestra de Fable es pequeña (7 sesiones / 69 turnos), lo que deja leer antes de editar y probar después ruidosos — no extraigas un delta robusto de ellos. Y el texto del razonamiento viene cifrado: se mide la presencia, nunca el contenido.
⚠️ El costo de la muestra pequeña
Con 7 sesiones de Fable frente a 1114 de Opus, cualquier métrica de baja frecuencia (pocas ediciones, pocas pruebas) varía mucho. El piensa-antes-de-agir persiste porque aparece en casi todos los turnos; read-before-edit e test-after-edit son una buena práctica medido mediante una heurística conservadora, no una diferencia defendible.
Muestra pequeña de Fable
7 sesiones hacen que las métricas raras sean inestables. Trata read/test como una señal débil, no como un delta.
Razonamiento cifrado
El texto del thinking no está en los logs. Tú mides la presencia (🧠), nunca el contenido del pensamiento.
Dónde Fable era débil
Pensar demasiado en tareas simples (piensa de más incluso para tareas sencillas) y verbosidad. La diferencia no es "Fable es mejor en todo".
💡 La regla de oro de la honestidad
Solo «pensar antes de actuar» es un delta firme. Afirma esto con confianza; trata el resto como contexto. Esa disciplina es la que hace defendible el playbook de la ruta 3 — inyectas lo que mediste, no lo que esperabas que fuera cierto.
7 sesiones
read/test
presencia, no texto
solo piensa antes
📊 Resumen del módulo
extract_corpus.py filtra por message.model — todo el historial; --list muestra los modelos.compare_models.py muestra la tabla + Δ — y el compare.json para el pipeline.Próxima ruta:
Ruta 3 — Del delta al playbook: convertir la cifra en una regla inyectable.