Contenido

  1. Introducción — La Arquitectura de Memoria en Tres Capas
  2. OpenCode — Memoria y Contexto
  3. Codex CLI — Memoria y Contexto
  4. Claude Code — Memoria y Contexto
  5. Tabla Comparativa General
  6. LLM Wiki Pattern
  7. Memory MCP Servers
  8. Prompt Caching
  9. Codebase Indexing / RAG Philosophy
  10. Fortalezas y Debilidades por Plataforma
  11. Guía de Decisión
  12. Fuentes Verificadas

1.Introducción — La Arquitectura de Memoria en Tres Capas

La memoria en agentes de IA no es un repositorio monolítico. Es un sistema en capas donde cada nivel tiene distinto alcance temporal, sustrato de representación y política de control. El paper arXiv:2603.07670 formaliza este modelo como un loop write–manage–read que atraviesa tres capas fundamentales.

Corto Plazo — Context Window

El modelo es stateless entre llamadas. El context window es la memoria de trabajo: todo lo que el modelo "ve" en una interacción. Se pierde al terminar la sesión si no se persiste.

📁

Medio Plazo — Session Persistence

Compaction, checkpointing, resume entre sesiones. Mecanismos que extienden la vida útil del contexto más allá de una sola conversación sin llegar a ser persistente.

🗄️

Largo Plazo — Knowledge Bases

RAG, LLM Wiki, plugins de memoria persistente, MCP servers. Conocimiento que trasciende sesiones individuales y se acumula con el tiempo.

Cada plataforma implementa estas tres capas de forma distinta. Esta clase analiza cómo OpenCode, Codex CLI y Claude Code gestionan la memoria y el contexto, qué mecanismos ofrecen y dónde están sus limitaciones.

💡 Filosofía subyacente: La memoria no es solo almacenamiento — es qué se recuerda, cómo se recuerda y cuándo se olvida. Cada plataforma hace trade-offs distintos entre precisión, costo y privacidad.

2.OpenCode — Memoria y Contexto

Session Management

OpenCode usa SQLite persistente vía Drizzle ORM para la gestión de sesiones. Las sesiones forman una estructura de árbol padre-hijo, donde cada sesión hija (fork) preserva la transcripción de la sesión padre. El estado se guarda continuamente en SQLite.

El session sharing está disponible vía /share, que genera un link público opncd.ai/s/<id>. No hay documentación oficial de sessions en opencode.ai — la referencia está en Mintlify (opencode-ai-opencode.mintlify.app).

Compaction (Context Window Management)

La compactación es el mecanismo que evita que el context window se desborde. OpenCode implementa dos estrategias:

Configuración

ParámetroDefaultDescripción
compaction.autotrueCompactación automática al detectar overflow
compaction.prunefalseEstrategia prune (borrado de mensajes viejos)
compaction.reserved20,000 tokensBuffer de tokens reservados para respuesta

Estrategia 1: Prune

Cuando el uso del context window alcanza ~80% del límite (model.limit.context), prune recorre los mensajes del más reciente al más viejo. Protege los últimos ~40K tokens de tool outputs. Los tool outputs antiguos se reemplazan con "[output truncated by compaction]". Los skill outputs nunca se limpian.

Estrategia 2: Full Compaction

Si prune no libera suficiente espacio, OpenCode usa un LLM (agente compaction interno) para generar un resumen que reemplaza el historial. Usa un prompt template con anchored summaries para preservar información crítica.

🔧 Custom thresholds: El PR #10123 (no mergeado) introduce token_threshold, context_threshold, min_messages. Si necesitas control granular, es posible que debas implementarlo manualmente.

Project Context

El contexto de proyecto se carga en este orden:

  1. AGENTS.md local — búsqueda ascendente desde el directorio de trabajo
  2. AGENTS.md global~/.config/opencode/AGENTS.md
  3. Custom instructions — key instructions en opencode.json
  4. Skills — cargados dinámicamente vía skill() tool

Además, OpenCode soporta expansión de {file:path} (incluye archivos) y {env:VAR} (variables de entorno) dentro de las instrucciones.

Memory Features

