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.

Key Takeaway

Das MCP-Plugin 'Claude Context' verbessert die Detailtiefe und Geschwindigkeit bei der Analyse mittelgroßer Codebasen (20.000 bis 30.000 Zeilen) signifikant, indem es semantische Vektorsuche und BM25-Indexierung anstelle herkömmlicher grep-Befehle nutzt.

Highlights

  • Das MCP-Plugin 'Claude Context' reduziert den Kontextverbrauch bei der Code-Analyse um bis zu 40 %.

  • Die Indizierung einer 1,5 Millionen Zeilen umfassenden Codebasis dauerte 50 Minuten und erzeugte 223.000 Einträge.

  • Der Einsatz von 'Claude Context' lieferte bei komplexen Anfragen nach dem Electron-Hauptprozess detailliertere Ergebnisse in 1 Minute und 47 Sekunden, während Standard-Methoden 5 Minuten benötigten.

  • Die Technologie kombiniert semantische Vektorsuche mit BM25-Stichwortsuche, um die Auffindbarkeit von Code-Abschnitten zu verbessern.

  • Die Indizierung und Suche basieren auf TreeSitter zur Code-Analyse und einem Merkle-DAG, um lediglich geänderte Dateien neu zu verarbeiten.

Timeline

Funktionsweise und technische Architektur

  • Das Tool nutzt TreeSitter für das Parsing in Funktionen und Klassen.
  • Ein Merkle-DAG sorgt für inkrementelle Indizierung bei Code-Änderungen.
  • Der Suchprozess führt Vektor- und BM25-Suchen simultan aus.

Das System indiziert Codebasen in einer Vektordatenbank, um die Abhängigkeit von einfachen Suchbefehlen wie grep oder glob zu eliminieren. Durch den Einsatz von TreeSitter wird der Code strukturiert analysiert, während der Merkle-DAG sicherstellt, dass nur modifizierte Abschnitte neu in die Datenbank aufgenommen werden.

Praktische Implementierung und Ressourcenbedarf

  • Die Einrichtung erfordert ein Zilliz-Cloud-Konto und OpenAI-API-Keys für Embeddings.
  • Die Indizierung der VS-Code-Codebasis (1,5 Mio. Zeilen) kostete etwa 1,06 $ an OpenAI-Gebühren.
  • Serverlose Zilliz-Instanzen bieten eine stabilere Performance als kostenlose Varianten.

Die Konfiguration erfolgt über eine JSON-Datei im Agent-Harness. Während kleine Codebasen mit wenigen Cent an Embedding-Kosten indiziert werden können, steigen die Kosten bei sehr großen Repositories wie VS-Code deutlich an. Die Nutzung einer dedizierten serverlosen Instanz löst dabei auftretende Timeout-Probleme der kostenlosen Stufe.

Leistungsvergleich und Analyseergebnisse

  • Bei einfachen Suchanfragen ist die Standardmethode ohne MCP-Plugin teilweise schneller.
  • Claude Context bietet bei komplexen, kontextabhängigen Fragen eine wesentlich höhere Detailtiefe.
  • Die Zeitersparnis bei der Extraktion tiefgehender Architektur-Informationen beträgt bis zu 70 %.

Vergleiche zeigen, dass für simple Dateisuchen klassische Werkzeuge ausreichen. Bei der Identifikation komplexer Zusammenhänge, etwa der Initialisierung von Electron-Prozessen, liefert Claude Context deutlich präzisere und strukturiertere Informationen. Die Effizienz des Tools entfaltet sich besonders bei mittelgroßen Projekten, während bei sehr umfangreichen Architekturen die Initialisierungsdauer ein limitierender Faktor bleibt.

Community Posts

View all posts