Headroom: Das Netflix-Tool, das KI-Agenten 10-mal günstiger macht

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

Transcript

00:00:00Dies ist Headroom, ein Open-Source-Tool, das alles komprimiert, was Ihr KI-Agent liest,
00:00:04also Tool-Aufrufe, Codedateien und RAG, bevor es das LLM erreicht, was bedeutet, dass Sie Tokens
00:00:09um 60 oder sogar 95 % reduzieren können, um exakt die gleiche Antwort zu erhalten. Und das Clevere daran: Es ist umkehrbar, sodass das
00:00:14Modell die vollständigen Informationen jederzeit wieder anfordern kann, wenn es sie tatsächlich braucht. Aber Kompression
00:00:18bedeutet normalerweise, dass man etwas verliert. Wie entfernt man also den Großteil des Kontexts und erhält trotzdem die richtige
00:00:23Antwort? Das ist wirklich eine interessante Frage, also abonnieren Sie und lassen Sie es uns herausfinden.
00:00:31Wenn Sie jemals ein Harness wie ClaudeCode verwendet haben, wissen Sie, dass es viele Tokens verbraucht. Jeder Tool-Aufruf
00:00:35könnte riesige JSON-Logs ausgeben, die größtenteils Rauschen sind und von den wichtigen Informationen ablenken,
00:00:40und all das landet im Kontextfenster, wofür Sie bezahlen.
00:00:45Besonders wenn Sie etwas wie Opus im UltraCode-Modus verwenden, das dynamische Workflows ausführt,
00:00:50und parallele Sub-Agenten ohne Token-Limit startet. Deshalb hat Tejas Chopra, Senior Dev bei Netflix,
00:00:57Headroom entwickelt, das funktioniert, indem es den Inhaltstyp erkennt und die wichtigen Informationen behält.
00:01:01Bei JSON-Arrays behält es Anomalien und Grenzfälle, es hat einen Code-Kompressor, der den
00:01:06eigentlichen Syntaxbaum liest, und wenn es Build-Logs liest, behält es die Fehler und wirft die bestandenen Tests weg.
00:01:11Aber hier ist der interessante Teil. Für normalen Text verwendet Headroom sein eigenes Modell namens CompressBase,
00:01:17das Tejas selbst nur für die Kompression trainiert hat, und dieses Modell läuft lokal auf Ihrer Maschine.
00:01:22Headroom gibt an, dass es Benutzern bereits rund 700.000 $ an Tokens gespart hat,
00:01:26und das wirklich Clevere daran ist, dass es einen Hinweis im komprimierten Text hinterlässt,
00:01:30der einen Hash enthält, mit dem das Modell die unkomprimierten Daten abrufen kann, falls es sie jemals benötigt.
00:01:35Wenn Sie James' Video über Caveman gesehen haben, das reduziert ebenfalls den Kontext,
00:01:39aber aus der entgegengesetzten Richtung, und das werde ich später im Video noch genauer erklären.
00:01:43Aber lassen Sie uns jetzt ein einfaches Beispiel für Headroom sehen, um zu verstehen, wie es funktioniert.
00:01:46Headroom funktioniert mit einem Python-Server, der zwischen Ihrer App,
00:01:50das könnte gecrawlter Code sein, und zum Beispiel den Anthropic-Servern sitzt.
00:01:54Wenn ein Tool-Aufruf zurückkehrt, komprimiert der Proxy ihn unter der Haube mit Rust,
00:01:59und sendet nur die komprimierte Version an die API.
00:02:01Sie können den Server mit pip installieren, aber ich verwende uv und stelle sicher, dass die Python-Version
00:02:063.12 ist, da es mit neueren Versionen nicht funktioniert.
00:02:09Führen Sie dann den Headroom-Proxy-Befehl aus dieser Bibliothek aus, der den Proxy auf diesem Port startet.
00:02:14Headroom hat auch ein TypeScript- oder Python-SDK,
00:02:17und für die Demo verwenden wir das Python-SDK, um eine App mit dem Claude-SDK zu erstellen.
00:02:22Wir können beides so installieren und dann können wir mit der App loslegen.
00:02:25Der Plan ist, Ihnen später zu zeigen, wie man Headroom mit ClaudeCode verwendet,
00:02:29aber ich wollte Ihnen zuerst zeigen, wie es hinter den Kulissen funktioniert.
00:02:32Für diese App haben wir eine Benutzeraufforderung, alle Logdateien zu lesen und den Fehler zu finden,
00:02:36sowie die Grundursache. Und von hier aus fälschen wir den Tool-Aufruf.
00:02:40Wir bringen Claude dazu, einen Bash-Tool-Aufruf zu machen, um die Server-Logdatei mit 'cat' auszugeben,
00:02:44die eine Reihe gefälschter Logs enthält und hier oben importiert wird.
00:02:47Und dann geben wir die Ergebnisse des Tool-Aufrufs zurück.
00:02:49Der Grund, warum wir Headroom nicht einfach direkt die Textdatei geben,
00:02:52ist, dass es nur die Ausgabe von Tool-Aufrufen komprimiert.
00:02:54Hier geben wir das Modell an und darunter verwenden wir die Headroom-Compress-Funktion,
00:02:59um die Nachricht mit dem Modell für eine genaue Token-Zählung zu verarbeiten.
00:03:02Headroom verwendet nicht tatsächlich Haiku.
00:03:04Und dann geben wir ihm die Basis-URL des Proxys.
00:03:06Und dann haben wir eine Reihe von Kontroll-Logs zu Testzwecken,
00:03:08die Ihnen die Nachricht vor und nach Headroom zeigen,
00:03:11und weitere Kontroll-Logs, die die prozentuale Einsparung zeigen.
00:03:13Danach übergeben wir die komprimierte Nachricht von Headroom an ClaudeCode,
00:03:17das auch die Benutzeraufforderung enthält.
00:03:18Wenn wir diese Datei nun ausführen, sehen wir, dass Headroom 98 % der Tokens eingespart hat.
00:03:23Hier sind die Tokens vorher und hier sind die Tokens danach.
00:03:26Es spart also über 17.000 Tokens.
00:03:28Und es ist offensichtlich, wenn wir uns das Vorher und Nachher ansehen.
00:03:31Wenn wir nach oben scrollen: Das ist das Vorher, das wird normalerweise an ClaudeCode gesendet.
00:03:35Wir erhalten die Benutzeraufforderung, den Tool-Aufruf und die Tool-Antwort, das ist die gesamte Logdatei.
00:03:39Und wenn wir uns hier ansehen, was Headroom sendet, sehen wir, dass wir dieselbe Benutzernachricht und denselben Tool-Aufruf erhalten,
00:03:43aber die Tool-Antwort ist viel kürzer.
00:03:45Und was es hier getan hat, ist die statistische Kompression zu verwenden, um redundante Tokens zu verwerfen.
00:03:50Es hat 419 ähnliche Info-Logs entfernt und sie zu einer Zusammenfassung komprimiert.
00:03:54Hier unten können wir sehen, wie Headroom Claude mitteilt, dass dies die komprimierte Ausgabe ist.
00:03:58Es kann sie mithilfe dieses Hashes abrufen.
00:04:00Ein unmittelbarer Nachteil von Headroom ist, dass Claude glaubt, es hätte nicht
00:04:05genug Informationen, um die Aufgabe zu erfüllen, aber das hat es definitiv.
00:04:08Also führen wir unsere Datei noch einmal aus.
00:04:10Und wir sehen, dass wir dieses Mal immer noch die 98 % Einsparungen haben, aber viel mehr Informationen von Claude.
00:04:16Versuchen wir eine weitere Demo.
00:04:17Wie üblich müssen wir den Headroom-Proxy ausführen, aber diesmal gebe ich ihm mehr Parameter.
00:04:21Hier können wir sehen, dass ich den ML-Wert hinzufüge, der das Kompressionsmodell lokal für die Komprimierung von reinem Text verwendet.
00:04:26Und ich habe Code hinzugefügt, um den Code-bewussten Kompressor verfügbar zu machen.
00:04:30Und dann habe ich das Code-Aware-Flag hinzugefügt, um es einzuschalten.
00:04:32Das können wir hier sehen, es ist aktiviert.
00:04:34Dann werde ich ClaudeCode ausführen, aber zuerst setze ich die Basis-URL auf den Proxy.
00:04:39Und damit werde ich Claude die Aufforderung geben: Lies jede einzelne TS-Datei in diesem Projekt
00:04:44und gib mir einen tiefen Überblick darüber, was dieses Projekt tut, mit Zitaten zum relevanten Code.
00:04:49Nach einer Weile gibt es mir eine Antwort, in der es sagt, dass es alle TypeScript-Dateien
00:04:53in den fünf Paketen gelesen und mir einen Standardüberblick gegeben hat.
00:04:56Aber wenn wir den Befehl /context ausführen, was ich früher getan habe, sehen wir, dass es 89,1k Tokens verbraucht hat.
00:05:02Ich habe tatsächlich eine ähnliche Aufforderung in Claude ohne Headroom ausgeführt.
00:05:06Und wenn wir nach unten scrollen und sehen, wo wir den Kontext-Subbefehl verursacht haben,
00:05:10hat dies etwas mehr Tokens verbraucht.
00:05:11Ich bin mir nicht sicher, warum es hier das Opus 1-Million-Kontextfenster gewählt hat.
00:05:16n hat hier das 200k-Kontextfenster gewählt, aber wir können diesen Endpunkt mit jq formatieren,
00:05:21um genau zu sehen, woher die Kompression vom Proxy kam.
00:05:23Das enthält viele Informationen, daher hat es eine Weile gedauert, bis ich es gefunden habe.
00:05:26Aber wenn wir nach oben scrollen, können wir sehen, wie viele Tokens durch die Headroom-Kompression
00:05:30gespart wurden und sogar sehen, wie viel Geld die Kompression uns gespart hat.
00:05:32Natürlich war das alles nur von einer Aufforderung.
00:05:35Aber stellen Sie sich vor, ich hätte mehrere ClaudeCode-Sitzungen laufen und Headroom würde alle Tool-Aufrufe
00:05:39komprimieren. Stellen Sie sich vor, wie viele Tokens ich noch sparen würde.
00:05:42Ich möchte auch darauf hinweisen, dass Headroom bei der exakten Aufforderung mit niedriger Anstrengung auf Opus
00:05:46tatsächlich keine Token-Einsparungen erzielt hat.
00:05:49Erst als ich von niedrig auf mittel wechselte, waren die Token-Einsparungen sichtbar.
00:05:53Wenn ich also auf hoch, extra hoch oder sogar max wäre, dann würde es noch mehr Tokens sparen.
00:05:57Wie auch immer, das war ein kurzer Überblick über Headroom.
00:06:00Und natürlich gibt es noch so viele Funktionen mehr, die ich hätte durchgehen können,
00:06:03wie das Cross-Agent-Memory, mit dem Claude, Codex und andere Harnesses
00:06:07denselben komprimierten Kontext teilen können.
00:06:09Headroom Learn, das Ihre gescheiterten Sitzungen durchsucht, um herauszufinden, was es
00:06:12zu stark komprimiert hat, und lernt daraus, damit es in Zukunft nicht denselben Fehler macht,
00:06:15sowie Integrationen mit beliebten SDKs.
00:06:18Aber es gibt eine wichtige Sache, die man über Headroom bedenken sollte.
00:06:21Jedes Mal, wenn das Modell nicht die Informationen erhält, die es benötigt,
00:06:24und Headroom bittet, die vollständigen Daten bereitzustellen, erfolgt ein zweiter Roundtrip,
00:06:28was in manchen Fällen dazu führt, dass Sie mit Headroom mehr Tokens verbrauchen als ohne.
00:06:33Aber ich schätze, das ist der Vorteil der “Headroom Learn”-Funktion,
00:06:36die versucht, das in Zukunft immer mehr zu verhindern.
00:06:39Aber erinnern Sie sich an Caveman, von dem ich vorhin im Video sprach?
00:06:42Caveman reduziert Tokens, indem es das Modell anweist, in kurzen Fragmenten zu antworten,
00:06:46Füllwörter wegzulassen und so weiter.
00:06:48Aber wie Sie gerade in der Demo gesehen haben, schrumpft Headroom, was das Modell liest,
00:06:51bevor es überhaupt beim Modell ankommt.
00:06:52Das eine schneidet also die Ausgabe, während das andere die Eingabe schneidet,
00:06:56was bedeutet, dass Sie sie technisch gesehen für maximale Token-Einsparung zusammen verwenden können,
00:07:00wenn Ihnen das Sparen von Tokens wirklich so wichtig ist.