FeatureEstadoNotas
Memoria entre sesiones (built-in)❌ NoNo hay memoria persistente por defecto
Plugins de memoria✅ 10+opencode-memory, opencode-working-memory, opencode-graphiti, opencode-memsearch, opencode-lcm (FTS5), opencode-acm (pins/knowledge packages), opencode-momo, opencode-lore, opencode-mempalace
Memstate MCPMemoria persistente vía MCP. Docs en memstate.ai/docs/setup/opencode
ai-memex-cli (LLM Wiki)✅ InstaladoVault en /root/.llmwiki/. Slash commands: ingest, distill, search, fetch, watch, lint
RAG built-in❌ NoNi vector store ni knowledge base integrados
Prompt CachingProvider-managedManejado por Anthropic/OpenAI subyacente
Ecosistema rico: OpenCode compensa la falta de memoria built-in con un ecosistema de 10+ plugins de memoria y soporte MCP. La combinación ai-memex-cli + plugin de memoria cubre la mayoría de casos de uso.

Prompt Caching en OpenCode

OpenCode no implementa prompt caching propio. La gestión de caché se delega al provider subyacente (Anthropic, OpenAI, etc.). La página opencode.ai/docs/prompt-caching/ devuelve 404 — no hay documentación propia sobre el tema.

Fuentes para esta sección:

3.Codex CLI — Memoria y Contexto

Session Management

Codex CLI persiste sesiones en ~/.codex/sessions/ como archivos history.jsonl. Ofrece tres modos de reanudación:

⚠️ Codex CLI no tiene session naming — todas las sesiones se referencian por UUID. No hay equivalente a claude -n <name>.

Context Window Management

Codex CLI ofrece dos parámetros configurables para el context window:

ParámetroDescripción
model_context_windowConfigurable en config.toml. Define el tamaño del context window del modelo.
model_auto_compact_token_limitThreshold para activar compactación automática.

Dos modos de compaction

Server-side — Configurado via context_management = [{ type = "compaction", compact_threshold = 200000 }]. La Responses API compacta automáticamente al cruzar el threshold.

Standalone — Via endpoint /responses/compact. Envías el contexto completo y recibes una versión compactada con un item cifrado opaco. Soporta compact_prompt inline y experimental_compact_prompt_file para prompts de compactación personalizados.

Memories Feature (Opt-in)

Codex CLI incluye un sistema de Memories persistente que debe activarse explícitamente con features.memories = true. Almacena preferencias, convenciones, tech stacks y pitfalls.

AspectoDetalle
Storage~/.codex/memories/ — archivos markdown, NO encriptados
Control por thread/memories para gestionar qué se recuerda
Configmemories.generate_memories, memories.use_memories, memories.extract_model, memories.consolidation_model
Rate-limit awarememories.min_rate_limit_remaining_percent (default 25%)
Límitesmax_rollout_age_days (30), min_rollout_idle_hours (6), max_raw_memories_for_consolidation (256)

Chronicle (Research Preview)

Chronicle es una feature de captura de pantalla para contexto visual. Exclusivo para macOS + ChatGPT Pro. Las capturas se almacenan efímeramente en $TMPDIR/chronicle/.

Otras Capacidades

💡 Sin MCP: Codex CLI no soporta MCP, por lo que no puede integrar servidores de memoria como Mem0 o el memory server de Anthropic. La persistencia se limita a Memories + archivos locales.

Fuentes:

4.Claude Code — Memoria y Contexto

Session Management

Claude Code ofrece el sistema de gestión de sesiones más completo de las tres plataformas:

FeatureComandoNotas
Session namingclaude -n <name>, /rename <name>Aceptar un plan en plan mode nombra automáticamente
Resume--continue (última), --resume (picker), --resume <name>, --resume <session-id>Múltiples modos de reanudación
Fork/branch [name] (en sesión), --continue --fork-session (CLI)Sesiones forked agrupadas bajo root session. Permisos "allow for this session" NO se transfieren
Session pickerCtrl+W (worktrees), Ctrl+A (proyectos), Ctrl+B (branch), Ctrl+R (rename), Space (preview)Navegación avanzada con atajos de teclado
Auto-cleanupcleanupPeriodDays (default 30)Transcripts en ~/.claude/projects/<project>/<session-id>.jsonl
Clear/clearVacía contexto (conversación guardada, resumible)
Compact/compact [instructions]Reemplaza historial con resumen
Context inspection/contextMuestra qué consume contexto

Context Window — Composición Interna

Claude Code tiene un context window estándar de 200K tokens, con soporte para modelos de 1M tokens. La composición aproximada es:

ComponenteTokens aprox.
System prompt4,200
Auto memory (MEMORY.md)680 (primeras 200 líneas o 25KB)
Environment info280
MCP tools (deferred)120 (solo nombres)
Skill descriptions450 (solo descripciones)
CLAUDE.md (project)1,800
🔬 Qué sobrevive a /compact: system prompt, CLAUDE.md, auto memory. MCP tools se recargan. Skill descriptions NO — solo las skills que se han invocado se preservan en el resumen.

