Cada vez que sale un modelo nuevo con un context window más grande, alguien lo anuncia como si fuera memoria. No lo es. Son cosas distintas, y confundirlas lleva a diseñar sistemas que fallan de formas sutiles y difíciles de depurar.
Qué es realmente el context window
El context window es la cantidad de texto —tokens— que el modelo puede tener presente en una sola llamada. Todo lo que metas ahí —el prompt de sistema, el historial de conversación, documentos adjuntos— compite por ese mismo espacio. Cuando la conversación crece más allá del límite, lo más antiguo se cae. No hay elección, no hay criterio de relevancia: se corta, sin más.
Un context window más grande significa que puedes meter más cosas antes de que empiece a cortar. Eso es todo lo que significa. No implica que el modelo recuerde nada más allá de esa llamada, ni que use toda esa información con la misma fiabilidad.
Qué es la memoria, y por qué no es lo mismo
Memoria implica algo distinto: que el sistema recuerda información relevante de forma selectiva, más allá de una sola conversación, y la trae de vuelta cuando hace falta, no porque quepa en la ventana sino porque alguien decidió que era importante guardarla.
Un context window enorme sin ningún mecanismo de selección no es memoria, es una libreta gigante donde escribes todo y esperas que el modelo encuentre lo relevante entre el ruido. Y aquí aparece el problema real de depender solo del tamaño de la ventana.

El problema de "lost in the middle"
Meter más información en el contexto no significa que el modelo la use igual de bien. Hay evidencia bastante consistente, tanto en pruebas informales de la comunidad como en benchmarks publicados por varios laboratorios de investigación, de que los modelos prestan más atención a lo que está al principio y al final del contexto, y tienden a perder precisión con la información situada en medio de contextos muy largos. Esto se conoce como el problema "lost in the middle".
En la práctica: rellenar el contexto con veinte documentos porque "cabe" no garantiza que el modelo use bien el dato que está en el documento número doce. Cabe, sí, pero eso no significa que se procese con la misma fiabilidad que si estuviera al principio o al final de la llamada.
Context window largo vs. recuperación selectiva
Hay dos estrategias distintas para que un sistema "recuerde" cosas relevantes, y no son intercambiables:
- Meterlo todo en el contexto (context window largo). Simple de implementar al principio, pero caro en tokens, más lento, y con el problema de atención desigual que acabo de describir.
- Recuperar solo lo relevante (retrieval, resúmenes, bases de datos externas). Más trabajo de ingeniería por adelantado, pero le entregas al modelo justo lo que necesita para esa tarea concreta, sin ruido de por medio, y sin depender de que "quepa todo" en una sola llamada.
Un context window grande no sustituye a un buen sistema de recuperación. Lo complementa, como mucho. Puedes tener una ventana enorme y aun así beneficiarte de filtrar antes de meter algo dentro, precisamente porque lo que entra no se procesa con atención uniforme a lo largo de toda la ventana.
La memoria entre sesiones es un problema aparte
Y luego está la memoria persistente: que un sistema recuerde algo de una conversación de la semana pasada en la de hoy. Esto no lo resuelve el context window en absoluto, porque cada llamada nueva empieza sin ese historial, salvo que alguien lo reconstruya y lo vuelva a inyectar de forma deliberada.
Esto es una capa de ingeniería aparte, con decisiones propias: qué merece guardarse, dónde se guarda, cómo se recupera cuando hace falta y cómo se resume para no volver a caer en el mismo problema de contexto saturado. No es algo que un modelo resuelva solo porque su ventana sea más grande, por muy grande que sea.
Por qué esto importa al diseñar un producto
Si estás construyendo algo que necesita "acordarse" de las preferencias de un usuario, del historial de una conversación larga o del estado de un proceso, la tentación es resolverlo metiendo cada vez más cosas en el prompt y confiar en que la ventana aguante. Funciona un tiempo. Luego el sistema empieza a olvidar cosas que están literalmente dentro del contexto, y ahí es donde cuesta más depurar el problema, porque parece que "debería" saberlo —está ahí, técnicamente cabe— y sin embargo la respuesta ignora el dato correcto.
Ese síntoma casi siempre es atención desigual sobre un contexto demasiado largo, no un fallo aleatorio del modelo.
La recomendación
Si estás diseñando un sistema que necesita recordar cosas, no confíes en meter todo en el context window y llamarlo memoria. Diseña explícitamente qué se guarda, cómo se recupera y en qué orden se presenta al modelo en cada llamada. Usa la ventana grande como margen de seguridad, no como estrategia principal de diseño. Y si un dato importante puede acabar en medio de un contexto largo, ponlo cerca del principio o del final de la llamada —o, mejor todavía, no lo metas si no hace falta para esa tarea concreta.
Context window grande es capacidad. Memoria es criterio sobre qué merece la pena recordar. No son lo mismo, y un sistema que trata la primera como si fuera la segunda acaba fallando justo cuando más se necesita que funcione bien.
