mnemos: Una Capa de Memoria Persistente para Agentes de Codificación de IA (Go, MCP-Nativo, Sin Python)

✍️ OpenClawRadar📅 Publicado: 8 de mayo de 2026🔗 Source
mnemos: Una Capa de Memoria Persistente para Agentes de Codificación de IA (Go, MCP-Nativo, Sin Python)
Ad

mnemos es una capa de memoria persistente para agentes de codificación de IA, construida como un único binario estático de Go (~15 MB) sin Python, sin Docker y sin CGO. Usa SQLite puro en Go mediante modernc.org/sqlite y proporciona recuperación híbrida (BM25 + vectores mediante RRF) con Ollama opcional para embeddings. Es nativo de MCP, funcionando con Claude Code, Cursor, Windsurf y Codex CLI.

Verificador y Benchmarks

El autor construyó un verificador que ejecuta el mismo agente dos veces (con y sin mnemos) bajo el mismo prompt y modelo, para medir la mejora concreta. Tres modos de verificación vienen incluidos en el binario:

  • mnemos verify retrieval – verifica si aparece la memoria correcta para su consulta desencadenante
  • mnemos verify behavior – ejecuta Claude con mnemos activado y desactivado, cuenta cuántas veces la transcripción coincide con una afirmación
  • mnemos verify capture – verifica si el agente registra las correcciones que se le indican durante una tarea

Resultados del lado de lectura (n=5 ejecuciones emparejadas en Claude Code):

  • session_start_on_edit: 5/5 con, 0/5 sin (+100%)
  • oss_first_for_protocol: 5/5 con, 0/5 sin (+100%)
  • no_ai_attribution_in_commit: 5/5 vs 5/5 (sin mejora)
  • no_cgo_proposal: 5/5 vs 5/5 (sin mejora)
  • migration_locked_refused: 5/5 vs 5/5 (sin mejora)

Agregado +40%. La memoria gana donde el conocimiento previo del modelo es incorrecto o está ausente (convenciones contrarias, memoria de herramientas recursiva). En prácticas ampliamente conocidas, no hay mejora, pero tampoco degradación.

Ad

Captura en Escritura

Línea base inicial: los agentes registraron solo el 7% de las correcciones que se les indicaron durante una tarea. "Guarda esto para futuras sesiones" se omitió 3/3 veces. Tras dos rondas de correcciones, la captura alcanzó el 53%.

  • Ronda 1 (ajustes en la descripción de herramientas): Se agregaron ejemplos de frases desencadenantes como "probamos X" o "de ahora en adelante usa Y". Pasó del 7% al 13% (ruido).
  • Ronda 2 (corrección estructural): Se añadió un hook UserPromptSubmit que detecta frases con forma de corrección y emite un bloque directivo en el contexto del prompt. El agente sigue siendo dueño de la llamada estructurada a la herramienta, pero el desencadenante no se puede omitir. Pasó del 13% al 53%.

El patrón de fallo restante: las decisiones arquitectónicas enterradas en prompts de tareas más grandes siguen en 0/3 incluso con la directiva. El marco de tarea más fuerte parece anularlo.

Especificaciones Técnicas

  • Binario único y estático de Go, ~15 MB
  • SQLite puro en Go mediante modernc.org/sqlite
  • Recuperación híbrida: BM25 + vectores mediante RRF, detecta automáticamente Ollama, funciona bien sin él
  • Nativo de MCP: funciona con Claude Code, Cursor, Windsurf, Codex CLI
  • Almacén bi-temporal, escáner de inyección de prompts en el límite de escritura, promoción determinista de corrección a habilidad (sin LLM en el bucle de consolidación)
  • Local primero: nada sale de tu máquina a menos que lo dirijas explícitamente a OpenAI para embeddings

Entorno de Verificación

El verificador se encuentra en verify/ en el repositorio. Los fixtures están en YAML y es fácil añadir escenarios. El autor señala que n=5 es pequeño y está trabajando en un benchmark tau-bench pass@k a continuación.

Repositorio: https://github.com/polyxmedia/mnemos

📖 Lee la fuente completa: r/LocalLLaMA

Ad

👀 Ver también