Subagentes y aislamiento de contexto

Los subagentes ejecutan con su propio context window aislado: ~6,100 tokens de lecturas + 970 de MCP/skills. Solo el resumen final (~420 tokens) regresa al contexto principal. Esto evita la contaminación del contexto padre.

Checkpointing

Claude Code captura automáticamente el estado del código antes de cada file edit. El sistema ofrece:

Claude Code es la única plataforma con checkpointing nativo. Ni OpenCode ni Codex CLI ofrecen esta capacidad. Es una ventaja significativa para desarrollo iterativo donde "deshacer" cambios es crítico.

Auto Memory (MEMORY.md)

Archivo automático que captura preferencias, tech stack y decisiones del proyecto:

Agent SDK Sessions

Claude Code Agent SDK ofrece una arquitectura de sesiones programáticas:

Memory MCP Server (Official Anthropic)

Anthropic mantiene un servidor MCP de memoria oficial en @modelcontextprotocol/server-memory. Características:

Filosofía (Boris Cherny, creador)

"A Unix utility, not a product"

Claude Code deliberadamente NO usa RAG. Prefiere agentic search puro (Glob → Grep → Read) sobre embeddings. Razones:

🔹 Precisión: grep es exacto; embeddings dan falsos positivos y resultados probabilísticos.

🔹 Simplicidad: no requiere infraestructura de índices, vectores ni actualizaciones.

🔹 Frescura: un índice se desvía en cuanto editas el código; agentic search siempre busca en el estado actual.

🔹 Privacidad: no envía tu código a servicios externos de embeddings.

— Boris Cherny, creador de Claude Code

Fuentes:

5.Tabla Comparativa de Memoria y Contexto

AspectoOpenCodeCodex CLIClaude Code
Session persistence✅ SQLite (Drizzle)✅ JSONL files✅ JSONL transcripts
Session resume❌ (no doc)✅ codex resume✅ --continue / --resume
Session fork✅ codex fork✅ /branch, --fork-session
Session naming❌ (UUID)✅ --name, /rename
Compaction auto✅ prune + full✅ server-side + standalone✅ /compact + auto
Compaction config✅ thresholds + reserved✅ model_auto_compact_token_limitvia Anthropic API
Checkpointing✅ /rewind
Cross-session memoryplugins (10+)✅ Memories feature✅ Auto memory (MEMORY.md)
RAG / Codebase indexplugins❌ (web search only)❌ (agentic search)
LLM Wiki support✅ via memex✅ via plugins/MCP
MCP Memory Server✅ via any MCP❌ (no MCP)✅ official server-memory
Agent SDK SessionStore✅ S3/Redis/Postgres
Prompt cachingprovider-managedprovider-managed✅ 90% off cache reads
Context windowSegún modeloConfigurable200K / 1M
Subagent isolation✅ per task tool✅ per subagent✅ own context window
🏆 Claude Code lidera en sesiones, checkpointing y SDK. Codex CLI es fuerte en Memories y compaction server-side. OpenCode gana en ecosistema de plugins y flexibilidad (MCP, memex).

6.LLM Wiki Pattern

Andrej Karpathy (2025)

En lugar de RAG que re-deriva conocimiento en cada query, Karpathy propone que el LLM compile un wiki persistente. El patrón cambia el paradigma: de "buscar y sintetizar cada vez" a "acumular y referenciar".

Fases del LLM Wiki

📥

1. Ingest

El material fuente se almacena en raw/ como referencia inmutable. Pueden ser URLs, documentos, transcripciones de sesiones.

📝

2. Compile / Distill

El LLM lee el material, lo resume, cross-referencia y escribe páginas estructuradas en wiki/ con enlaces internos ([[wikilinks]]).

🔍

3. Query

Antes de responder, el agente busca en el wiki primero. Las respuestas incluyen referencias a las páginas fuente mediante [[wikilinks]].

🧹

4. Lint

Detección automática de contradicciones, stale claims (información desactualizada) y orphans (páginas sin enlaces entrantes).

Contraste LLM Wiki vs RAG Tradicional

Plain RAGLLM Wiki
Re-derives knowledge each queryKnowledge accumulates
Cross-references re-computedCross-references pre-written
Contradictions surface only if askedContradictions flagged during ingest
Exploration disappearsGood answers re-filed as pages
Scales by embeddings infrastructureScales by markdown + index.md

