0. TL;DR
Dieser Artikel basiert auf sechsmonatiger intensiver Nutzung von Claude Code und Erkenntnissen aus Ausgaben von Ausgaben von 40 $/Monat für zwei Konten. Hoffentlich bietet er allen wertvolle Anregungen.
Anfangs nutzte ich es als ChatBot, merkte aber bald, dass etwas schief lief: Der Kontext wurde chaotisch, die Tools wurden mehr, aber die Effektivität sank, und Regeln wurden ignoriert, obwohl sie länger waren. Nach der Recherche zu Claude Code selbst wurde klar, dass es kein Prompt-Problem war, sondern ein Systemdesign-Problem.
Ich möchte Folgendes behandeln: Wie Claude Code unter der Haube funktioniert, warum der Kontext chaotisch wird und wie man ihn regelt, wie man Skills und Hooks gestaltet, die korrekte Verwendung von Subagenten, die architektonischen Auswirkungen von Prompt Caching und wie man eine wirklich nützliche CLAUDE.md schreibt.
Der direkteste Weg, es zu verstehen, ist, Claude Code in sechs Schichten zu unterteilen:

Nur eine Schicht zu stärken, führt zu Ungleichgewicht. Ist die CLAUDE.md zu lang, verschmutzt sie den Kontext; zu viele Tools verursachen Verwirrung; zu viele Subagenten führen zu Zustandsabweichungen; das Überspringen der Verifikation macht es unmöglich zu finden, wo etwas schiefgelaufen ist.
1. Wie es unter der Haubeioniert

Der Kern von Claude Code ist nicht „Antworten", sondern eine sich wiederholende agentische Schleife:
1Kontext Sammeln → Aktion Ausführen → Ergebnis Verifizieren → [Fertig oder Schleife]2 ↑ ↓3 CLAUDE.md Hooks / Berechtigungen / Sandbox4 Skills Tools / MCP5 Memory
Mir wurde klar, dass Engpässe selten daran liegen, dass das Modell nicht intelligent genug ist, sondern daran, dass man ihm den falschen Kontext gibt oder keine Möglichkeit hat, zu beurteilen, ob die Ausgabe korrekt ist, oder um einen Rollback durchzuführen.
Fünf Schichten, auf die man sich konzentrieren sollte:

Betrachtet man diese Schichten, wird die Fehlersuche einfacher. Instabile Ergebnisse? Überprüfen Sie die Kontext-Ladereihenfolge. Automatisierung außer Kontrolle? Überprüfen Sie die Steuerungsebene. Nachlassende Qualität bei langen Sitzungen? Zwischenprodukte haben den Kontext verschmutzt; es ist besser, eine neue Sitzung zu starten, als die Prompts anzupassen.
2. Konzeptionelle Abgrenzungen: MCP / Plugin / Tools / Skills / Hooks / Subagents

Einfache Regel: Verwenden Sie Tools/MCP für neue Aktionen, Skills für Workflows, Subagents für isolierte Umgebungen, Hooks für verbindliche Einschränkungen/Prüfungen und Plugins für die projektübergreifende Verteilung.
3. Context Engineering: Die Wichtigste Systemeinschränkung
Viele betrachten Kontext als ein „Kapazitätsproblem", aber der Engpass ist meist Rauschen. Nützliche Informationen gehen in irrelevanten Inhalten unter.
Reale Kontextkostenzusammensetzung

Die 200K Kontext von Claude Code sind nicht vollständig verfügbar:
1200K Gesamtkontext2├── Feste Gemeinkosten (~15-20K)3│ ├── Systemanweisungen: ~2K4│ ├── Skill-Beschreibungen: ~1-5K5│ ├── MCP Server-Tooldefinitionen: ~10-20K ← Der größte versteckte Kostentreiber6│ └── LSP-Zustand: ~2-5K7│8├── Semifixe (~5-10K)9│ ├── CLAUDE.md: ~2-5K10│ └── Memory: ~1-2K11│12└── Dynamisch Verfügbar (~160-180K)13 ├── Chatverlauf14 ├── Dateiinhalt15 └── Tool-Ergebnisse

