- Inicio
- Documentation
- Sesiones
- Memoria Autónoma
Memoria Autónoma
Cuando está habilitada, el agente extrae automáticamente conocimiento duradero de sesiones anteriores e inyecta un resumen compacto en cada nueva sesión. Con el tiempo construye un almacén de memoria con alcance de proyecto — decisiones técnicas, flujos de trabajo recurrentes, problemas conocidos — que se transmite hacia adelante sin esfuerzo manual.
Deshabilitada por defecto. Habilítela mediante /settings o config.yml:
memories: enabled: trueQué se inyecta
Sección titulada «Qué se inyecta»Al inicio de la sesión, si existe un resumen de memoria para el proyecto actual, se inyecta en el prompt del sistema como un bloque de Memory Guidance. El agente recibe instrucciones de:
- Tratar la memoria como contexto heurístico — útil para procesos y decisiones previas, no autoritativo sobre el estado actual del repositorio.
- Citar la ruta del artefacto de memoria cuando la memoria cambie el plan, y combinarlo con evidencia del repositorio actual antes de actuar.
- Preferir el estado del repositorio y las instrucciones del usuario cuando entren en conflicto con la memoria; tratar la memoria en conflicto como obsoleta.
Lectura de artefactos de memoria
Sección titulada «Lectura de artefactos de memoria»El agente puede leer archivos de memoria directamente usando URLs memory:// con la herramienta read:
| URL | Contenido |
|---|---|
memory://root | Resumen compacto inyectado al inicio |
memory://root/MEMORY.md | Documento completo de memoria a largo plazo |
memory://root/skills/<name>/SKILL.md | Un manual de procedimientos de habilidad generado |
Comando slash /memory
Sección titulada «Comando slash /memory»| Subcomando | Efecto |
|---|---|
view | Mostrar el contenido actual de inyección de memoria |
clear / reset | Eliminar todos los datos de memoria y artefactos generados |
enqueue / rebuild | Forzar la consolidación para que se ejecute en el próximo inicio |
Cómo funciona
Sección titulada «Cómo funciona»Las memorias se construyen mediante un pipeline en segundo plano que se ejecuta al inicio o se activa manualmente mediante un comando slash.
Fase 1 — extracción por sesión: Para cada sesión pasada que ha cambiado desde que fue procesada por última vez, un modelo lee el historial de la sesión y extrae señal duradera: decisiones técnicas, restricciones, fallos resueltos, flujos de trabajo recurrentes. Las sesiones demasiado recientes, demasiado antiguas o actualmente activas se omiten. Cada extracción produce un bloque de memoria sin procesar y una sinopsis breve para esa sesión.
Fase 2 — consolidación: Después de la extracción, una segunda pasada del modelo lee todas las extracciones por sesión y produce tres salidas escritas en disco:
MEMORY.md— un documento de memoria a largo plazo curadomemory_summary.md— el texto compacto inyectado al inicio de la sesiónskills/— manuales de procedimientos reutilizables, cada uno en su propio subdirectorio
La Fase 2 utiliza un lease para prevenir la doble ejecución cuando múltiples procesos inician simultáneamente. Los directorios de habilidades obsoletos de ejecuciones anteriores se eliminan automáticamente.
Toda la salida se escanea en busca de secretos antes de escribirse en disco.
Comportamiento de extracción
Sección titulada «Comportamiento de extracción»El comportamiento de extracción y consolidación de memoria está controlado completamente por archivos de prompt estáticos en src/prompts/memories/.
| Archivo | Propósito | Variables |
|---|---|---|
stage_one_system.md | Prompt del sistema para la extracción por sesión | — |
stage_one_input.md | Plantilla de turno de usuario que envuelve el contenido de la sesión | {{thread_id}}, {{response_items_json}} |
consolidation.md | Prompt para la consolidación entre sesiones | {{raw_memories}}, {{rollout_summaries}} |
read_path.md | Guía de memoria inyectada en sesiones activas | {{memory_summary}} |
Selección de modelo
Sección titulada «Selección de modelo»La memoria se apoya en el sistema de roles de modelo.
| Fase | Rol | Propósito |
|---|---|---|
| Fase 1 (extracción) | default | Extracción de conocimiento por sesión |
| Fase 2 (consolidación) | smol | Síntesis entre sesiones |
Si smol no está configurado, la Fase 2 recurre al rol default.
Configuración
Sección titulada «Configuración»| Ajuste | Predeterminado | Descripción |
|---|---|---|
memories.enabled | false | Interruptor principal |
memories.maxRolloutAgeDays | 30 | Las sesiones más antiguas que esto no se procesan |
memories.minRolloutIdleHours | 12 | Las sesiones activas más recientemente que esto se omiten |
memories.maxRolloutsPerStartup | 64 | Límite de sesiones procesadas en un solo inicio |
memories.summaryInjectionTokenLimit | 5000 | Máximo de tokens del resumen inyectado en el prompt del sistema |
Controles de ajuste adicionales (concurrencia, duraciones de lease, presupuestos de tokens) están disponibles en la configuración para uso avanzado.
Archivos clave
Sección titulada «Archivos clave»src/memories/index.ts— orquestación del pipeline, inyección, manejo de comandos slashsrc/memories/storage.ts— cola de trabajos respaldada por SQLite y registro de hilossrc/prompts/memories/— plantillas de prompts de memoriasrc/internal-urls/memory-protocol.ts— manejador de URLsmemory://