Limpiar la memoria de un agente IA: antes vs después
Lo esencial
- Limpiar la memoria de un agente IA, o sea, juntar las notas repetidas, quita duplicados. No detecta lo que ha dejado de ser verdad.
- Mi prueba: el sábado retiré o reescribí 784 notas en tres pasadas. El examen general pasó de 23 a 25 aciertos sobre 30, pero la pregunta de control solo subió del puesto 7 al 6.
- Un día después ya había 199 notas nuevas. Con los datos que cambian, lo que de verdad funciona es una nota que diga dónde mirar.
Limpiar la memoria de un agente IA se parece bastante a ordenar el armario un sábado por la tarde. Sacas bolsas, te sientes otra persona y el domingo abres el cajón y la camiseta que buscabas sigue sin aparecer.
Hace una semana conté aquí que la memoria de mi agente recordaba mal. Le hice una pregunta facilísima, cuál es el modelo principal del chat (el modelo es el cerebro de alquiler que redacta las respuestas), y la respuesta buena salió séptima, detrás de varias que fueron verdad algún día. Acabé prometiendo repetir el examen a la semana siguiente. Pues hoy toca. E iba confiado, como el alumno que se ha estudiado todo la víspera.
Qué hice el sábado: tres pasadas de limpieza
Un recordatorio rápido. La memoria persistente de un agente es un cuaderno en el que un programa aparte va apuntando lo que hablamos, para que al día siguiente no empiece de cero. La explico entera, capa a capa, en la guía de memoria en agentes de IA. Y el cuaderno engorda: el 18 de octubre tenía 2.794 notas y el sábado por la tarde ya iba por 3.370.
Mirando cómo funciona la herramienta por dentro encontré parte del porqué. Solo descarta una nota nueva si es idéntica, letra por letra, a otra que ya existe. Si digo lo mismo con otras palabras, se guarda dos veces, y no es un fallo: está hecha así.
Así que el sábado monté un limpiador. Busca notas que se parecen mucho entre sí, las agrupa y le pasa cada grupo a un modelo de IA que hace de juez. Si dicen lo mismo, el juez escribe una sola con el dato más reciente. Lo que retira lo guarda en un archivo aparte, y antes de empezar hace una copia completa del cuaderno, que luego me vino de perlas.
Esa tarde lo pasé tres veces seguidas. La primera retiró 149 notas, la segunda 255 y la tercera 380. En total 784 notas tocadas: unas fundidas con sus gemelas, otras eran planes ya caducados y otras se reescribieron en español. El cuaderno bajó de 3.370 a 3.067. Me fui a cenar con la sensación de haber bajado tres bolsas de ropa al contenedor.
Limpiar la memoria del agente: el examen, antes vs después
Quería una comparación limpia, así que repetí la pregunta palabra por palabra: «¿Cuál es el modelo principal del chat de Hermes?». Y como tenía la copia de antes de limpiar, pude pasarle el mismo examen al cuaderno de antes y al de ahora, sin depender de mi recuerdo de la semana pasada (que, visto el tema del artículo, tampoco sería muy de fiar).
| Antes de limpiar | Después | |
|---|---|---|
| Notas en el cuaderno | 3.370 | 3.067 |
| Examen general: 30 preguntas cuya respuesta conozco, mirando las 5 primeras notas | 23 aciertos | 25 aciertos |
| Pregunta de control: puesto de la primera nota correcta | 7 | 6 |
| Puesto de la segunda nota correcta | 13 | 12 |
El examen general mejoró: dos aciertos más de 30. Eso está bien y no lo voy a despreciar. Pero la pregunta de control, la que me hizo montar todo esto, subió un puesto. Uno solo. Saqué 784 notas para avanzar una casilla, como en la oca pero sin el «de oca a oca».
Lo peor llegó al mirar por qué había subido. La nota correcta no avanzó por méritos propios. Dos notas antiguas sobre un modelo que ya no uso se fundieron en una, y eso dejó un hueco. Donde había dos notas caducadas ahora hay una, mejor redactada. Por delante de la respuesta buena siguen el nombre del agente, el canal por el que hablo con él, dos notas del 10 de octubre con modelos retirados y una comprobación del 15 de octubre que mezcla el modelo viejo con el nuevo.
Por qué la limpieza no toca lo que ha caducado
Lo primero que pensé fue: «pero si le dije al juez que ganara el dato más reciente». Y es verdad, se lo dije. El problema no está en el juez, está en quién llega a juicio.
El limpiador solo agrupa notas que se parecen muchísimo. Mide el parecido en una escala de 0 a 1, donde 1 sería la misma frase, y solo propone un grupo a partir de 0,88. Una segunda pasada, más generosa, mira vecinas a partir de 0,80.
Medí cuánto se parece la nota correcta («el 13 de octubre cambié a DeepSeek Flash») a las notas viejas sobre otros modelos: entre 0,54 y 0,73. Son primas lejanas: mismo tema, otro modelo, otra fecha. El limpiador nunca las sienta en la misma mesa, así que el juez nunca tiene ocasión de decir «esta jubila a aquella».
Lo del armario otra vez. Juntar camisetas repetidas funciona de maravilla con las cinco negras idénticas, pero no te avisa de que el abrigo de hace tres inviernos ya no te cierra. Ese abrigo no tiene ninguna gemela con la que compararlo. Los creadores de Mem0, la herramienta de memoria que uso, lo explican bien en su análisis de la memoria caducada: un recuerdo caducado no era falso cuando se escribió, se volvió falso después y nada marcó ese momento.
Y hay un detalle que todavía no entiendo. Las dos notas correctas sí son gemelas, con 0,89 de parecido, por encima del corte, y siguen separadas. En la última pasada el limpiador se saltó 81 grupos. Puede que el de estas dos fuera uno de ellos o que el juez decidiera no fundirlas. No lo he averiguado, y prefiero decirlo antes que inventarme una explicación bonita.
Fregar con el grifo abierto
El otro número que me bajó los humos: esta tarde el cuaderno ya tiene 3.266 notas. Son 199 nuevas en poco más de un día. La limpieza quitó 303 de golpe y el agente ya ha recuperado dos tercios en un fin de semana.
El limpiador corre de madrugada y la idea es que vaya a la par con lo que entra. O sea, limpiar es fregar los platos: se hace todos los días.
Y una cosa más que aprendí de rebote: el examen es quisquilloso. Si le quito «de Hermes» a la pregunta, la primera nota correcta cae al puesto 12. La memoria no entiende lo que le preguntas, solo busca frases que suenen parecido. Cambias dos palabras y cambia el ranking. Por eso el examen se repite siempre con la misma frase exacta, o la comparación no vale nada.
Lo que aprendí: ordenar no es actualizar
Ordenar quita repetidos. Actualizar exige saber cómo está el mundo hoy, y eso el cuaderno no lo sabe. Lo sabe el fichero de configuración del agente, donde vive el modelo de verdad.
Lo que sí funcionó fue el apaño pequeño de la semana pasada. Corregí la nota fija que el agente lee al empezar cada conversación y le añadí «ante la duda, mira el fichero de configuración». Esa línea no ha caducado y no va a caducar. Una semana después, el arreglo de una línea gana al de 784 notas.
Lo siguiente que quiero probar va por ahí: que cuando cambie algo de la configuración, el propio cambio deje escrito «esto sustituye a lo anterior». Es una idea, todavía no está hecho. Me parece más sensato que esperar a que un limpiador adivine qué ha caducado comparando frases. Y el examen se queda cada semana, con las mediciones de hoy como punto de partida, al lado de las de la semana pasada.
Si te interesa lo que pasa dentro de la propia conversación, que es otra forma de olvidar, lo conté en qué es la ventana de contexto y por qué tu agente se lía. Y la guía de Anthropic sobre ingeniería de contexto insiste en algo que esta semana he aprendido a las malas: lo que le pones delante al modelo tiene que ser lo mínimo que de verdad sirve, no lo máximo que cabe.
Conclusión
Todos conocemos a alguien con la casa impecable y la agenda llena de teléfonos que ya no existen. Ordenar da paz, pero no da la razón. Esta semana mi agente ha ganado dos aciertos en el examen general y una casilla en la pregunta que me importaba, y yo he ganado algo más útil: dejar de confundir una memoria limpia con una memoria al día.
Una memoria limpia que recuerda mal sigue recordando mal, solo que con mejor letra. La que de verdad ayuda es la que, cuando algo puede haber cambiado, dice «no me fíes a mí, míralo aquí».