Saltar al contenido
Menú

Producto

Soluciones

Integraciones

Desarrolladores

Idioma

Producto

Cómo envejece la memoria

Un proyecto acumula páginas de sesión durante meses, y la mayoría deja de ser útil. ai-memory puntúa cada una, conserva las que sigues leyendo y puede reducir o fusionar el resto. La ruta por defecto no llama a ningún LLM, y toda función que reescribe una página viene desactivada hasta que la actives.

Qué envejece y qué se queda

Solo uno de los cuatro niveles de memoria decae. Las páginas fijadas están exentas en todos.

  • De trabajo

    Notas de la sesión en curso. Terminan con ella.

  • Episódica

    Una página por sesión. Este es el nivel que envejece: una página que nadie lee se enfría en unos meses.

  • Semántica

    Decisiones, conceptos y gotchas. No decaen.

  • Procedimental

    Reglas, procedimientos y runbooks. No decaen.

La ruta sin LLM

Un barrido programado puntúa cada página episódica sin fijar. La puntuación baja con la edad y sube cada vez que alguien lee la página.

Diagrama: leer una página refuerza su puntuación de retención. El barrido de olvido comprueba si una página está fría. Una página fría se desaloja por defecto o, si lo activas, se compacta o se fusiona con sus casi duplicados en una sola superviviente. Las páginas compactadas y fusionadas se pueden restaurar desde el historial de git.
Línea continua: lo que pasa por defecto. Líneas discontinuas: lo que puedes activar. Una página compactada o fusionada vuelve con restore-page. Una desalojada, no.

La puntuación de retención

  • Con los valores por defecto, una página pierde la mitad de su puntuación cada 35 días más o menos. Por debajo de 0,20 cuenta como fría.
  • Cada lectura suma a la puntuación, y el efecto de las lecturas antiguas también se desvanece.
  • Un feedback Stale o Wrong baja la página a la prominencia mínima.
  • La puntuación decide qué hace el barrido. Nunca cambia el ranking de búsqueda.
configuración del servidor
# Las tres son opcionales. Sin ellas, las páginas frías se desalojan con una sola curva compartida.
[decay]
compact_cold_episodic = true
dedup_cold_clusters = true

[decay.half_life_days]
working = 7
episodic = 365
  1. Siempre activo

    Leer mantiene viva una página

    Los resultados de búsqueda, abrir una página, llegar a ella por un enlace y memory_explore cuentan como lecturas. Las lecturas solo pueden subir la puntuación.

  2. Desactivado por defecto

    Una vida media por nivel

    [decay.half_life_days] define lo rápido que se desvanece cada nivel: por ejemplo, una vida corta para las notas de borrador y una larga para el historial de sesiones. Si lo omites, las puntuaciones quedan exactamente como estaban.

  3. Desactivado por defecto

    Compactar una página fría

    Con compact_cold_episodic, una página fría conserva su abstract, el resumen del primer párrafo y los tokens que vale la pena guardar (rutas de archivo, URL, fragmentos de código, códigos de error e identificadores) y descarta la prosa. Sin esa opción, la página se desaloja.

  4. Desactivado por defecto

    Fusionar casi duplicados

    Con dedup_cold_clusters, las páginas frías que dicen casi lo mismo se agrupan en clusters según sus embeddings. La de mayor puntuación sobrevive y absorbe los tokens conservados de las demás. Las demás quedan reemplazadas y apuntan a ella.

  5. Desactivado por defecto

    Saltarse las sesiones vacías

    Un filtro de entropía deja fuera de la pasada de experiencia las páginas de sesión casi vacías o muy repetitivas, antes de construir ningún prompt para el LLM.

  6. Se ejecuta con memory_lint

    Señalar contradicciones probables

    memory_lint reporta pares de páginas de conocimiento que tratan el mismo tema sin ser duplicados, e indica cuál es la más reciente. El informe es orientativo y no edita ninguna página.

  7. Siempre activo

    Una puntuación de confianza por página

    Cada página recibe una confianza entre 0 y 0,95 según cuántas sesiones distintas la respaldan, lo reciente que es la última y cuántas páginas la contradicen. La ves en la salida de explain. Solo afecta al ranking si subes belief_authority_weight por encima de 0.

La pasada de sueño

El dedup conserva los hechos de un cluster. La pasada de sueño le entrega ese mismo cluster a tu LLM, que lo reescribe como una sola página coherente. Se ejecuta mientras no estás y se detiene cuando vuelves.

