Gestión de la Ventana de Contexto
1. ¿Qué ocupa la ventana de contexto?
La ventana de contexto no es solo "la conversación". Cada llamada a la API incluye varios componentes que consumen tokens de forma conjunta:
Context Window = system prompt
+ historial del usuario
+ historial del asistente
+ espacio para la respuesta
Cada llamada a la API incluye el system prompt completo. Si contiene instrucciones largas, plantillas o ejemplos de formato, come tokens en cada turno sin excepción.
2. Compactación del contexto
Existen técnicas que ayudan a optimizar la ventana de contexto cuando se llena:
- RAG (Generación Aumentada por Recuperación): almacena los datos en una base externa e introduce en el contexto solo los fragmentos relevantes para la pregunta actual.
- Chunking: divide documentos largos en fragmentos más pequeños para procesarlos por partes.
- Resúmenes de conversación: condensan el historial antiguo para liberar espacio.
Muchas herramientas ya ofrecen opciones integradas para compactar el contexto sin tener que implementarlas a mano.
3. ¿Por qué es necesaria la gestión?
Los LLM carecen de memoria persistente y dependen enteramente de una ventana de contexto limitada, por lo que es necesario aplicar técnicas específicas para gestionar la información.
El propósito de estas técnicas es decidir qué datos son prioritarios mantener y cuáles se pueden descartar para que el modelo no "pierda el hilo" y siga siendo efectivo.
4. Factores fundamentales a controlar manualmente
Aunque las fuentes no detallan nombres técnicos de algoritmos de gestión, sí describen los factores fundamentales que se deben controlar manualmente:
4.1 Gestión de los componentes del contexto
Se debe vigilar el espacio que ocupan conjuntamente el system prompt, los mensajes previos y las instrucciones actuales del usuario, ya que cada token de estos elementos consume parte de la ventana disponible.
4.2 Eficiencia en el lenguaje
Una técnica de gestión práctica es la optimización del texto. Dado que el español es menos eficiente y consume entre 1.2 y 1.5 veces más tokens que el inglés —debido a que caracteres como las tildes o la "ñ" a menudo se fragmentan más—, redactar de forma concisa ayuda a preservar espacio en el contexto.
| Idioma | Tokens relativos (aprox.) |
|---|---|
| Inglés | 1.0x (referencia) |
| Español | 1.2x – 1.5x |
4.3 Uso de herramientas de medición
Se sugiere utilizar herramientas como el tokenizer de OpenAI para visualizar cómo se divide el texto y cuántos tokens consume exactamente cada instrucción, lo que permite prever cuándo se alcanzará el límite de la ventana.
5. Técnicas habituales en aplicaciones con LLM
En el desarrollo de aplicaciones con LLM se suelen utilizar técnicas como:
- Resumen Progresivo: se pide al modelo que resuma la charla antigua para liberar espacio.
- Ventana Deslizante: elimina automáticamente los mensajes más viejos cuando se acerca al límite.
- RAG (Generación Aumentada por Recuperación): almacena datos en una base externa e introduce en el contexto solo los fragmentos relevantes para la pregunta actual.
Las fuentes actuales mencionan la existencia de estas técnicas pero no profundizan en sus nombres técnicos o implementaciones, por lo que conviene consultar documentación específica de cada método antes de aplicarlos en producción.