Habr AI→ original

Módulo NGT Memory muestra cómo dar memoria persistente a LLM sin base de datos vectorial

NGT Memory es un módulo de memoria open-source para LLM que almacena hechos sobre el usuario entre sesiones e los inyecta en las respuestas del modelo…

Procesado por IA desde Habr AI; editado por Hamidun News
Módulo NGT Memory muestra cómo dar memoria persistente a LLM sin base de datos vectorial
Fuente: Habr AI. Collage: Hamidun News.
◐ Escuchar artículo

El proyecto de código abierto NGT Memory ofrece una respuesta más práctica a un viejo problema de LLM: cómo no olvidar hechos importantes sobre un usuario entre sesiones. En lugar de expandir infinitamente el contexto, el módulo almacena hechos, construye un perfil e inyecta memoria en la respuesta del modelo.

Cómo Funciona la Memoria

El autor del proyecto parte de una idea simple: almacenar todo el historial de conversación en la ventana de contexto es conveniente solo hasta el primer límite de tokens. Después vienen truncamientos de mensajes antiguos, sumarización con pérdida de detalles, o conexión a una base de datos vectorial externa con sobrecarga adicional de infraestructura. NGT Memory propone otro camino: la memoria vive directamente en un proceso Python, se activa a través de API REST y Docker, y no requiere una base de datos separada al inicio. La idea es extraer no toda la conversación, sino solo los hechos que el modelo realmente necesita en la solicitud actual.

  • La similitud del coseno encuentra hechos semánticamente cercanos
  • El grafo asociativo vincula conceptos como "vegetariano" y "restaurantes"
  • La consolidación jerárquica promueve hechos frecuentemente usados a la memoria a largo plazo
  • El perfil estructurado coloca edad, ciudad, dieta y alergias en espacios separados

Además de la memoria textual, el módulo también construye un perfil de usuario. Si una persona escribe fragmentos, el sistema puede pegar partes como "tengo" + "30" + "años" en un hecho significativo y guardarlo con confianza reducida. Si más tarde surge un conflicto, por ejemplo la edad disminuye repentinamente, la actualización se bloquea hasta una corrección explícita como "me equivoqué". Por esto, la memoria se comporta no como un registro pasivo, sino como una capa de validación que intenta distinguir datos reales del usuario del ruido aleatorio.

Resultados de las Pruebas

La parte más interesante del artículo no es la arquitectura en sí, sino la verificación en escenarios prácticos. En un experimento con un asistente médico, asistente personal y soporte técnico, el modo con memoria elevó la precisión factual de 1,22 a 2,44 puntos de 3. En una prueba A/B más realista, la memoria ganó 17 de 18 calificaciones, y la calificación promedio de la respuesta fue 0,889 versus 0,056 sin memoria. Por separado, el autor ejecutó 54 comprobaciones en casos extremos y obtuvo 51 resultados exitosos, es decir, aproximadamente 94%.

"Una respuesta a basura también es basura".

Esta fórmula explica bien otra capa importante del sistema: un filtro de calidad. Los mensajes cortos sin sentido, números simples, caracteres especiales e incluso respuestas del asistente a tal basura no entran en la memoria. De lo contrario, los hechos útiles se hundirían rápidamente en el ruido. Tal filtro es especialmente importante para chatbots y sistemas de agentes, donde el usuario a menudo escribe en fragmentos, y el modelo tiende a generar frases educadas pero vacías que solo contaminan la salida en la próxima búsqueda en la memoria.

Limitaciones Principales

A pesar de los buenos resultados, NGT Memory aún no se puede llamar una memoria de producción universal lista sin advertencias. La versión actual almacena todo en la RAM de un único proceso, por lo que después de un reinicio del contenedor se pierde el estado. Cuando se ejecutan múltiples workers, surge otro problema: cada uno mantiene su propio almacenamiento de sesión, y una solicitud de guardado puede ir a un proceso mientras que una solicitud de recuperación va a otro.

En las pruebas, la memoria local funciona rápidamente — aproximadamente 2–3 ms en CPU, pero el retraso principal aún proviene de llamadas externas de embedding y chat, que toman cientos de milissegundos. El autor también describe por separado bugs más mundanos. Un system prompt demasiado suave llevó al modelo a ver la memoria pero ignorarla como un consejo opcional.

Después de endurecer la instrucción, las respuestas se volvieron más estables. Otro caso desagradable provino de una regex para extraer un nombre: un patrón como I'm + name comenzó a aceptar palabras como allergic como nombre. Tales detalles muestran bien que la memoria para LLM se enfrenta no solo a retrieval, sino también a una multitud de pequeñas reglas, sin las cuales la demostración se desmorona rápidamente en el diálogo real.

Qué Significa Esto

NGT Memory muestra un cambio útil en el enfoque de aplicaciones de LLM: la memoria no solo necesita ser "inteligente", necesita ser verificable, económica y resistente a la basura. Para desarrolladores de bots y agentes de IA, esta es una buena señal de que una capa de contexto de largo plazo ya se puede ensamblar como un módulo de ingeniería separado, en lugar de como un conjunto de workarounds desconectados.

ZK
Hamidun News
Noticias de AI sin ruido. Selección editorial diaria de más de 400 fuentes. Producto de Zhemal Khamidun, Head of AI en Alpina Digital.

¿Quieres dejar de leer sobre IA y empezar a usarla?

AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.

¿Qué te parece?
Cargando comentarios…