Ein typischer MCP Server (wie GitHub) enthält 20-30 Tooldefinitionen, jede davon ~200 Token, insgesamt 4.000-6.000 Token. Werden 5 Server verbunden, verbraucht das 25.000 Token (12,5%). Dies ist kritisch beim Lesen großer Code-Mengen.
Empfohlene Kontextschichtung
1Immer vorhanden → CLAUDE.md: Projektvertrag / Build-Befehle / Verbote2Pfadbasiert → rules: Sprach-/Verzeichnis-/Dateityp-spezifische Regeln3Auf Abruf → Skills: Workflows / Domainwissen4Isoliert → Subagents: Großflächige Erkundung / Parallele Recherche5Außerhalb Kontext → Hooks: Deterministische Skripte / Prüfung / Blockierung
Laden Sie keine Dinge, die Sie nur gelegentlich brauchen.
Kontext-Best Practices
- Halten Sie CLAUDE.md kurz, präzise und ausführbar. Anthropics eigene ist ~2,5K Token.
- Verschieben Sie große Referenzdokumente in die unterstützenden Dateien von Skills.
- Verwenden Sie .claude/rules/ für Pfad-/Sprachregeln.
- Nutzen Sie /context, um den Verbrauch zu überwachen.

- Verwenden Sie /clear für Aufgabenwechsel und /compact für neue Phasen.
- Schreiben Sie Kompakte Anweisungen in die CLAUDE.md, um zu steuern, was erhalten bleibt.
Tool-Ausgabe-Rauschen: Ein Weiterer Versteckter Kostentreiber
Dynamische Tool-Ausgaben (wie cargo test oder git log) können den Kontext leicht füllen. Claude muss nicht alles sehen.
RTK (Rust Token Killer) ist ein guter Ansatz: Es filtert die Befehlsausgabe, bevor sie Claude erreicht. Es kann zum Beispiel Tausende von Zeilen Testausgabe zu einer einzigen Erfolgsmeldung verdichten.
Kompressionsfallen
Die Standardkomprimierung könnte Architekturentscheidungen und Einschränkungen löschen.

Lösung: Geben Sie in der CLAUDE.md Kompakte Anweisungen an, um Architekturentscheidungen, geänderte Dateien, Verifizierungsstatus und TODOs zu priorisieren.
Eine weitere proaktive Lösung: Lassen Sie Claude vor dem Start einer neuen Sitzung eine HANDOFF.md schreiben, die den Fortschritt und Sackgassen erklärt.
Ingenieurwissenschaftlicher Wert des Plan-Modus

Der Plan-Modus trennt die Erkundung von der Ausführung.

Für komplexe Refactorings ist dies besser, als direkt loszucoden. Fortgeschrittener Tipp: Verwenden Sie einen Claude, um den Plan zu schreiben, und einen anderen als „Senior Engineer", der ihn überprüft.
4. Skills-Design: Workflows, die bei Bedarf geladen werden
Skills sind bei Bedarf abrufbares Wissen und Workflows.
Was einen guten Skill ausmacht
- Die Beschreibung sollte sagen „wann man mich einsetzt", nicht „was ich mache".
- Habe vollständige Schritte, Eingaben, Ausgaben und Abbruchbedingungen.
- Halte den Hauptteil für die Navigation und die Kernbeschränkungen; verschiebe Details in unterstützende Dateien.
- Setze für Skills mit Seiteneffekten disable-model-invocation: true.
Progressive Offenlegung
Claude Code betont die „progressive Offenlegung": Zuerst Indizes und Navigation bereitstellen, dann bei Bedarf Details nachziehen.
Drei Typische Skill-Typen
- Checkliste (Qualitäts-Gate): z.B. release-check.
- Workflow (Standardisierte Abläufe): z.B. config-migration mit Rollback.
- Domain-Experte (Entscheidungsrahmen): z.B. runtime-diagnosis.
Halten Sie die Deskriptoren kurz, um Kontextplatz zu sparen.
5. Tool-Design: Claude Helfen, die Richtige Wahl zu Treffen
Tools für Agenten sollten sich auf die einfache korrekte Verwendung konzentrieren, nicht auf die Vollständigkeit der Funktionen.
Gute vs. Schlechte Tools

