Dein Claude.md-Setup macht AI-Coding tatsächlich 99% langsamer
AAI LABS
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00Eine einzige Datei entscheidet darüber, ob das Produkt, das Sie erhalten,
00:00:04tatsächlich die richtige Implementierung ist, die Sie brauchten.
00:00:05Für Claude Code-Nutzer ist das claud.md und andere haben ihre eigenen Dateien, aber meistens
00:00:10verwenden sie die agents.md.
00:00:11Aber egal, welche Sie verwenden: Wenn Sie sie nicht richtig einrichten, werden Sie bei jeder Aufgabe
00:00:15mit Ihrem Agenten kämpfen.
00:00:17Und wenn Sie denken, dass das Ausführen eines einfachen Init-Befehls ausreicht,
00:00:20dann irren Sie sich.
00:00:21Sie müssen ein strukturiertes Muster befolgen, das auf das Projekt zugeschnitten ist und Ihren Agenten
00:00:26tatsächlich besser performen lässt.
00:00:27Aus diesem Grund haben wir die besten Praktiken zusammengestellt, die Sie befolgen sollten, von anderen glaubwürdigen Quellen
00:00:31sowie aus unserer eigenen Erfahrung, nachdem wir Stunden mit Claude Code verbracht haben, damit Sie sie direkt
00:00:35in Ihren Arbeitsablauf integrieren können.
00:00:36Und der letzte Punkt ist wichtig, weil er bestimmt, wie Ihr Agent Ihre Anweisungen tatsächlich befolgt,
00:00:41und wenn man sie nicht befolgt, werden die übrigen Anweisungen in Ihrer Datei nicht so wirkungsvoll sein.
00:00:45Das Erste, was Sie Ihrer claud.md-Datei hinzufügen müssen, stammt direkt
00:00:49aus Andrej Karpathys Skills-Repo, das die besten claud.md-Muster enthält, über die er spricht.
00:00:54Sie müssen eine explizite Anweisung an Claude hinzufügen, vor dem Programmieren nachzudenken.
00:00:58Dadurch macht Claude Annahmen explizit.
00:01:01Wenn mehrere Interpretationen existieren, sollte er alle präsentieren, damit wir uns zwischen
00:01:05den Implementierungsmöglichkeiten entscheiden können.
00:01:07Dies zwingt Claude dazu, aus einer anderen Perspektive zu denken, bevor er tatsächlich in die
00:01:11Lösung eintaucht.
00:01:12Dies stellt sicher, dass die Implementierung mit dem übereinstimmt, was Sie wollten.
00:01:15Diese Zeile erspart uns eine enorme Menge an Korrekturbedarf in unserem Arbeitsablauf, weshalb wir sie
00:01:20so hilfreich fanden.
00:01:21Mit dieser hinzugefügten Anweisung wird Claude, wann immer Sie ihn bitten, ein Feature zu implementieren, im Grunde
00:01:25eine Reihe von Fragen zu der Aufgabe stellen, die Sie ihm gegeben haben, damit Ihre Antworten ihn
00:01:29bei der tatsächlichen Erledigung der Aufgabe leiten.
00:01:31Dieser Teil ist besonders hilfreich, weil Claude jetzt nicht mehr einfach Implementierungen errät
00:01:35und sofort mit den Mustern loslegt, die er aus den Trainingsdaten auswendig gelernt hat.
00:01:39Er wird gründlich darüber nachdenken, was die richtige Implementierung ist, dies mit Ihnen bestätigen, ob dies
00:01:43die beabsichtigte Implementierung ist, und dann tatsächlich an dem Feature arbeiten, anstatt einfach wild
00:01:48zu raten, woraufhin Sie Claude unterbrechen müssen, weil er nicht die korrekten Implementierungen befolgt hat,
00:01:52die Sie im Kopf hatten, was viel zu oft vorkommt und Sie dazu zwingt, ständig
00:01:56nachzubessern.
00:01:57Die nächste Regel ist: Einfachheit zuerst.
00:01:59Es ist etwas so Einfaches, muss aber dennoch spezifisch in der claud.md angegeben werden, damit
00:02:04der Agent angemessen an dieses Prinzip erinnert wird.
00:02:07Claude oder jeder andere Agent neigt dazu, große Lösungen für Probleme zu schreiben, die mit
00:02:11einfachen gelöst werden können.
00:02:12Aber das ist nicht nur problematisch, weil es Verzögerungen verursacht.
00:02:15Es macht es auch schwierig, den Code später zu refactoren, und noch schwieriger, Features hinzuzufügen, weil
00:02:19die Implementierung so ausführlich ist, dass sie viele Token verbraucht, um einfache Dinge zu implementieren.
00:02:24Diese Zeile zwingt Claude also förmlich dazu, auf Einfachheit hinzuarbeiten.
00:02:27Wir fügen dies auch bei jedem Projekt hinzu, insbesondere wenn wir an groß angelegten Anwendungen arbeiten, weil
00:02:32dies in diesem Maßstab umso wichtiger wird.
00:02:35Dies weist Claude spezifisch an, keine Features hinzuzufügen, die über das Gefragte hinausgehen, und eine
00:02:39ordnungsgemäße Fehlerbehandlung für die Implementierung sicherzustellen.
00:02:41Der disziplinierte Rahmen darum ist im Grunde ein harter Schwellenwert.
00:02:44Wenn die Lösung für irgendein Problem, um das Sie bitten, in 200 Zeilen bewältigt werden kann und auf 50
00:02:49refactort werden könnte, dann muss Claude die Lösung neu schreiben, weil sein Ansatz falsch ist.
00:02:54Dies verhindert tatsächlich, dass Claude eine Menge nutzlosen Overhead-Code mit Dingen schreibt,
00:02:58die nicht einmal implementierbar sind, und spiegelt die falsche Richtung wider, die Claude gewählt hat.
00:03:03Der dritte Teil der claud.md ist die Implementierung chirurgischer Änderungen oder, in einfachen Worten, das Berühren
00:03:08nur derjenigen Teile, die der Agent absolut berühren muss.
00:03:11Dies adressiert etwas, dem wir oft begegnen, wenn Claude eine große Menge an Code auf einmal schreibt
00:03:15und die Korrektur explizit in der claud.md-Datei angegeben werden muss.
00:03:19Claude oder Agenten im Allgemeinen versuchen, wenn sie gebeten werden, eine Aufgabe zu erledigen, auch die Dinge
00:03:24um diese Aufgabe herum zu verbessern.
00:03:25Diese Verbesserungen könnten wie angrenzende Codeänderungen oder das Formatieren der Codebasis aussehen, worauf
00:03:29wir uns im Moment nicht konzentrieren wollen.
00:03:32Aber das ist nervig, weil Claudes Aufmerksamkeit auf die vielen Dinge aufgeteilt wird, die er
00:03:36versucht, gleichzeitig zu implementieren.
00:03:37Solche Änderungen einzustellen ist nicht gut, weil Claude im Grunde Dinge einbezieht,
00:03:41die wir im Moment nicht wollten.
00:03:43Also müssen wir in der claud.md explizit die Anweisungen geben, dies nicht zu tun.
00:03:47Wenn der Agent irgendeinen irrelevanten toten Code bemerkt, sollte er ihn erwähnen, anstatt ihn selbst zu reparieren.
00:03:52Manchmal sind solche Dinge aus spezifischen Gründen vorhanden, die später adressiert werden sollen,
00:03:56nicht in dem Stadium, in dem sich die App gerade befindet.
00:03:58Das mentale Gerüst, das Claude entscheiden lässt, wie er sich richtig verhält, besteht darin, jede Änderung
00:04:03zu prüfen und zu sehen, ob sie tatsächlich auf das zurückzuführen ist, worum der Benutzer gebeten hat.
00:04:06Wenn ja, sollte er diese Änderung vornehmen.
00:04:08Wenn nicht, sollte er dieses Feature nicht anfassen.
00:04:10Wenn diese Zeile hinzugefügt wird, wird Claude, wann immer er irgendein Problem bei der Implementierung hat, im Grunde
00:04:14nur das Ding ändern, um dessen Korrektur der Benutzer gebeten hat.
00:04:17Daher wird er Ihnen alle anderen Probleme nennen, die er in derselben Datei gefunden hat, und Sie können dann entscheiden,
00:04:21ob Sie tatsächlich möchten, dass er diese repariert oder nicht.
00:04:24Das letzte Muster, das von Andrej Karpathy extrahiert wurde, ist zielorientierte Ausführung.
00:04:29Agenten wissen nicht, wie das korrekte Ergebnis aussieht, was das Kernproblem ist.
00:04:33Sie würden viel effektiver arbeiten, wenn sie es wüssten, und genau das löst diese Regel.
00:04:36In der claud.md-Datei müssen wir Claude explizit anweisen, die Erfolgskriterien
00:04:41für jede Aufgabe zu definieren, die wir ihm geben.
00:04:43Daher muss Claude für jede Aufgabe, die wir übergeben, diese in ein überprüfbares Ziel umwandeln.
00:04:47Wenn Sie ihm beispielsweise die Aufgabe geben, eine Validierung hinzuzufügen, wird er Tests für die ungültigen Eingaben schreiben
00:04:52und sicherstellen, dass diese Testfälle tatsächlich mit den richtigen Rückgabewerten für die richtigen Eingaben bestehen.
00:04:57Die ganze Idee ist also, dass der Agent Testfälle implementiert und dann iteriert, bis alle Test-
00:05:01Fälle bestehen, und am Ende das Projekt das gleiche Verhalten aufweist, das wir tatsächlich davon brauchen.
00:05:06Wenn Sie ihm irgendeinen Prompt zu einer Aufgabe geben, wird er das überprüfbare Ziel festlegen und die Implementierung planen.
00:05:11Dann wird er die Arbeit für Sie überprüfen, indem er alle Testfälle hinzufügt und zeigt, wie er
00:05:15die ganze App im Wesentlichen handhaben wird.
00:05:17Nun könnte das für logisches Denken funktionieren, aber wenn Sie möchten, dass der Agent überprüft, wie Ihre
00:05:21UI aussieht, kann der Agent dafür keine Testfälle schreiben.
00:05:23Dafür können Sie die Claude Chrome-Erweiterung oder Puppeteer MCP hinzufügen, damit er überprüfen kann,
00:05:28wie die UI aussieht, indem er diese Tools verwendet.
00:05:30Das hilft, weil UI-Änderungen schwer zu beurteilen sind, wenn man sich nur den Code ansieht, und dem
00:05:35Agenten eine überprüfbare Möglichkeit zu geben, die aktuellen Visuals der App zu sehen, und damit kann er
00:05:40die Probleme beheben.
00:05:41Daher können Sie explizit eine Zeile hinzufügen, damit er weiß, dass er nach der UI-Implementierung
00:05:45auch das Ergebnis über das MCP verifizieren muss.
00:05:48Wenn Sie eine claud.md-Datei mit dem Init-Befehl von Claude Code erstellt haben, würden Sie sehen, dass
00:05:53er Befehle für das Ausführen des Dev-Servers und des Build-Servers hinzufügt.
00:05:57Aber diese sind bereits in seinen Trainingsdaten enthalten und Claude kennt diese Befehle bereits und
00:06:01wir müssen nicht explizit Zeilen in der claud.md verschwenden, um ihm zu sagen, was er bereits weiß.
00:06:05Also müssen Sie in Ihrer Datei nur die Tools erwähnen, die Claude verwenden soll, anstatt die,
00:06:09auf die er standardmäßig zurückgreift.
00:06:11Es gibt bestimmte CLI-Tools, die den Workflow schneller machen, aber nicht in Claudes Standard-Trainings-
00:06:16Daten oder den Mustern enthalten sind, auf die er sich bereits verlässt.
00:06:18Daher müssen Sie diese explizit hinzufügen, damit Claude weiß, dass diese Tools installiert sind
00:06:22und nicht ständig auf das zurückfällt, was er von sich aus verwendet.
00:06:26Wenn Sie zum Beispiel die GitHub CLI installiert haben, anstatt Git für die Arbeit zu verwenden, können Sie
00:06:30in der claud.md eine Anweisung hinzufügen, seine CLI anstelle der Standard-Git-Befehle für alle
00:06:36Operationen zu verwenden.
00:06:37Ähnlich können Sie weitere Befehle hinzufügen, die nicht die Standardbefehle sind.
00:06:41Sie müssen auch die Ausführungsanweisungen für das Projekt in dieser Datei hinzufügen, falls sie sich
00:06:45von den üblichen unterscheiden.
00:06:46Zum Beispiel werden die meisten Projekte in der Standardeinrichtung mit npm ausgeführt, und wenn Ihr Projekt mit
00:06:51pnpm ausgeführt wird, müssen Sie diese Information hinzufügen, damit der Agent weiß, welche Befehle tatsächlich
00:06:56ausgeführt werden sollen.
00:06:57Alles andere als Befehle, die Claude bereits kennt, sollte nicht in die claud.md-
00:07:01Datei aufgenommen werden.
00:07:02Die nächste Erwähnung in der claud.md ist vom Erfinder von Claude Code und dem Workflow inspiriert,
00:07:07den er enthüllte.
00:07:08Er sprach darüber, dass claud.md keine Datei ist, die man einmal schreibt und für immer benutzt.
00:07:12Es ist etwas, das ständig geändert, aktualisiert und verbessert werden muss, während man baut,
00:07:16als ein fortlaufender Prozess, der immer wieder iteriert werden muss.
00:07:20Sie müssen also eine Anweisung hinzufügen, dass, wenn Claude vom Benutzer gesagt bekommen musste, dass seine Implementierung
00:07:25nicht korrekt war, er zuerst Korrekturen anwenden sollte, wie vom Benutzer darauf hingewiesen.
00:07:29Sobald Claude diese Korrekturen angewendet hat, sollte er diese Erkenntnisse auch in eine dedizierte
00:07:33Datei hinzufügen, damit Claude allmählich eine Wissensbasis darüber aufbauen kann, was er nicht tun sollte und was der
00:07:38korrekte Weg ist, Dinge zu tun, auf den er später bei Bedarf zurückgreifen kann.
00:07:42Aber bevor wir fortfahren, lassen Sie uns ein Wort von unserem Sponsor hören.
00:07:45Klaus, Sie haben wahrscheinlich von KI-Agenten gehört.
00:07:47Vielleicht haben Sie versucht, selbst einen einzurichten, 15 Minuten später starren Sie auf ein Terminal,
00:07:51fügen API-Schlüssel in Konfigurationsdateien ein und fragen sich, ob Sie gerade etwas Wichtiges geleakt haben.
00:07:56Klaus überspringt das alles.
00:07:57Klaus betreibt OpenClaw, den Open-Source-KI-Agenten in der Cloud.
00:08:00Sie melden sich an, erhalten 15 Dollar in Open-Router-Credits und beginnen zu prompten.
00:08:04Kein Terminal, kein Docker, keine API-Schlüssel-Schnitzeljagd.
00:08:07Ich habe es getestet, indem ich Klaus bat, ein Startup-Verzeichnis zu scrapen, die Ergebnisse in einer Tabelle zu organisieren
00:08:12und es mir zu mailen.
00:08:13Ein Prompt im Chatfenster, fertig.
00:08:15Kein Code, keine Browser-Erweiterungen.
00:08:17Er kommt mit integrierten Tools wie Exa und Apollo und verbindet sich mit Slack, WhatsApp, sogar
00:08:21iMessage.
00:08:22Alles läuft auf einer firewalled Maschine, vollständig isoliert von Ihren persönlichen Konten.
00:08:27Wenn etwas kaputt geht, repariert es ihr Autofix-Agent Clawbert, ohne dass Sie etwas berühren müssen.
00:08:31Klicken Sie auf den Link im angepinnten Kommentar und probieren Sie Klaus kostenlos aus.
00:08:35Da die meisten Programmierprojekte von Git verwaltet werden, müssen Sie explizit eine Anweisung hinzufügen,
00:08:39in der claud.md, dass Claude keine Befehle ausführen sollte, die ohne Bestätigung irreversibel sind.
00:08:44Und wenn es notwendig ist, einen solchen Befehl auszuführen, muss der Agent vorher um Erlaubnis fragen.
00:08:48Diese Befehle sind gefährlich, da die Konsequenzen nach ihrer Ausführung irreversibel sind
00:08:53und sie Schäden an der Produktion verursachen können.
00:08:55Dinge wie Force-Push, Resetting des Heads, Mergen von Branches oder Ausführen von Remove-with-Force-
00:09:00Befehlen.
00:09:01Sie müssen auch eine Anweisung hinzufügen, dass, wenn Claude unsicher ist, ob ein Befehl destruktiv
00:09:04ist oder nicht, er fragen sollte, anstatt anzunehmen.
00:09:07Das wird Ihnen viel Ärger ersparen.
00:09:08Zum Beispiel, wenn Claude versehentlich versucht, einen Branch zu mergen, den Sie nicht mergen möchten,
00:09:12wird er vor dem Tun um Erlaubnis fragen und Sie können es dann ablehnen, sodass Ihre Arbeit
00:09:16sicher bleibt.
00:09:17Es besteht keine Notwendigkeit, alle Aspekte von Informationen in eine einzige claud.md-Datei zu packen, weil das
00:09:22die Datei nur unnötig aufbläht und den Agenten von dem ablenkt, was er eigentlich tun muss.
00:09:27Also müssen Sie pfadbezogene Regeldateien erstellen, die ihren Geltungsbereich in der ersten Zeile deklarieren
00:09:31und Anweisungen enthalten, die genau auf diese Dateien zugeschnitten sind.
00:09:34Sie müssen auch den Speicherort dieser Dateien in der claud.md erwähnen, damit Claude weiß, dass sie existieren.
00:09:40Zum Beispiel, wenn Sie möchten, dass Claude bestimmte spezifische Anweisungen befolgt, wenn er APIs schreibt,
00:09:44können Sie diese in einer Regeldatei dafür hinzufügen, sodass Claude, wenn er an ihnen arbeitet, diese laden
00:09:48und direkt verwenden kann.
00:09:50Aber ebenso wichtig ist, dass dies auch sicherstellt, dass API-bezogene Anweisungen nicht stören,
00:09:55wenn Claude nicht an ihnen arbeitet.
00:09:56Sie können mehrere Regeldateien für verschiedene Teile des Projekts haben, von denen jede Anweisungen enthält,
00:10:00die auf diesen spezifischen Bereich zugeschnitten sind.
00:10:02Auf diese Weise lädt Claude nur die relevanten Anweisungen, wenn er an diesem Teil arbeitet.
00:10:06Daher verhindert es Kontext-Bloat und hält den Agenten auf seine aktuelle Aufgabe fokussiert, anstatt
00:10:11von nicht zusammenhängenden Regeln abgelenkt zu werden.
00:10:13Die meisten groß angelegten Anwendungen befinden sich in einem Monorepo, was ein einziges großes Repository ist, in dem
00:10:18alle verschiedenen Komponenten zusammengehalten werden, wobei jeder Ordner als separater Teil
00:10:22für sich fungiert und jeder Teil unabhängig verwaltet wird, während er zu einem anderen Aspekt der
00:10:27Hauptanwendung beiträgt.
00:10:28Wenn Sie also ein Projekt aus einem Monorepo ausführen, müssen Sie sicherstellen, dass jedes Sub-
00:10:32Repo seine eigene claud.md-Datei enthält, damit sie tatsächlich Anweisungen enthält, die spezifisch
00:10:37für sie sind und sich nicht nur auf die Anweisungen aus der globalen claud.md verlassen muss.
00:10:42Die globale Datei sollte nur aus Anweisungen bestehen, die breit auf alle Teile der
00:10:47System anwendbar sind.
00:10:48Aber begrenzte claud.md-Dateien funktionieren besser, weil sie Anweisungen enthalten können, die spezifisch
00:10:52für diese bestimmte App oder dieses Modul sind.
00:10:54Dies ermöglicht dem Agenten eine bessere Leistung, weil er eine fokussiertere Anleitung erhält.
00:10:58Daher ist es der falsche Schritt, alle großen Projektanweisungen in die Hauptdatei zu legen.
00:11:02Es wird die Datei tatsächlich mit Informationen aufblähen und wenn Claude durch Bereiche mit Anweisungen geht,
00:11:07die die aktuelle Aufgabe nicht betreffen, kann dies dazu führen, dass seine Aufmerksamkeit von dem abweicht, was er
00:11:11eigentlich tun muss.
00:11:12Wenn Ihnen unsere Inhalte gefallen, sollten Sie in Erwägung ziehen, den Hype-Button zu drücken, da er uns hilft,
00:11:16mehr Inhalte wie diesen zu erstellen und mehr Menschen zu erreichen.
00:11:19Sie müssen auch die Projektbeschreibung in Ihre claud.md-Datei einfügen und sicherstellen, dass diese
00:11:24Anweisung ganz am Anfang steht, nicht vergraben in den übrigen
00:11:29Anweisungen.
00:11:30Weil der Agent das Wesentliche dessen versteht, worum es in der ganzen App geht, indem er es zuerst liest.
00:11:33Also versteht er den Kontext, wie die App strukturiert ist, was sie im Allgemeinen tut, was
00:11:38die verschiedenen Dienste und Abhängigkeiten sind und wie die App läuft.
00:11:41Auf diese Weise weiß er es von Anfang an, anstatt sich den Code anzusehen, um abzuleiten, was die
00:11:45App tut.
00:11:46Ein weiterer Abschnitt, den wir in Ihre claud.md-Datei aufnehmen müssen, ist, dass Claude überprüfen muss,
00:11:50nicht nur, dass das Feature existiert, sondern auch, dass es wie beabsichtigt funktioniert, bevor er eine
00:11:55Aufgabe als abgeschlossen meldet.
00:11:57Er sollte alle verfügbaren Verifizierungsmechanismen nutzen, um zu bestätigen, dass der Build und die Tests ordnungsgemäß bestehen,
00:12:02aber der Punkt dieses Abschnitts ist, sicherzustellen, dass die Aufgabe tatsächlich durch Verwendung realer
00:12:07Verifizierungsschritte abgeschlossen ist, nicht nur durch Überprüfen, ob der Code für das Feature existiert.
00:12:11Daher drängt diese Anweisung Claude dazu, wahrheitsgetreuer zu berichten und mehrere
00:12:15Arten von Überprüfungen wie Unit-Tests, Linting und Typ-Prüfungen zu verwenden, um sicherzustellen, dass die App
00:12:20korrekt implementiert ist und wie beabsichtigt funktioniert.
00:12:23Zu guter Letzt ist auch die Art und Weise, wie Sie Ihre Anweisungen in der claud.md-Datei ordnen,
00:12:27sehr wichtig, um eine hohe Agentenleistung sicherzustellen.
00:12:29Sie müssen sie nach Priorität ordnen.
00:12:31Die ersten Anweisungen sollten harte Regeln sein, was bedeutet: immer nicht verhandelbar, ohne Ausnahmen
00:12:36überhaupt.
00:12:37Diese harten Regeln sollten immer zuerst kommen, vor allen anderen Regeln.
00:12:40Dann kommen die Regeln mittlerer Priorität, die nicht so streng sind wie die vorherigen.
00:12:44Sie sind etwas verhandelbar, aber immer noch wichtig und sollten nicht verletzt werden.
00:12:48Danach kommen die Anweisungen mit niedriger Priorität, die hauptsächlich Referenzen und Annehmlichkeiten enthalten,
00:12:52sodass der Agent nicht zurückgehen und diesen Abschnitt als Kernentscheidungsquelle verwenden muss.
00:12:57Eine weitere wichtige Sache ist, dass Sie sicherstellen müssen, dass die claud.md-Datei kurz gehalten wird.
00:13:01Eine bewährte Methode ist, sie unter einem strengen Limit von 300 Zeilen zu halten, was als optimal
00:13:06für die Agentenleistung angesehen wird.
00:13:07Aber sobald sie länger als das wird, beginnt die Leistung zu sinken.
00:13:10Die hier besprochene claud.md-Datei und alle anderen hier erwähnten Ressourcen sind in
00:13:15AI Labs Pro für dieses Video und für alle unsere früheren Videos verfügbar, von wo aus Sie sie herunterladen
00:13:20und für Ihre eigenen Projekte verwenden können.
00:13:21Wenn Sie Wert in dem gefunden haben, was wir tun, und den Kanal unterstützen möchten, ist dies der beste Weg,
00:13:25es zu tun.
00:13:26Der Link befindet sich in der Beschreibung.
00:13:27Das bringt uns zum Ende dieses Videos.
00:13:29Wenn Sie den Kanal unterstützen und uns helfen möchten, weiterhin Videos wie dieses zu erstellen, können Sie dies
00:13:33tun, indem Sie den Super-Thanks-Button unten verwenden.
00:13:35Wie immer, danke fürs Zuschauen und ich sehe Sie im nächsten Video.