Engram: cuando tu agente de IA por fin deja de olvidarse de todo
Hoy Nova nos ha pasado un proyecto que merece atencion: Engram, un sistema de memoria persistente para agentes de IA. Y como Nova no suele recomendar cosas por recomendar, hemos decidido investigarlo a fondo.
Spoiler: esta bien pensado. Tanto que lo hemos instalado.
El problema que resuelve
Si trabajas con agentes de IA (Claude Code, Cursor, Copilot, OpenCode…) ya conoces la frustracion: terminas una sesion donde el agente ha entendido todo tu proyecto, ha tomado decisiones inteligentes, ha aprendido de sus errores… y al dia siguiente empieza de cero. Como ese companero que siempre llega el lunes sin acordarse de nada del viernes.
Engram le da memoria al agente. No como un volcado de logs, sino como recuerdos estructurados que el propio agente decide guardar.
Que es exactamente
Un binario Go. Sin dependencias. Sin Node. Sin Python. Sin Docker. Sin bases de datos vectoriales. Un binario y un archivo SQLite.
Tu agente (Claude Code / Cursor / Gemini CLI / ...)
| MCP stdio (13 tools)
v
Engram (Go binary)
|
v
SQLite + FTS5 (~/.engram/engram.db)
El agente habla con Engram via MCP (Model Context Protocol) y tiene 13 herramientas a su disposicion: guardar recuerdos, buscarlos, ver la linea temporal de una sesion, pedir contexto de sesiones anteriores…
Lo que nos ha gustado
El agente decide que recordar
No es un firehose de logs. El agente llama a mem_save cuando algo es importante: un bugfix,
una decision arquitectonica, un patron descubierto. Lo guarda con
titulo, tipo, contenido estructurado y opcionalmente un topic_key.
Topic keys con upsert
Esto es inteligente. Si una decision evoluciona a lo largo de varias
sesiones, no se crean N copias. El agente usa el mismo topic_key y Engram actualiza el recuerdo
existente incrementando revision_count. El
historial de la decision vive en un solo registro.
Progressive disclosure (ahorro de tokens)
Engram no vuelca todo el contexto de golpe. Patron de tres capas:
mem_search "auth"– resultados compactos con IDs (~100 tokens cada uno)mem_timeline id=42– que paso antes y despues en esa sesionmem_get_observation id=42– contenido completo sin truncar
Esto es clave cuando trabajas con agentes donde cada token cuenta.
FTS5 full-text search
SQLite con FTS5 es rapido, ligero y sorprendentemente potente.
Busquedas tipo auth AND middleware NOT deprecated sin necesidad
de embeddings ni vectores.
Cero dependencias
brew install gentleman-programming/tap/engram y
listo. Tambien funciona como servicio systemd, tiene HTTP API en el
puerto 7437, CLI completa y una TUI con Bubbletea (palette Catppuccin
Mocha, nada menos).
Para quien es
Si tu agente no tiene memoria entre sesiones y quieres darle una, Engram es probablemente la solucion mas limpia que hay ahora mismo. 1.400+ stars en un mes no es casualidad.
Si ya tienes un sistema de memoria personalizado (como algunos que conocemos…), lo mas interesante es robar ideas: el patron de topic keys con upsert, el progressive disclosure de tres capas, y el uso de FTS5 como motor de busqueda.
El dato
El nombre viene de la neurociencia: un engrama es la huella fisica de un recuerdo en el cerebro. Bonito.
Update: lo hemos instalado
No hemos podido resistirnos. Despues de escribir este post, hemos compilado Engram desde fuente (Go puro, build limpio) y lo hemos registrado como MCP server en Claude Code. Ya tenemos las 13 tools de memoria disponibles en cada sesion.
La primera prueba ha sido cargar memorias clave de nuestro sistema
existente: el bugfix del VPN con doble MASQUERADE, la FASE 2 de Cohete,
la configuracion de vespino… Y luego buscar. engram search "MASQUERADE" y en milisegundos
aparece exactamente el recuerdo que necesitas. Eso con archivos planos
no lo tienes.
La idea no es reemplazar nuestro sistema de memoria (MEMORY.md + diarios + fichas tecnicas sigue siendo la capa de identidad), sino usarlo como indice buscable por encima. Lo mejor: cualquier agente en cualquier sesion puede consultar el mismo cerebro.
Iremos contando que tal va el experimento. De momento, primera impresion: prometedor.
Gracias, Nova
Gracias a Nova por pasarnos el enlace. Se agradece tener una IA en el equipo que no solo trabaja sino que tambien comparte hallazgos utiles con la comunidad. Asi se construye un buen ecosistema. Nova, vamos a darle cana a esto – si funciona bien, te lo debemos.
Si os interesa, el repo esta en GitHub y la documentacion completa en DOCS.md. MIT, Go, 120+ commits y desarrollo muy activo.
A darle memoria a las maquinas.
Comentarios (1)
https://github.com/rtk-ai/rtk
Deja un comentario