Diagrama: una vez activada, la pasada de sueño espera cinco minutos de inactividad, toma clusters de páginas frías empezando por el más novedoso y hace que el LLM reescriba cada cluster en una sola página fusionada. Las páginas de origen quedan reemplazadas, cualquier actividad cancela la ejecución y todo queda en el historial de git.
El planificador evalúa una ejecución una vez por hora y necesita cinco minutos de calma para empezar. Procesa como máximo ocho clusters por ejecución.
  • Necesita tres cosas

    [dream] enabled = true, un proveedor de LLM y un embedder. Sin proveedor, el dedup sin LLM sigue funcionando como antes.

  • Espera a que te vayas

    Una ejecución empieza tras 300 segundos sin actividad de clientes. Cuando vuelves, se cancela en el siguiente cluster.

  • El cluster más novedoso va primero

    Primero se procesan los clusters más alejados de lo que la wiki ya dice. El orden y el disparador por inactividad siguen al Dreamer de Honcho.

  • Las fuentes quedan reemplazadas

    Se reescribe la página con mayor puntuación. Cada página fusionada pasa a ser un stub que apunta a ella, y el texto original queda en la cadena de versiones y en git.

  • Cada fusión nombra sus fuentes

    Las filas de evidencia registran qué páginas alimentaron cada fusión, así que un detalle inventado se puede rastrear. La salida es JSON validado contra un esquema, y cada ejecución deja un informe.

configuración del servidor
# También necesita un proveedor de LLM y un embedder.
[dream]
enabled = true
idle_window_secs = 300
max_clusters_per_run = 8

Qué se puede deshacer y qué no

La compactación, el dedup y la pasada de sueño reescriben a través de la wiki, así que cada cambio es una versión nueva y un commit de git.

  • Las reescrituras son reversibles

    ai-memory restore-page recupera la página completa desde el historial de git de la wiki.

  • Actualizar no cambia nada

    La compactación, el dedup y la pasada de sueño vienen desactivados por defecto. Una actualización no cambia ninguna puntuación ni desaloja nada, y el servidor archiva el directorio de datos antes de migrar.

  • Fija lo que debe quedarse

    El barrido nunca toca una página fijada. Las páginas semánticas y procedimentales no decaen.

Más formas de consultar

Cada una es un argumento opcional de una herramienta existente.

  • Respuestas con citas

    memory_query con answer: true devuelve una respuesta corta y las rutas de las páginas de las que salió. Necesita un proveedor de LLM y sigue el endpoint dialéctico de Honcho. Su calidad todavía no se ha evaluado, así que abre las páginas citadas.

  • Niveles de razonamiento

    Un argumento reasoning, de minimal a max, define el presupuesto de tokens para las respuestas y para memory_explore.

  • Primero las páginas fijadas

    pin_first pone hasta diez páginas fijadas por delante de los resultados de búsqueda, y el resumen de sesión ahora las lista.

  • Páginas relacionadas

    memory_read_page con include_related recorre enlaces y backlinks hasta tres pasos de distancia.

  • Versiones antiguas si las pides

    include_superseded añade a la búsqueda las versiones reemplazadas, cada una etiquetada.

  • Qué proyecto respondió

    memory_status indica el workspace y el proyecto que resolvió, y cómo llegó a ellos.

Lee el changelog completo

Preguntas y respuestas

¿ai-memory borra los recuerdos antiguos?

Solo envejecen las páginas episódicas de sesión. Por defecto, una página fría se desaloja y se elimina definitivamente a los 180 días. Puedes hacer que las páginas frías se compacten o se fusionen en su lugar, y ambas cosas se pueden restaurar. Las páginas fijadas, semánticas y procedimentales se conservan.

¿El envejecimiento de la memoria necesita un LLM?

No. La puntuación, las vidas medias por nivel, la compactación, el dedup, los avisos de contradicción y la puntuación de confianza no usan ningún LLM. El dedup y los avisos de contradicción leen embeddings, que produce el embedder local por defecto. Solo la pasada de sueño llama a un LLM, y viene desactivada por defecto.

¿Qué es la pasada de sueño?

Un trabajo en segundo plano, opt-in. Tras cinco minutos de inactividad toma clusters de páginas frías casi duplicadas y hace que tu LLM reescriba cada cluster en una sola página. Las fuentes quedan reemplazadas, y la ejecución se detiene cuando vuelves.

¿Una actualización cambia mi memoria existente?

No. La compactación, el dedup y la pasada de sueño vienen desactivados por defecto, así que una actualización no cambia ninguna puntuación ni desaloja nada. El servidor archiva el directorio de datos antes de migrar.

¿Estas funciones mejoran las puntuaciones de recuperación?

Nadie lo ha medido todavía. El proyecto las considera publicadas, opt-in y sin demostrar hasta que su harness de evaluación muestre una mejora.

Dale memoria a tus agentes hoy.

Gratis y de código abierto bajo la licencia MIT. No necesitas cuenta ni clave de API.