Gestaltungsprinzipien: Verwenden Sie Präfixe (github_pr_*), unterstützen Sie prägnante Formate, geben Sie hilfreiche Fehlermeldungen und vermeiden Sie die Darstellung zu vieler fragmentierter Tools.
Evolution Internet Tools

Die Entwicklung des Tools „AskUserQuestion" zeigt, dass ein dediziertes Tool stabiler ist als Markdown-Formatierung oder Exit-Parameter.


Todo-Tools wurden zu einer „Fessel", als die Modelle stärker wurden. Such-Tools entwickelten sich von RAG zu Grep, um eine bessere Flexibilität und „progressive Offenlegung" zu erreichen.
6. Hooks: Obligatorische Logik Vor/Nach Operationen
Hooks holen deterministische Kontrolle über Prozesse wie Formatierung, Dateischutz und Benachrichtigungen zurück.

Geeignet für Hooks
Blockierung geschützter Dateien, automatische Formatierung nach Bearbeitungen, Injection dynamischen Kontexts (Git-Branch) und Benachrichtigungen.
Früherkennung von Fehlern

7. Subagents: Unabhängige Claude-Instanzen
Subagents bieten Isolation. Aufgaben wie das Scannen von Repos oder das Ausführen von Tests produzieren massive Ausgaben, die den Haupt-Thread nicht überladen sollten.
Explizite Einschränkungen
Beschränken Sie die Tools, wählen Sie das richtige Modell (Haiku für Erkundung, Opus für Überprüfung) und setzen Sie maxTurns.
8. Prompt Caching: Der Kern der Claude Code-Architektur
Claude Code ist um Prompt Caching herum aufgebaut. Hohe Trefferquoten sparen Geld und erhöhen die Ratenlimits.
Prompt-Layout für Caching

Die Reihenfolge ist wichtig für das Präfix-Matching: System Prompt → Tool Definitionen → Chat Verlauf → Benutzereingabe.
Wechseln Sie nicht mitten in der Sitzung das Modell
Das Wechseln des Modells zerbricht den Cache. Verwenden Sie stattdessen Subagents für Übergaben.
Implementierung der Kompaktierung

Die Kompaktierung verwendet einen Fork, um den Verlauf zu 1/10 der Kosten aufgrund von Cache-Treffern zusammenzufassen.
9. Verifikationsschleifen: Keine Verifikation, Kein Engineering-Agent
„Claude sagt, es ist erledigt" ist ohne Verifikation nutzlos. Definieren Sie die Verifikation explizit im Prompt, im Skill und in der CLAUDE.md.
10. Hochfrequenz-Befehle
Befehle wie /context, /clear, /compact und /memory helfen, den Kontext aktiv zu verwalten.
Governance und Parallelität

Nützliche versteckte Befehle: /simplify (Code-Review), /rewind (Checkpointing), /btw (Nebenrecherchen), /insight (Sitzung für CLAUDE.md-Updates analysieren).
11. Wie man eine Gute CLAUDE.md Schreibt
Es ist ein Vertrag, keine Wissensdatenbank.

Fügen Sie Build-/Test-Befehle, Architekturgrenzen, Codierungskonventionen, Sicherheitsvorkehrungen und Kompakte Anweisungen hinzu. Bitten Sie Claude, die CLAUDE.md zu aktualisieren, nachdem es seine Fehler korrigiert hat.
12. Aktuelle Erfahrungen
Erkenntnisse aus dem Bau von Kaku (Rust + Lua): Umgebungstransparenz ist lebenswichtig (verwenden Sie einen 'doctor'-Befehl), und Hooks sind großartig für Multi-Sprach-Projekte.
13. Anti-Patterns

14. Health Check
Verwenden Sie npx skills add tw93/claude-health, um Ihre Konfiguration zu überprüfen.
15. Fazit

Der Fokus verschiebt sich von „Wie verwende ich Funktionen" zu „Wie lasse ich den Agenten unter Einschränkungen laufen". Wenn Sie nicht definieren können, was „erledigt" bedeutet, ist die Aufgabe nicht bereit für einen Agenten.





