Headroom: La herramienta de Netflix que hace que los agentes de IA sean 10 veces más baratos

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Este es Headroom, una herramienta de código abierto que comprime todo lo que lee tu agente de IA,
00:00:04es decir, llamadas a herramientas, archivos de código y RAG, antes de que llegue al LLM, lo que significa que puedes reducir tokens
00:00:09en un 60 o incluso un 95% para obtener la misma respuesta. Y lo inteligente es que es reversible, por lo que el
00:00:14modelo puede pedir la información completa de vuelta cuando realmente la necesite. Pero la compresión
00:00:18normalmente significa que pierdes algo, así que ¿cómo eliminas la mayor parte del contexto y aun así obtienes la respuesta
00:00:23correcta? Esta es una pregunta genuinamente interesante, así que suscríbete y vamos a descubrirlo.
00:00:31Si alguna vez has usado un arnés como ClaudeCode, sabes que utiliza muchos tokens. Cada llamada a una herramienta
00:00:35podría volcar enormes registros JSON, que en su mayoría son ruido, restando importancia a la información relevante,
00:00:40y todo esto se introduce en la ventana de contexto, que es por lo que estás pagando.
00:00:45Especialmente si usas algo como Opus en modo UltraCode, que ejecuta flujos de trabajo dinámicos,
00:00:50iniciando subagentes paralelos sin límite de tokens. Es por esto que Tejas Chopra, un desarrollador senior en Netflix,
00:00:57creó Headroom, que funciona detectando el tipo de contenido y manteniendo la información importante.
00:01:01Así que, para matrices JSON, mantiene las anomalías y casos extremos, tiene un compresor de código que lee el
00:01:06árbol de sintaxis real, y cuando lee registros de compilación, mantiene los fallos y descarta las pruebas que pasan.
00:01:11Pero aquí está la parte interesante. Para texto plano, Headroom utiliza su propio modelo llamado CompressBase,
00:01:17que Tejas entrenó él mismo solo para compresión, y este modelo se ejecuta localmente en tu máquina.
00:01:22Headroom afirma que ya ha ahorrado a los usuarios alrededor de 700.000 dólares en tokens,
00:01:26y lo que es realmente ingenioso es que deja un rastro en el texto comprimido,
00:01:30que contiene un hash que el modelo puede usar para recuperar los datos sin comprimir si alguna vez los necesita.
00:01:35Ahora, si has visto el video de James sobre Caveman, eso también reduce el contexto,
00:01:39pero desde la dirección opuesta, y explicaré más sobre eso más adelante en el video.
00:01:43Pero por ahora, veamos un ejemplo básico de Headroom para entender cómo funciona.
00:01:46Ahora, Headroom funciona mediante un servidor Python que se coloca entre tu aplicación,
00:01:50así que esto podría ser código rastreado, y por ejemplo, los servidores de Anthropic.
00:01:54Entonces, cuando vuelve un resultado de llamada a una herramienta, el proxy lo comprime usando Rust bajo el capó,
00:01:59y simplemente envía la versión comprimida a la API.
00:02:01Así que puedes instalar el servidor con pip, pero voy a usar uv y asegurarme de que la versión de Python
00:02:06sea la 3.12, porque no funcionará en versiones más nuevas que esa.
00:02:09Luego ejecuta el comando de proxy de headroom desde esta biblioteca, lo que activa el proxy en este puerto.
00:02:14Headroom también tiene un SDK para TypeScript o Python,
00:02:17y para la demostración, vamos a usar el de Python para crear una aplicación usando el SDK de Claude.
00:02:22Así que podemos instalar ambos de esta manera, y luego estamos listos para pasar por la aplicación.
00:02:25Ahora, el plan es mostrarte cómo usar Headroom con Claude Code más adelante,
00:02:29pero primero quería mostrarte cómo funciona detrás de escena.
00:02:32Así que para esta aplicación, tenemos un prompt de usuario para leer todos los archivos de registro y encontrar el error,
00:02:36así como la causa raíz. Y desde aquí, vamos a simular la llamada a la herramienta.
00:02:40Así que vamos a conseguir que Claude haga una llamada a una herramienta bash para hacer cat al archivo de registro del servidor,
00:02:44que contiene un montón de registros falsos y se importa aquí arriba.
00:02:47Y luego vamos a devolver los resultados de la llamada a la herramienta.
00:02:49Ahora, la razón por la que no simplemente le damos a Headroom el archivo de texto directamente
00:02:52es porque solo comprime la salida de la llamada a la herramienta.
00:02:54Así que aquí especificamos el modelo y debajo, estamos usando la función de compresión de headroom
00:02:59para tomar el mensaje con el modelo para un conteo preciso de tokens.
00:03:02Headroom en realidad no usa Haiku.
00:03:04Y luego le damos la URL base del proxy.
00:03:06Y luego tenemos un montón de registros de control para fines de prueba,
00:03:08mostrándote el mensaje antes y después de headroom,
00:03:11y algunos registros de control más mostrando el porcentaje de ahorro.
00:03:13Y después de eso, pasamos el mensaje comprimido de headroom a Claude Code,
00:03:17que también contiene el prompt del usuario.
00:03:18Así que ahora si ejecutamos ese archivo, podemos ver que headroom ha ahorrado el 98% de los tokens.
00:03:23Así que aquí están los tokens antes y aquí están los tokens después.
00:03:26Así que ahorra más de 17.000 tokens.
00:03:28Y es obvio verlo cuando miramos el antes y el después.
00:03:31Así que si subimos, este es el antes, así que esto es lo que normalmente se envía a Claude Code.
00:03:35Obtenemos el prompt del usuario, la llamada a la herramienta y la respuesta de la herramienta, que es todo el archivo de registro.
00:03:39Y si miramos aquí lo que envía headroom, podemos ver que obtenemos el mismo mensaje de usuario y llamada a herramienta,
00:03:43pero la respuesta de la herramienta es mucho menor.
00:03:45Y lo que ha hecho aquí es usar compresión estadística para eliminar tokens redundantes.
00:03:50Así que ha eliminado 419 registros de información similar y los ha comprimido en un resumen.
00:03:54Ahora aquí podemos ver debajo que headroom le dice a Claude que esta es la salida comprimida.
00:03:58Puede recuperarla usando este hash.
00:04:00Ahora aquí vemos una de las desventajas inmediatas de headroom es que Claude piensa que no tiene
00:04:05suficiente información para completar la tarea, pero definitivamente la tiene.
00:04:08Así que lo que vamos a hacer es ejecutar nuestro archivo de nuevo.
00:04:10Y podemos ver que esta vez todavía tenemos el 98% de ahorro, pero tenemos mucha más información de Claude.
00:04:16Probemos otra demostración.
00:04:17Como de costumbre, necesitamos ejecutar el proxy de headroom, pero esta vez le estoy dando más parámetros.
00:04:21Así que aquí podemos ver que estoy añadiendo el valor ML, que usa el modelo de compresión localmente para comprimir texto plano.
00:04:26Y he añadido código para hacer disponible el compresor consciente del código.
00:04:30Y luego he añadido la bandera de consciente del código para activarlo.
00:04:32Así que ahora podemos ver que está habilitado aquí.
00:04:34Luego voy a ejecutar Claude Code, pero primero voy a establecer la URL base al proxy.
00:04:39Y así, con eso en su lugar, le voy a dar a Claude un prompt de leer cada archivo TS en este proyecto
00:04:44y darme una descripción profunda de lo que este proyecto está haciendo con citas del código relevante.
00:04:49Y después de un tiempo, me da una respuesta diciéndome que ha leído todos los archivos TypeScript
00:04:53a través de los cinco paquetes y me ha dado una descripción general predeterminada.
00:04:56Pero si ejecutamos el comando de contexto, que he hecho antes, podemos ver que ha usado 89.1k tokens.
00:05:02Ahora, de hecho, seguí adelante y ejecuté un prompt similar en Claude sin usar headroom.
00:05:06Y si bajamos hasta el final y vemos dónde causamos el subcomando de contexto,
00:05:10esto ha usado un poco más de tokens.
00:05:11Ahora, no estoy seguro de por qué eligió usar la ventana de contexto de 1 millón de Opus aquí.
00:05:16n ha elegido la ventana de contexto de 200k aquí, pero podemos hacer curl a este endpoint con formato jq
00:05:21para ver exactamente de dónde provino la compresión del proxy.
00:05:23Ahora, esto contiene mucha información, así que me tomó un tiempo encontrarla.
00:05:26Pero si subimos, podemos ver cuántos tokens fueron ahorrados por la compresión de headroom
00:05:30e incluso ver cuánto dinero nos ahorró la compresión.
00:05:32Ahora, por supuesto, todo esto fue solo desde un prompt.
00:05:35Pero imagina si tuviera varias sesiones de Claude Code ejecutándose y tuviera a headroom comprimiendo todas las llamadas
00:05:39a herramientas. Imagina cuántos tokens más ahorraría.
00:05:42También quiero señalar que cuando ejecuté el prompt exacto con esfuerzos bajos en Opus,
00:05:46headroom en realidad no hizo ningún ahorro de tokens.
00:05:49Solo fue cuando pasé de bajo a medio que los ahorros de tokens fueron visibles.
00:05:53Así que tal vez si estuviera en alto, extra alto o incluso máximo, entonces ahorraría aún más tokens.
00:05:57Pero de todos modos, esa fue una visión general rápida de headroom.
00:06:00Y por supuesto, hay muchas más características que podría haber revisado,
00:06:03como la memoria entre agentes, que permite a Claude, Codex y otros arneses
00:06:07compartir exactamente el mismo contexto comprimido.
00:06:09Headroom Learn, que extrae información de tus sesiones fallidas para averiguar qué comprimió
00:06:12demasiado y aprende para no cometer el mismo error en el futuro,
00:06:15así como integraciones con SDK populares.
00:06:18Pero hay una cosa bastante importante a considerar sobre Headroom.
00:06:21Cada vez que el modelo no obtiene la información que necesita
00:06:24y le pide a Headroom que proporcione los datos completos, hace un segundo viaje de ida y vuelta,
00:06:28lo que significa que terminas usando más tokens con Headroom en algunos casos que sin él.
00:06:33Pero supongo que esta es la ventaja de usar la función Headroom Learn,
00:06:36que intenta evitar que eso suceda cada vez más en el futuro.
00:06:39Pero ¿recuerdas cuando hablé sobre Caveman antes en el video?
00:06:42Bueno, Caveman reduce tokens instruyendo al modelo a responder en fragmentos cortos,
00:06:46eliminando palabras de relleno y demás.
00:06:48Pero como acabas de ver en la demostración, Headroom encoge lo que el modelo lee
00:06:51antes de que siquiera llegue al modelo.
00:06:52Así que uno corta la salida mientras que el otro corta la entrada,
00:06:56lo que significa que técnicamente puedes usarlos juntos para un máximo ahorro de tokens,
00:07:00si realmente te importa tanto ahorrar tokens.

