Inhaltsverzeichnis
- 1. Was ist ein KI-Agent?
- 2. Überblick über das Claude Agent SDK
- 3. Wie die Agentenschleife funktioniert
- 4. Erste Schritte: Installation und Grundcode
- 5. Liste der integrierten Tools
- 6. Eigene Tools erstellen
- 7. Parallelverarbeitung mit Sub-Agenten
- 8. Agent SDK vs Client SDK vs Claude Code
- 9. Praktische Anwendungsbeispiele
- 10. Best Practices
- Häufig gestellte Fragen
„Wenn ich der KI nur Anweisungen geben könnte und sie dann selbstständig denkt und die Arbeit erledigt..." — Genau diesen Traum verwirklicht ein KI-Agent. Das von Anthropic bereitgestellte Claude Agent SDK ist ein Framework, mit dem Sie KI-Agenten in Python oder TypeScript entwickeln können, die Claude als Gehirn nutzen. Dieselbe Technologie steckt auch hinter Claude Code (Anthropics offizielle CLI).
In diesem Artikel erklären wir systematisch die Grundkonzepte des Claude Agent SDK, Implementierungsmethoden und Anwendungsfälle.
Was ist ein KI-Agent?
Ein KI-Agent unterscheidet sich von der traditionellen „Frage → Antwort"-KI. Seine Besonderheit besteht darin, dass er eigenständig Aufgaben zerlegt, Werkzeuge einsetzt, Ergebnisse bewertet und die nächste Aktion bestimmt.
Wenn Sie beispielsweise sagen „Behebe den Bug in auth.py", arbeitet der Agent folgendermaßen:
- Die Datei lesen und den Code verstehen
- Zugehörige Dateien suchen, um den Gesamtzusammenhang zu erfassen
- Die Ursache des Bugs identifizieren
- Den Code korrigieren
- Tests ausführen, um die Funktion zu überprüfen
- Die Ergebnisse berichten
Ohne menschliches Eingreifen entscheidet der Agent selbst und führt all diese Schritte durch. Das ist die Stärke eines Agenten.
Überblick über das Claude Agent SDK
Das Claude Agent SDK ist das offizielle Agenten-Entwicklungsframework von Anthropic. Sie können denselben Motor, der Claude Code antreibt, programmatisch nutzen.
Die wichtigsten Merkmale sind:
| Merkmal | Beschreibung |
|---|---|
| Automatische Agentenschleifen-Verwaltung | Das SDK steuert automatisch den Zyklus: Tool-Aufruf → Ergebnisverarbeitung → nächste Entscheidung |
| Integrierte Tools | Sofort einsatzbereite Tools für Dateioperationen, Befehlsausführung, Websuche u.a. |
| Benutzerdefinierte Tools | Eigene Tools (API-Aufrufe, DB-Operationen usw.) lassen sich einfach hinzufügen |
| MCP-Integration | Verbindung mit externen Tool-Servern (MCP) zur Funktionserweiterung |
| Kostenkontrolle | Budget- und Turn-Limits können festgelegt werden |
| Sub-Agenten | Aufgaben aufteilen und parallel ausführen |
| Unterstützte Sprachen | Python / TypeScript |
Von den drei Modi von Claude: Chat, Cowork und Code basiert der Code-Modus (Claude Code) auf der Technologie des Agent SDK.
Wie die Agentenschleife funktioniert
Das Herzstück des Agent SDK ist die Agentenschleife. Sie ist ein Mechanismus, der automatisch den Zyklus „Claude denkt, nutzt ein Tool, prüft das Ergebnis und denkt erneut" ausführt.
Der detaillierte Ablauf sieht so aus:
- Prompt-Empfang: Die Anweisungen des Benutzers werden an Claude übergeben
- Claudes Entscheidung: Die Anweisungen werden analysiert und die nötigen Aktionen bestimmt
- Tool-Ausführung: Tools wie Bash, Edit, Read werden aufgerufen, um die Arbeit zu erledigen
- Ergebnisverarbeitung: Die Ausführungsergebnisse werden an Claude zurückgemeldet
- Schleife fortsetzen oder beenden: Falls noch Arbeit nötig ist, zurück zu Schritt 2. Bei Abschluss wird eine Textantwort zurückgegeben
Der entscheidende Punkt ist: Wenn keine Tool-Aufrufe mehr stattfinden, ist die Aufgabe abgeschlossen. Sobald Claude feststellt, dass kein weiteres Tool benötigt wird, wird die finale Textantwort zurückgegeben.
Erste Schritte: Installation und Grundcode
Installation
Verfügbar für Python oder TypeScript.
# Python
pip install claude-agent-sdk
# TypeScript
npm install @anthropic-ai/claude-agent-sdk
Minimaler Agent (Python)
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage
async def main():
async for message in query(
prompt="Finde und behebe den Bug in src/auth.py",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Bash", "Grep"],
max_turns=30,
),
):
if isinstance(message, ResultMessage):
if message.subtype == "success":
print(message.result)
print(f"Kosten: ${message.total_cost_usd:.4f}")
asyncio.run(main())
Minimaler Agent (TypeScript)
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Finde und behebe den Bug in src/auth.py",
options: {
allowedTools: ["Read", "Edit", "Bash", "Grep"],
maxTurns: 30,
}
})) {
if (message.type === "result" && message.subtype === "success") {
console.log(message.result);
}
}
Mit nur diesem Code liest Claude Dateien, sucht den Bug, behebt ihn und berichtet das Ergebnis.
Liste der integrierten Tools
Das Agent SDK enthält zahlreiche Tools, die sofort und ohne eigenen Code verwendet werden können.
| Tool-Name | Funktion | Anwendungsbeispiel |
|---|---|---|
| Bash | Shell-Befehle ausführen | Tests ausführen, Build, Git-Operationen |
| Read | Dateien lesen | Quellcode oder Konfigurationsdateien prüfen |
| Edit | Dateien teilweise bearbeiten | Bugfixes, Refactoring |
| Write | Neue Dateien erstellen | Neue Module anlegen |
| Glob | Dateisuche (Pattern) | TypeScript-Dateien mit **/*.ts auflisten |
| Grep | Dateiinhalte durchsuchen | Funktionsdefinitionen oder Fehlermeldungen finden |
| WebSearch | Websuche | Aktuelle Dokumentation oder API-Spezifikationen recherchieren |
| WebFetch | Webseiten abrufen | Informationen von einer URL abrufen |
| Agent | Sub-Agenten starten | Aufgaben aufteilen für Parallelverarbeitung |
Diese Tools können einfach durch Angabe in allowed_tools verwendet werden. Sie müssen keinen eigenen Code für die Tool-Verarbeitung schreiben.
Eigene Tools erstellen
Wenn die integrierten Tools nicht ausreichen, können Sie eigene Tools erstellen. Erstellen wir beispielsweise ein Tool, das mit einer Wetter-API verbunden ist.
Python-Version
from claude_agent_sdk import tool, create_sdk_mcp_server
@tool(
"get_weather",
"Aktuelles Wetter einer bestimmten Stadt abrufen",
{"city": str}
)
async def get_weather(args: dict) -> dict:
city = args["city"]
# In der Praxis wird die API aufgerufen
weather_data = await fetch_weather_api(city)
return {
"content": [
{"type": "text", "text": f"Wetter in {city}: {weather_data}"}
]
}
weather_server = create_sdk_mcp_server(
name="weather",
version="1.0.0",
tools=[get_weather]
)
TypeScript-Version
import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
import { z } from "zod";
const getWeather = tool(
"get_weather",
"Aktuelles Wetter einer bestimmten Stadt abrufen",
{ city: z.string().describe("Stadtname") },
async (args) => {
const data = await fetchWeatherApi(args.city);
return {
content: [{ type: "text", text: `Wetter in ${args.city}: ${data}` }]
};
}
);
Benutzerdefinierte Tools werden als MCP-Server erstellt und mit dem Agenten verbunden. Bei Fehlern sollte isError: true zurückgegeben werden statt eine Exception auszulösen. So wird die Agentenschleife nicht unterbrochen und Claude kann einen Retry oder einen anderen Ansatz versuchen.
Parallelverarbeitung mit Sub-Agenten
Große Aufgaben lassen sich effizient bearbeiten, indem sie in Sub-Agenten aufgeteilt und parallel ausgeführt werden. Spezialisierte Aufgaben können an andere Agenten delegiert werden, ohne den Kontext (Speicher) des Hauptagenten zu belasten.
Wann sind Sub-Agenten sinnvoll?
- Ausführung vieler Tests: Selbst bei umfangreichen Testprotokollen wird der Hauptkontext nicht beeinflusst
- Parallele Recherche: Mehrere Module gleichzeitig untersuchen und nur die Ergebnisse erhalten
- Trennung spezialisierter Aufgaben: „Code-Review" und „Testausführung" an separate Agenten delegieren
Benutzerdefinierte Sub-Agenten in Claude Code
In Claude Code (CLI) können Sie benutzerdefinierte Sub-Agenten definieren, indem Sie einfach eine Markdown-Datei in .claude/agents/ ablegen.
# .claude/agents/reviewer.md
---
name: code-reviewer
description: Auf Code-Review spezialisierter Agent
tools: Read, Glob, Grep
model: sonnet
---
Sie sind ein Senior Code-Reviewer.
Führen Sie ein Review unter den Gesichtspunkten
Codequalität, Sicherheit und Best Practices durch.
Durch die Einschränkung des Tool-Zugriffs (im obigen Beispiel nur Lese-Tools) wird verhindert, dass der Reviewer versehentlich Code ändert.
Agent SDK vs Client SDK vs Claude Code
Claude bietet drei Schnittstellen für Entwickler. Jede hat ihre Stärken — wählen Sie je nach Ihrem Ziel.
| Aspekt | Agent SDK | Client SDK (API) | Claude Code CLI |
|---|---|---|---|
| Schleifen-Verwaltung | Automatisch | Selbst implementieren | Automatisch |
| Tools | Integriert + benutzerdefiniert | Alles selbst implementieren | Integriert |
| Einsatzbereich | Automatisierung / Produktion | Vollständige individuelle Kontrolle | Interaktive Entwicklung |
| Schwierigkeitsgrad | Mittel | Fortgeschritten | Einsteiger |
| Programmierung | Erforderlich | Erforderlich | Nicht erforderlich |
So wählen Sie:
- Tägliche Entwicklungsarbeit → Claude Code CLI
- Automatisierungssystem aufbauen → Agent SDK
- Eigene KI-App entwickeln → Client SDK
Praktische Anwendungsbeispiele
Automatisierung der Code-Entwicklung
Der häufigste Anwendungsfall. Wenn Sie sagen „Implementiere dieses Feature", untersucht der Agent die Dateistruktur, schreibt Code und führt sogar Tests aus.
# Automatisierte Bugbehebung
async for msg in query(
prompt="Die Tests des Auth-Moduls schlagen fehl. Finde die Ursache und behebe sie",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Bash", "Grep"],
max_turns=20,
max_budget_usd=2.00, # Kostenlimit 2$
),
):
pass
Integration in CI/CD-Pipelines
In Kombination mit Tools wie GitHub Actions können Sie Workflows erstellen, die bei jedem PR automatisch Code-Reviews durchführen oder bei fehlgeschlagenen Tests automatische Korrekturen versuchen.
Datenanalyse und Recherche
Auch mehrstufige Rechercheaufgaben wie „Analysiere die Fehlermuster in den Logs des letzten Monats" können dem Agenten übertragen werden. In Kombination mit dem WebSearch-Tool lassen sich auch aktuelle Informationen einbeziehen.
Best Practices
1. Vergessen Sie die Kostenkontrolle nicht
Da der Agent in einer Schleife arbeitet, kann er mehr Tokens verbrauchen als erwartet. Setzen Sie immer max_budget_usd oder max_turns.
options=ClaudeAgentOptions(
max_budget_usd=5.00, # Stoppt bei 5$
max_turns=30, # Stoppt nach 30 Turns
effort="medium", # Reasoning-Tiefe (low/medium/high/max)
)
2. Halten Sie die Tools minimal
Unnötige Tool-Berechtigungen verbrauchen das Kontextfenster. Geben Sie in allowed_tools nur die für die Aufgabe benötigten Tools an.
3. Fehlerbehandlung mit isError
Wenn in einem benutzerdefinierten Tool eine Exception geworfen wird, stoppt die gesamte Agentenschleife. Geben Sie stattdessen isError: true zurück, damit Claude eine Wiederherstellung versuchen kann.
4. Lagern Sie aufwändige Verarbeitung an Sub-Agenten aus
Übertragen Sie Verarbeitungen mit großer Ausgabe wie Testausführungen oder Log-Analysen an Sub-Agenten. So wird der Kontext des Hauptagenten nicht überlastet.
5. Formulieren Sie Prompts präzise
Statt „Verbessere den Code" sagen Sie „Füge Rate Limiting zur Login-Funktion in auth.py hinzu und schreibe auch Tests dafür". Konkrete Anweisungen ermöglichen dem Agenten effizientes Arbeiten.
Zusammenfassung
Das Claude Agent SDK ist ein Framework, das die Einstiegshürde in die KI-Agenten-Entwicklung erheblich senkt. Mit dem gleichen Motor wie Claude Code können Sie in Python oder TypeScript Agenten erstellen, die eigenständig Aufgaben ausführen.
Beginnen Sie damit, die Arbeitsweise eines Agenten interaktiv mit Claude Code kennenzulernen, und wechseln Sie zum Agent SDK, wenn Automatisierungsbedarf entsteht — dieser schrittweise Ansatz ist empfehlenswert.
Einen Überblick über die grundlegende Nutzung von Claude finden Sie auch unter Detailvergleich der drei Claude-Tabs: Chat, Cowork und Code.
Häufig gestellte Fragen
Ist das Claude Agent SDK kostenlos nutzbar?
Das SDK selbst ist kostenlos, es fallen jedoch Nutzungsgebühren für die Claude API an. Mit max_budget_usd können Sie ein Limit setzen, um unerwartete Kosten zu vermeiden. Während der Entwicklung und beim Testen können Sie die Kosten reduzieren, indem Sie effort auf "low" setzen.
Was ist der Unterschied zwischen dem Agent SDK und Claude Code?
Claude Code ist ein interaktives Tool für Terminal oder IDE, während das Agent SDK ein Framework ist, das in Programme eingebettet wird, um Automatisierung zu ermöglichen. Intern nutzen beide denselben Motor, unterscheiden sich aber im Einsatzzweck. Claude Code eignet sich für die tägliche Entwicklung, das Agent SDK für CI/CD und Produktionsautomatisierung.
Welche Programmiersprachen werden unterstützt?
Python und TypeScript werden unterstützt. Da die Operationen, die der Agent ausführt (Dateibearbeitung, Befehlsausführung), nicht auf eine Sprache beschränkt sind, kann er mit Projekten in Go, Rust, PHP und jeder anderen Sprache verwendet werden.
Was ist MCP?
MCP (Model Context Protocol) ist ein Standardprotokoll zur Verbindung von KI-Modellen mit externen Tools. Verschiedene Tools — Datenbanken, Browser-Steuerung, APIs — können als MCP-Server implementiert und mit dem Agenten verbunden werden. Da das Agent SDK MCP unterstützt, können auch Drittanbieter-MCP-Server genutzt werden.