Programación y agentes de IA

[Contexto de IA #2] Por qué el contexto largo arruina las respuestas

En la primera parte vimos por qué la ventana de contexto es finita. Pero las especificaciones actuales de los modelos plantean una duda: ya existen modelos de 1 millón de tokens, así que ¿por qué no introducir directamente todo el código o documento? ¿De verdad hay que ahorrar?

6 min de lectura
Imagen de portada de [Contexto de IA #2] Por qué el contexto largo arruina las respuestas

En la primera parte vimos por qué la ventana de contexto es finita. Pero las especificaciones actuales de los modelos plantean una duda: ya existen modelos de 1 millón de tokens, así que ¿por qué no introducir directamente todo el código o documento? ¿De verdad hay que ahorrar?

Este es precisamente el mito que desmontaremos. Que algo quepa en la ventana de contexto y que el modelo lo use bien son problemas completamente distintos. Varios estudios han confirmado que el rendimiento del modelo disminuye a medida que crece el contexto, y cualquiera que haya ejecutado agentes durante mucho tiempo lo ha notado: hacia el final de la sesión, las respuestas se dispersan y el agente intenta corregir errores que ya había arreglado.

lost in the middle: el centro no se lee

El artículo “Lost in the Middle”, publicado en 2023 por investigadores de Stanford, es uno de los resultados más citados del área. Al insertar documentos con la respuesta en distintas posiciones de un contexto largo y medir la capacidad del modelo para encontrarlos, la precisión dibujó una curva en U. La información del principio y del final se recuperaba bien, pero la recuperación de la información central caía drásticamente. En casos graves, el rendimiento con la respuesta en el centro fue inferior al de preguntar sin proporcionar el documento.

Es cierto que el modelo «lee» los 20 documentos. Pero no presta atención de forma uniforme. En los pesos de atención aparece un patrón parecido al de una persona que se concentra en la introducción y la conclusión de un informe extenso y solo hojea el cuerpo.

Las puntuaciones del test «needle in a haystack», habitual en las presentaciones de modelos, pueden ocultar este problema. Es una tarea simple de recuperación: insertar una frase en un texto largo y pedir que se encuentre literalmente. La mayoría de los modelos actuales obtiene casi la puntuación máxima. El trabajo real no consiste en recuperar información sin más. Cuando la tarea exige conectar información de varios lugares y razonar, la puntuación del mismo modelo cae cuanto más largo es el contexto.

context rot: la longitud por sí sola degrada el rendimiento

En 2025, Chroma, una empresa de bases de datos vectoriales, publicó un informe técnico que llamó a este fenómeno «context rot». Probó 18 modelos principales en la misma tarea, aumentando únicamente la longitud de entrada, y el rendimiento descendió de forma constante solo porque la entrada era más larga, aunque la dificultad no cambiara. Incluso dentro de la especificación de la ventana de contexto.

Se superponen varias causas. La primera es la limitación estructural de la atención. Los pesos de atención son como un presupuesto fijo: cuantos más tokens hay, menor es la parte que corresponde a cada uno. Cuanto más contenido irrelevante se mezcla, más se oculta la señal importante. La siguiente es la distribución de entrenamiento. La mayoría de los textos usados para entrenar el modelo son documentos cortos, por lo que una entrada de cientos de miles de tokens es una situación desconocida. El modelo puede procesar esa longitud según sus especificaciones, pero eso no garantiza la calidad del razonamiento.

Por eso, en la práctica hace falta una intuición del «contexto efectivo». Aunque la especificación sea de 200.000 tokens, es más seguro asumir que el tramo en el que se mantiene la calidad en tareas complejas es mucho más corto. La cifra de la especificación significa «puedes introducir esta cantidad sin obtener un error», no «puedes introducirla y el modelo seguirá siendo inteligente».

La especificación solo es un límite superior; el presupuesto de atención se divide más cuanto más aumentan los tokens
La especificación solo es un límite superior; el presupuesto de atención se divide más cuanto más aumentan los tokens

El contexto de un agente no solo es largo: también está desordenado

En los agentes, el problema empeora un nivel. Como vimos en la primera parte, el contexto de un agente acumula resultados de llamadas a herramientas, y esa acumulación no solo es larga: también contiene contradicciones.

Veamos un escenario típico. El agente lee un archivo para corregir un error, lo modifica y vuelve a leerlo. Ahora el contexto contiene, uno junto al otro, la versión anterior y posterior del mismo archivo. También incluye registros de pruebas fallidas y exitosas. No hay garantía de cuál consultará el modelo en su siguiente decisión. Así, ve la versión antigua, dice «Todavía hay un error» y vuelve a iniciar una corrección ya terminada.

Estos patrones de fallo tienen nombre. context poisoning ocurre cuando información incorrecta, como un resumen con alucinaciones, entra en el contexto y contamina en cadena las decisiones posteriores; context distraction, cuando el historial acumulado es tan largo que el modelo repite patrones pasados en vez de seguir instrucciones nuevas; context confusion, cuando se mezclan datos parecidos pero distintos y causan confusión; y context clash, cuando chocan informaciones contradictorias. Aunque no conozcas los nombres, los síntomas resultan familiares. Que un agente repita el mismo error al final de una sesión o haga lo que se le pidió no hacer suele deberse a uno de estos cuatro casos.

Cuatro patrones de fallo del contexto que provocan la degradación al final de la sesión
Cuatro patrones de fallo del contexto que provocan la degradación al final de la sesión

Señales de degradación de la calidad

Si aparecen las siguientes señales en una sesión larga, sospecha de un problema de contexto.

  • Vuelve a tratar problemas ya resueltos o lee repetidamente el mismo archivo
  • Empieza a incumplir reglas fijadas al principio, como las convenciones de código o los archivos que no debe tocar
  • Las respuestas se vuelven prolijas y se desvían hacia un tema de mucho antes, en lugar de responder a la pregunta anterior
  • Ignora la información recién proporcionada y responde con datos obsoletos que aparecen en algún punto del contexto

Lo importante es que el modelo no se está «cansando». Es una máquina sin estado que vuelve a leer desde el principio en cada turno. Lo que cambia no es el modelo, sino el estado del contexto que debe leer. La calidad de salida cae porque la entrada es larga, desordenada y contradictoria.

Resumen

  • Que algo esté en el contexto no significa que se vaya a usar bien. Tanto lost in the middle, donde cae la recuperación de la información central, como context rot, donde la longitud por sí sola reduce el rendimiento, son fenómenos confirmados por la investigación.
  • La cifra de la especificación es un límite superior, no una garantía de calidad. Cuanto más complejo sea el razonamiento necesario, más corto debe considerarse el contexto efectivo frente a la especificación.
  • El contexto del agente acumula residuos de llamadas a herramientas e incluso contradicciones. Los cuatro patrones —poisoning, distraction, confusion y clash— son los principales responsables de la degradación al final de la sesión.

Con el diagnóstico terminado, a partir de la próxima parte pasamos al tratamiento. Empezamos por las herramientas básicas, /clear y /compact. Ambas «vacían el contexto», pero sus principios de funcionamiento son completamente distintos, y usarlas mal puede borrar el contexto de trabajo. Estableceremos cuándo vaciar y cuándo compactar.

Seguir leyendo