Anthropic finalmente solucionó el problema de la ventana de contexto de 1 millón

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00La ventana de contexto de 1 millón suena como una gran mejora, pero en realidad es mucho peor de lo que la mayoría cree.
00:00:05Y es exactamente por esto que el ingeniero que trabaja en Claude Code, Tarik, escribió el artículo.
00:00:09Si piensas que Claude Code solo empieza a empeorar en el millón de tokens, o que 1 millón es tanto que no tienes que preocuparte, te equivocas.
00:00:17La degradación en realidad comienza mucho antes de la mitad de la ventana.
00:00:21Y la solución a la que recurre la mayoría, que es la compactación, suele empeorarlo.
00:00:24Al final de este video, sabrás exactamente cómo evitar que Claude Code se vuelva más tonto, de la misma forma en que lo hace el equipo de Anthropic.
00:00:31Claude Code se siente degradado a pesar de que los modelos en sí son realmente potentes.
00:00:35Puede que hayas notado que alucina más, que hay que recordarle una y otra vez las instrucciones que diste antes, y que olvida esas instrucciones a largo plazo.
00:00:44Nosotros también lo notamos cuando ejecutábamos tareas largas y el rendimiento de Claude se sentía reducido.
00:00:48Pero hay una razón detrás de todo esto.
00:00:50Ahora, los modelos posteriores a Opus 4.5 vienen con una ventana de contexto de 1 millón en lugar de la anterior de 200,000.
00:00:56Aunque esta mejora hace pensar que la mayoría de los problemas anteriores desaparecerán con una ventana de 1 millón, solo suena bien en teoría.
00:01:03Porque ahora puedes incluir más cosas a la vez en la ventana de contexto y fundamentarlo con más documentos e información para que Claude no se desvíe de su tarea.
00:01:12Una ventana de contexto de un millón también abre la puerta a tareas de larga duración sin preocuparse demasiado por los problemas de contexto que solíamos enfrentar.
00:01:19Pero la cuestión es que esto no está del todo resuelto.
00:01:22La ventana de contexto de un millón es en realidad un arma de doble filo.
00:01:26Aunque permite que Claude trabaje más tiempo y contenga más información a la vez, todo tiene un costo.
00:01:30Abre la puerta a la "putrefacción del contexto" (context rot).
00:01:32La putrefacción del contexto significa que el rendimiento del modelo se degrada con más información en su ventana, porque con una ventana sobrecargada, tiene demasiadas cosas a las que prestar atención y no puede mantenerse enfocado.
00:01:42Y con una ventana de un millón, tu contexto se satura mucho más, lo que significa que hay mucha más información disponible para interferir con el razonamiento de Claude que con la ventana de 200,000.
00:01:53La putrefacción del contexto tampoco es algo que ocurra solo con una ventana extremadamente sobrecargada.
00:01:57Según el creador de Claude Code, la putrefacción ocurre alrededor de los 300,000 a 400,000 tokens, mucho menos de un millón, a solo el 40% de su uso.
00:02:07Así que, sin importar el tamaño de la ventana de contexto, necesitamos hacer cosas para evitar esta putrefacción.
00:02:11Y saber esto cambiará la forma en que trabajas con la ventana de un millón.
00:02:15Ahora, un breve resumen.
00:02:16La ventana de contexto es todo lo que el modelo ve a la vez, lo que incluye la conversación hasta el momento, el archivo Claude.md, el system prompt, los archivos leídos en la sesión y cada salida de llamadas de herramientas.
00:02:26Cada prompt añade más, y una vez que la ventana se llena, resumes para continuar con una ventana más fresca, lo que es la compactación.
00:02:32Si no gestionas bien el contexto, hay cuatro formas en las que tu agente puede fallar.
00:02:37Esto se vuelve aún más evidente y problemático en agentes de larga duración.
00:02:40La "contaminación del contexto" es la primera, que ya discutimos y es la razón por la que ocurre.
00:02:45La "deriva de objetivos" (goal drift) es la segunda.
00:02:46Esto sucede cuando el agente se desvía de lo que necesita hacer porque tiene demasiadas cosas en las que enfocarse o, en términos simples, ha olvidado los objetivos hacia los que debía trabajar.
00:02:55Esto puede haberte pasado a menudo si trabajas con Claude Code, donde quieres que tu interfaz se vea de cierta manera y ya lo especificaste, pero no lo sigue y tienes que recordarle el objetivo real.
00:03:05La "corrupción de la memoria" es la tercera, y ocurre cuando, durante la ejecución, el estado interno del agente o los hechos almacenados se vuelven incorrectos, y continúa actuando basándose en ese estado erróneo.
00:03:14A menudo es difícil identificar la causa exacta cuando los agentes funcionan durante períodos largos; no queda claro dónde se originó el error.
00:03:21Por ejemplo, la corrupción de la memoria puede verse como un archivo escrito de una manera por el propio agente y luego modificado por un subagente que no está en el contexto actual.
00:03:29El agente se refiere a su propia memoria desactualizada y sigue operando como si el archivo aún existiera en la misma forma en que lo creó originalmente.
00:03:37La "inexactitud en la toma de decisiones" es la última.
00:03:39Ocurre cuando un agente toma decisiones contradictorias en situaciones casi idénticas, como usar un patrón de manejo de errores en un lugar y uno diferente en otro.
00:03:48Todos estos problemas ocurren cuando el contexto no se gestiona correctamente e impactan en el rendimiento a largo plazo de los agentes.
00:03:53Estos son exactamente los factores que la mayoría de los entornos de agentes intentan optimizar.
00:03:57Así que, una vez que le has pedido a Claude que haga algo y ha terminado, hay cinco opciones posibles sobre qué sucede después en cuanto a tu próxima instrucción.
00:04:06Cada una depende de cuál sea tu siguiente prompt.
00:04:08Si usas cada una correctamente, la forma en que trabajas con Claude puede mejorar mucho.
00:04:12Aunque la opción más natural es simplemente continuar, las otras opciones realmente te ayudan a gestionar tu contexto con mayor eficacia.
00:04:18Por eso debes decidir cuidadosamente si realmente quieres continuar en el mismo flujo o iniciar una nueva sesión.
00:04:24Una vez que el contexto se satura, tienes dos formas de liberarlo; la primera opción es la compactación, que ya explicamos como un resumen del contenido existente.
00:04:32Pero debes ser claro sobre cuándo quieres resumir, porque el resumen es con pérdida y muchos detalles que pueden parecerte importantes pero no para Claude pueden descartarse.
00:04:41Como resultado, un contexto importante puede dejar de existir en la ventana de contexto.
00:04:44Es mejor controlar la compactación tú mismo en lugar de dejar que Claude realice la auto-compactación, porque cuando ocurre a mitad de una tarea, se vuelve más desordenada.
00:04:52Tiende a conservar lo que cree importante y elimina todo lo que considera que no será necesario, por lo que Claude es menos fiable durante la compactación.
00:05:00En ese momento, el enfoque de Claude es puramente la sumarización y se le despoja de contexto de apoyo como el system prompt y otros elementos que normalmente lo hacen más capaz.
00:05:08Luego depende en gran medida de sus propias suposiciones sobre qué es importante, lo que a menudo lleva a malas decisiones de compactación.
00:05:14La mala compactación suele ocurrir cuando el modelo no puede determinar claramente la dirección de tu trabajo.
00:05:19Por ejemplo, si estás en una larga sesión de depuración y hubo una advertencia encontrada antes de la auto-compactación, si le pides que corrija esa advertencia, no sabrá de qué estás hablando.
00:05:29Esto sucede porque la sesión se centró en la depuración como un todo, por lo que solo se conservó un resumen general de la actividad y la advertencia específica fue tratada como ruido y descartada.
00:05:39El "sesgo de recencia" lo empeora.
00:05:41Cuando se activa la compactación, el prompt prioriza conservar los detalles recientes de lo que se estaba trabajando.
00:05:46Por lo tanto, información anterior pero aún importante puede ser ignorada o dejada fuera.
00:05:50Si algo se hizo incorrectamente antes, el modelo podría no ser consciente de ello después de la compactación.
00:05:54Solo tiene acceso al resumen a nivel de transcripción, no al estado completo del proyecto, porque el historial de llamadas de herramientas no se conserva completamente durante la compactación.
00:06:01Puedes establecer flags para controlar cuándo ocurre la auto-compactación, pero es algo que deberías gestionar activamente con más frecuencia.
00:06:07Activa la compactación alrededor del rango de 300,000 a 400,000 mencionado por el creador, porque es allí donde suele aparecer la putrefacción, y proporciona siempre una instrucción de compactación tú mismo, porque Claude responde con más cuidado cuando se incluyen instrucciones explícitas.
00:06:22Dile qué decisiones, restricciones y problemas descubiertos debe llevar adelante para que sepa qué priorizar.
00:06:27Así que deberías pulsar "compact" cuando realmente quieras que el contexto del flujo de la tarea anterior pase a la nueva ventana, no cuando quieras un nuevo comienzo.
00:06:34Pero antes de seguir, hablemos de nuestro patrocinador.
00:06:37Verdant, una plataforma impulsada por IA que ayuda a los creadores a convertir ideas en productos terminados.
00:06:41Estás a mitad de la construcción, finalmente en la zona, y tus créditos se agotan.
00:06:45Tu IA se detiene en seco, el impulso se pierde.
00:06:47Todas las herramientas de codificación por IA te hacen esto, pero Verdant no.
00:06:50Cuando tus créditos llegan a cero, simplemente cambia al modo ecológico, un modo de costo cero que mantiene tu IA funcionando sin gastar un dólar más.
00:06:56Sin interrupciones, sin recargas, sin pérdida de impulso.
00:06:59Simplemente sigues construyendo.
00:07:00Y cuando sí tienes créditos, no estás atrapado eligiendo entre Claude, GPT o Gemini.
00:07:04El modo multi-plan de Verdant ejecuta los tres juntos como un comité de decisión, dándote mejores planes sin ansiedad por el modelo.
00:07:10¿Quieres aún más flexibilidad?
00:07:11BYOK te permite conectar tu propia clave de API directamente en Verdant.
00:07:15Usa los créditos de Claude o GPT de tu empresa, sin cargos de plataforma.
00:07:18Solo pagas por lo que realmente usas.
00:07:20Obtienes 100 créditos y 7 días para probarlo.
00:07:23Haz clic en el enlace del comentario fijado y prueba Verdant gratis.
00:07:26La segunda opción es usar el comando "clear", que elimina todo el contexto e inicia una nueva sesión con un contexto vacío.
00:07:32A diferencia de la compactación, no se transfiere nada, y solo lo que vuelvas a proporcionar permanece en la ventana de contexto.
00:07:37Al igual que con la compactación, no deberías usar "clear" solo cuando te quedas sin contexto.
00:07:41Si vas a cambiar a una tarea no relacionada, es sencillo limpiar la sesión y comenzar de cero, para que la tarea anterior no interfiera con la nueva.
00:07:49Por ejemplo, si le pides al agente que escriba casos de prueba para una aplicación en la que trabajas, es posible que no quieras que retenga detalles sobre cómo se generaron esos casos de prueba.
00:07:57En lugar de continuar con la depuración dentro del mismo contexto, puedes iniciar una sesión nueva.
00:08:01De esta forma, Claude puede trabajar en la depuración de tu aplicación con mayor eficacia sin ser influenciado por cómo generó previamente los casos de prueba.
00:08:08Ahora hay otro enfoque que puedes usar, que es combinar tanto "clear" como la compactación.
00:08:12Esto te permite conservar solo lo que quieres y descartar todo lo demás.
00:08:16La idea es usar un formato JSON estructurado que capture la información que deseas preservar.
00:08:21Puedes crear un comando personalizado para que puedas reutilizarlo con frecuencia.
00:08:24En ese comando, puedes incluir una estructura JSON que contenga la tarea completa, el estado actual, las restricciones, los problemas descubiertos y cualquier otro detalle relevante que quieras que Claude retenga, y luego darle instrucciones de guardar esto en un archivo.
00:08:35Este enfoque te permite obtener lo mejor de ambos métodos.
00:08:38Una vez que ejecutas el comando, analizará toda la conversación y el estado actual de la aplicación, algo que una compactación normal no preserva de manera fiable, y guardará todo en el archivo como se especificó.
00:08:48Un esquema es mucho más estricto que la prosa, así que cuando Claude sigue una estructura definida, puede representar lo que es importante de forma más consistente y precisa.
00:08:56Después de que la información se haya guardado en el archivo, puedes usar con seguridad el comando "clear" para eliminar todo de la ventana de contexto.
00:09:02Luego puedes iniciar una nueva sesión e instruir a Claude para que se refiera a ese documento para reunir el contexto e implementar la siguiente tarea a partir de ahí.
00:09:14Como se mencionó antes, a medida que el contexto crece, el enfoque del agente puede derivar porque simplemente hay más información compitiendo por atención, y esto es aún más notable con la ventana de contexto de un millón.
00:09:23Esta práctica ayuda a abordar tanto el problema de la deriva de objetivos como los problemas de inconsistencia en las decisiones que discutimos antes.
00:09:29En lugar de avanzar continuamente en una tarea de larga duración, es útil hacer una pausa periódicamente y pedir al agente que resuma lo que ha hecho hasta ahora, junto con las restricciones y otros factores importantes.
00:09:39Cuando haces esto, se refuerzan los objetivos originales y se traen detalles clave de vuelta a la parte más reciente de la ventana de contexto, en lugar de dejarlos enterrados en secciones anteriores.
00:09:48Esto ayuda a garantizar que la información importante se mantenga fresca en el contexto de trabajo del agente y sea menos probable que se pierda durante la compactación o se diluya con el tiempo,
00:09:56por lo que el agente permanece más alineado con la tarea que debe realizar y mantiene una mejor consistencia en sus decisiones.
00:10:02Además, si disfrutas de nuestro contenido, considera presionar el botón de "hype", porque nos ayuda a crear más contenido como este y llegar a más personas.
00:10:09Los subagentes pueden no parecer mucho, pero en realidad son una forma muy importante de gestionar el contexto.
00:10:14Cada subagente es su propia instancia independiente, con una ventana de contexto dedicada, acceso total a herramientas y los permisos que necesita para completar su tarea.
00:10:22Ejecutan el trabajo asignado en ese contexto separado provisto por el agente principal y luego devuelven solo la salida final al contexto principal.
00:10:30Por lo tanto, todas las llamadas de herramientas que hizo, los archivos que leyó, las búsquedas web que realizó y el razonamiento intermedio permanecen dentro del propio contexto del subagente y no contaminan la ventana de contexto del agente principal.
00:10:40Esta es una forma efectiva de reducir la putrefacción del contexto. Las tareas de investigación son el ejemplo más claro.
00:10:45El agente revisa múltiples sitios web, páginas y fuentes, y no quieres que toda esa información cruda se añada continuamente a la ventana de contexto principal.
00:10:53En tales casos, un subagente puede manejar el trabajo de forma independiente y devolver solo la síntesis final.
00:10:58La pregunta clave que deberías hacerte antes de usar un subagente es si necesitarás acceso a los pasos intermedios de nuevo o si solo te importa la salida final.
00:11:07Claude Code también gestiona la orquestación de subagentes por su cuenta y puede generar agentes para manejar tareas automáticamente.
00:11:13Pero a veces necesitas especificar explícitamente en tu prompt que quieres que el trabajo se delegue a un subagente para que se maneje de forma aislada.
00:11:20Así que, si estás trabajando en tareas de investigación, refactorización, sumarización o generación de documentos, deberías considerar separarlas usando subagentes en lugar de tu agente principal.
00:11:30Por último, pero no menos importante, el "rewinding" (rebobinado) es realmente importante comparado con simplemente corregir, ya que elimina partes irrelevantes o incorrectas de la ventana de contexto mientras mantiene solo el estado correcto.
00:11:40Cada vez que Claude comete un error, la gente a menudo intenta volver a escribir el prompt para tomar otro enfoque.
00:11:44Pero una mejor opción es rebobinar y luego proporcionar la dirección correcta en el nuevo prompt.
00:11:49Puedes usar el comando "rewind" o presionar la tecla "escape" dos veces para hacer esto.
00:11:53Después de rebobinar, también puedes resumir desde ese punto para que la conversación hasta esa etapa se preserve como contexto útil mientras se eliminan las partes que llevaron al problema.
00:12:01Rebobinar tiene múltiples beneficios.
00:12:03Primero, limpia la ventana de contexto eliminando la parte donde las cosas salieron mal, lo que resulta en un resumen de compactación más limpio que preserva solo las implementaciones correctas.
00:12:12Incluso si fijas información importante, evitas llevar adelante secciones donde el agente se desvió del objetivo, lo que ayuda a reducir tanto la inconsistencia en las decisiones como la deriva de objetivos.
00:12:21Si estás usando subagentes, rebobinar asegura que reciban un contexto más limpio y preciso cuando se les transfieren tareas, por lo que no se incluyen enfoques incorrectos en su estado de trabajo.
00:12:30Del mismo modo, si usas un comando de transferencia, captura el estado correcto de la aplicación en lugar de uno corrupto o desactualizado.
00:12:37Así que crea el hábito de rebobinar en lugar de corregir repetidamente hacia adelante para que el agente trabaje siempre desde un estado limpio y preciso durante toda la sesión.
00:12:45Eso nos lleva al final de este video.
00:12:47Si deseas apoyar al canal y ayudarnos a seguir haciendo videos como este, puedes hacerlo usando el botón de "super thanks" que aparece abajo.
00:12:54Como siempre, gracias por ver y nos vemos en el próximo video.