Key Takeaway

Headroom fungiert als intelligenter Proxy-Server, der KI-Kontext durch syntaktische und statistische Kompression vor der API-Übermittlung um bis zu 98 Prozent verkleinert und bei Bedarf verlustfreie Datenabrufe ermöglicht.

Highlights

  • Headroom reduziert die Token-Nutzung bei KI-Agenten um 60 bis 95 Prozent.

  • Das Tool komprimiert Daten wie Tool-Aufrufe, Code und RAG-Kontext, bevor sie das Large Language Model (LLM) erreichen.

  • Eine lokale Kompressions-Engine namens CompressBase verarbeitet normalen Text direkt auf dem Rechner des Benutzers.

  • Das System hinterlässt Hash-Referenzen im komprimierten Text, wodurch das Modell unkomprimierte Daten bei Bedarf jederzeit wieder abrufen kann.

  • Headroom spart Benutzern laut eigenen Angaben bereits Kosten in Höhe von etwa 700.000 US-Dollar an Token-Gebühren.

  • Die Kombination von Headroom mit Caveman ermöglicht eine doppelte Einsparung, da Caveman die Modellausgabe reduziert, während Headroom die Eingabe verkleinert.

Timeline

Funktionsweise und Kernkonzept von Headroom

  • Headroom fungiert als Open-Source-Proxy zwischen der Anwendung und LLM-Servern.
  • Der Prozess identifiziert Inhaltstypen, um spezifische Strategien anzuwenden: Syntaxbäume für Code, Grenzfälle für JSON und Fehlerfilter für Build-Logs.
  • Ein lokal laufendes Modell, CompressBase, übernimmt die statistische Reduktion von natürlicher Sprache.

