Context Rot: Por qué más tokens no significan mejores respuestas
Es tentador pensar que enviar a Claude más información solo puede ayudar, ya que el modelo simplemente puede ignorar lo que no es relevante.
Busca en todas las páginas de la documentación
Es tentador pensar que enviar a Claude más información solo puede ayudar, ya que el modelo simplemente puede ignorar lo que no es relevante.
En la práctica, rellenar un prompt con material innecesario o irrelevante tiende a degradar la calidad de la respuesta, no solo a desperdiciar tokens.
Este efecto tiene un nombre que vale la pena conocer: context rot.
Entenderlo cambia la forma en que piensas sobre la ingeniería de contexto, de "recortar contexto para ahorrar dinero" a "recortar contexto porque también produce mejores respuestas".
Una suposición inicial útil, y errónea, es que un modelo de lenguaje lee un prompt como lo hace un índice de búsqueda: encuentra la parte relevante e ignora el resto sin coste.
Context rot describe el patrón observado de que esto no es del todo cierto.
A medida que un prompt se llena de material que no es relevante para la pregunta real, las respuestas del modelo pueden volverse menos precisas, menos enfocadas o más propensas a captar detalles irrelevantes como si importaran.
Una analogía simple: imagina que te hacen una pregunta en una habitación ruidosa frente a una silenciosa.
Todavía puedes oír la pregunta en ambos casos, pero tu atención y precisión no son idénticas, a pesar de que las palabras que te dijeron fueron las mismas.
Un prompt con mucho material irrelevante es la habitación ruidosa.
# Misma pregunta, dos prompts. El segundo entierra la línea relevante en ruido.
focused_prompt = "What does validate_email() return for 'a@b'? \n\ndef validate_email(s): return '@' in s and '.' in s.split('@')[-1]"
noisy_prompt = f"{unrelated_500_line_file}\n\nWhat does validate_email() return for 'a@b'?"Ambos prompts contienen la información necesaria para responder correctamente.
Solo uno de ellos hace que esa información sea fácil de encontrar.
El context rot interactúa con varios aspectos de cómo un modelo procesa un prompt.
La relación señal-ruido es el marco más simple: si la información relevante es una pequeña fracción del prompt total, el modelo tiene que trabajar más para distinguir lo que importa de lo que no, y ese trabajo no está garantizado que sea infalible.
La dilución de la atención es la idea relacionada de que el enfoque efectivo de un modelo se distribuye en todo el prompt, por lo que un prompt dominado por material irrelevante deja una capacidad comparativamente menor para la parte que realmente responde a la pregunta.
El contenido distractor es un modo de fallo específico: material irrelevante que se parece a la respuesta correcta, una variable con un nombre similar, un hecho superficialmente relacionado, puede engañar activamente al modelo en lugar de ser simplemente ignorado.
Es por esto que el context rot no son simplemente "tokens desperdiciados".
Los tokens desperdiciados cuestan dinero pero no necesariamente cambian la respuesta.
El context rot cambia la respuesta, en cualquier dirección, a veces para peor, puramente debido a lo que más había en el prompt.
# Un distractor: una función con el mismo nombre en otra parte del archivo que no es la que se está preguntando.
distractor_prompt = """
def validate_email(s): # en el módulo `legacy`, obsoleto, lógica diferente
return len(s) > 0
def validate_email(s): # en el módulo `current`, el que se pregunta realmente
return "@" in s and "." in s.split("@")[-1]
Which validate_email is used by the current signup flow?
"""Un modelo que lee esto tiene que determinar correctamente qué definición es relevante, una tarea que se hace más difícil al incluir la obsoleta en absoluto si no es realmente necesaria para responder a la pregunta.
El context rot tiene una implicación directa en cómo los equipos deben pensar sobre el crecimiento de la ventana de contexto.
A medida que los modelos admiten ventanas de contexto cada vez más grandes, es tentador tratar "cabe" como equivalente a "debería incluirse".
El context rot es el argumento en contra de esa equivalencia: una ventana más grande cambia lo que es posible enviar, no lo que es aconsejable enviar.
La respuesta práctica es el mismo conjunto de técnicas cubiertas en esta sección, aplicadas por una segunda razón más allá del coste.
El prompting de contexto mínimo mantiene alta la relación señal-ruido por construcción, ya que solo se incluye material relevante.
El resumen reduce el volumen mientras, si se hace bien, preserva la señal que importa, lo que puede mejorar la relación señal-ruido incluso para material que no se puede eliminar por completo.
El recorte de grafos de dependencias aplica la misma idea al código, utilizando la estructura del grafo en lugar del juicio manual para decidir qué es realmente relevante.
| Enfoque | Efecto en el Coste | Efecto en la Calidad |
|---|---|---|
| Enviar todo "por si acaso" | Mayor, escala con el material total | Riesgo de dilución y efectos distractores |
| Prompting de contexto mínimo | Menor, escala solo con material relevante | Generalmente mejora el enfoque, si la selección es precisa |
| Resumen | Menor para documentos reutilizados | Depende de la calidad del resumen; puede perder detalles finos |
| Sin recorte, pero una ventana de contexto más grande | Mayor | No se resuelve solo con el tamaño de la ventana; el rot se trata de relevancia, no de capacidad |
Vale la pena ser preciso sobre lo que el context rot no significa.
No significa que los prompts cortos sean siempre mejores que los largos, o que cada documento largo sea perjudicial de incluir.
Significa que la relevancia, no la longitud, es la variable que importa, y que la longitud sin relevancia conlleva un coste real en ambos lados del libro de contabilidad.
La tendencia del material irrelevante o excesivo en un prompt a degradar la calidad de la respuesta del modelo, más allá de simplemente costar más tokens.
No.
No exactamente; la longitud no es la variable que importa por sí sola, la relevancia sí.
Un prompt largo compuesto enteramente de material relevante no sufre necesariamente de context rot como puede hacerlo un prompt corto rellenado con material irrelevante.
Material irrelevante que se parece superficialmente a la respuesta correcta, como una variable con el mismo nombre definida dos veces, que puede engañar activamente al modelo en lugar de ser simplemente ignorado.
No, una ventana más grande solo cambia cuánto puede caber técnicamente.
No cambia si el material irrelevante diluye el enfoque o introduce distractores una vez que se incluye.
El prompting de contexto mínimo es la contramedida directa: al incluir solo fragmentos relevantes, mantiene alta la relación señal-ruido por construcción, lo que aborda el context rot y reduce el coste al mismo tiempo.
Sí.
Puede hacerlo, cuando el resumen preserva la señal relevante mientras elimina el volumen que no añadía nada.
Un resumen deficiente que elimina el detalle realmente relevante reemplaza un problema con otro, por lo que la calidad del resumen sigue importando.
No, se aplica a cualquier prompt: un ticket de soporte rellenado con historial de cuenta no relacionado, una pregunta legal enterrada en un contrato completo, o una pregunta de cliente rodeada de giros de conversación previos no relacionados.
Esas son palancas separadas.
Trata "debería incluir esto" como una pregunta real con un coste real en ambos lados, en lugar de optar por "más contexto solo puede ayudar".
Versiones de Stack: Escrito contra la línea de modelos Claude actual a partir de ~junio de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (el predeterminado), y Claude Haiku 4.5 - y el SDK oficial de Python
anthropic(última versión 0.x). Los nombres de modelos, precios y versiones de SDK cambian rápidamente; verifica los detalles actuales en platform.claude.com/docs antes de confiar en ellos.
Revisado por Chris St. John·Última actualización: 16 jul 2026