La proliferación de agentes de IA conversacionales a gran escala, como los asistentes de contratación de LinkedIn, introduce un problema fundamental en la computación distribuida: cómo gestionar y persistir el "estado" o "memoria" de las interacciones del usuario de manera eficiente, escalable y con baja latencia. A diferencia de los sistemas transaccionales tradicionales, la memoria agéntica no es solo un registro de eventos, sino una representación dinámica y sintetizada de preferencias y comportamientos que debe evolucionar con el usuario.

Este desafío se agrava por la necesidad de integrar múltiples fuentes de datos (conversaciones, actividades en otras superficies del producto), mantener la frescura de la información, resolver conflictos de preferencias y garantizar estrictos controles de acceso y gobernanza. La solución de LinkedIn aborda esto mediante una arquitectura de memoria en capas y un cambio estratégico de modelos de almacenamiento basados en grafos a estructuras jerárquicas, lo que permite optimizaciones significativas en las actualizaciones y la recuperación de información.

Arquitectura del Sistema

El sistema de memoria agéntica de LinkedIn se compone de cuatro capas principales: Conversacional, Episódica, Semántica y Procedural. La Memoria Conversacional almacena las interacciones más recientes y en tiempo real. La Memoria Episódica proporciona una capa de consulta temporal para actividades recientes, ofreciendo especificidad y trazabilidad. La Memoria Semántica agrega información de usuario a través de sesiones y diferentes productos, formando un perfil de preferencias consolidado. Finalmente, la Memoria Procedural captura el "cómo" el usuario interactúa y logra tareas, infiriendo patrones de comportamiento.

La ingesta de datos se realiza a través de un servicio que consolida las interacciones en tiempo real, identificando límites de sesión y subtemas para organizar la memoria. Un servicio de recuperación (retrieval service) y trabajos de consolidación offline se encargan de la deduplicación, unión con fuentes externas, aumento de información y eliminación de datos obsoletos o conflictivos. La decisión clave de diseño fue pasar de GraphRAG a una estructura de memoria jerárquica (tipo árbol) para la memoria a largo plazo, lo que permite actualizaciones incrementales eficientes. El sistema utiliza un "memory orchestration layer" que actúa como un planificador/sintetizador basado en LLM para razonar sobre la memoria recuperada y responder a consultas complejas. Este orquestador utiliza herramientas genéricas para acceder a las capas de memoria, con APIs fijas pero personalizables para cada aplicación.

Flujo de Ingesta y Consolidación de Memoria

  1. 1 Interacciones de Usuario Recruiter interactúa con agentes o superficies de producto de LinkedIn.
  2. 2 Stream de Eventos Generación de eventos de preferencias y actividades.
  3. 3 Servicio de Ingesta Consolida interacciones en tiempo real/casi real, identifica límites de sesió...
  4. 4 Compaction & Filtering Comprime datos, elimina ruido, preserva la señal, asigna proveniencia.
  5. 5 Almacenamiento Episódico Persiste información granular con trazabilidad temporal.
  6. 6 Trabajos Offline de Consolidación Deduplicación, unión con fuentes externas, aumento, eliminación de datos obso...
  7. 7 Almacenamiento Semántico/Procedural Agrega preferencias en estructura jerárquica (árbol) o infiere patrones.

Flujo de Recuperación y Orquestación de Memoria

  1. 1 Consulta del Agente de Aplicación Agente de contratación solicita información de memoria.
  2. 2 Memory Orchestration Layer Planificador/sintetizador basado en LLM. Identifica herramientas de memoria a...
  3. 3 Herramientas de Memoria APIs genéricas para acceder a capas de memoria (conversacional, episódica, se...
  4. 4 Recuperación Inteligente Extrae información relevante, prioriza frescura, resuelve conflictos según po...
  5. 5 Contexto para LLM Proporciona contexto relevante y compacto al LLM del agente de aplicación.
  6. 6 Síntesis de Respuesta LLM genera respuesta basada en contexto y memoria recuperada.
  7. 7 Respuesta al Usuario Agente de aplicación presenta información personalizada al recruiter.
CapaTecnologíaJustificación
storage GraphRAG (anterior) Almacenamiento y recuperación de memoria a largo plazo. Descartado por lentitud y coste de llamadas LLM para indexación.
storage Estructura de Árbol Jerárquica (actual) Almacenamiento de memoria a largo plazo (preferencias, inteligencia de dominio). Permite actualizaciones incrementales eficientes. vs GraphRAG Optimizado para actualizaciones incrementales de nodos hoja/rama.
compute LLM (Large Language Model) Componente central del "memory orchestration layer" para planificación, razonamiento y síntesis de respuestas. También para inferencia de memoria procedural. Uso selectivo de llamadas LLM para síntesis de respuesta; planificación paralela de un solo paso; VLLM serving engine con prefix caches y chunk prefills para optimización de inferencia; salida estructurada para limitar tokens.
data-processing Servicio de Ingesta Procesamiento en tiempo real/casi real de interacciones para consolidación y compresión de memoria.
data-processing Trabajos Offline de Consolidación Procesamiento batch para deduplicación, unión, aumento y purga de memoria a largo plazo. Políticas de purga basadas en antigüedad (ej. 6 meses a 1 año).
security Aislamiento de Datos Multi-tenant Garantizar que cada aplicación tenga su propio almacenamiento de datos aislado.
security Control de Acceso Basado en Roles/Usuario Asegurar que los usuarios solo accedan a la memoria a la que tienen derecho, etiquetando la memoria con propietarios.

Trade-offs

Ganancias
  • Eficiencia de actualización de memoria
  • Reducción de costes de LLM
  • Latencia de recuperación
  • Frescura de la memoria
Costes
  • Complejidad de diseño de almacenamiento (múltiples capas)

Fundamentos Teóricos

El problema de la gestión de memoria en sistemas distribuidos tiene raíces profundas en la investigación de bases de datos y sistemas de información. La necesidad de mantener la consistencia y la frescura de los datos en un entorno distribuido, mientras se optimiza la latencia y el throughput, se alinea con los principios de los sistemas transaccionales y los modelos de consistencia (ej. CAP theorem). La evolución de estructuras de datos para optimizar la recuperación y actualización, como el paso de GraphRAG a estructuras de árbol, refleja la búsqueda de eficiencias algorítmicas, similar a la optimización de B-trees sobre listas enlazadas para búsquedas en disco.

La idea de una memoria en capas, con diferentes granularidades y temporalidades, evoca conceptos de jerarquías de memoria en hardware (cache, RAM, disco) y sistemas operativos (paginación, memoria virtual), donde la información más accedida o reciente se mantiene en capas más rápidas. La gestión de conflictos y la priorización de información fresca sobre la antigua también se relaciona con algoritmos de cache invalidation y políticas de reemplazo (LRU, LFU). La trazabilidad y la atribución de preferencias se conectan con la proveniencia de datos y la auditoría en sistemas de información, un campo de estudio en bases de datos desde los años 80 y 90 (ej. "Data Provenance and Annotation Management" de Buneman et al.).