Key Takeaway

Evitar la degradación del rendimiento en ventanas de contexto de 1 millón requiere una gestión activa mediante el rebobinado periódico, la compactación manual basada en JSON estructurado y la delegación de tareas secundarias a subagentes aislados.

Highlights

La degradación del rendimiento en Claude Code (context rot) ocurre típicamente entre los 300.000 y 400.000 tokens, mucho antes del límite teórico de 1 millón.

La compactación automática mal gestionada elimina información relevante y diluye el contexto de apoyo, reduciendo la fiabilidad del modelo.

El uso de estructuras JSON para preservar estados, objetivos y restricciones antes de limpiar la sesión permite mantener la consistencia en tareas largas.

El rebobinado (rewind) mediante el comando dedicado o doble escape es superior a la corrección continua, ya que elimina estados corruptos o desviaciones del historial.

La delegación de tareas de investigación o refactorización a subagentes independientes previene la saturación del contexto principal al aislar datos intermedios.

Timeline

La realidad de la ventana de contexto de 1 millón

  • La ventana de 1 millón de tokens es un arma de doble filo que causa putrefacción del contexto (context rot).
  • El rendimiento del modelo se degrada al 40% de su capacidad total, entre los 300.000 y 400.000 tokens.

El aumento de la ventana de contexto permite incluir más información, pero satura la atención del modelo y provoca fallos. La putrefacción del contexto se manifiesta como alucinaciones, olvido de instrucciones previas y pérdida de enfoque en tareas de larga duración.

