Warum Claude Code so gut ist
(minusx.ai)- Claude Code ist in Sachen Benutzerfreundlichkeit ein herausragender AI-Agent/Workflow
- Dank architektonischer Einfachheit und einer klaren Kontrollschleife bietet es eine Erfahrung, die Debugging und Wartung erleichtert
- Durch minimierten Einsatz von RAG und die aktive Nutzung ausgefeilter Prompts sowie von Kontextdateien werden die Stärken des LLM maximal ausgeschöpft
- Mit verschiedenen Tools und klaren Richtlinien bleiben Arbeitsabläufe eindeutig und konsistent
- Statt auf Komplexität setzt es auf eine leicht verständliche Struktur und Prompt-Design, wodurch sich ein eigener LLM-Agent ähnlich umsetzen lässt
Überblick
- Claude Code (im Folgenden CC) bietet derzeit unter den verfügbaren AI-Agenten/Coding-Workflows die zufriedenstellendste Erfahrung
- Die Stärken von CC liegen in zielgerichteter Codebearbeitung, weniger unnötiger Ablenkung und einer angenehmen UX durch den Erhalt der Kontrolle beim Nutzer
- Zwar spielen das Claude-4-Modell und das charakteristische Interleaved Thinking eine zentrale Rolle, doch im Vergleich zu anderen Tools auf Basis desselben Modells wie Cursor oder GitHub Copilot verursacht CC weniger Reibung
- Dieser Artikel analysiert die Umsetzungsprinzipien von CC und bietet einen praxisnahen Leitfaden zur Implementierung eines eigenen LLM-Agenten mit ähnlicher Nutzererfahrung
Die wichtigste Stärke von Claude Code: Einfachheit
- Die größte Lehre lautet: "Keep Things Simple, Dummy"
- Sobald LLM-Agenten komplexe Strukturen einführen, etwa Multi-Agenten-Systeme, aufwendiges RAG oder Validierungsmechanismen, wird Debugging und Verbesserung extrem schwierig
- CC setzt auf eine einzige Hauptschleife, ein einfaches Toolset und eine auf einen Blick verständliche Struktur; die gesamte Kernlogik steckt in einer Datei, wodurch unnötiger Boilerplate und Komplexität vermieden werden
Warum Einfachheit wichtig ist
- Statt einer Multi-Agenten-Struktur wird der Großteil der Arbeit in einem Haupt-Thread verarbeitet
- Verlaufszusammenfassungen oder die Zusammenführung von Nachrichten für die UX werden nur unterstützend eingesetzt
- Wenn komplexere Aufgaben nötig sind, dupliziert sich das System selbst und verzweigt in einen Sub-Agenten weiter; rekursive Verzweigungen gibt es nicht, nur eine Ebene ist erlaubt
- Die Todo-Liste wird aktiv genutzt
- Komplexe Probleme werden im Sub-Agenten aufgeteilt und bearbeitet, die Ergebnisse aber wieder in den Nachrichtenverlauf des Hauptsystems integriert
- Zu abstrakte Multi-Layer-Strukturen wie mehrere Agenten oder Graph-Navigation bergen eher das Risiko, Stabilität und Skalierbarkeit des Systems zu verschlechtern
Aktive Nutzung leichtgewichtiger Modelle
- Für die meisten Anfragen kommen leichtgewichtige LLM-Modelle wie claude-3-5-haiku zum Einsatz
- Viele Aufgaben wie das Lesen großer Dateien, das Parsen von Webseiten oder das Zusammenfassen der Git-Historie lassen sich damit effizient erledigen
- Durch den Einsatz leichter Modelle können die Kosten um bis zu 70–80 % sinken
- Empfohlen wird eine optimierte Modellkombination für jede zentrale Funktionsgruppe
Ausgefeiltes Prompt-Design
- Der System-Prompt von CC ist sehr umfangreich (etwa 2800 Tokens) und besteht aus verschiedenen Abschnitten wie Ton & Stil, Aufgabenverwaltung, Tool-Nutzungsrichtlinien sowie OS-/Verzeichnisinformationen
- Kontextdateien wie claude.md werden stets vollständig eingebunden, um den Kontext maximal anzureichern
- Der System-Prompt erklärt Richtlinien, Beispiele, Hinweise und den richtigen Zeitpunkt für die Tool-Nutzung sehr detailliert
Gleichzeitige Nutzung von XML und Markdown
- Im Prompt werden XML-Tags und Markdown-Struktur parallel verwendet
- Mit
<system-reminder>,<good-example>,<bad-example>usw. lassen sich detaillierte Informationen und bedingte Verzweigungen vermitteln - Markdown-Überschriften sorgen für eine klare Abschnittsstruktur
- Mit
Die Bedeutung von Kontextdateien
- Ob claude.md vorhanden ist oder nicht, macht bei der Leistung von CC einen deutlichen Unterschied
- Sie sind unverzichtbar, um zusätzliche Regeln zu übermitteln, die sich schwer aus dem Codebestand ableiten lassen, etwa ausgeschlossene Ordner/Bibliotheken oder bevorzugte Richtlinien
- Auch MinusX systematisiert Team- und Nutzerpräferenzen mit minusx.md
RAG minimieren, LLM-Suche nutzen
- Statt RAG (Retrieval Augmented Generation) bevorzugt CC eine Struktur, die auf direkter Codesuche mit Befehlen wie
ripgrep,jqundfindbasiert – ähnlich wie echte Entwickler arbeiten- Das ist eine Alternative zu den verborgenen Fehlermöglichkeiten komplexer RAG-Setups, etwa bei Ähnlichkeitsfunktionen, Rerankern oder Chunking
- Da das LLM den realen Codekontext direkt durchsucht und versteht, sinkt die Zahl beweglicher Teile, und selbst beim RL-Training sind Effizienzgewinne zu erwarten
Tool-Design und Hierarchie
- CC unterstützt niedrigstufige (Bash, Read, Write), mittlere (Edit, Grep, Glob) und hochstufige Tools (Task, WebFetch usw.)
- Benötigte Tools werden unter Berücksichtigung von Nutzungshäufigkeit und Genauigkeit gezielt getrennt bereitgestellt
- Beschreibung, Beispiele und Einsatzzeitpunkt der Tools werden im System-Prompt klar kommuniziert
- Komplexe Aufgaben werden konsistent über
Taskoder andere hochstufige Tools verwaltet
Verlust von Kontext durch explizite Todo-Verwaltung verhindern
- Um ein typisches Problem langlaufender LLM-Agenten zu lösen – Kontextverlust und Verlust der Arbeitsrichtung –, verwaltet CC seinen Zustand über eine explizit gepflegte Todo-Liste
- Statt eines Multi-Agenten-Systems aktualisiert das Modell die Todos eigenständig und gewinnt dadurch zugleich Richtungssicherheit und Flexibilität
Ton, Stil und Nutzerfreundlichkeit des Agenten steuern
- Ton, Stil und Grad der Initiative werden in eigenen Abschnitten verwaltet
- Unnötige Erklärungen sollen vermieden werden, Emojis sind nur bei ausdrücklicher Anfrage erlaubt – so wird eine konsistente Nutzererfahrung gestaltet
- Hinweise werden mit starken Hervorhebungen wie "IMPORTANT", "NEVER" und "ALWAYS" vermittelt
Entscheidungsalgorithmus und Flow-Design
- Die zentralen Algorithmen, denen das LLM folgen soll, werden klar beschrieben und mit Beispielen versehen
- Wirksamer für stabile Algorithmen als bloße Do/Don't-Listen sind Flowcharts und schrittweise Checklisten
- Da verschiedene Richtlinien und Beispiele miteinander in Konflikt geraten können, werden Rollenbereich und Richtlinien strukturiert festgelegt
Designmuster und praktische Anwendungstipps
- Die starke Meinungshaftigkeit und Struktur eignen sich unmittelbar als Benchmark für das Design eines eigenen Agenten
- Statt Frameworks zu übernutzen, die den Kopf nur unnötig kompliziert machen, ist ein einfaches und wirksames Strukturdesign entscheidend
- Auch bei MinusX werden viele dieser Prinzipien bereits angewendet und sollen schrittweise weiter ausgebaut werden
Fazit
- Die wichtigste Lehre aus Claude Code: „Einfachheit ist die größte Stärke“
- Strukturelle Klarheit, sinnvolles Prompt-Design und die Kombination leichtgewichtiger Tools ermöglichen leistungsstarke LLM-Agenten
- Wer einen eigenen LLM-Agenten entwickelt, sollte sich intensiv an der Designphilosophie und den Leitlinien von CC orientieren
2 Kommentare
Ich liebe es so sehr, bin glücklich, es ist das Beste, so süß, ich will weitermachen.
Hacker-News-Kommentare
Die Überzeugung, dass Einfachheit à la KISS am Ende immer gewinnt, und dass der Beitrag nützlich war, weil er das gut aufbereitet hat.
Schade, dass Claude Code nicht Open Source ist, aber es gibt Tools, mit denen man das Innenleben besser nachvollziehen kann; wer wirklich daran interessiert ist, wie es funktioniert, dem wird Claude Trace empfohlen.
https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
Das Tool erzeugt eine JSON-Datei mit allen in der Session verwendeten Tools und Prompts sowie eine übersichtlich formatierte HTML-Datei.
https://github.com/All-Hands-AI/OpenHands?tab=readme-ov-file
Dort kann man auch den System Prompt einsehen.
Das Modell ist offenbar standardmäßig darauf trainiert, Aufgaben in mehrere Schritte zu zerlegen und sie geduldig zu lösen, und ist auch gegenüber Fehlerszenarien einigermaßen robust.
Hilfreich war auch die Perspektive darauf, wie eine LLM-zentrierte Organisation in einer Zeit vorgeht, in der Multi-Agenten-Systeme viel Aufmerksamkeit bekommen; die Person experimentiert selbst im Alltag mit verschiedenen Designansätzen und fühlte sich daher wiedererkannt.
Die wichtigsten Erkenntnisse sind:
(1) Lange Prompts sind in Ordnung, und eine grundlegende Beschreibung des Zwecks eines Tools und wie es hilft, sollte unbedingt enthalten sein.
(2) Tool-Aufrufe sind ein sehr grundlegender Teil, daher sollte mehr Kontext einfließen, etwa wann man sie verwenden sollte und wann nicht.
(3) Den Zustand des Systems als Nachrichten zu verwalten, ist in Ordnung; ausgefallenere Methoden wie das Speichern in DataFrames oder das Parsen von Variablen wurden zwar erwogen, aber bei einem langen Context Window reichen Nachrichten allein wohl aus.
Auch Modelle von OpenAI oder Google Gemini wurden ausprobiert, kamen aber nicht an Anthropic-Modelle heran und wirkten langsamer. Je länger der Prompt wurde, desto öfter vergaßen sie Tools oder lieferten Ergebnisse im falschen Format.
Klarheit und Einfachheit haben oberste Priorität.
Jemand fragt, wie sich Google Gemini, insbesondere die Pro-Version, im Vergleich zu Claude schlägt. Viele Google-Produkte werden geschätzt, aber die häufigen Produkt-Einstellungen, das etwas grobe Vorgehen bei Unternehmenskontrolle wie bei Chrome und Fragen der Zensur machen Sorgen.
Die eigene Strategie ist, mit Gemini eine Projektzusammenfassung und einen High-Level-Designplan zu erstellen, diesen dann mit gpt5 für Verfeinerungen und die Ausarbeitung detaillierter Workflows, etwa als XML-Dokument, weiterzuentwickeln und das Ergebnis anschließend wieder an Claude zu geben. Schon das allein vermeidet weitgehend, dass Claude planlos hin und her eiert.
https://www.tbench.ai/leaderboard
Es wird vermutet, dass vor allem das Basismodell selbst im echten Coding-Alltag stark ist und deshalb so gute Bewertungen bekommt, anders als bei typischen Benchmark-Aufgaben. Wer GitHub Copilot benutzt hat, merkt, dass Claude OpenAI- und Google-Modelle deutlich übertrifft; der Abstand ist so groß, dass andere Modelle praktisch nutzlos wirken.
Gerade wird mit Claude Code versucht, in Security Onion Probleme rund um Elastic zu debuggen, aber nach ein paar Minuten erscheint eine Flut kryptischen JS-Codes und dann der Fehler „Error: kill EPERM“.
Den Logs nach zu urteilen scheint es den Node.js-Prozess zu beenden und damit vielleicht auch Claude selbst; oder Claude beendet sich selbst, weil es das Problem nicht lösen kann.
So oder so wäre es wünschenswert, wenn der Prozess weiterlaufen und noch mehr helfen könnte.
Es wird vermutet, dass sich künftig immer stärker die Sprachen, Plattformen und Architekturen durchsetzen, die LLMs am besten kennen. Wenn ein LLM zum Beispiel mit nodejs zehnmal besser umgehen kann, dann sei es aus dieser Perspektive vernünftig, von Anfang an nodejs statt Elixir oder Go zu verwenden. Selbst Junior-Entwickler könnten mit Hilfe von LLMs wie Mid-Level- oder Senior-Leute eingesetzt werden.
sudoverwendet, um Prozesse mit Superuser-Rechten zu starten, und es dabei zu einem Timeout kommt.Jemand hat das komplette erste MVP eines Startups mit Claude Code gebaut und inzwischen sogar zahlende Kunden gewonnen. Natürlich bleibt die grundsätzliche Sorge, dass bei einem SEV-Vorfall alles in einem Moment zusammenbrechen könnte, aber für das Beheben von Sicherheitslücken, testgetriebene Entwicklung und die Planung einer Software-Architektur entlang der langfristigen Roadmap wird Claude weiterhin aktiv genutzt.
Der Wunsch ist, dass solche Geschichten künftig immer gewöhnlicher werden.
Wenn die Behauptung „Keep things simple“ stimmt, wirkt die hier beschriebene Konfiguration paradoxerweise eher etwas komplex.
Die Person erledigt seit jeher viele Aufgaben mit einem sehr einfachen Ansatz, bei dem pro Anfrage nur ein einzelner Prompt gestellt wird.
Es besteht Unsicherheit darüber, welchen zusätzlichen Wert die besprochenen komplexen Strukturen gegenüber wirklich sorgfältig formulierten Prompts überhaupt liefern.
Ein Ein-Satz-Prompt wie „Wie schreibe ich eine while-Schleife in einer neuen Sprache, die ich gerade lerne?“ könne zum Beispiel sogar effizienter sein.
Der Control Flow wirkt eher unklar, und es bleibt fraglich, ob LLMs den Appendix-Teil wie Tools oder System Prompts überhaupt richtig nutzen. Wenn eine Anfrage zu komplex wird, könnte ein Teil davon ignoriert werden oder nur unnötig Tokens verbrauchen.
Für die Person fühlt es sich viel natürlicher an, durch einzelne Prompts in Teilstücken zu „programmieren“.
Sie würde gern Beispiele oder Prompts sehen, in denen anders vorgegangen wird.
Es interessiert sie, wie Menschen mit LLMs tatsächlich ganze Programme erstellen; gesucht werden Beispiele, in denen das über in einzelne Prompts zerlegte Schritte geschieht.
Zur Information: Der minusx.com-Link am Ende des Artikels hat ein Sicherheitszertifikat, das seit 553 Tagen abgelaufen ist; die Seite ist daher nicht gültig, also Vorsicht.