Key Takeaway

Headroom utiliza técnicas de compresión estadística, sintáctica y un modelo local para reducir drásticamente el consumo de tokens en agentes de IA, permitiendo ahorros de hasta el 95% en las llamadas a la API.

Highlights

  • Headroom comprime archivos de código, registros y llamadas a herramientas antes de enviarlos a un LLM, reduciendo el consumo de tokens entre un 60% y un 95%.

  • La compresión es reversible mediante el uso de hashes en el texto comprimido, permitiendo que el modelo recupere los datos originales cuando es necesario.

  • El sistema utiliza un compresor consciente de la sintaxis para el código y un modelo local llamado CompressBase para el texto plano.

  • El ahorro acumulado reportado por los usuarios de Headroom alcanza los 700.000 dólares en costos de tokens.

  • La herramienta opera como un proxy entre la aplicación del usuario y la API del modelo (como Claude), facilitando su integración mediante un servidor en Python.

Timeline

Concepto y funcionamiento base

  • Headroom reduce tokens al comprimir entradas como registros JSON, archivos de código y resultados de RAG.
  • El sistema mantiene la capacidad de recuperar datos originales mediante hashes incrustados si el modelo requiere información detallada.
  • La compresión distingue tipos de contenido: mantiene anomalías en JSON, analiza árboles de sintaxis en código y filtra fallos en registros de compilación.

