1 Punkte von GN⁺ 2025-05-20 | 1 Kommentare | Auf WhatsApp teilen
  • Das Claude Code SDK bietet Funktionen, um KI-gestützte Coding-Tools in Anwendungen zu integrieren
  • Entwickler können Claude Code als Subprozess ausführen, mit vorrangiger Unterstützung für die Nutzung über die Kommandozeile
  • Enthält Funktionen für interaktives Kontextmanagement, die Festlegung benutzerdefinierter System-Prompts und die Anbindung externer Tools (MCP)
  • Vielfältige Ausgabeformate (Text, JSON, Streaming-JSON) sowie umfangreiche CLI-Optionen können genutzt werden
  • Als praktisches Beispiel wird die Möglichkeit aufgezeigt, reale Entwicklungs-Workflows zu integrieren, etwa durch die Anbindung an GitHub Actions für automatisierte Code-Reviews und die Erstellung von PRs

Einführung

Das Claude Code SDK ist ein Open-Source-Entwicklungstool, mit dem sich die Funktionen von Claude Code direkt programmatisch in Anwendungen integrieren lassen. Das SDK führt Claude Code als separaten Prozess aus und bietet damit die Erweiterbarkeit, um es in verschiedenste Entwicklungs-Workflows einzubinden, etwa in KI-basierte Code-Assistenten, Automatisierungstools oder Code-Review-Systeme.

Derzeit wird eine Kommandozeilen-Schnittstelle (CLI) unterstützt; SDKs für TypeScript und Python sollen in Kürze erscheinen.

Grundlegende SDK-Nutzung

Das Claude Code SDK unterstützt nicht-interaktive Ausführung. So kann Claude Code beispielsweise innerhalb von Programmcode mit Kommandozeilenargumenten aufgerufen werden, um automatisch die gewünschte Ausgabe zu erhalten.

Fortgeschrittene Nutzung

Mehrstufige Dialogsitzungen fortsetzen

  • Bei mehrmaligem Hin und Her in Gesprächen wird eine Funktion bereitgestellt, um den Gesprächskontext beizubehalten und fortzusetzen, indem frühere Sitzungen oder eine bestimmte Sitzungs-ID verwendet werden
  • Entwickler können die Unterhaltung aus der zuletzt verwendeten Sitzung fortsetzen oder eine bestimmte Sitzung laden

Benutzerdefinierte System-Prompts

  • Das Standardverhalten von Claude kann mit entwicklerspezifischen System-Prompts angepasst werden
  • Zusätzliche Anweisungen können an den Standard-System-Prompt angehängt werden, um die Aufgabenorientierung und den Handlungsrahmen des Assistant zu verändern

MCP-Konfiguration (Model Context Protocol)

  • MCP ist ein Protokoll zur Anbindung externer Server, um die Funktionen von Claude Code zu erweitern
  • Über das Flag --mcp-config und eine JSON-Konfigurationsdatei können Datenbankzugriff, API-Integrationen und benutzerdefinierte Tools ergänzt werden, die von externen Servern bereitgestellt werden
  • Bei der Nutzung von MCP-Tools dürfen nur ausdrücklich erlaubte Tools verwendet werden (Flag --allowedTools); das Namensmuster lautet mcp__<serverName>__<toolName>

Verfügbare CLI-Optionen

Im Claude Code SDK kann die Ausführungsumgebung über verschiedene Kommandozeilen-Flags konfiguriert werden.

  • --print, -p : Ausführung im nicht-interaktiven Modus
  • --output-format : Auswahl des Ausgabeformats (Text, JSON, Stream-JSON usw.)
  • --resume, -r : Unterhaltung mit einer bestimmten Sitzungs-ID fortsetzen
  • --continue, -c : Jüngste Sitzung fortsetzen
  • --verbose : Detaillierte Logs ausgeben
  • --max-turns : Maximale Anzahl von Dialogrunden im nicht-interaktiven Modus begrenzen
  • --system-prompt : System-Prompt überschreiben
  • --append-system-prompt : Zusätzliche Anweisungen an den System-Prompt anhängen
  • --allowedTools : Liste erlaubter Tools festlegen (einschließlich MCP-Tools)
  • --disallowedTools : Liste verbotener Tools festlegen
  • --mcp-config : Konfigurationsdatei für MCP-Server laden
  • --permission-prompt-tool : MCP-Tool für die Verarbeitung von Berechtigungs-Prompts festlegen

Für alle verfügbaren Optionen und Anwendungsbeispiele siehe die offizielle CLI-Dokumentation.

Ausgabeformate

Das SDK unterstützt verschiedene Ausgabeformate.

Textausgabe (Standard)

  • Gibt nur den Antworttext zurück