Das Tool zielt darauf ab, redundante Informationen und Rauschen aus Konversationsverläufen zu entfernen. Durch die Erkennung der Datenstruktur behält es kritische Informationen bei und verwirft irrelevante Test-Ergebnisse oder Standard-Logs. Die Umkehrbarkeit durch Hash-Referenzen stellt sicher, dass das Modell bei Wissenslücken keine falschen Annahmen trifft.

Technische Implementierung und Demo

  • Die Installation erfolgt über Python 3.12 und die Bibliothek wird mittels Proxy-Befehl gestartet.
  • Tool-Antworten, die sonst riesige Mengen an Log-Text enthalten, werden durch den Rust-basierten Proxy komprimiert.
  • Tests zeigten eine Token-Einsparung von 98 Prozent bei einer Aufgabe zur Fehleranalyse in Logdateien.

Die praktische Anwendung zeigt, wie ein Python-Server Anfragen abfängt und die Tool-Antworten vor dem Senden an Anthropic optimiert. Anstatt die gesamte Logdatei zu senden, fasst Headroom redundante Einträge zusammen. Claude erhält somit den kompakten Inhalt inklusive eines Verweises auf das Originaldokument.

Erweiterte Funktionen und Anwendungsstrategien

  • Headroom unterstützt ein dynamisches Kompressionslevel, wobei höhere Einstellungen mehr Tokens einsparen.
  • Die Funktion 'Headroom Learn' optimiert das Verhalten basierend auf gescheiterten Sitzungen.
  • Zusätzliche Features umfassen Cross-Agent-Memory, um Kontext über verschiedene Instanzen hinweg zu teilen.
  • Ein zweiter Roundtrip kann entstehen, falls die Kompression zu aggressiv war und Daten nachgefordert werden.

Das System bietet skalierbare Kompressionsmodi von niedrig bis hoch. Es lernt kontinuierlich aus Fehlern, um die Notwendigkeit von manuellen Daten-Nachforderungen zu minimieren. In Kombination mit anderen Kontext-Reduzierern wie Caveman lassen sich die Gesamtkosten für komplexe, langlaufende KI-Workflows signifikant senken.

Community Posts

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

Write about this video