TL;DR
- In einem echten Repo mit einer 177 Zeilen langen CLAUDE.md, 3 Skills und 1 Hook brach nach dem Löschen von allem genau eine Regel, in genau einer Situation: die i18n-Regel bei einer brandneuen Datei. Jede andere Konvention hielt, weil der umgebende Code sie bereits vorgab.
- Die Datei kostete 4 bis 14 % der gelesenen Tokens bei Aufgaben mit identischem Ergebnis, etwa einen Dollar von zehn. Die Schlagzeile von 32 % Ersparnis wird von der einen Aufgabe dominiert, bei der die Datei das Modell mehr arbeiten ließ.
- Skills und der Hook kosteten nichts Messbares: Skills laden erst beim Aufruf und keiner wurde aufgerufen, der Hook fügt einen Satz ein.
- Die 82 Zeilen Architekturübersicht brachten bei der Architekturfrage nichts: sechs Antworten, alle korrekt, mit oder ohne Datei.
- "Löschen" heißt in Anthropics eigenen Worten ablatieren und auf Progressive Disclosure umstellen, nicht ausradieren. Behalte die Regeln, die der Code nicht vermitteln kann, verschiebe den Rest in Rules-Dateien und Skills und mach aus dem Unverhandelbaren Hooks.
- Zwei Durchläufe pro Konfiguration sind eine Untergrenze, kein Urteil: Unterschiede pro Aufgabe unter 15 % liegen im Rauschen zwischen den Läufen.
Was die Messungen zeigen
Der Vortrag, auf den alle reagieren, sagt zwei Dinge, und das zweite fällt unter den Tisch. Boris Cherny bestätigt auf der Bühne, dass Claude Code 80 % seines System-Prompts gelöscht hat, und beschreibt die Methode: den gesamten System-Prompt löschen und dann Zeile für Zeile zurückholen, um die Wirkung jeder Zeile zu messen s2. Die Passage "every 6 months" steht bei 00:06:58 bis 00:07:05, und der Wortlaut ist "really do recommend", nicht "strongly recommend" s1. Zwei Sätze, die ihm oft zugeschrieben werden, kommen im Vortrag nicht vor: "context, goals and a definition of done" (die nächste echte Formulierung bei 15:22 ist "describe the task, the guardrails, the exit criteria") und "64 agents". Er sagt "eleven days" und, nach der Zahl der Agenten gefragt, "I'm not sure" s2. Die Zahl 64 stammt aus dem Beitrag zum Bun-Rewrite: "64 Claudes running for 11 days", rund 165.000 $ zu API-Preisen, 9 Milliarden ungecachte Input-Tokens, 690 Millionen Output-Tokens und 72 Milliarden gecachte Input-Token-Lesevorgänge s14.
Der Mechanismus, der das alles messbar macht, ist das Laden. CLAUDE.md und Rules-Dateien werden in jedem Turn eingespielt, Skills laden nur beim Aufruf. Die Memory-Docs enthalten auch die Größenempfehlung, die alle paraphrasieren: "target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence." s4. Anthropics schriftliche Fassung des Rats nennt die zentrale CLAUDE.md im Repository einen Mythos und verweist stattdessen auf Progressive Disclosure und Auto-Memory s3.
Die einzige kontrollierte Studie vor unserer ist das ETH-Paper zu AGENTS.md: 138 Issues in 12 Repos und "providing context files does not generally improve task success rates, while increasing inference cost by over 20% on average". Von Entwicklern committete Dateien schneiden im Schnitt 7 % besser ab als LLM-generierte, und Anweisungen, die konkrete Tools nennen, helfen s5.
Zwei Datenpunkte dazu, was in den Dateien steht und wie sie gelesen werden. In 28.721 Repositories und 165.063 Dateien enthält die mediane Instruktionsdatei 50 Inhaltselemente, von denen 12 echte Direktiven sind; laut Autor erledigen nur 27 % der Datei das, was man denkt s8. In einem kontrollierten Experiment mit zwei echt widersprüchlichen Anweisungen verschiebt das Umsetzen einer einzigen Regel vom Anfang ans Ende der Datei, wie oft das Modell sie befolgt, um etwa 90 Punkte, von fast nie auf fast immer s9. Derselbe Herausgeber zieht die Linie, der unser Experiment folgt: Ablation ist kein Löschen, und Hooks sind Durchsetzung, sie verfallen nicht mit einem Modell-Upgrade s7.
Zwei informelle Vorannahmen passten zu unserem Ergebnis. Eine CLAUDE.md mit 1.000 Zeilen, verglichen mit einer abgespeckten Version von ~20 Zeilen, auf denselben GitHub-Issues mit demselben Modell: Die Architektur hielt, die Hausregeln brachen s6. Ein Kommentator, der alles auf Progressive Disclosure umgestellt hat, berichtet, dass der automatisch geladene Kontext von ~35k auf ~4,5k Tokens pro Session sank, ohne dass Wissen gelöscht wurde s11. Zum Bewerten von Skill-Ablationen gibt es ein Tool: --ablate von caliper deckt Skills und MCP-Server ab, und compare meldet Erfolgsrate, Tokens und Laufzeit; den CLAUDE.md-Tausch macht man weiterhin von Hand s16.
Messungen
Protokoll: ein privates Expo / React-Native-Repo (1.021 getrackte Dateien), CLAUDE.md mit 177 Zeilen, 7.243 Zeichen, etwa 1.800 Tokens, 3 Skills, 4 Slash-Commands, 1 PreToolUse-Hook. Modell für jeden Lauf auf claude-opus-5 festgelegt, Claude Code 2.1.278, headless claude -p, --max-turns 40, leeres User-Config-Verzeichnis, kein MCP, vor jedem Lauf frischer Clone. Fünf alltägliche Aufgaben (neue Komponente, Komponente ändern, geteilte Helper refaktorieren, Store-Feld persistieren, Datenpfad erklären), Ablation jeweils ein Teil nach dem anderen. 44 Läufe, 38,97 $ zu API-Preisen, 92 Minuten Agent-Laufzeit. Bewertung: die Hausregeln des Repos auf hinzugefügten Zeilen, tsc --noEmit, eslint, Antworten von Hand benotet.
Qualität, was gebrochen ist:
| Konfiguration | Edit-Läufe | Verstöße gegen Hausregeln | neue tsc-Fehler | eslint-Fehler |
|---|---|---|---|---|
| A voll | 8 | 0 | 0 | 0 |
| B ohne CLAUDE.md | 8 | 1 (neue Überschrift hartcodiert, kein .content.ts) |
0 | 0 |
| C ohne Skills | 4 | 0 | 0 | 0 |
| D ohne Hook | 4 | 0 | 0 | 0 |
| E nichts | 8 | 2 (Überschrift zweimal hartcodiert, kein .content.ts) |
0 | 0 |
Kosten pro Lauf, Mittelwert über die Läufe der Konfiguration (Tokens = Cache-Lesevorgänge, der in jedem Turn neu gelesene Kontext):
| Konfiguration | Läufe | $ / Lauf | Turns / Lauf | gelesene Tokens / Lauf |
|---|---|---|---|---|
| A voll | 10 | 0.95 | 25.6 | 829k |
| B ohne CLAUDE.md | 10 | 0.74 | 21.9 | 568k |
| C ohne Skills | 5 | 0.96 | 28.2 | 819k |
| D ohne Hook | 5 | 0.96 | 27.8 | 851k |
| E nichts | 10 | 0.85 | 25.7 | 655k |
Pro Aufgabe, A gegen B (Mittel aus je 2 Läufen):
| Aufgabe | A $ | B $ | Kosten | gelesene Tokens |
|---|---|---|---|---|
| T1 neue Komponente | 1.72 | 0.96 | -44% | -61% |
| T2 Komponente ändern | 1.49 | 1.26 | -15% | -15% |
| T3 Refactoring | 0.64 | 0.63 | -1% | -5% |
| T4 Store | 0.57 | 0.53 | -6% | -4% |
| T5 Frage | 0.34 | 0.31 | -9% | -14% |
| alle 10 Läufe | 9.51 | 7.40 | -22% | -32% |
Die Tabellen gelesen. Ohne CLAUDE.md schrieben 3 von 4 Läufen mit neuer Komponente die Überschrift als einfachen String; mit ihr legten 4 von 4 die .content.ts mit EN und FR an. Bei der Edit-Aufgabe legte jede Konfiguration, sogar E, den neuen String in eine .content.ts: Die Nachbardateien trugen die Konvention. Alles andere hielt in allen 44 Läufen: 0 relative Imports, type statt interface in sechs Änderungen an der Types-Datei, Design-Tokens in jedem Diff, 0 Hex-Farben, keine Barrel-Datei. Eine Anweisung, die niemand befolgen konnte: Die Datei verlangt, theme aus @design-tokens zu importieren, einem Alias, den es in tsconfig.json nicht gibt; kein Lauf in keiner Konfiguration nutzte ihn, 1.800 Tokens in jeder Session umsonst gelesen. Die Ersparnis bei T1 ist der günstigere Lauf, der weniger Arbeit macht. Die Streuung zwischen Läufen ist größer als die meisten Konfigurationseffekte: T1 mit der vollen Konfiguration kostete 2,11 $, dann 1,33 $. Eine Kontrolle mit dem vorhandenen 333-MB-Codegraphen landete auf den Werten der vollen Konfiguration (1,59 $ vs. 1,72 $ bei T1, 0,38 $ vs. 0,34 $ bei T5): Der Graph-Block und der Hook änderten nichts Messbares.
Das machst du am Montag
- Miss deine CLAUDE.md: Zeilen, Zeichen und die Zahl der Zeilen, die echte Direktiven sind (Always, Never, Use, Prefer). Der Rest ist Kontext, den das Modell in jedem Turn neu liest.
- Nimm dir pro Abschnitt eine Konvention vor und prüfe, ob eine Nachbardatei sie schon zeigt. Wenn drei Dateien im Ordner die Regel befolgen, ist die Zeile ein Kandidat zum Löschen.
- Finde die eine Regel, die der Code bei einer brandneuen Datei nicht vermitteln kann (i18n, Telemetrie, Lizenz-Header, ein vorgeschriebener Registrierungsschritt). Behalte sie, formuliere sie in einer Zeile und setze sie nach oben.
- Probiere jeden Import-Pfad und jeden Befehl aus, den deine Datei nennt. Ein toter Alias oder ein umbenanntes Script ist eine Anweisung, die niemand befolgen kann.
- Verschiebe lange Architekturübersichten und Setup-Anleitungen in eine Rules-Datei oder einen Skill, der bei Bedarf lädt, und vergleiche dann den automatisch geladenen Kontext vorher und nachher.
- Mach aus deinen zwei oder drei Unverhandelbaren einen Hook oder eine Lint-Regel. Durchsetzung hängt nicht davon ab, dass das Modell einen Absatz liest.
- Lass deine zwei häufigsten Aufgaben zweimal mit der Datei und zweimal ohne laufen, auf einem festgelegten Modell, und lies Tokens und Diff. Zwei Wiederholungen zeigen dir, wo du hinschauen sollst, nicht, was du schließen kannst.
Weiterlesen
- Der Vortrag selbst, wegen der Methode statt des Soundbites: löschen, dann Zeile für Zeile zurückholen s2.
- Die vollständigen Ergebnisse des Papers, einschließlich des Befunds, dass von Entwicklern committete Dateien generierte um 7 % schlagen und dass das Nennen von Tools hilft s5.
- Regelposition als Variable: der Ausschlag von ~90 Punkten und wie das Modell widersprüchliche Anweisungen stillschweigend auflöst s9.
- Die Anatomie einer Instruktionsdatei über 30k Repos: 50 Elemente, 12 Direktiven, und was die anderen 38 sind s8.
- Der HumanLayer-Leitfaden zum Schreiben einer guten CLAUDE.md und der Thread, der ihm widerspricht s10.
- Der Thread "MUST use agent, ignored 80% of the time": ein Argument für Hooks, wo Prosa scheitert s12.
- Der Thread "Claude Code now ignores everything", nützlich, um Modell-Drift von Anweisungskonflikten zu trennen s13.
- caliper, um Skill- und MCP-Ablationen nach Erfolgsrate, Tokens und Laufzeit zu bewerten s16.
Sources
- Boris Cherny: We Cut 80% of Claude Code's Prompt, Y Combinator. Warum lesen: das Originalzitat, mit dem Vorbehalt, den die Clips weglassen.
- Transcript of the talk, Y Combinator. Warum lesen: durchsuchbarer Text, um zu prüfen, was gesagt wurde und was nicht.
- The new rules of context engineering for Claude 5 generation models, Anthropic. Warum lesen: die schriftliche Fassung des Rats, Progressive Disclosure statt einer zentralen Datei.
- Memory docs: CLAUDE.md and rules files, Claude Code docs. Warum lesen: was in jedem Turn lädt, was bei Bedarf lädt, und die 200-Zeilen-Empfehlung.
- Evaluating AGENTS.md, arXiv. Warum lesen: die einzige kontrollierte Messung von Kontextdateien vor dieser.
- Should you delete your CLAUDE.md every 6 months?, Modern Creator. Warum lesen: ein informeller Vergleich von 1.000 gegen 20 Zeilen, dessen Bruchmuster zu unserem passt.
- Opus 5: delete your CLAUDE.md?, reporails. Warum lesen: Ablation versus Löschen, und warum Hooks ein Modell-Upgrade überleben.
- The State of AI Instruction Quality: 30k-repo analysis, reporails. Warum lesen: was eine mediane Instruktionsdatei tatsächlich enthält.
- Opus 5: the cost of instruction conflicts, reporails. Warum lesen: ein kontrolliertes Experiment zur Regelposition.
- Writing a good CLAUDE.md, HN thread, Hacker News. Warum lesen: Praktiker streiten darüber, was in die Datei gehört.
- Anthropic says keep CLAUDE.md under 200 lines, r/ClaudeCode. Warum lesen: der Vorher-Nachher-Kommentar von ~35k auf ~4,5k.
- CLAUDE.md says MUST use agent, Claude ignores it, r/ClaudeCode. Warum lesen: ein konkreter Fall, in dem Prosa-Anweisungen scheitern.
- Claude Code now ignores everything, r/ClaudeCode. Warum lesen: die Symptomberichte hinter dem Gefühl, "etwas hat sich geändert".
- Rewriting Bun in Rust, Simon Willison. Warum lesen: woher die Zahlen 64 Agenten und 165.000 $ stammen.
- caliper, GitHub. Warum lesen: ein Bewertungs-Harness für Skill- und MCP-Ablationen.
FAQ
Sollte ich meine CLAUDE.md löschen?
Nicht blind. In unserem Repo war der einzige Verlust eine Regel bei neuen Dateien; alles, was der Code bereits zeigte, hielt auch ohne die Datei. Ablatiere einen Abschnitt nach dem anderen und behalte, was das Ergebnis verändert.
Warum sparte die Datei 32 % der Tokens, wenn sie nur 4 bis 14 % kostete?
Weil das Gesamtergebnis von der Aufgabe mit der neuen Komponente dominiert wird, bei der die Datei das Modell eine zweite Datei in zwei Sprachen schreiben ließ. Der günstigere Lauf machte weniger. Bei Aufgaben mit identischem Ergebnis lag die Ersparnis bei 4 bis 14 %.
Kosten Skills und Hooks in jedem Turn Tokens?
Skills laden nur beim Aufruf, ein nicht aufgerufener Skill kostet also nichts; der Hook fügt einen Satz ein. Beides zu löschen änderte in unseren Läufen keine Zahl. Rules-Dateien und CLAUDE.md sind es, die in jedem Turn neu gelesen werden.
Reichen zwei Läufe pro Konfiguration?
Nein. Zwei Wiederholungen lokalisieren den Effekt, sie bemessen ihn nicht. Unsere volle Konfiguration kostete bei derselben Aufgabe 2,11 $ und dann 1,33 $, also liegen Unterschiede pro Aufgabe unter 15 % im Rauschen.
AIDive