72,9 % — y las tres preguntas que fallamos
Hay dos formas de correr LongMemEval. Está la variante cómoda, donde el pajar alrededor de la respuesta correcta es poco profundo. Y está el full-haystack: unas 480 sesiones distractoras por pregunta, alrededor de 2 330 fragmentos de texto entre los cuales un solo dato importa.
Adivina cuál es la que aparece en las comunicaciones.
Nosotros corrimos la otra. El resultado es 72,9 %, y lo publicamos como un suelo, no como un techo.
La cifra, y lo que cubre
| Medición | Antes | Después | Δ |
|---|---|---|---|
| Full-haystack, 48 preguntas, todos los motores | 64,6 % | 72,9 % | +8,3 |
| Multi-sesión (la categoría más dura) | 1/8 | 5/8 | +4 |
Ruta real executeQuery, 61 preguntas | 78,7 % | 83,6 % | +4,9 |
| Temporal, A/B en línea, reproducido dos veces | 7/10 | 10/10 | +3 |
Por qué «suelo»: las categorías conocimiento-de-usuario y sesión-simple nunca se volvieron a correr con el motor de consolidación completo. Por falta de tiempo de cómputo, no de ganas. La campaña completa costó unas veinte horas de cómputo en dos días; volver a correr esas dos categorías costaría otro tanto. La cifra honesta es, por tanto, la que subestima.
Para situar sin comparar productos: el paper de referencia mide GPT-4o con el contexto completo en torno al 60 % — en la variante más fácil.
El protocolo, porque la cifra no vale nada sin él
Tres reglas, sostenidas durante toda la campaña.
Los escritores están ciegos. Cada instrucción de consolidación dice «consolida este tema». Nunca «responde a esta pregunta». Las preguntas del benchmark jamás se ven en el momento en que se escribe la memoria. Esa es la diferencia entre medir una memoria y medir su capacidad de hacer trampa.
Un acierto solo cuenta si se reproduce. Cada acierto se repitió dos veces antes de contarlo. En una corrida con seis éxitos brutos, dos resultaron ser ruido del juez. Se retiraron. Así se pasa de un 6/8 exhibible a un 5/8 real.
Una sola configuración para todas. Sin elegir preguntas a posteriori, sin ajustes por categoría. La configuración que da 72,9 % es la misma en las 48 preguntas.
Lo que funcionó, y por qué
La ganancia viene de un solo sitio: el momento de la escritura.
Con la máquina en reposo, el motor relee su propia memoria tema por tema y escribe un registro — cada aparición, cada valor, cada fecha, el total acumulado. Ese registro se coloca al lado del texto bruto, nunca en su lugar.
Dos detalles demuestran que ahí es donde se juega:
La misma corrida con un modelo más débil como escritor pierde el acierto. El lector no cambió. No era, por tanto, la lectura la que aportaba la ganancia.
Y un tope de 40 temas en los registros lo mataba todo: conservaba los temas distractores grandes y tiraba el fragmento que contenía la respuesta — ocho líneas perdidas en el ruido. Ningún filtro del lado de la respuesta podía recuperar eso. El dato ya no estaba.
Lo que refutamos
Estas mediciones no suelen aparecer en las comunicaciones. Deberían.
- Registros de relaciones — plausible, probado, peor.
- Pasada maestra — plausible, probada, peor.
- Preclasificación k-means antes de consolidar — temas borrosos, ningún fallo recuperado.
- Barrido de reserva — ruido, no ganancia.
- Los números primos — medidos seis veces. Ninguna señal de memoria. Enterrados.
De ahí sale una regularidad, y vale más que los puntos ganados: las dos palancas reales de la campaña salieron de un dato faltante rastreado hasta su posición exacta dentro de su fragmento. Las dos palancas refutadas salieron de un razonamiento plausible sin rastro. Desde entonces no construimos nada sin rastrear primero.
Las tres que fallamos
Aquí está la parte que nadie escribe.
Dos son estructurales del benchmark. LongMemEval amontona a varios usuarios en una sola memoria. El proyecto de un desconocido se vuelve indistinguible del tuyo en el texto servido — lo verificamos: la pasada de verificación los conserva, porque están en las fuentes. Ningún filtro del lado de la respuesta puede decidir.
Pero Mnemosyne es soberano y de un solo humano. En una bóveda real solo hay una persona. Ese modo de fallo no existe. No perseguimos esos dos puntos: ganarlos significaría optimizar para un artefacto del benchmark.
La tercera es nuestra deuda. Un desequilibrio entre lo que escribimos y lo que releemos: un tope de corpus trunca un tema demasiado denso. Es un límite real de ingeniería. Tiene ticket. Se corregirá. No lo disfrazamos de decisión de diseño.
Lo que no pretendemos
El mismo documento que contiene estas cifras contiene también la lista de lo que no está probado, y la mantenemos al día:
Los puentes oníricos se crean, pero nadie ha medido si son relevantes o ruido. Así que no los vendemos.
La calidad de la clasificación por temas no está medida. La memoria se organiza; no pretendemos que se organice bien.
Y 359 pruebas unitarias en verde demuestran que unas funciones funcionan. No que valgan algo. Verde en unitarias no es valor probado.
El atajo comercial sería decir «llegaremos al 100 %, el resto es by design». Es falso en un tercio, y ese tercio es trabajo nuestro por hacer.
Lo que sí podemos decir cabe en una línea: 72,9 % en el terreno más duro, publicado como un suelo, con el protocolo y los fracasos al lado.