CONTEXTO · AGENTES · OPEN SOURCE
rlm-agent: lo que ocurre cuando el contexto vive fuera del prompt
Una revisión funcional del kernel persistente y del context lake: qué funciona, dónde puede perderse información y qué falta comprobar en los editores reales.
Comparte esta lectura
Una pregunta útil, antes de cualquier promesa.
¿Puede un agente consultar un repositorio sin cargarlo entero en su contexto? rlm-agent, de Nicolás Ramos, explora esa dirección con un kernel Python persistente y un almacén de contexto consultable desde código. Nos interesó estudiar sus mecanismos concretos, no dar por verificadas las cifras de ahorro que motivan la conversación.
Qué revisamos — y en qué condiciones
El informe del 11 de septiembre de 2026 documenta pruebas sobre el commit 5178d62. Se ejercitaron el protocolo del kernel, la persistencia y las operaciones del context lake, además de clases de los adaptadores. El laboratorio era externo y separado de DARXI: macOS arm64, Python 3.13.15 y Bun 1.4.0; Node.js 24.20.0 se usó solo en el arnés de Pi.
No hubo llamadas a LLM ni pruebas dentro de OpenCode, Pi o Hermes. Los adaptadores se cargaron con sustitutos mínimos de las interfaces del editor. El bloqueo de red aplicado a Python y Node no restringió Bun; ninguna prueba necesitaba red.
Lo que sí funcionó
- El kernel arrancó, conservó estado entre solicitudes y devolvió errores de forma explícita.
- Las operaciones básicas de almacenamiento y recuperación conservaron el contenido probado en kernel, Hermes y Pi, incluido Unicode multilínea.
- La suite del propio proyecto pasó 25/25 comprobaciones. Ese resultado no cubre todos los escenarios de integración.
Tres hallazgos que merecen atención
Escrituras concurrentes y borrado
En tres reproducciones, forget perdió 24, 27 y 35 de 200 entradas añadidas por otros procesos. Los controles sin forget perdieron 0, 0 y 0.
La prueba muestra el mecanismo; no estima su frecuencia en sesiones reales.
Una caché que no ve la otra escritura
La clase ContextLake de Hermes conservó una vista desactualizada. Un forget posterior eliminó una entrada que otro proceso había escrito.
Observado a nivel de clase; falta verificar el ciclo de vida de las instancias dentro de Hermes.
Guardar no significó acumular
Con Bun 1.4.0, la llamada Bun.write usada por el adaptador OpenCode dejó solo la última entrada del lake en las reproducciones.
No demuestra el impacto en OpenCode real: depende del runtime que ejecute. No se probaron otras versiones.
LECTURA EDITORIAL
Qué nos deja este análisis
Sacar información del prompt cambia la manera de acceder al contexto, pero también hace importantes la persistencia, la concurrencia y los límites entre procesos. Nuestra lectura editorial: antes de evaluar el ahorro, hay que saber qué información puede recuperarse y bajo qué condiciones. No es una recomendación de adopción ni una validación del producto DARXI.
Lo que este trabajo no demuestra
- No reproduce el ahorro de tokens ni las cifras de latencia anunciadas. No es un benchmark.
- No valida seguridad, snapshot/restore, recursión, instaladores o integración completa con los editores.
- Un único revisor diseñó las pruebas y redactó el informe. Dos caminos de código no equivalen a dos revisores independientes.
- Los resultados describen el commit y el entorno de la prueba, no el estado actual del repositorio.
Autoría y fuentes
Nicolás Ramos es el autor del repositorio analizado; no el autor de este artículo ni el revisor de nuestros hallazgos. DARXI publica esta adaptación editorial del informe externo. No implica asociación, respaldo del autor ni una PR enviada.
Autor del repositorio: Nicolás Ramos
LinkedIn ↗ · GitHub ↗
Código de la versión estudiada ↗
Base documental: External Functional Review v2, §§1–6 y §§9–11; traducción española del mismo informe. Las observaciones secundarias y las instrucciones de reproducción están en los PDF.
Informes originales
Los PDF se conservan sin cambios de contenido ni branding. Son dos idiomas del mismo análisis; el español mantiene las salidas de los scripts en inglés.
SHA-256
727e549baadd76b52e2197d2d7370260b2426caf665a6f525f9c89ef78612e0aSHA-256
5f14de35f416bdf04a22a68b7a1e4441dc0bb4be6a43c3b12b7c5f4e55cc13ae