Python
Construisez des agents IA personnalisés avec le SDK Python Claude Code
Prérequis
- Python 3.10+
claude-code-sdk
depuis PyPI- Node.js 18+
@anthropic-ai/claude-code
depuis NPM
Pour voir le code source du SDK Python, consultez le dépôt claude-code-sdk
.
Pour le développement interactif, utilisez IPython : pip install ipython
Installation
Installez claude-code-sdk
depuis PyPI et @anthropic-ai/claude-code
depuis NPM :
(Optionnel) Installez IPython pour le développement interactif :
Démarrage rapide
Créez votre premier agent :
Sauvegardez le code ci-dessus sous legal-agent.py
, puis exécutez :
Pour les notebooks IPython/Jupyter, vous pouvez exécuter le code directement dans une cellule :
Les exemples Python de cette page utilisent asyncio
, mais vous pouvez également utiliser anyio
.
Utilisation de base
Le SDK Python fournit deux interfaces principales :
1. La classe ClaudeSDKClient
(recommandée)
Idéale pour les réponses en streaming, les conversations multi-tours et les applications interactives :
2. La fonction query
Pour des requêtes simples et ponctuelles :
Options de configuration
Le SDK Python accepte tous les arguments pris en charge par la ligne de commande via la classe ClaudeCodeOptions
.
Paramètres ClaudeCodeOptions
Détails des paramètres
system_prompt
:str | None
- Prompt système personnalisé définissant le rôle de l’agentappend_system_prompt
:str | None
- Texte supplémentaire ajouté au prompt systèmemax_turns
:int | None
- Nombre maximum de tours de conversation (illimité si None)model
:str | None
- Modèle Claude spécifique à utilisermax_thinking_tokens
:int
- Nombre maximum de tokens pour le processus de réflexion de Claude (par défaut : 8000)allowed_tools
:list[str]
- Outils spécifiquement autorisés à l’utilisationdisallowed_tools
:list[str]
- Outils qui ne doivent pas être utiliséscontinue_conversation
:bool
- Continuer la conversation la plus récente (par défaut : False)resume
:str | None
- UUID de session pour reprendre une conversation spécifiquecwd
:str | Path | None
- Répertoire de travail pour la sessionadd_dirs
:list[str | Path]
- Répertoires supplémentaires à inclure dans le contextesettings
:str | None
- Chemin vers le fichier de paramètres ou chaîne JSON des paramètrespermission_mode
:str | None
- Mode de gestion des permissionspermission_prompt_tool_name
:str | None
- Nom de l’outil de prompt de permission personnalisémcp_servers
:dict | str | Path
- Configurations des serveurs MCPextra_args
:dict[str, str | None]
- Passer des drapeaux CLI arbitraires au CLI Claude Code sous-jacent
Modes de permission
"default"
: CLI demande confirmation pour les outils dangereux (comportement par défaut)"acceptEdits"
: Accepter automatiquement les modifications de fichiers sans demander confirmation"plan"
: Mode Plan - analyser sans apporter de modifications"bypassPermissions"
: Autoriser tous les outils sans demander confirmation (à utiliser avec précaution)
Exemple de configuration avancée
Messages structurés et entrées d’images
Le SDK prend en charge le passage de messages structurés et d’entrées d’images :
Conversations multi-tours
Méthode 1 : Utilisation de ClaudeSDKClient pour des conversations persistantes
Prompts système personnalisés
Les prompts système définissent le rôle, l’expertise et le comportement de votre agent :
Outils personnalisés via MCP
Le Protocole de Contexte de Modèle (MCP) vous permet de donner à vos agents des outils et capacités personnalisés :
Outil de prompt de permission personnalisé
Implémentez une gestion de permissions personnalisée pour les appels d’outils :
Formats de sortie
Sortie texte avec streaming
Sortie JSON avec métadonnées
Formats d’entrée
Exemples d’intégration d’agents
Agent de réponse aux incidents SRE
Révision de sécurité automatisée
Assistant juridique multi-tours
Meilleures pratiques spécifiques à Python
Modèles clés
Conseils IPython/Jupyter
Ressources connexes
- Utilisation et contrôles CLI - Documentation CLI complète
- Intégration GitHub Actions - Automatisez votre flux de travail GitHub avec Claude
- Flux de travail courants - Guides étape par étape pour les cas d’usage courants