Cómo los modelos de lenguaje manejan su memoria finita — y cómo optimizás eso a tu favor.
Los LLMs no tienen memoria infinita. Todo lo que procesan entra en una ventana de tokens de tamaño fijo. Cuando se llena, algo tiene que salir — y ahí entra la ventana deslizante.
// Mové el slider — la ventana desliza. Tokens en rojo = fuera de alcance del modelo.
En un agente como Claude Code, cada vuelta del ciclo añade tokens: el input del usuario, la decisión interna, la llamada a una herramienta, el resultado de esa herramienta, y la respuesta. La ventana "desliza" con cada paso.
Esta demo simula una sesión real con Claude Code. Observá cómo los mensajes más viejos se desvanecen fuera de la ventana activa a medida que llegan nuevos turnos.
Hay varias formas de implementar el deslizamiento. Cada una hace un trade-off diferente entre memoria, coherencia y costo.
Se descartan los mensajes más viejos hasta entrar en el límite. Simple y predecible, pero pierde contexto crítico sin aviso.
CLÁSICA · DESTRUCTIVALos mensajes viejos se reemplazan por un resumen generado por el LLM. Preserva semántica pero añade latencia y un punto de falla.
COSTOSA · PRESERVA SEMÁNTICAEl system prompt siempre queda fijo al inicio. Solo desliza el historial de conversación. Es lo que hace Claude internamente.
HÍBRIDA · ESTABLEVentana pequeña para el historial reciente, con recuperación vectorial de memorias antiguas según relevancia semántica.
AVANZADA · ESCALABLEEl agente acumula hasta chocar con el límite del modelo. Resultado: error de contexto excedido o respuesta truncada.
ANTI-PATRÓN · EVITAREl usuario reinicia y pega un resumen compacto. La estrategia más confiable y más subestimada para tareas largas.
MANUAL · MUY EFECTIVAConocer la mecánica te da ventaja. Estos son los patrones a evitar y sus contrapartidas correctas.