Implementaciones

ai-memex-cli: Herramienta CLI que implementa el patrón LLM Wiki para OpenCode. Instalado en este proyecto con vault en /root/.llmwiki/. Ofrece 6 slash commands: ingest, distill, search, fetch, watch, lint.

Obsidian: Puede funcionar como LLM Wiki si se combina con plugins de IA. Los wikilinks nativos de Obsidian ([[nota]]) son compatibles con el patrón.

💡 Ventaja clave: El LLM Wiki no requiere infraestructura de embeddings ni vector stores. Todo es markdown plano, versionable con git, editable a mano. Esto lo hace más mantenible y transparente que un sistema RAG tradicional.

7.Memory MCP Servers

Los servidores MCP de memoria permiten persistencia externa a través del protocolo Model Context Protocol. Aquí los principales disponibles:

ServidorStorageToolsFeatures clave
@modelcontextprotocol/server-memoryKey-value simple (JSONL local)BásicoReferencia oficial de Anthropic. Integración directa con Claude Code.
Mem0 MCPCloud (vector + graph)9 toolsadd/search/get/update/delete, graph mode. Plug & play.
Mem0 self-hostedQdrant + Neo4j + Ollama6 toolsHybrid read/write, graph. Control total de datos.
Graph-Mem MCPSQLite + embeddings28 toolsMulti-graph, hybrid search, BFS, shortest paths. El más completo en tools.
Memgraph MCPMemgraph (graph DB)9 toolsCypher queries, PageRank, centrality analysis. Para análisis de grafos avanzado.
Graph-Mem MCP destaca por sus 28 tools que cubren búsqueda híbrida, múltiples grafos y algoritmos de caminos. Mem0 Cloud es la opción más plug-and-play. server-memory de Anthropic es la referencia oficial pero más limitada.
⚠️ Compatibilidad: Los MCP servers requieren que la plataforma soporte MCP. Codex CLI no soporta MCP, por lo que no puede usar ninguno de estos servidores. OpenCode y Claude Code sí.

8.Prompt Caching

El prompt caching es el mecanismo que permite reutilizar representaciones de tokens cacheadas entre requests, reduciendo drásticamente costos y latencia. Cada proveedor lo implementa de forma distinta.

Anthropic

ParámetroValor
ActivaciónExplícita vía cache_control breakpoints (máx 4 por request)
Descuento cache hit90% off (0.1x del input price)
Write premium (5min)1.25x
Write premium (1h)2x
TTL5 min default, 1 hora opcional
Mínimo1024 tokens (Sonnet/Opus), 2048 (Haiku)
Ejemplo Sonnet 4.6Input $3/M → Cache write $3.75/M → Cache read $0.30/M

OpenAI

ParámetroValor
ActivaciónAutomática (prefix matching)
Descuento cache hit50% off en modelos recientes
TTL~5-10 min, hasta 24h en extended retention (GPT-5.5+)
Mínimo1024 tokens
Ejemplo GPT-5.5Input $5/M → Cache read $0.50/M (90% descuento actualizado)

DeepSeek V4 Flash

DeepSeek ofrece el cache más agresivo del mercado: cache read a $0.0028/M, que representa un 98% de descuento sobre el input price de $0.14/M. Sin write premium — todo el ahorro va al usuario.

Research: arXiv:2601.06007

El paper "Prompt Cache: Cost-Effective LLM Serving" (arXiv:2601.06007) demuestra:

Estrategia Recomendada de Caching

🔹 Coloca el contenido estático (system prompt, tool definitions, reglas) al principio del prompt.

🔹 Coloca el contenido dinámico (query del usuario, contexto variable) al final.

🔹 En Anthropic, usa cache_control breakpoints para marcar explícitamente secciones cacheadas (máx 4).

🔹 En OpenAI, el prefix matching es automático — asegúrate de que los prefijos sean consistentes entre requests.

🔹 En DeepSeek, el cache hit rate depende de la repetición de inputs compartidos entre usuarios.

9.Codebase Indexing / RAG Philosophy

OpenCode

OpenCode no tiene RAG built-in. En su lugar, ofrece plugins que implementan codebase indexing:

Claude Code — Filosofía Agentic Search

Claude Code deliberadamente NO indexa. Boris Cherny, su creador, ha explicado extensamente por qué:

¿Por qué agentic search en vez de RAG?

Precisión > embeddings: "grep es exacto, embeddings dan probabilidades. Cuando buscas una definición de función, quieres la definición exacta, no algo que 'se parece'."

