Ich habe aufgehört, Grep zu benutzen, und mein Agent wurde 10-mal schneller
BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술
Transcript
00:00:00Es gibt da ein MCP-Plugin namens Claude Context, das die gesamte Codebasis
00:00:06in einer Vektordatenbank indiziert, damit dein Coding-Agent schnell genau den Code
00:00:11findet, den er braucht, ohne mit grep oder glob raten zu müssen, in welcher Datei er steht.
00:00:15Es analysiert sogar den Code mit ASTs und nutzt einen hybriden Suchansatz, der semantische
00:00:20Vektoren mit Stichwortsuche kombiniert, was den Kontextverbrauch um 40 % senkt.
00:00:24Allerdings benötigt es ein Zilliz-Cloud-Konto und einen OpenAI-Key für Embeddings, auch wenn man Claude nutzt.
00:00:30Lohnt sich also der zusätzliche Aufwand und die Kosten für die Token-Ersparnis?
00:00:34Abonniere den Kanal und lass es uns herausfinden.
00:00:35Okay, Claude Context – ich bin mir beim Namen nicht sicher – kommt von Zilliz, einem Unternehmen,
00:00:43das von den Gründern von Milvus ins Leben gerufen wurde, einer sehr leistungsfähigen Vektordatenbank.
00:00:47Es verbindet sich über MCP mit dem Agenten, funktioniert also mit jedem Agent-Harness und
00:00:52nicht nur mit Claude Code.
00:00:54Es erledigt drei recht komplexe Dinge, um den Code leicht auffindbar zu machen.
00:00:58Erstens nutzt es TreeSitter, um den gesamten Code zu parsen und Chunks aus Funktionen
00:01:03und Klassen zu erstellen. Das unterstützt neun Sprachen, darunter TypeScript, Python, Rust und Go.
00:01:08Dann verwendet es einen benutzerdefinierten Merkle-DAG, um jede Datei mit JSON-Snapshots zu hashen, was bedeutet, dass nur
00:01:15die geänderten Dateien neu indiziert werden und nicht die ganze Codebasis.
00:01:18Und wenn man schließlich den Code durchsuchen will, führt es gleichzeitig zwei Suchtypen aus:
00:01:22eine Vektorsuche, um die semantische Bedeutung des Codes zu finden, und eine BM25-Index-
00:01:29Suche für exakte Stichworttreffer.
00:01:31Das alles führt zu einer Kontextreduktion von bis zu 40 %, was bei großen Codebasen eine Menge ist.
00:01:37Lass uns das in Aktion testen anhand der VS-Code-Codebasis, die
00:01:42rund 1,5 Millionen Zeilen Code umfasst.
00:01:44Im geklonten VS-Code-Repo verwende ich Open Code mit GPT-4 Turbo, weil
00:01:50ich meine wöchentlichen Claude-Pro-Limits nicht aufbrauchen möchte.
00:01:53Um den MCP-Server einzurichten, den ihr hier seht, habe ich bereits die
00:01:58entsprechenden Informationen in meine Open-Code-JSON-Datei eingetragen.
00:02:01Und für diese Infos hier: Man könnte Milvus lokal ausführen, aber ich habe Zilliz Cloud genutzt.
00:02:06Ich habe mir also von hier den API-Key geholt und einen Cluster erstellt.
00:02:10Das ist ein AWS-Cluster und ich habe die öffentlichen Endpunkte von dort.
00:02:14Apropos Cluster: Ich habe es zuerst mit dem kostenlosen versucht, bekam aber ständig
00:02:19Timeout-Probleme.
00:02:20Also musste ich eine serverlose Instanz nehmen, die zwar Geld kostet, aber deutlich besser funktionierte.
00:02:25Sobald der MCP-Server eingerichtet ist, achtet darauf, dass eine Node-Version unter
00:02:2824, aber mindestens 20 läuft.
00:02:31Ich nutze für dieses Projekt aktuell Version 22.
00:02:34Das gibt dir Zugriff auf vier MCP-Tools: index code, search code, clear index und get
00:02:39index status.
00:02:40Das Erste, was du tun musst, ist die Codebasis zu indizieren, was wir mit diesem Prompt erledigen.
00:02:44Aber bevor wir Enter drücken, schauen wir uns an, wie viel wir schon für Embeddings
00:02:48von OpenAI ausgegeben haben – gerade mal einen Cent, für einen Test mit einer 23.000-Zeilen-Codebasis.
00:02:53Wir sehen auch in unserem Cluster, dass wir schon Informationen aus der indizierten Codebasis haben.
00:02:58Wenn wir diese Codebasis jetzt also indizieren, dauert das eine Weile und startet die Indizierung im
00:03:02Hintergrund.
00:03:03An dieser Stelle empfehle ich noch keine Suchen durchzuführen.
00:03:05Da dies eine große Codebasis ist, dauert das Indizieren eine Weile.
00:03:09Ich komme also später wieder, wenn die Indizierung fertig ist.
00:03:11Nach etwa 50 Minuten ist die Indizierung abgeschlossen und wir sehen einen neuen Chunk
00:03:16in unserem Cluster mit über 223.000 geladenen Einträgen.
00:03:21Zum Vergleich: Der Code, den ich testete und der 23.000 Zeilen umfasste, hatte etwa
00:03:271.000 Einträge und brauchte weniger als eine Minute zum Indizieren.
00:03:32Bei der OpenAI-Nutzung sind wir von einem Cent auf 1,06 $ gestiegen. Das ist viel, aber ich
00:03:38glaube nicht, dass Leute regelmäßig 1,5 Millionen Zeilen Code durchsuchen.
00:03:42Okay, schauen wir mal, wie schnell eine Suche ist.
00:03:45Hier haben wir eine Instanz von Open Code mit dem Claude-Context-MCP-Server und hier
00:03:49haben wir eine ohne MCP-Server.
00:03:52Dort werden also die regulären grep- und glob-Tools genutzt, um den Code zu durchsuchen.
00:03:56Wir geben den Prompt: Verwende Claude Context, um den Einstiegspunkt für den Start dieses Projekts
00:04:00zu finden.
00:04:01Mal sehen, wie lange das dauert.
00:04:02Okay, es nutzt das Index-Tool und nun das Such-Tool.
00:04:06Das Ganze dauerte etwa 19 Sekunden, um das komplette Projekt zu durchsuchen und
00:04:10die main.ts-Datei zu finden.
00:04:11Jetzt geben wir Open Code den ähnlichen Prompt. Es findet die Antwort
00:04:15in 14 Sekunden.
00:04:16Also für diese Abfrage ist das normale Modell deutlich schneller.
00:04:20Starten wir eine neue Sitzung.
00:04:21Ich gebe den neuen Prompt: Welche Funktion öffnet ein neues unbenanntes Dokument?
00:04:26Das dauerte etwas länger, 40 Sekunden, und fand die Hauptfunktion mit Zeilennummer
00:04:30und verbrauchte etwa 23.000 Token.
00:04:32Die andere Instanz brauchte 12 Sekunden und 18.000 Token, aber es sieht so aus, als ob sie
00:04:37eine andere Datei gefunden hätte.
00:04:38Tatsächlich bietet Claude Context viel mehr Informationen, zeigt den Code und weitere Dateien,
00:04:44die mit dem Öffnen des Editors zusammenhängen.
00:04:45Ich bitte sie also beide, mir den exakten Code zu zeigen.
00:04:48An dieser Stelle antwortet Claude Context in 23 Sekunden mit dem Code, die Variante
00:04:52ohne Claude Context antwortet in 49 Sekunden – fast doppelt so lange.
00:04:56Und es kommt zum exakt gleichen Code wie Claude Context, was mich auf eine Idee bringt.
00:05:00Ich gebe einen allgemeineren Prompt: Sieh dir den Code an und erkläre mir,
00:05:04wie dieses Projekt funktioniert.
00:05:06Claude Context ist in 49 Sekunden fertig und nutzt 41.000 Token, die andere Instanz ist
00:05:11schneller und nutzt weniger Token.
00:05:13Aber wenn wir uns die Ausgabe ansehen, erkennen wir, dass Claude
00:05:17Context viel detaillierter ist, die Layer-Architektur beschreibt und sogar Informationen über die Electron-App
00:05:22und die genutzten Prozesse liefert.
00:05:23Die Option ohne Claude Context liefert zwar auch Architektur-Informationen, aber sie ist
00:05:28nicht so detailliert wie die andere.
00:05:30Ich würde sagen, auch wenn es nicht so scheint, ist Claude Context sehr gut darin,
00:05:34Code-Informationen schnell und sehr detailliert bereitzustellen.
00:05:37Ich meine, schaut euch das an.
00:05:38Auf diesen Prompt folgte mein Nachfolge-Prompt: Gib mir mehr Informationen zum Haupt-
00:05:43Prozess der Electron-App, den es oben erwähnt hat.
00:05:47Nachdem ich diesen Prompt abgeschickt habe, dauerte es etwa 1 Minute und 47 Sekunden, aber seht euch dieses
00:05:52Detail an.
00:05:53Es begann mit der Boot-Sequenz und dann Phase 1: die Service-Erstellung und
00:05:58Service-Initialisierung.
00:05:59Und wir haben so viel mehr aus Phase 2, die Code-App mit allen Verweisen
00:06:04auf die relevanten Dateien.
00:06:05Wir haben app.ts Zeile 185, und wir könnten immer so weitermachen.
00:06:10Währenddessen durchsucht Open Code ohne Claude Context immer noch alle Dateien mit mehreren
00:06:15Unter-Agenten.
00:06:16Das ist etwas täuschend, weil wir nicht genau sehen können, wie viele Token jeder Unter-Agent
00:06:21verwendet.
00:06:22Aber wenn wir eine Weile warten und zurückkommen, sehen wir: Nach etwa fünf Minuten antwortet Open Code
00:06:26mit vielen Informationen über den Electron-Prozess, aber das ist nicht so viel,
00:06:31wie Claude Context geliefert hat, und es hat fünfmal länger gedauert.
00:06:34Vielleicht hätte ich mit einem intelligenteren Modell wie Opus 4.7 bei hohem Aufwand
00:06:40mehr Informationen erhalten, aber es hätte immer noch lange gedauert und viele Token verbraucht.
00:06:44Und das sind die Unterschiede – fünf Minuten zu einer Minute –, die ich
00:06:48schon beim Test vor der Aufnahme mit der 23.000-Zeilen-Codebasis gesehen habe.
00:06:51Am Ende ist es schwer zu sagen, wer der klare Gewinner ist.
00:06:54Claude Context hat zwar immer mehr Details geliefert, war aber nicht immer am schnellsten oder
00:07:00token-effizientesten.
00:07:01Und bei großen Codebasen dauerte die Indizierung sehr lange.
00:07:05Bei durchschnittlich großen Codebasen – also 20.000 bis 30.000 Zeilen – ist die Indizierungszeit
00:07:10wirklich kurz.
00:07:11Und der Detailunterschied bei den Ergebnissen ist sehr deutlich.
00:07:14Tatsächlich würde ich viel lieber Claude Context für mittelgroße Codebasen verwenden
00:07:20als für sehr große.
00:07:22Das sollte man bedenken.
00:07:23Aber um ehrlich zu sein, ist das eher ein großartiges Verkaufstool für Zilliz, denn vor der Nutzung von Claude
00:07:27Context hatte ich noch nie von ihnen gehört, und jetzt haben sie einen neuen zahlenden Kunden.
00:07:31Auch wenn die Einrichtung etwas gedauert hat und die Indizierung großer Codebasen sehr
00:07:36lange gedauert hat.
00:07:37Als jemand, der regelmäßig Open-Source-Codebasen durchgeht und Fragen stellt, denke ich,
00:07:42dass ich dieses Tool viel öfter nutzen werde.
00:07:44Ich meine, für eine durchschnittlich große Codebasis ist der Serverless-Plan nicht zu teuer, da die
00:07:49OpenAI-Embeddings auch nicht allzu viel kosten.
00:07:52Ich nehme die Kosten also gerne in Kauf.
00:07:53Apropos Datenabruf und KI:
00:07:55Wenn du lernen willst, wie man ein wirklich gutes RAG-System von Grund auf baut, das auch
00:07:59wirklich funktioniert, dann schau dir dieses Video von Andris an.
00:08:02Und wenn du Star-Wars-Fan bist, wird dir dieses Video besonders gefallen.