Un diseño propio de memoria relacional de la fundadora de Kuaapy: separar temas dentro de una conversación, reconectarlos entre conversaciones y recuperar un área de relaciones activadas.

Una conversación puede contener muchas conversaciones. Estamos hablando de memoria, pasamos por el Dreamer —el componente de consolidación de la memoria—, volvemos a la arquitectura de un runtime y, unas horas después, retomamos el Dreamer por otro camino. La división en sesiones registra cuándo entró cada mensaje. Por sí sola, no explica qué fragmentos desarrollan el mismo tema ni qué cambió entre ellos.
El problema aparece cuando el agente necesita continuar el trabajo. Recuperar un párrafo que contiene la palabra adecuada puede ayudar, pero todavía hay que reconstruir el contexto: de qué Dreamer se trataba, con qué finalidad se propuso, qué decisiones dependían de él y qué se corrigió después.
El diseño presentado aquí parte de esa dificultad. Su unidad de recuperación es un área de relaciones activadas. Una región del grafo reúne conceptos, fragmentos y vínculos que, en conjunto, sostienen una respuesta. La idea de pensar por áreas organiza la arquitectura; no significa que un mapa dibujado en una pantalla reproduzca el cerebro humano.
Este artículo documenta el mecanismo concebido en la investigación de Kuaapy, con aclaraciones de su autora y referencias para situarlo. Los documentos incluyen propuestas, formalizaciones y ejemplos de código. Ayudan a explicar el diseño, pero no equivalen a una validación independiente de todo el sistema.
El camino de la memoria a la respuesta
La capa de memoria trabaja fuera del modelo principal. Cuando se activa, recupera un área pertinente para la pregunta y prepara el contenido que se presentará al modelo. Ese contenido entra siempre antes del mensaje del usuario, antes de que el Transformer procese la entrada para responder.
La posición es fija; la frecuencia de activación es configurable. Una capa separada de interceptación recibe el mensaje y puede activar la memoria según la política adoptada. No es necesario realizar una nueva recuperación en cada mensaje. La interceptación pertenece a la arquitectura que rodea a la memoria y no se detalla en este artículo.
Mensagem recebida
↓
Camada de interceptação → acionamento conforme a política configurada
↓ quando a memória é acionada
Seleção de uma área → reconstrução do contexto de memória
↓
Entrada do modelo: [contexto de memória] [mensagem do usuário]
↓
Processamento pelo Transformer → respostaPara entender el conjunto, conviene separar tres operaciones: formar relaciones a partir de las conversaciones, recuperar un área para la respuesta y consolidar la memoria durante el sueño. Cada operación tiene su función y su momento.
Una conversación, varios contextos
La formación de la memoria comienza por separar los temas. En la distribución descrita por la autora, Ministral trabaja en el idioma de la conversación: una conversación en portugués puede segmentarse en contextos en portugués. El recorte debe preservar la cuestión desarrollada y reconocer cuándo una frase depende de un fragmento anterior.
Pensemos en una sesión que mezcla consolidación de memoria, entrenamiento de modelos y publicación de un artículo. El Dreamer puede aparecer en el primer tema como componente de la arquitectura y en el tercero como tema de una explicación. Esos fragmentos están vinculados, aunque tengan funciones diferentes dentro de la conversación.
Un fragmento puede participar en más de un contexto. Una decisión sobre entrenamiento puede alterar la viabilidad del componente de consolidación; separar los temas no debe borrar esa dependencia.
El diseño adopta el inglés como idioma canónico de la representación textual guardada en la memoria. La intención es traducir y normalizar el contenido antes de la etapa de reconocimiento y vinculación de entidades, preservando su significado. Esta elección interna no exige que la persona converse en inglés.
Los componentes indicados por la autora son:
• Ministral 3 3B Instruct: separación de la conversación en contextos o temas. El checkpoint es mistralai/Ministral-3-3B-Instruct-2512 [1], elegido a partir de pruebas locales relatadas por la autora.
• BERT-NER: reconocimiento de entidades nombradas con dslim/bert-large-NER [2]. Este checkpoint se ajustó sobre CoNLL-2003 en inglés y reconoce personas, organizaciones, lugares y una categoría de otras entidades.
• BERT multilingüe (mBERT): representaciones contextuales para procesar las menciones, con google-bert/bert-base-multilingual-uncased [3]. La variante indicada es bidireccional, se preentrenó en 102 idiomas y no distingue entre mayúsculas y minúsculas.
En la explicación de la autora, la etapa con mBERT también participa en la normalización al inglés y en la reconstrucción de texto coherente. El mecanismo de traducción y de salida asociado a este componente todavía debe explicitarse en esta documentación: el checkpoint base proporciona representaciones y predicción de tokens enmascarados, no una interfaz lista para traducir o generar conversaciones de forma autorregresiva. Aquí se distinguen la función pretendida en el pipeline y la capacidad documentada del modelo base. BERT [4], documentación original de BERT multilingüe [5].
Reconocer una mención y decidir a qué entidad pertenece son operaciones diferentes. «Dreamer» puede nombrar este componente, otro proyecto o una metáfora. La vinculación entre contextos debe considerar los fragmentos y los candidatos, además de la etiqueta. El NER en inglés no se vuelve multilingüe automáticamente por trabajar junto a mBERT, y su lista de categorías no garantiza que cubra todos los conceptos técnicos.
El trabajo pesado está en los vínculos
El grafo no debe guardar únicamente que dos palabras aparecieron cerca una de otra. Necesita representar relaciones que mantengan el significado del material: un componente ejecuta una función, una decisión depende de una restricción, una corrección modifica una propuesta anterior.
Un ejemplo didáctico, que no representa una ejecución medida:
Trecho da conversa A ──descreve──────────> Dreamer
Trecho da conversa B ──corrige função───> Dreamer
Dreamer ───────────────atua sobre───────> Consolidação
Consolidação ─────────preserva─────────> Histórico de relações
Correção ─────────────limita───────────> Proposta anteriorEl área relevante para una pregunta sobre la función del Dreamer puede atravesar ambos fragmentos y sus relaciones. Seleccionar únicamente el nombre del componente dejaría fuera la corrección. Seleccionar solo la frase más reciente podría perder aquello que estaba corrigiendo.
Las flechas del ejemplo representan el sentido de las relaciones. Eso no determina, por sí solo, la dirección de la recuperación: los fragmentos apuntan a Dreamer, pero una consulta iniciada en Dreamer necesita poder llegar a los fragmentos. La regla de recorrido debe explicitar cómo las entradas, salidas o relaciones inversas participan en ese acceso. Esta decisión todavía no está cerrada en la documentación presentada.
También es necesario distinguir relevancia de verdad. Una afirmación contradictoria puede recuperarse precisamente porque explica una divergencia; estar en el área activada no significa que el sistema deba adoptarla como correcta.
Esta es una de las razones por las que reconstruir los vínculos es una parte exigente del diseño. Con cada entrada, el sistema necesita distinguir conocimiento nuevo, reafirmación, cambio y conflicto. Una transacción estructuralmente válida puede guardar una relación semánticamente incorrecta.
Los materiales suministrados describen un flujo de extracción de sujeto, predicado y objeto, validación de esquema y persistencia en SQLite. Esta separación es útil: la salida del modelo debe cumplir un contrato antes de guardarse. Sin embargo, validar tipos y campos no demuestra que el predicado se haya interpretado correctamente. La fidelidad al fragmento de origen sigue siendo una comprobación propia.
Para poder examinar esa fidelidad, un vínculo debe ir acompañado de su origen: qué fragmento lo sustenta, en qué contexto y bajo qué versión de la interpretación. La procedencia permite volver de la abstracción al material que le dio significado.
Pensar por áreas
Los embeddings pueden ayudar a identificar candidatos, y los arrays numéricos pueden representar la activación. Sin embargo, la unidad de recuperación propuesta es una región de relaciones: su organización debe seguir siendo visible en el cálculo.
El mecanismo descrito por la autora trabaja con áreas del grafo: conjuntos relacionados de nodos y aristas que reciben activación a partir de los focos de la pregunta. El interés está en la organización y convergencia de esa activación dentro de la región.
Imaginemos una pregunta con tres focos: Dreamer, preservación del historial y corrección de relaciones. Una región puede recibir señales de los tres porque contiene la discusión sobre consolidación. Otra puede recibir mucha activación de un único término genérico, presente en gran parte de los documentos. El objetivo es distinguir la región que articula la cuestión de aquella que simplemente tiene muchas conexiones.
Un área no tiene por qué ser un círculo en un mapa de embeddings. La visualización puede ayudar a inspeccionar la topología, pero la distancia entre puntos de la pantalla no define, por sí sola, la relevancia. Importan los caminos, los tipos de relación, las fuentes y la contribución de los distintos focos de la consulta.
También es necesario distinguir el área elegida de su representante. Un centro de convergencia puede servir como referencia para la región; la respuesta sigue dependiendo de las relaciones que lo rodean. Reducirlo todo al nodo con el pico más alto descartaría parte de la estructura que el mecanismo intenta preservar.
Del pulso a la región recuperada
En la propuesta, los términos de la consulta se vinculan con puntos de entrada del grafo. Esos puntos reciben un pulso de activación que atraviesa las conexiones existentes. La regla local más sencilla presentada en los documentos es:
ΔAᵤ→ᵥ = Aᵤ wᵤᵥ γEsta notación identifica la contribución transmitida por la arista de u a v: Aᵤ es la activación de origen, wᵤᵥ el peso de la conexión y γ el factor de decaimiento. Las contribuciones que llegan por caminos diferentes se suman. La activación es un estado transitorio de la consulta, distinto de los pesos persistentes de las relaciones.
La expresión describe un paso por la arista, sin atribuir todo el estado del destino a un único origen. El operador completo todavía debe definir la actualización entre pasos, el tratamiento de revisitas y ciclos, la normalización, el límite de expansión y el criterio de parada.
Una cosa es medir cuánto se ha activado un nodo a lo largo del tiempo; otra es evaluar un conjunto de relaciones. El pico instantáneo, la acumulación temporal en un vértice y la medida regional son objetos diferentes. Una formalización histórica explora la acumulación temporal de la intensidad combinada de ondas en un vértice:
C(v) = ∫₀ᵀ |Σᵢ αᵢ ωᵢ(v,t)|² dtEn esta expresión, las ondas ωᵢ se ponderan mediante αᵢ, y el resultado depende de la ventana T. Mide intensidad acumulada en el tiempo en un vértice; por sí sola, no define la medida de una región.
También hay una diferencia entre activación fuerte y convergencia de focos distintos. Como ejemplo algebraico, tres unidades procedentes de un único foco y una unidad de cada uno de tres focos producen el mismo total. Una puntuación que observe solo esa suma no distingue ambos casos. Si el total es igual en todos los puntos e instantes observados, integrar ese total tampoco recupera el origen de las contribuciones.
La suma establece el campo de activación. Distinguir la concentración causada por un único foco de la convergencia entre focos requiere un criterio adicional, todavía no explicitado en esta documentación. Conservar información sobre el origen de las contribuciones es una posibilidad que investigar, no una regla de implementación definida aquí.
Para llegar al área, es necesario declarar qué nodos y aristas componen la región candidata, cómo se agregan sus contribuciones y qué penalizaciones o normalizaciones se aplican. Una suma bruta favorece regiones grandes; un pico puede favorecer un hub. Descontar conexiones genéricas también exige cuidado para no penalizar conceptos que son centrales por razones legítimas.
El diseño busca seleccionar una región en la que se encuentren caminos pertinentes con poco ruido. La fórmula de selección debe hacer verificable ese objetivo. La imagen del mapa de calor ayuda a comprender la intención; el contrato matemático establece exactamente qué se está calculando.
Decaimiento, ondas y estabilidad
El vocabulario de energía describe la dinámica de activación. No exige tratar los nodos como cuerpos físicos reales.
La autora también propone una intuición de repulsión, descrita como gravedad invertida, para discutir concentración y dispersión. Esta intuición debe distinguirse de una ecuación ya cerrada: desplazar posiciones en una visualización, redistribuir activación y modificar pesos de relaciones son operaciones diferentes.
Incluso en la propagación lineal sencilla, multiplicar cada paso por un número menor que uno no garantiza, por sí solo, que el conjunto decaiga. Muchos caminos pueden sumar contribuciones, y los ciclos pueden realimentarlas. La estabilidad depende del operador completo, de sus pesos y de las reglas de actualización.
Los documentos también exploran una formulación de onda. En esa variante importa la convención del laplaciano: para el laplaciano semidefinido positivo L=D-W de un grafo no dirigido con pesos no negativos, donde D reúne las sumas de los pesos incidentes, la forma habitual de onda en vértices usa ψ̈ = −c²Lψ. El amortiguamiento y la estabilidad numérica requieren definiciones adicionales; no se derivan únicamente de la analogía. Friedman y Tillich, ecuaciones de onda en grafos [6].
El texto inicial relata un ensayo de estabilización con diez mil nodos. Se conserva como relato de la autora; esta revisión documental no reprodujo el ensayo ni recibió su protocolo completo. Para convertirlo en un resultado comparable, sería necesario identificar topología, parámetros, condiciones iniciales, criterio de convergencia y comportamiento en repeticiones.
Aplanar el grafo para calcular
El grafo persistente y su representación de trabajo tienen funciones diferentes. Los documentos proponen SQLite para almacenar nodos y relaciones. Una estructura lineal en memoria puede servir al cálculo de propagación.
La expresión «punteros infinitos», presente en los documentos de origen, comunica la intención de no imponer un número pequeño y fijo de vínculos por nodo. En una ejecución materializada existe un número finito de aristas. Los ciclos permiten recorridos repetidos, pero no vuelven infinito el conjunto de conexiones almacenadas.
El aplanamiento sustituye referencias dispersas por identificadores y posiciones en arrays. En formato CSR, también llamado CRS, las conexiones se agrupan por fila; los índices delimitan los intervalos y apuntan a los destinos. El almacenamiento resulta proporcional a los vértices y a las entradas efectivamente representadas, en lugar de reservar una matriz densa para todos los pares. Esto favorece ciertas operaciones dispersas, sin convertir cualquier recorrido en una operación de tiempo constante. Netlib, Compressed Row Storage [7].
Esta transformación debe preservar la semántica de las aristas. Si dos referencias vinculan los mismos nodos, pero tienen fuentes o tipos diferentes, sumarlas en una única celda pierde información. Una matriz numérica puede apoyar el cálculo mientras los identificadores y metadatos mantienen las relaciones distinguibles. La forma canónica de una matriz CSR no preserva automáticamente aristas paralelas independientes. Documentación de CSR en SciPy [8].
También existe un problema de actualización. Los documentos exploran una base CSR y un delta de relaciones nuevas, con reconstrucciones periódicas. Las consultas necesitan saber qué versión están leyendo. Cambiar un puntero a la estructura nueva no basta si otra consulta todavía depende del bloque anterior, y la memoria de trabajo debe seguir siendo coherente con el almacenamiento persistente.
Estas cuestiones forman parte de la implementación del grafo. No determinan el significado de pensar por áreas, pero sí determinan si la máquina ejecuta el cálculo previsto con seguridad y fidelidad.
Consolidar sin borrar el cambio
Recuperar atiende a una pregunta. Consolidar modifica la organización de la memoria para preguntas futuras.
En el diseño, el Dreamer es la función de consolidación: examinar el material acumulado, identificar refuerzos, crear relaciones y registrar cambios o conflictos. La elección de Ministral para separar contextos no establece, por sí sola, que sea también el modelo que desempeña esa función.
Una afirmación nueva puede confirmar la anterior, sustituir una decisión o contradecirla sin que exista una resolución. Son situaciones que merecen registros diferentes. El objetivo es preservar la posibilidad de reconstruir cómo cambió el conocimiento, sin convertir toda divergencia en una verdad única elegida por el consolidador.
La memoria se versiona mediante snapshots. En cada ciclo de sueño, el procesamiento del material acumulado produce un snapshot nuevo del estado de la memoria. El snapshot anterior sigue disponible: si la consolidación nueva introduce vínculos incorrectos u otro error, el sistema puede hacer rollback a una versión anterior.
El Dreamer realiza el trabajo semántico de consolidación; el snapshot registra el estado resultante de ese ciclo. Así, una decisión de reorganización puede examinarse y revertirse. En vez de sobrescribir la única copia de la memoria, el diseño mantiene estados a los que es posible regresar.
Snapshot anterior → ciclo de sono e consolidação → novo snapshot
Snapshot anterior ←──────── rollback ──────────── novo snapshot com erroLa secuencia de snapshots proporciona un orden de versiones. No informa automáticamente de la fecha de un acontecimiento ni del periodo de validez de una afirmación; esos datos temporales deben representarse cuando la pregunta dependa de ellos. En la implementación, el rollback también necesita mantener la coherencia entre el estado persistido, las relaciones y la representación de trabajo en caché.
En el diseño, el Dreamer se describe como un componente especializado mediante fine-tuning. Esta descripción es distinta de la elección de Ministral para separar contextos y no establece que sean el mismo modelo. La fiabilidad debe examinarse en la tarea: preservar identidad, distinguir conflicto de evolución, mantener fuentes y permitir deshacer una mutación incorrecta. La especialización no garantiza que todas las decisiones de escritura sean correctas.
Reconstruir texto sin inventar relaciones
Después de seleccionar el área, el sistema necesita transformar nodos, aristas y fuentes en contexto utilizable por el agente. Esta reconstrucción posterior a la recuperación es una operación diferente de la traducción y normalización lingüística realizadas durante la formación de la memoria. Produce el contenido que, cuando se inyecta, precede al mensaje del usuario en la entrada del modelo.
El riesgo consiste en producir una narración más definida que el grafo. «Se relaciona con» no autoriza a escribir «causa»; dos afirmaciones contradictorias no autorizan a elegir una de ellas en silencio; una corrección sin fecha no debe adquirir una cronología inventada.
La reconstrucción debe mantener la distinción entre contenido recuperado e inferencia añadida. Las referencias a los fragmentos permiten inspeccionar el camino. Preservar el grafo es necesario, pero el grafo también debe guardar referencias suficientes para permitir ese regreso al origen.
Los documentos históricos exploran distribuciones diferentes de modelos para extracción, arbitraje y síntesis. Aquí se separan las funciones sin atribuir un generador ni una distribución de hardware que no se hayan confirmado para el diseño actual.
Memoria externa y coste de contexto
La memoria externa permite recuperar un área relevante sin exigir que se vuelva a presentar toda la conversación al modelo. El contenido seleccionado ocupa parte de la ventana de contexto; su cantidad y sus criterios de selección necesitan ajustes matemáticos y también dependen del entrenamiento del componente de consolidación.
Esto permite establecer un presupuesto para el contexto recuperado. No demuestra un coste total fijo: localizar la región depende de la topología visitada; actualizar el grafo exige trabajo; reconstruir y procesar el contexto también tiene un coste.
Tampoco elimina la ventana de contexto del modelo. En la inferencia autorregresiva habitual de Transformers con caché, el texto presentado sigue produciendo claves y valores durante la generación. La distinción está entre usar ese estado temporal y depender de mantener un KV cache de todo el historial entre sesiones. El mecanismo de atención sigue operando sobre la entrada suministrada. Attention Is All You Need [9], funcionamiento del KV cache [10].
Una conversación extensa puede admitir una región pequeña para una pregunta específica. Eso no significa que unas decenas de nodos preserven, sin pérdidas, cualquier detalle de un millón de tokens. Hay preguntas que requieren más fuentes, y puede haberse perdido información durante la propia extracción.
Trabajos relacionados y diferencias de mecanismo
Existe investigación pública sobre recuperación mediante relaciones y evolución de la memoria. Ayuda a situar preguntas comparables sin establecer equivalencia entre arquitecturas.
HippoRAG combina un grafo de conocimiento, modelos de lenguaje y Personalized PageRank. Es una referencia para recuperación asociativa y preguntas que exigen varios saltos. Sin embargo, PPR tiene una dinámica propia; no define automáticamente la integral por área ni la consolidación descritas aquí. HippoRAG [11].
GraphRAG explora entidades y resúmenes de comunidades para responder preguntas sobre colecciones de documentos. La organización en comunidades es un punto de comparación para regiones relacionadas, pero no constituye, por sí sola, el mecanismo de pulso ni el historial de mutaciones de este diseño. GraphRAG [12].
Zep/Graphiti trata la integración de información y las relaciones históricas en un grafo temporal. A-MEM explora notas conectadas y la actualización de representaciones de memorias anteriores. Son referencias para temporalidad y evolución, con contratos diferentes de los que deben especificarse en la propuesta de Kuaapy. Zep [13], A-MEM [14].
La contribución que este artículo pretende hacer examinable es la combinación de la autora: contextos que atraviesan sesiones, vinculación de menciones, recuperación de áreas mediante activación, representación aplanada y consolidación con preservación histórica. La existencia de parentescos no decide si esa combinación funciona mejor; esa es una cuestión experimental.
Cómo evaluar el conjunto
Una prueba adecuada debe observar el camino completo: conversación, separación de contextos, normalización lingüística, extracción, vinculación, mutación, recuperación y reconstrucción. Una respuesta final correcta puede ocultar una relación incorrecta, del mismo modo que un grafo bien formado puede producir una respuesta deficiente.
LongMemEval ofrece tareas de extracción, razonamiento entre sesiones, temporalidad, actualización de conocimiento y abstención. Es una referencia útil para parte de la evaluación de memoria conversacional. LongMemEval [15].
Para este diseño, proponemos examinar también:
• Separación de contextos: temas mezclados, dependencias entre fragmentos y participación de un fragmento en más de un tema.
• Identidad y vínculos: homónimos, alias, menciones en idiomas diferentes y relaciones sustentadas por la fuente.
• Recuperación por áreas: cobertura de los caminos necesarios, contribución de focos distintos, dirección de recorrido, ruido de hubs y preservación de las fuentes.
• Historia: reconstrucción de versiones anteriores, conflicto preservado y distinción entre corrección y sustitución.
• Reconstrucción textual: afirmaciones apoyadas por el subgrafo y capacidad de indicar insuficiencia de información.
• Coste: tiempo de cada etapa, nodos y aristas visitados, memoria, tokens de contexto y comportamiento bajo concurrencia.
Las comparaciones deben usar preguntas e historias equivalentes, separar calibración de evaluación e incluir alternativas sencillas, como recuperación léxica, vectorial e híbrida. Donde exista variabilidad, importan las repeticiones y la dispersión. Estos ensayos son una propuesta de evaluación, no resultados presentados en este artículo.
El valor pretendido está en la continuidad: retomar un tema junto con las relaciones que lo explican y los cambios que ha experimentado. El agente no necesita releerlo todo para cada pregunta. Necesita poder encontrar el área pertinente, preservar su significado y reconocer cuándo esa área todavía no contiene una respuesta suficiente.
Fuentes y lecturas
- [1] mistralai/Ministral-3-3B-Instruct-2512
- [2] dslim/bert-large-NER
- [3] google-bert/bert-base-multilingual-uncased
- [4] BERT
- [5] documentación original de BERT multilingüe
- [6] Friedman y Tillich, ecuaciones de onda en grafos
- [7] Netlib, Compressed Row Storage
- [8] Documentación de CSR en SciPy
- [9] Attention Is All You Need
- [10] funcionamiento del KV cache
- [11] HippoRAG
- [12] GraphRAG
- [13] Zep
- [14] A-MEM
- [15] LongMemEval