Context as an Environment: Programmatic Context Management for Long-Horizon Agents
El artículo presenta Scroll, un sistema de gestión de contexto programático que trata las sesiones de agentes como entornos ejecutables con un registro de eventos de solo lectura y un kernel de Python persistente, permitiendo que los LLM gestionen dinámicamente el estado de largo horizonte mediante código mientras alcanzan un rendimiento de vanguardia en evaluaciones de contexto largo.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina una conversación que nunca termina. Estás hablando con un programa informático muy inteligente, uno que puede ayudarte a escribir código, planificar viajes complejos o investigar temas profundos. Al principio, la conversación es fácil. El programa recuerda todo lo que has dicho en los últimos minutos. Pero a medida que la conversación se prolonga durante horas o días, la cantidad de información crece. Eventualmente, se vuelve demasiado para que el programa la sostenga en su memoria inmediata. En el mundo de la inteligencia artificial, esta memoria inmediata se llama ventana de contexto. Es de un tamaño fijo, como un escritorio que solo puede sostener un cierto número de papeles. Cuando la pila de papeles se vuelve demasiado alta, el programa debe desechar algunos para hacer espacio para otros nuevos.
El problema es que el programa no sabe qué papeles son importantes hasta que es demasiado tarde. Si haces una pregunta sobre algo que mencionaste hace tres días, es posible que el programa ya haya descartado ese papel. Las soluciones tradicionales intentan resolver esto tratando de resumir los papeles viejos en una nota corta o seleccionando algunos hechos para mantenerlos en un cuaderno separado. Pero estos métodos son arriesgados. Si el programa desecha un detalle específico, como una fecha o un número, ese detalle se pierde para siempre. No se puede recuperar. Para tareas que requieren mirar hacia atrás en una larga historia para encontrar hechos exactos o rastrear cómo cambió una situación a lo largo del tiempo, perder incluso un solo detalle puede hacer que el programa falle.
Un equipo de investigadores ha propuesto una forma diferente de manejar esta conversación creciente. Llaman a su sistema Scroll. En lugar de intentar meter toda la historia en la memoria inmediata del programa, tratan la historia como un entorno separado y permanente que el programa puede visitar cada vez que lo necesite. Piensa en ello como un archivo vasto y organizado que se encuentra justo fuera del escritorio del programa. El programa no lee todo el archivo a la vez. En su lugar, escribe una pequeña instrucción, como una consulta de búsqueda o un comando, para ir al archivo, encontrar la página específica que necesita y traer solo esa página de vuelta al escritorio.
El núcleo de este sistema es un registro permanente de cada interacción, llamado Registro de Eventos (Event Log). Este registro es como una grabadora de cinta que nunca se detiene, capturando cada mensaje, cada resultado de herramienta y cada decisión en detalle exacto. Está almacenado de forma segura fuera de la memoria inmediata del programa, por lo que nada se pierde. Junto a este registro hay un espacio de trabajo persistente, una especie de caja de arena digital donde el programa puede mantener sus pensamientos y cálculos actuales. Cuando el programa necesita recordar algo del pasado, no depende de un resumen. Escribe un fragmento de código para buscar en el Registro de Eventos, encontrar el momento exacto que está buscando y cargar esa información en su espacio de trabajo.
Este enfoque cambia la forma en que el programa piensa sobre su propia memoria. En lugar de adivinar qué conservar, el programa decide qué buscar en el momento en que es necesario. Si el programa está planeando un viaje y necesita recordar una preferencia que el usuario mencionó hace semanas, escribe un comando para buscar esa preferencia específica. Luego, carga las palabras exactas que el usuario usó y las utiliza para tomar una decisión. El programa solo trae la información necesaria a su vista inmediata. El resto del historial de la conversación permanece guardado de forma segura en el archivo, esperando ser recuperado si el programa lo necesita más tarde.
Para evitar que la vista inmediata se llene demasiado, el sistema tiene una forma de limpiar la información vieja que no se está utilizando actualmente. Cuando el espacio de trabajo se amontona, el sistema mueve las partes más antiguas de la conversación de vuelta al archivo. Sin embargo, a diferencia de otros sistemas que podrían borrar o resumir estas partes viejas, Scroll las mantiene exactamente como son. Crea un mapa pequeño, un índice, que le dice al programa exactamente dónde están almacenadas esas partes antiguas en el archivo. Si el programa se da cuenta más tarde de que necesita revisar una conversación antigua, puede usar este mapa para saltar directamente al lugar correcto y recuperar el texto original. Esto asegura que el programa siempre pueda volver a la fuente, incluso si la información ya no está en su vista inmediata.
Los investigadores probaron este sistema en varios desafíos difíciles diseñados para ver qué tan bien puede un agente de inteligencia artificial manejar conversaciones largas. En una prueba, el sistema tuvo que responder preguntas basadas en un historial de más de un millón de palabras de conversación. En otra, tuvo que actuar como un agente que toma decisiones durante un largo período, utilizando herramientas para reunir información y resolver problemas. Los resultados mostraron que este nuevo método fue altamente efectivo. En una prueba que medía qué tan bien el sistema podía recordar y razonar sobre historias largas, alcanzó una puntuación de 94.8 por ciento. En otra prueba que involucraba diez millones de palabras de historial, obtuvo un 73.1 por ciento, que fue superior a cualquier otro sistema publicado anteriormente. En una prueba donde el sistema tenía que gestionar un entorno creciente mientras resolvía tareas complejas, alcanzó un 86.7 por ciento, superando con creces los mejores resultados previos.
El éxito de este sistema proviene de su capacidad para tratar la memoria como una tarea de programación. Al permitir que el programa escriba sus propias instrucciones para encontrar y usar la información, el sistema aprovecha la capacidad creciente del programa para escribir código. No obliga al programa a comprimir su historial en un resumen que podría perder detalles importantes. En su lugar, le da al programa las herramientas para acceder al historial completo y sin editar siempre que sea necesario. Los investigadores encontraron que este método funciona bien en diferentes tipos de programas potentes, lo que sugiere que la capacidad de gestionar la memoria a largo plazo a través de código es una habilidad general que puede ser aprendida por varios sistemas.
Este trabajo sugiere un cambio en la forma en que construimos agentes inteligentes. En lugar de intentar que la memoria inmediata del programa sea más grande o mejor resumiendo, podemos darle acceso a un registro permanente y buscable de su propia vida. El programa aprende a navegar este registro, decidiendo qué traer al frente y qué dejar atrás. Esto mantiene la vista inmediata clara y enfocada, mientras asegura que la verdad completa del pasado esté siempre disponible. Los investigadores creen que este enfoque podría ayudar a la inteligencia artificial a manejar tareas aún más largas y complejas en el futuro, permitiéndole aprender de una historia mucho más profunda sin perder los detalles que importan.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.