00:00:00Mit dem Fortschritt der KI und der zunehmenden Leistungsfähigkeit jedes neu veröffentlichten Modells hat sich die Art und Weise,
00:00:05wie wir Code produzieren,
00:00:06vollständig verändert.
00:00:07Es gibt mittlerweile viele auf das Programmieren spezialisierte Tools wie ClodCode,
00:00:11Cursor,
00:00:11Antigravity und andere,
00:00:12jedes mit seinen eigenen einzigartigen Fähigkeiten.
00:00:14Doch gute Modelle allein bestimmen nicht die Qualität des Codes,
00:00:17den Sie produzieren.
00:00:18Wie Sie das Tool verwenden und den Kontext verwalten,
00:00:21ist genauso wichtig.
00:00:22All diese Tools verfügen über einen gewissen integrierten Mechanismus für Kontext-Engineering,
00:00:25aber Cursor hat gerade einen großen Vorstoß für einen neuen Ansatz gewagt und ihn nativ in die App selbst integriert.
00:00:29Als ich ihren Artikel durchging,
00:00:31wurde mir klar,
00:00:31dass diese Prinzipien wirklich überzeugend sind.
00:00:33Wir haben heute viel zu besprechen,
00:00:35denn diese Ideen lassen sich umfassend auf jede Plattform anwenden,
00:00:38die Sie zum Erstellen von Anwendungen nutzen.
00:00:40Kontext-Management war schon immer entscheidend bei der Arbeit mit KI-Agenten,
00:00:44denn gutes Kontext-Management bestimmt die Qualität der Ergebnisse.
00:00:47Wir haben in unseren Videos bereits darüber gesprochen,
00:00:50wie wichtig Kontext-Management ist,
00:00:51und Workflows dafür vorgestellt.
00:00:53Cursor hat Kontext-Management-Funktionen direkt in sein Produkt integriert und einen Artikel darüber veröffentlicht.
00:00:58Diese Prinzipien basieren auf ihrer Beobachtung,
00:01:00dass es für gute Ergebnisse von Modellen besser ist,
00:01:03so wenig Details wie möglich im Kontextfenster bereitzustellen.
00:01:06Je weniger Informationen das Modell auf einmal erhält,
00:01:08desto weniger Daten muss es gleichzeitig verarbeiten,
00:01:11was weniger Verwirrung und mehr Fokus auf die aktuelle Aufgabe bedeutet,
00:01:14weil nur relevante Informationen enthalten sind.
00:01:17Diesen Ansatz nennen sie dynamische Kontext-Erkennung.
00:01:20Die Idee ist strukturierte Notizerfassung.
00:01:22Das heißt,
00:01:22Informationen,
00:01:23die momentan nicht benötigt werden,
00:01:24sollten nicht im Kontextfenster sein – das Ausschließen potenziell verwirrender oder widersprüchlicher Details verbessert die Qualität der Antworten des Agenten erheblich.
00:01:32Die aktuelle Version von Cursor fügt fünf dynamische Kontext-Management-Methoden hinzu,
00:01:36die bald für Nutzer verfügbar sein werden.
00:01:37Obwohl Cursor dies als Produkt-Update implementiert,
00:01:40sind diese Prinzipien weitgehend auf alle KI-Agenten übertragbar.
00:01:44Die erste von Cursor erwähnte Neuerung ist,
00:01:46dass lange Tool-Antworten in Dateien gespeichert werden sollten.
00:01:48MCPs liefern oft umfangreiche Antworten,
00:01:50die im Kontextfenster verbleiben.
00:01:52Nicht alle Informationen aus den Antworten werden immer benötigt.
00:01:55Cursor erwähnte,
00:01:56dass der gängige Ansatz der meisten Programmier-Tools darin besteht,
00:02:00lange MCP-Antworten zu kürzen,
00:02:01was zu Datenverlust oder zum Entfernen wichtiger Informationen führt,
00:02:04die möglicherweise für den Kontext notwendig sind.
00:02:07Claudes Chrome-Erweiterung ist eine sehr tool-lastige Erweiterung,
00:02:10und schon wenige Prompts können den Kontext füllen,
00:02:12weil ein riesiger Block ins Kontextfenster geladen wird.
00:02:15Deshalb habe ich in der Claude.md-Datei eine Anweisung hinzugefügt,
00:02:18dass jede MCP-Tool-Antwort mit mehr als 50 Zeilen in einem MCP-Ordner innerhalb des .context-Ordners gespeichert werden muss,
00:02:24indem ein echo-Befehl im Terminal ausgeführt wird.
00:02:27Als ich die Chrome-Erweiterung zur Analyse der UI einer Landing Page verwendete,
00:02:30speicherte Claude jedes Mal,
00:02:32wenn es auf ein Tool wie ReadPage stieß,
00:02:33das das Kontextfenster erheblich aufbläht,
00:02:35die MCP-Antwort zur weiteren Lektüre in einer Datei,
00:02:38mit deren Hilfe es die gesamte Seite analysierte und mir einen Bericht lieferte.
00:02:42Diese Lösung verbesserte die Genauigkeit der Tool-Antwort-Analyse,
00:02:45indem Claude die Antworten aus Dateien beliebig oft analysieren konnte,
00:02:49und eliminierte die Notwendigkeit wiederholter Tool-Aufrufe.
00:02:52Wenn Daten aus früheren MCP-Aufrufen benötigt werden,
00:02:55kann Claude sie direkt aus dem .context-Ordner lesen,
00:02:57anstatt Tool-Aufrufe zu tätigen,
00:02:59was erheblich Zeit spart.
00:03:00Bevor wir zur nächsten Änderung kommen,
00:03:02hören wir von unserem Sponsor,
00:03:03Zen Rose.
00:03:04Wenn Sie KI-Produkte,
00:03:05Automatisierungen oder datengesteuerte Systeme entwickeln,
00:03:08wissen Sie bereits eines: Alles beginnt mit zuverlässigen Web-Daten.
00:03:11Aber saubere,
00:03:12strukturierte Daten in großem Umfang zu bekommen,
00:03:14ist schwieriger als es klingt.
00:03:15Genau hier passt Zen Rose perfekt in den Stack..
00:03:18Zen Rose übernimmt die Datenextraktion von komplexen Websites und verwaltet automatisch die Umgehung von Anti-Bot-Systemen,
00:03:23sodass Sie sich auf das konzentrieren können,
00:03:25was wirklich zählt: die Nutzung der Daten.
00:03:27Anstatt sich mit unübersichtlichen Ausgaben herumzuschlagen,
00:03:30liefert Zen Rose strukturierte Ergebnisse wie JSON oder Markdown,
00:03:33die direkt in Ihre Pipelines eingebunden werden können.
00:03:35Es ist integrationsbereit und geschäftsorientiert,
00:03:37was es ideal für KI-Startups,
00:03:39Datenteams und Automatisierungsentwickler macht,
00:03:41die keine Infrastruktur überwachen wollen..
00:03:43Ob Sie Leads anreichern,
00:03:44KI-Agenten betreiben oder Recherchen automatisieren – Zen Rose funktioniert einfach.
00:03:48Wenn Ihre Arbeit von Webdaten abhängt,
00:03:50gehört Zen Rose in Ihren Tech-Stack..
00:03:52Klicken Sie auf den Link im angepinnten Kommentar und beginnen Sie noch heute mit der Entwicklung.
00:03:55Wir wissen,
00:03:55dass der Zusammenfassungsschritt beim Erreichen des Kontextfenster-Limits chaotisch ist und zum Verlust vieler Informationen führt.
00:04:01Die meisten Tools,
00:04:01einschließlich Cursor und Claude Code,
00:04:03lösen einen Zusammenfassungsschritt aus und starten die Sitzung mit einem frischen Kontextfenster,
00:04:07wobei die Zusammenfassung als Ausgangspunkt dient..
00:04:09Wenn Sie immer wieder komprimieren,
00:04:10beginnt die Zusammenfassung,
00:04:11Details zu vergessen,
00:04:12die für Sie wichtig sein könnten,
00:04:14die aber in der Zusammenfassung des Modells möglicherweise fehlen.
00:04:16Sie haben nur begrenzte Kontrolle über die automatische Komprimierung,
00:04:19und wiederholte Kompression führt zum Verlust wichtiger Informationen,
00:04:22wenn Sie diese mehrfach durchführen müssen.
00:04:24Die Lösung von Cursor besteht darin,
00:04:26den gesamten vorherigen Chat-Verlauf als Datei zu speichern,
00:04:28auf die der Agent später zugreifen kann.
00:04:30Wenn wir einen sehr spezifischen Prompt bereitstellen und das Modell die Informationen in der Zusammenfassung nicht finden kann,
00:04:35dient das vorherige Transkript als Wissensbasis.
00:04:37Das Modell nutzt dieses Transkript,
00:04:39um die Lösung zu generieren,
00:04:40wodurch es alles wiederherstellen kann,
00:04:42was in der Zusammenfassung verloren ging.
00:04:43Bis die Implementierung von Cursor ausgerollt wird und für alle verfügbar ist,
00:04:47habe ich versucht,
00:04:48diese Funktion mit Claude Code umzusetzen.
00:04:50Ich habe die Anweisung in die Claude.md-Datei eingefügt,
00:04:52den Chat-Verlauf nach jedem Durchgang zu aktualisieren und alle wichtigen Entscheidungen und Schritte zu dokumentieren.
00:04:58Es verwendete einen History-Ordner innerhalb des .context-Ordners,
00:05:01wobei jeder Dateiname die Sitzung widerspiegelte.
00:05:03Wann immer ich es also bitte,
00:05:04eine Aufgabe auszuführen,
00:05:06dokumentiert es am Ende der Aufgabenausführung den Chat-Verlauf in die entsprechende History-Datei und fügt alles zu dieser Datei hinzu.
00:05:12Auf diese Weise enthält der .context-Ordner detaillierte Aufzeichnungen aller Sitzungen und allem,
00:05:17was getan wurde.
00:05:18Agenten wurden Fähigkeiten gegeben,
00:05:20um das Kontextproblem zu bewältigen,
00:05:22das MCPs verursachten.
00:05:23Der gesamte Zweck von Skills besteht darin,
00:05:24Agenten eine bessere Nutzung ihrer eigenen Fähigkeiten zu ermöglichen,
00:05:27indem sie durch Skripte und Anweisungsdateien geleitet werden,
00:05:30wodurch die Kontextüberfrachtung durch progressive Offenlegung reduziert wird.
00:05:33Anthropic war das erste Unternehmen,
00:05:35das auf diese Idee kam,
00:05:35die im Wesentlichen darin besteht,
00:05:37den Agenten eine Reihe von Anweisungen,
00:05:38Skripten und Ressourcen zu geben,
00:05:40die der Agent entdecken und nutzen kann,
00:05:41um bei bestimmten Aufgaben besser abzuschneiden.
00:05:43Anthropic hat diese Agenten-Skills im Grunde als Open Source veröffentlicht und damit einen Standard gesetzt,
00:05:48den andere implementieren konnten.
00:05:49Daraufhin begannen Codex,
00:05:50Gemini und andere mit der Implementierung von Agenten-Skills,
00:05:53woraufhin schließlich Cursor an der Reihe war,
00:05:55dasselbe zu tun.
00:05:55Cursors Skills sind im Grunde dieselben ausführbaren Dateien und Skripte,
00:05:58die zu einer einzigen Fähigkeit gebündelt werden,
00:06:00die der Agent für seine jeweiligen Aufgaben nutzen kann.
00:06:03Nur der Name und die Beschreibung der Skills befinden sich im statischen Kontext..
00:06:07Sobald sie sich im statischen Kontext befinden,
00:06:09können die Agenten ihre Skills eigenständig abrufen,
00:06:11indem sie grep und Cursors semantische Suche nutzen.
00:06:13Das macht den Unterschied aus,
00:06:15denn Cursors semantische Suche verwendet im Hintergrund ein eigenes Embedding-Modell und Indexierungs-Pipelines,
00:06:20anstatt einfacher Musterabgleiche wie bei regex-basierten Suchen in grep-Befehlen.
00:06:24Claudes Skills zeigen im Kontext nur Name und Beschreibung an,
00:06:26egal wie viele Dateien das Skript verwendet,
00:06:28wodurch Kontext-Bloat verhindert wird.
00:06:30In meinem Projekt hatte ich 5 Skills konfiguriert,
00:06:32die jeweils nur sehr wenige Tokens verbrauchten – lediglich etwa 0,
00:06:362 % der Gesamtmenge,
00:06:36sodass mehr Raum zum Arbeiten blieb.
00:06:38Der Unterschied besteht darin,
00:06:39dass Claudes Skills auch über /commands zugänglich sind,
00:06:42sodass man sie bei Bedarf manuell auslösen kann.
00:06:44Das geht auf Beschwerden ein,
00:06:46dass Skills nicht richtig auf Abruf geladen werden.
00:06:48MCPs enthalten viele Tools,
00:06:49die alle im Kontextfenster offengelegt werden und das Kontextfenster unnötig aufblähen.
00:06:53Cursor hat es sich zur Aufgabe gemacht und betont,
00:06:55dass es in der Verantwortung der Coding-Agenten liegt – nicht der MCP-Server –,
00:06:59den Kontext-Bloat zu beheben.
00:07:00Die Lösung dafür war dynamische Kontextermittlung durch Synchronisierung von Tool-Beschreibungen in einem Ordner.
00:07:05Cursors Idee besteht darin,
00:07:07alle MCPs mit ihren Namen in separaten Ordnern abzulegen,
00:07:09die nach jedem verbundenen MCP benannt sind,
00:07:11und innerhalb jedes Ordners müssen alle Tools aufgelistet sein.
00:07:14So erhält der Agent nur die Namen der Tools,
00:07:16und wann immer er ein Tool benötigt,
00:07:18schlägt er es in den Ordnern nach.
00:07:19Bei Tests haben sie festgestellt,
00:07:21dass die dynamische Ermittlung von MCP-Tools die Nutzung um 46,
00:07:249 % reduzierte,
00:07:24was einen enormen Unterschied macht,
00:07:26wenn man an einem lang laufenden System arbeitet.
00:07:28Diese Implementierung hilft auch in Fällen,
00:07:30in denen MCP-Server versehentlich getrennt werden oder eine erneute Authentifizierung erfordern.
00:07:35Normalerweise würde das System diese Tools einfach vergessen,
00:07:37aber jetzt kann der Agent den Benutzer tatsächlich darüber informieren,
00:07:41dass eine erneute Authentifizierung erforderlich ist.
00:07:43Claude verfügt außerdem über ein erweitertes Suchwerkzeug,
00:07:46das speziell für dieses Problem entwickelt wurde und eine bestimmte Reihe von Flags verwendet,
00:07:50um Claude mitzuteilen,
00:07:51ob es geladen werden soll oder nicht.
00:07:53Es implementiert genau Cursors Idee der dynamischen Kontextermittlung,
00:07:56ist jedoch auf die Entwicklerplattform beschränkt und nur für diejenigen verfügbar,
00:08:00die mit APIs entwickeln.
00:08:01Wir können nicht ändern,
00:08:02wie MCPs in Claude Code verwendet werden,
00:08:04da sie von Anthropic integriert sind.
00:08:06Gerade als ich nach Möglichkeiten suchte,
00:08:07dies in Claude Code zu implementieren,
00:08:09stieß ich auf ein verstecktes Flag.
00:08:11Ohne dieses Flag zu setzen,
00:08:12wurden alle MCP-Tools,
00:08:13die ich verbunden hatte,
00:08:14im Kontext von Claude Code offengelegt.
00:08:16Als ich das Flag enable experimental MCP CLI gesetzt habe,
00:08:19wurden alle Tools aus dem Kontextfenster entfernt,
00:08:21wodurch Platz freigemacht wurde,
00:08:22der zuvor von den MCP-Tools belegt war.
00:08:24Das bedeutet jedoch nicht,
00:08:25dass die MCPs getrennt werden,
00:08:27wenn diese CLI aktiviert ist.
00:08:28Der einzige Unterschied besteht darin,
00:08:30dass sie nicht von vornherein im Kontextfenster offengelegt werden.
00:08:33Anstatt alle Schemas in den Kontext zu legen,
00:08:35verwendet Claude nun eine mittlere Bash-Schicht namens MCP CLI,
00:08:38die alle MCP-bezogenen Aufgaben verwaltet.
00:08:40Claude nutzt diese mittlere Schicht,
00:08:41um zu suchen,
00:08:42Informationen abzurufen und die Tools aufzurufen.
00:08:44Wann immer man Claude bittet,
00:08:45eine Aufgabe auszuführen,
00:08:47die einen MCP-Tool-Aufruf erfordert,
00:08:48verwendet es anstelle der üblichen Methode die MCPs über MCP CLI und führt die erforderliche Aufgabe aus.
00:08:53Mit diesem Tool führt Claude alle Aufgaben wie gewohnt aus,
00:08:56nur eben über diese mittlere Schicht.
00:08:57Das Melden von Terminalfehlern ist in Cursor aufgrund des eingeschränkten Zugriffs schwierig.
00:09:02Wenn das Terminal einen Fehler anzeigte,
00:09:03musste man ihn dem Chat hinzufügen und dann beheben lassen.
00:09:06Cursors Lösung dafür besteht ebenfalls darin,
00:09:08die Terminalsitzungen in Dateien zu verlagern.
00:09:10Wann immer man ihm Fragen stellt,
00:09:12referenziert es diese Verlaufsdateien und verwendet grep,
00:09:14um die relevante Ausgabe zu extrahieren..
00:09:20Da Serverprotokolle normalerweise lange laufen und viel Rauschen für den Agenten enthalten,
00:09:24ist die Verwendung der Grep-Aufgabe effizienter,
00:09:27weil sie dem Agenten Musterabgleich ermöglicht.
00:09:29Diese Idee stammt von CLI-basierten Coding-Agenten,
00:09:31die die Befehle ausführen,
00:09:33aber dann wird die Ausgabe genau so in den Kontext eingefügt,
00:09:35wie Claude Code und andere es standardmäßig tun.
00:09:38Obwohl Claude dies intelligent von selbst handhabt,
00:09:40können wir es noch weiter steuern,
00:09:42indem wir Anweisungen in der Claude.md verwenden,
00:09:44um es anzuweisen,
00:09:45alle Terminalprotokolle in eine Datei im Terminal-Ordner innerhalb des .context-Ordners zu schreiben.
00:09:50Grundsätzlich führt Claude,
00:09:51wenn es einen npm-Befehl ausführt,
00:09:52einen speziellen Befehl aus,
00:09:54der sowohl den Ausgabestrom als auch den Eingabestrom in Dokumentdateien protokolliert.
00:09:58Hier repräsentiert 2 den Standard-Fehlerstrom und 1 den Standard-Ausgabestrom.
00:10:02Es schreibt diese Protokolle in den Terminal-Ordner und versieht sie mit einem Zeitstempel.
00:10:06Wann immer es dann durch sie suchen muss,
00:10:08verwendet es einfach einen Grep-Befehl mit einem bestimmten Muster und lädt die letzten 20 Zeilen,
00:10:12um nur das Wesentliche zu extrahieren..
00:10:15Also wann immer ich meinen Entwicklungsserver getestet habe,
00:10:18nutzte er diese Befehle und schrieb die Terminalläufe weiterhin in Dateien gemäß der Claude.md-Datei.
00:10:22Nachdem der Server gestartet war,
00:10:24bezog er sich auf die Protokolldateien und fand heraus,
00:10:26was das Problem verursachte,
00:10:27und behob es für mich..
00:10:29Auch wenn diese Erweiterung für Claude Code unbedeutend erscheinen mag,
00:10:32weil sie keinen großen Einfluss auf die unmittelbare Arbeit zu haben scheint,
00:10:35kann sie sehr nützlich sein,
00:10:36wenn man auf die Funktionsweise der App zurückblicken möchte.
00:10:38Genau wie als ich herausfinden musste,
00:10:40welcher Dienst meine App zum Absturz brachte,
00:10:42sagte ich Claude einfach,
00:10:43es solle sich auf die Testprotokolle beziehen,
00:10:44anstatt die Tests erneut auszuführen,
00:10:46was mich davor bewahrte,
00:10:47eine 2-minütige Testsuite erneut auszuführen,
00:10:49nur um einen Fehler zu reproduzieren,
00:10:50den ich bereits gesehen hatte.
00:10:51Damit sind wir am Ende dieses Videos angelangt.
00:10:53Wenn ihr den Kanal unterstützen und uns helfen möchtet,
00:10:56weiterhin solche Videos zu machen,
00:10:57könnt ihr das mit dem Super-Thanks-Button unten tun.
00:10:59Wie immer,
00:11:00vielen Dank fürs Zuschauen und wir sehen uns im nächsten Video..