Esta herramienta soluciona el alto costo de los tokens en agentes de IA que vuelcan grandes cantidades de datos redundantes en la ventana de contexto. Al interponer un proxy que comprime la información antes de llegar al modelo, se optimiza el uso de la ventana de contexto. La reversibilidad asegura que la utilidad no disminuya al eliminar ruido informativo.

Implementación y demostración técnica

  • El proxy se instala mediante Python 3.12 y requiere el uso de librerías como uv para su ejecución.
  • Las pruebas demuestran una reducción de tokens del 98% en la lectura de archivos de registro mediante compresión estadística.
  • La integración con modelos como Claude permite ajustar el nivel de compresión, siendo los ahorros más visibles en configuraciones de esfuerzo medio o superior.

La puesta en marcha implica configurar un servidor que intercepta las llamadas de la API. En los ejemplos prácticos, se observa cómo el proxy resume cientos de registros redundantes, indicando al modelo que los datos están comprimidos. La herramienta permite verificar el ahorro exacto de tokens y el impacto económico mediante consultas al proxy.

Consideraciones y sinergias

  • El uso de información comprimida puede provocar viajes de ida y vuelta adicionales a la API si el modelo necesita datos completos, lo cual puede aumentar el costo en casos específicos.
  • La función 'Headroom Learn' permite al sistema adaptarse y evitar re-comprimir excesivamente información necesaria en el futuro.
  • Headroom puede combinarse con otras técnicas como 'Caveman', la cual optimiza la salida del modelo, para maximizar el ahorro total de tokens.

A pesar de la alta eficiencia en la reducción de tokens, existe una compensación posible si el modelo solicita continuamente datos sin comprimir. La integración de sistemas que comprimen la entrada (Headroom) junto con los que optimizan la salida (Caveman) ofrece una estrategia complementaria para reducir gastos operativos en agentes autónomos complejos.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video