8 Punkte von GN⁺ 2025-08-24 | 2 Kommentare | Auf WhatsApp teilen
  • 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

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, jq und find basiert – ä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 Task oder 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

 
kaydash 2025-08-25

Ich liebe es so sehr, bin glücklich, es ist das Beste, so süß, ich will weitermachen.

 
GN⁺ 2025-08-24
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.

  • 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.

    • Lange Prompts sind allerdings nur dann gut, wenn das Modell dafür optimiert ist, sie gut zu verarbeiten. Es wurde versucht, in Claude Code auf andere Modelle zu wechseln, aber es gab kaum lokale Modelle, die sowohl mit langen Prompts als auch mit Tool-Nutzung so gut zurechtkamen, wie es die Werbung verspricht.
      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.
    • (Autor des Blogposts) Schon mit den Grundfunktionen lasse sich in fast 99 % der Fälle eine gute Leistung erzielen. Wichtig sei, die Schleife einfach zu halten und klare Tools bereitzustellen; überlappende Funktionen seien kein Problem.
      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.

    • Gemini ist besonders stark, wenn man komplette Merge-Dateien eines gesamten Repositories auf einmal hineingeben und darüber sprechen kann. Das Niveau, auf dem es die gesamte Codebasis versteht, ist erstaunlich, und auch für Architekturdesign ist es eine große Hilfe. Claude ist darin deutlich schwächer.
      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.
    • Gemini Pro ist beim Coden nicht schlecht, aber nach eigener Erfahrung ist Claude bei Terminal-bezogenen Aufgaben wie CLI deutlich besser; auch die meisten CLI-Tools setzen stark auf Claude.
      https://www.tbench.ai/leaderboard
    • Die Web-UI, also der Chat, mit Gemini 2.5 Pro gefällt ziemlich gut, aber als Kommandozeilen-Tool taugt Gemini code nichts, während Claude code meistens langsam ist.
    • Gemini ist besser beim Debuggen schwieriger Probleme, bei denen mehrere Function Calls nachvollzogen werden müssen. Claude ist dafür jedes Mal berechenbar und befolgt Anweisungen gut; besonders gut ist es bei der Verwaltung von To-do-Listen.
    • Früher gefiel es ziemlich gut, aber in letzter Zeit wirkt es irgendwie dümmer als früher; die Person fragt sich, ob das nur ihr so vorkommt.
  • 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.

    • Anthropic kann während des Reinforcement Learning intern Modell und Prompt gemeinsam optimieren, daher passe der im Artikel genannte Rat, „bestehende Methoden einfach weiter zu nutzen“, wohl besonders gut zu Anthropic-Modellen. Durch das Abo-Modell gibt es außerdem starke Anreize, die Schleife effizient zu machen.
    • Das lässt sich nicht allein durch Unterschiede im Basismodell erklären. Wenn man in VS Code opus und cline zusammen nutzt, im Vergleich zu Claude code, ist der Produktivitätsunterschied schwer in Zahlen zu fassen, aber mit CC schafft man mehr Arbeit.
    • Nach all dem Lob wurde Claude Code einen Monat lang mit hohen Erwartungen genutzt, am Ende war die Enttäuschung aber größer. Die Erfahrung war schlechter als mit der Cursor-Seitenleiste, und es entstand der Eindruck, man benutze es vielleicht falsch. In zwei verschiedenen Codebasen machte es ständig absurde Fehler im Code, was frustrierend war.
  • 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.

    • Claude und localstack passen in manchen Bereichen nicht gut zusammen; mit Rust funktioniert es überraschend gut.
      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.
    • Solche Fehler treten auf, wenn man sudo verwendet, um Prozesse mit Superuser-Rechten zu starten, und es dabei zu einem Timeout kommt.
    • Manchmal löst ein Upgrade der Installation oder das Löschen der bestehenden Installationsdateien mit anschließender Neuinstallation das Problem; so wurde es in einem Fall behoben.
    • Es gab auch die Erfahrung, zu einem anderen LLM zu wechseln, um nachzusehen, was eigentlich passiert ist; ausdrücklich nicht als offizieller Rat gemeint.
    • Mit der Kombination aus Elasticsearch und LLMs wurden nie gute Ergebnisse erzielt; meist waren die Resultate unbegründete Halluzinationen. Vermutlich, weil es im Internet nicht viele wirklich gute Beispiele dazu gibt.
  • 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.

    • Aus Interesse am Produkt wird um einen Link gebeten; reale Praxisbeispiele wären spannend.
    • Auf die Formulierung „Sicherheitslücken beheben“ folgt die scherzhafte Frage, ob Claude nicht zunächst selbst den Code und damit auch die Sicherheitslücken geschrieben habe.
    • Es wird um konkrete Beispiele gebeten, wie genau bei testgetriebener Entwicklung und Softwaredesign geholfen wurde.
    • Ein Witz lautet, man habe Claude Code angewiesen, jeden Monat Geld auf das eigene Bankkonto zu überweisen, und es habe das tatsächlich erledigt.
    • Es kommt auch die Rückmeldung, dass man gerne konkret erfahren würde, was genau mit Claude Code gebaut wurde.
  • 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.

    • Jemand anderes nutzt es genauso und ist deshalb ebenfalls gespannt auf die Antworten der anderen.
  • 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.