Python
Erstellen Sie benutzerdefinierte KI-Agenten mit dem Claude Code Python SDK
Voraussetzungen
- Python 3.10+
claude-code-sdk
von PyPI- Node.js 18+
@anthropic-ai/claude-code
von NPM
Um den Python SDK-Quellcode anzuzeigen, siehe das claude-code-sdk
Repository.
Für interaktive Entwicklung verwenden Sie IPython: pip install ipython
Installation
Installieren Sie claude-code-sdk
von PyPI und @anthropic-ai/claude-code
von NPM:
(Optional) Installieren Sie IPython für interaktive Entwicklung:
Schnellstart
Erstellen Sie Ihren ersten Agenten:
Speichern Sie den obigen Code als legal-agent.py
und führen Sie dann aus:
Für IPython/Jupyter-Notebooks können Sie den Code direkt in einer Zelle ausführen:
Die Python-Beispiele auf dieser Seite verwenden asyncio
, aber Sie können auch anyio
verwenden.
Grundlegende Verwendung
Das Python SDK bietet zwei primäre Schnittstellen:
1. Die ClaudeSDKClient
-Klasse (empfohlen)
Am besten für Streaming-Antworten, mehrstufige Gespräche und interaktive Anwendungen:
2. Die query
-Funktion
Für einfache, einmalige Anfragen:
Konfigurationsoptionen
Das Python SDK akzeptiert alle Argumente, die von der Befehlszeile unterstützt werden, über die ClaudeCodeOptions
-Klasse.
ClaudeCodeOptions-Parameter
Parameter-Details
system_prompt
:str | None
- Benutzerdefinierter System-Prompt, der die Rolle des Agenten definiertappend_system_prompt
:str | None
- Zusätzlicher Text, der an den System-Prompt angehängt wirdmax_turns
:int | None
- Maximale Gesprächsrunden (unbegrenzt wenn None)model
:str | None
- Spezifisches Claude-Modell zu verwendenmax_thinking_tokens
:int
- Maximale Token für Claudes Denkprozess (Standard: 8000)allowed_tools
:list[str]
- Tools, die speziell zur Verwendung erlaubt sinddisallowed_tools
:list[str]
- Tools, die nicht verwendet werden solltencontinue_conversation
:bool
- Neuestes Gespräch fortsetzen (Standard: False)resume
:str | None
- Session-UUID zum Fortsetzen eines bestimmten Gesprächscwd
:str | Path | None
- Arbeitsverzeichnis für die Sessionadd_dirs
:list[str | Path]
- Zusätzliche Verzeichnisse, die in den Kontext einbezogen werden sollensettings
:str | None
- Pfad zur Einstellungsdatei oder Einstellungs-JSON-Stringpermission_mode
:str | None
- Berechtigungsbehandlungsmoduspermission_prompt_tool_name
:str | None
- Benutzerdefinierter Berechtigungs-Prompt-Tool-Namemcp_servers
:dict | str | Path
- MCP-Server-Konfigurationenextra_args
:dict[str, str | None]
- Beliebige CLI-Flags an die zugrunde liegende Claude Code CLI übergeben
Berechtigungsmodi
"default"
: CLI fordert bei gefährlichen Tools zur Eingabe auf (Standardverhalten)"acceptEdits"
: Dateibearbeitungen automatisch ohne Nachfrage akzeptieren"plan"
: Planmodus - analysieren ohne Änderungen vorzunehmen"bypassPermissions"
: Alle Tools ohne Nachfrage erlauben (mit Vorsicht verwenden)
Erweiterte Konfigurationsbeispiel
Strukturierte Nachrichten und Bildeingaben
Das SDK unterstützt die Übergabe strukturierter Nachrichten und Bildeingaben:
Mehrstufige Gespräche
Methode 1: Verwendung von ClaudeSDKClient für persistente Gespräche
Benutzerdefinierte System-Prompts
System-Prompts definieren die Rolle, Expertise und das Verhalten Ihres Agenten:
Benutzerdefinierte Tools über MCP
Das Model Context Protocol (MCP) ermöglicht es Ihnen, Ihren Agenten benutzerdefinierte Tools und Fähigkeiten zu geben:
Benutzerdefiniertes Berechtigungs-Prompt-Tool
Implementieren Sie benutzerdefinierte Berechtigungsbehandlung für Tool-Aufrufe:
Ausgabeformate
Textausgabe mit Streaming
JSON-Ausgabe mit Metadaten
Eingabeformate
Agenten-Integrationsbeispiele
SRE-Incident-Response-Agent
Automatisierte Sicherheitsüberprüfung
Mehrstufiger Rechtsassistent
Python-spezifische bewährte Praktiken
Schlüsselmuster
IPython/Jupyter-Tipps
Verwandte Ressourcen
- CLI-Verwendung und -Steuerung - Vollständige CLI-Dokumentation
- GitHub Actions-Integration - Automatisieren Sie Ihren GitHub-Workflow mit Claude
- Häufige Workflows - Schritt-für-Schritt-Anleitungen für häufige Anwendungsfälle