Simplicidad: "No necesitas infraestructura de índices, actualizaciones periódicas, ni preocuparte por drift."

Frescura: "Un índice de embeddings se desvía en cuanto editas un archivo. Agentic search siempre opera sobre el estado actual del código."

Privacidad: "No envías tu código a servicios externos de embeddings. Todo es local."

— Boris Cherny, creador de Claude Code

Codex CLI

Similar a Claude Code — no hay codebase index persistente documentado. La búsqueda se realiza mediante herramientas de file search y retrieval locales, sin infraestructura de vectores.

💡 Lección: Las tres plataformas coinciden en evitar RAG built-in. OpenCode lo externaliza a plugins, Claude Code lo rechaza explícitamente por filosofía, y Codex CLI no lo documenta. La tendencia es agentic search + LLM Wiki como alternativa preferida a embeddings para code understanding.

10.Fortalezas y Debilidades por Plataforma

🔓

OpenCode

✅ Fortalezas: Ecosistema de 10+ plugins de memoria, MCP nativo, ai-memex-cli integrable, compaction configurable.

❌ Debilidades: Sin memoria cross-session built-in, sin checkpointing, sin session naming, sin SDK programático.

🤖

Codex CLI

✅ Fortalezas: Memories feature persistente, compaction server-side + standalone, código abierto.

❌ Debilidades: Sin MCP, sin checkpointing, sin session naming, sin LLM wiki, sin RAG.

🧠

Claude Code

✅ Fortalezas: Checkpointing nativo, auto memory persistente, SDK con SessionStore, forking, naming, prompt caching 90% off.

❌ Debilidades: Sin RAG (por diseño), auto memory limitada a 200 líneas/25KB, cleanup a 30 días, sin persistencia infinita.

11.Guía de Decisión

🔄

Máxima persistencia

OpenCode + ai-memex-cli + plugin de memoria. Combinación de LLM Wiki + MCP server para memoria infinita.

Checkpointing necesario

Claude Code. Única plataforma con /rewind nativo. Esencial para desarrollo iterativo riesgoso.

🔒

Privacidad total

Claude Code con agentic search + servidor MCP local. Sin datos fuera del dispositivo.

📚

Knowledge base vivo

LLM Wiki (ai-memex-cli) sobre cualquier plataforma. Markdown versionable + wikilinks. No requiere infraestructura de vectores.

🔌

Máxima flexibilidad

OpenCode con MCP. Acceso a 5+ servidores de memoria, plugins de terceros, y personalización total.

🏭

Producción programática

Claude Code Agent SDK con SessionStore (S3/Redis/Postgres). Única plataforma con API de sesiones para integración enterprise.

💸

Budget mínimo

OpenCode + compaction optimizado. Aprovecha el caching del provider y los plugins open-source. Sin costo adicional de suscripción.

🧪

Investigación / R&D

Graph-Mem MCP + Memgraph. 28 tools para análisis de grafos de conocimiento. Ideal para experimentar con memoria asociativa.

📱

Uso interactivo diario

Claude Code con auto memory + checkpointing. La mejor experiencia para desarrollo diario gracias al contexto persistente y la capacidad de deshacer.

Estrategia Recomendada: Combinación de Capas

🔹 Corto plazo: Compaction automático + context window amplio (1M si el modelo lo soporta).

🔹 Medio plazo: Session naming + forking + auto memory (MEMORY.md o similar). Checkpointing si es posible.

🔹 Largo plazo: LLM Wiki (ai-memex-cli) + MCP Memory Server. La combinación de markdown versionable + graph knowledge base cubre todos los casos de uso de memoria persistente.

Ahorro estimado vs RAG tradicional: 60-80% en costos de infraestructura (no necesitas vectores, embeddings, ni actualizaciones de índice).

⚠️ Cuidado con vendor lock-in: Si usas Memories de Codex CLI o Auto Memory de Claude Code, esos datos están en formatos propietarios. Un LLM Wiki en markdown plano es portátil entre cualquier plataforma y versionable con git. Prioriza formatos abiertos para memoria de largo plazo.

📚 Fuentes Verificadas

Todas las afirmaciones en esta clase están respaldadas por documentación oficial, papers académicos y análisis técnicos verificados a Junio 2026.

Papers Académicos

OpenCode

Codex CLI (OpenAI)

Claude Code (Anthropic)

MCP Memory Servers

LLM Wiki & Referencias Técnicas

Última verificación: Junio 2026. Las URLs y políticas pueden cambiar; consulte las fuentes oficiales para información actualizada.