JSON-Ausgabe

  • Gibt Metadaten und strukturierte Daten zurück, was für programmatisches Parsen vorteilhaft ist
  • API-Antwortnachrichten folgen einer strikt typisierten Struktur; künftig sollen Typdefinitionen auch im JSON-Schema-Format bereitgestellt werden

Streaming-JSON-Ausgabe

  • Jede Nachricht wird in Echtzeit als Stream übertragen
  • Während des Verlaufs einer Dialogsitzung werden separate JSON-Objekte übertragen: zunächst die Initialisierungsnachricht (init), dann Nutzer-/Assistant-Nachrichten und abschließend die result-Nachricht mit Statistiken

Nachrichtenschema

  • JSON-API-Antwortnachrichten sind gemäß einem präzisen Schema strukturiert
  • Das Schema soll regelmäßig aktualisiert und versioniert werden

Beispiele

  • Einfache Skriptintegration
  • Dateiverarbeitung mit Claude
  • Unterstützung komplexer Dialogflüsse durch Sitzungsverwaltung

Best Practices

  1. JSON-Ausgabeformat zum Parsen von Antworten nutzen
  2. Fehlerbehandlung: Exit-Code und Error-Stream prüfen
  3. Sitzungsverwaltung: Kontext in mehrstufigen Dialogen beibehalten
  4. Timeouts berücksichtigen: Zuverlässigkeit bei lang laufenden Aufgaben sicherstellen
  5. Abstände zwischen Anfragen anpassen: Übermäßige Aufrufe vermeiden und die Stabilität des Dienstes aufrechterhalten

Praxisbeispiele

Das Claude Code SDK bietet in realen Entwicklungsumgebungen leistungsstarke Automatisierungs- und Integrationsfunktionen.

  • Ein typisches Beispiel ist die Kombination mit GitHub Actions, um Entwicklungs-Workflows wie automatisierte Code-Reviews, PR-Erstellung und Issue-Klassifizierung vollständig zu automatisieren