Problemas críticos en la gestión de agentes

  • Una gestión ineficiente del contexto genera cuatro fallos principales: contaminación, deriva de objetivos, corrupción de memoria e inexactitud en la toma de decisiones.
  • La corrupción de la memoria ocurre cuando el agente actúa sobre estados internos desactualizados después de modificaciones realizadas por subprocesos no presentes en el contexto actual.

Los agentes de larga duración sufren cuando el contexto está saturado. La deriva de objetivos ocurre cuando el agente olvida la meta final debido a la cantidad de información irrelevante, mientras que la corrupción de memoria impide una ejecución técnica consistente al basarse en archivos obsoletos.

Estrategias de limpieza: compactación y comando clear

  • La auto-compactación suele realizarse con pérdida, descartando información que el modelo considera ruido pero que puede ser crítica para la tarea.
  • El comando clear elimina todo el historial, siendo útil al cambiar de tareas no relacionadas para evitar interferencias cruzadas.

La compactación manual es preferible a la automática porque permite al usuario controlar qué instrucciones, restricciones y problemas descubiertos se trasladan a la nueva ventana. El uso de clear es una herramienta de reinicio efectivo cuando la tarea actual no requiere el historial acumulado previamente.

Preservación de contexto mediante JSON y subagentes

  • El uso de archivos estructurados en JSON antes de limpiar el contexto permite recuperar estados precisos de la aplicación en nuevas sesiones.
  • Los subagentes mantienen su propia ventana de contexto independiente, impidiendo que los pasos intermedios de investigación contaminen la sesión principal.

La implementación de un esquema JSON estricto garantiza que el agente resuma el estado del proyecto con mayor consistencia que la prosa. La delegación a subagentes es eficaz para tareas de investigación o refactorización donde solo el resultado final es necesario para el agente principal.

Optimización mediante rebobinado

  • El comando rewind elimina las secciones donde el agente se desvió del objetivo o cometió errores, garantizando un punto de partida limpio.
  • Rebobinar antes de resumir o delegar mejora la calidad del contexto transferido a futuras etapas del trabajo.

La corrección hacia adelante perpetúa errores en el contexto, mientras que el rebobinado permite eliminar la raíz del problema. Mantener siempre un estado limpio mediante esta práctica previene que se incluyan decisiones contradictorias o implementaciones incorrectas en el resumen del proyecto.

Community Posts

View all posts