1 Kommentare

 
GN⁺ 2025-05-20
Hacker-News-Kommentare
  • Ich möchte betonen, dass die Richtung, die Claude Code einschlägt, genau der „unix-toolartigen“ Philosophie für agentenbasierte Coding-Tools entspricht, die ich mir immer gewünscht habe. Ich nutze Claude Code seit der ersten öffentlichen Preview und habe seine Entwicklung über längere Zeit verfolgt. Der „Goldstandard“ für Coding-Agenten ist für mich erreicht, wenn ich ein Feature-Request, etwa ein Jira-Ticket, eingeben kann und dann einen PR zurückbekomme, den ich selbst reviewen und mit Feedback versehen kann. Cursor, Windsurf und ähnliche Tools sind lokale Editoren und deshalb nur eingeschränkt, wenn es darum geht, sie in CI-Umgebungen zu integrieren. Wenn man eine Codebasis für KI optimieren will, etwa mit MCP oder Regeln, sollte man auf Technologien setzen, die auch headless nutzbar sind. Claude Code lässt sich einfach zusammen mit Automatisierungstools verwenden und ist für mich deshalb inzwischen der Standard, an den ich bei Coding-Agenten denke. Über das Codex-npm-Paket denke ich ähnlich. Zur Einordnung: Ich arbeite selbst daran, Teams bei genau solchen optimalen Tool-Setups zu helfen, daher habe ich zwangsläufig eine gewisse Präferenz für Tools, die sich leicht einrichten lassen

    • Mein gewünschter „goldener Endzustand“ ist, dass ich in der Mitte eines Raums sitze, umgeben von KI-Agenten, die zum Beispiel Code schreiben, Design machen und Tests durchführen. Ich selbst würde dabei kaum noch die Tastatur anfassen und nur noch Richtung, ästhetische Maßstäbe und Leitlinien im Gespräch vorgeben. Auf so eine Zukunft hoffe ich

    • Ich möchte erwähnen, dass Anthropic heute etwas Ähnliches als Beta vorgestellt hat. Ich würde dazu gern die Dokumentation teilen. https://docs.anthropic.com/en/docs/claude-code/github-actions

    • Der „goldene Endzustand“ für Coding-Agenten ist für mich, einen kostenlosen Open-Source-Coding-Agenten zu verwenden, den ich auf meinem Computer oder wo auch immer ich will frei ausführen kann. So wie es absurd wäre, jedes Mal fürs Ausführen von Terminal-Befehlen wie ls, ps oder kill zahlen zu müssen, fühlt es sich für mich auch bei LLMs an. Ich sage nicht, dass proprietäre LLMs „verboten“ werden sollten, aber ich würde mir wünschen, dass Leute, die sich in diesem Bereich Hacker nennen, Open-Source-Tools als Hauptwerkzeug verwenden

    • Sie haben darauf hingewiesen, dass Cursor, Windsurf und Ähnliches wegen ihres lokalen Editor-Ansatzes schwer in CI zu verwenden sind, aber ich habe genau das mit Cursor plus MCP ausprobiert. Einen ganzen Tag lang hat es erfolgreich funktioniert, dann bin ich an das Rate Limit gestoßen und wurde auf das langsamste und dümmste Modell zurückgestuft. Ich habe es auch mit Claude versucht, bin aber ebenfalls schnell ans Limit gekommen. Außerdem sind nur etwa 25 % der PRs wirklich „sofort nutzbar“, und oft ist es schneller, die Arbeit selbst zu machen, als herauszufinden, wo die KI Fehler gemacht hat

    • Ich dachte eigentlich, dass diese Art von CI-basierter Automatisierung schon möglich ist. Wenn man Aider CLI als GitHub Action registriert und bei neu erstellten Issues automatisch ausführt, kann man diese Struktur doch bereits umsetzen

  • Claude Code ist die Art, wie ich LLMs fürs Programmieren am liebsten nutze. Aber was ich wirklich brauche, ist eine Open-Source-Version von Claude Code. Ich brauche eine Umgebung, in der ich das gewünschte Modell einsetzen und Antworten verschiedener Modelle direkt vergleichen kann. Andere Alternativen wie Aider liefern für mich nicht das gleiche Erlebnis wie Claude Code. Dass Anthropic so etwas nicht unbedingt will, ist nachvollziehbar, weil dadurch der Schutzwall schwächer wird. Aber aus Sicht eines Nutzers will ich das beste Modell verwenden und mich nicht an ein einzelnes Ökosystem binden. Ich vermute, genau das ist aus Sicht von LLM-Anbietern die größte Angst

    • OpenAI Codex kommt dem, was Sie beschreiben, unter den Open-Source-Optionen am nächsten. Man kann Modelle des gewünschten Anbieters verwenden. Aktuell ist es Claude Code noch unterlegen, aber ich denke, es wird bald aufholen. https://github.com/openai/codex/tree/main

    • Man kann Claude Code als MCP-Server verwenden und damit bis zu einem gewissen Grad die gewünschte Umgebung aufbauen

  • Aider unterstützt Python und Shell-Scripting schon seit geraumer Zeit. Kürzlich wurde sogar ein Screencast erstellt, der einen ad-hoc Bash-Scripting-Aider zeigt, als Teil der Erweiterung um Unterstützung für 130 neue Programmiersprachen. Man kann daran gut sehen, wie leistungsfähig dieser skriptorientierte Ansatz ist. https://aider.chat/docs/scripting.html, https://aider.chat/docs/recordings/tree-sitter-language-pack.html

    • Ich mag Aider wirklich sehr. Unterstützung für MCPs soll bald kommen und wird bereits im Development-Branch getestet. Wenn das funktioniert, wird End-to-End-Entwicklung mit PRs, Tickets und ähnlichem allein mit Modellen, denen man vertraut, tatsächlich möglich

    • Ich frage mich, ob Aider jemals auf ein Niveau kommen kann, auf dem ich es genauso gern nutze wie Claude Code. Die UX von Claude Code gefällt mir, aber ich bevorzuge Gemini 2.5 Pro und nutze Claude Code deshalb nicht. Nicht Features wie Commits sind für mich der Reiz, sondern die gute UX. Mich würde interessieren, wie Sie darüber denken

    • Ich denke, Aider könnte wirklich stark wachsen, wenn die GitHub-Actions-Integration noch ausgereifter und polished würde. Wenn man im Repo nur eine Datei hinzufügen müsste, um über ein Issue mit dem gewünschten Modell zu sprechen, wäre das sehr stark

  • Ich möchte zusätzlichen Kontext teilen, den das Claude-Code-Team selbst gegeben hat. http://latent.space/p/claude-code Die wichtigsten Punkte daraus: Anthropic-Mitarbeiter nutzen das unbegrenzte Claude im Durchschnitt für etwa 6 Dollar pro Tag. Ein headless Claude Code, der sich wie ein „linux“-Utility für CI einsetzen lässt, ist sehr attraktiv. Außerdem gibt es die Ausrichtung auf eine erweiterbare Benutzerplattform. Auf der Roadmap stehen Sandboxing, Branching und Planungsfunktionen. Auch ein persistentes agentisches Modell namens sonnet 3.7 ist geplant

    • Sie haben gesagt: „Anthropic-Mitarbeiter nutzen unbegrenztes Claude im Durchschnitt für 6 $ pro Tag“, aber in dem Artikel steht auch, dass ein Ingenieur an einem einzigen Tag 1.000 $ verbraucht hat. Mich würden weniger die Durchschnittswerte interessieren als eher Verteilungen wie P50, P75 oder P95

    • Ich habe mehrfach erlebt, dass ich mit Claude Code in nur etwa zwei Stunden locker über 20 Dollar komme. Für persönliche Projekte ist das viel zu teuer, deshalb kann ich es einfach nicht nutzen

    • Ich habe mir kürzlich den latent-space-Podcast angehört und fand ihn wirklich hervorragend. Es gibt nur sehr wenige Personen oder Podcasts, die bei so hohem SNR konstant so produktiven öffentlichen Content veröffentlichen. Es ist beeindruckend, dieses Niveau an öffentlichem Output aufrechtzuerhalten, während parallel mehrere Businesses laufen. Ich würde mir wünschen, dass mehr Menschen diese Art von Produktivitätsgradient erleben. Die Moderatoren teilen ihre Methoden zwar offen, aber es ist trotzdem nicht leicht, das direkt nachzumachen

  • Wenn ich einen KI-Code-Assistenten bauen würde, würde ich ihn niemals an einen bestimmten Anbieter von Foundation Models binden. Das wäre nur dann eine sinnvolle Strategie, wenn die Modellwirkung inzwischen fast ihren Höhepunkt erreicht hätte, die Leistung also weitgehend angeglichen wäre und nur noch kleine Unterschiede auf dem Niveau vertrauter SDKs übrig blieben

    • Ich denke, so stark ist der Lock-in in Wirklichkeit nicht, weil sich meist nur Befehle oder Argumente unterscheiden. Im Kern hat man nur Ein- und Ausgabe-Funktionen, daher kann man die nötigen Teile einfach austauschen oder wrappen. Strukturell ist das nicht besonders komplex

    • Ich denke, dass Claude Code derzeit im Markt für agentenbasiertes Coding tatsächlich ein Differenzierungsmerkmal ist. Ich entwickle selbst einen AI Code Assistant und würde die Integration mit Claude Code als Erstes angehen. Ich glaube nicht, dass jetzt schon der richtige Zeitpunkt ist, sich über Lock-in Sorgen zu machen. Man sollte das Beste auswählen und die Entwicklung darauf aufbauen

  • Ich möchte betonen, dass Claude Code bereits in einem nicht interaktiven Modus nutzbar war und sich deshalb schon vorher wie ein UNIX-Command-Line-Utility leicht in andere Apps integrieren ließ. Auch dieses SDK scheint nur Kommandozeilennutzung zu unterstützen, deshalb ist mir nicht ganz klar, worin der eigentliche Unterschied zur bisherigen Lösung besteht. Vielleicht übersehe ich etwas

  • Ich zitiere aus den Anthropic-Nutzungsbedingungen: „Dienste zur Entwicklung, zum Training oder zum Wiederverkauf eines Produkts oder Dienstes, das bzw. der mit allgemeiner Intelligenz konkurriert, sind verboten.“ Wenn praktisch jede Software in irgendeiner Weise mit allgemeiner Intelligenz „konkurriert“, hieße eine strenge Auslegung dann nicht, dass man das für gar nichts verwenden dürfte? Ich finde diese juristische Formulierung so vage, dass sie praktisch nicht durchsetzbar wirkt. Man besitzt die Ergebnisse der KI, darf aber angeblich nicht mit allgemeiner Intelligenz konkurrieren — warum wird das so breit untersagt? Bedeutet das einfach nur, dass die rechtliche Verantwortung beim Nutzer liegen soll? Das wirft viele Fragen auf

    • So sieht es aus, wenn Anwälte Regeln genau so formulieren, wie sie es wollen
  • Die neu hinzugefügte GitHub Action entspricht exakt der Funktion, nach der ich gesucht habe, daher freue ich mich sehr darüber. https://docs.anthropic.com/en/docs/claude-code/github-action... Allerdings scheint es derzeit keine Möglichkeit zu geben, sie mit dem Max-Plan von Claude Code zu verwenden. Es werden nur API-Keys akzeptiert, was etwas schade ist

  • Besonders die Integration mit GitHub Actions sowie mit Issues und PRs ist genau die Funktion, die ich mir schon lange gewünscht habe. https://docs.anthropic.com/en/docs/claude-code/github-action...

  • Wenn die Claude-Unterstützung über Copilot startet, werde ich das auf jeden Fall ausprobieren. Aufgrund unserer Unternehmensrichtlinien können wir derzeit noch keine anderen Tools verwenden