Python
Costruisci agenti AI personalizzati con l’SDK Python di Claude Code
Prerequisiti
- Python 3.10+
claude-code-sdk
da PyPI- Node.js 18+
@anthropic-ai/claude-code
da NPM
Per visualizzare il codice sorgente dell’SDK Python, consulta il repository claude-code-sdk
.
Per lo sviluppo interattivo, usa IPython: pip install ipython
Installazione
Installa claude-code-sdk
da PyPI e @anthropic-ai/claude-code
da NPM:
(Opzionale) Installa IPython per lo sviluppo interattivo:
Avvio rapido
Crea il tuo primo agente:
Salva il codice sopra come legal-agent.py
, quindi esegui:
Per i notebook IPython/Jupyter, puoi eseguire il codice direttamente in una cella:
Gli esempi Python in questa pagina usano asyncio
, ma puoi anche usare anyio
.
Utilizzo di base
L’SDK Python fornisce due interfacce principali:
1. La classe ClaudeSDKClient
(consigliata)
Migliore per risposte in streaming, conversazioni multi-turno e applicazioni interattive:
2. La funzione query
Per query semplici e singole:
Opzioni di configurazione
L’SDK Python accetta tutti gli argomenti supportati dalla riga di comando attraverso la classe ClaudeCodeOptions
.
Parametri ClaudeCodeOptions
Dettagli dei parametri
system_prompt
:str | None
- Prompt di sistema personalizzato che definisce il ruolo dell’agenteappend_system_prompt
:str | None
- Testo aggiuntivo aggiunto al prompt di sistemamax_turns
:int | None
- Numero massimo di turni di conversazione (illimitato se None)model
:str | None
- Modello Claude specifico da utilizzaremax_thinking_tokens
:int
- Token massimi per il processo di ragionamento di Claude (predefinito: 8000)allowed_tools
:list[str]
- Strumenti specificamente consentiti per l’usodisallowed_tools
:list[str]
- Strumenti che non dovrebbero essere utilizzaticontinue_conversation
:bool
- Continua la conversazione più recente (predefinito: False)resume
:str | None
- UUID della sessione per riprendere una conversazione specificacwd
:str | Path | None
- Directory di lavoro per la sessioneadd_dirs
:list[str | Path]
- Directory aggiuntive da includere nel contestosettings
:str | None
- Percorso al file delle impostazioni o stringa JSON delle impostazionipermission_mode
:str | None
- Modalità di gestione dei permessipermission_prompt_tool_name
:str | None
- Nome personalizzato dello strumento di richiesta permessimcp_servers
:dict | str | Path
- Configurazioni del server MCPextra_args
:dict[str, str | None]
- Passa flag CLI arbitrari alla CLI sottostante di Claude Code
Modalità di permesso
"default"
: CLI richiede conferma per strumenti pericolosi (comportamento predefinito)"acceptEdits"
: Accetta automaticamente le modifiche ai file senza richiedere conferma"plan"
: Modalità Piano - analizza senza apportare modifiche"bypassPermissions"
: Consente tutti gli strumenti senza richiedere conferma (usa con cautela)
Esempio di configurazione avanzata
Messaggi strutturati e input di immagini
L’SDK supporta il passaggio di messaggi strutturati e input di immagini:
Conversazioni multi-turno
Metodo 1: Utilizzo di ClaudeSDKClient per conversazioni persistenti
Prompt di sistema personalizzati
I prompt di sistema definiscono il ruolo, l’expertise e il comportamento del tuo agente:
Strumenti personalizzati tramite MCP
Il Model Context Protocol (MCP) ti permette di dare ai tuoi agenti strumenti e capacità personalizzati:
Strumento di richiesta permessi personalizzato
Implementa la gestione personalizzata dei permessi per le chiamate agli strumenti:
Formati di output
Output di testo con streaming
Output JSON con metadati
Formati di input
Esempi di integrazione di agenti
Agente di risposta agli incidenti SRE
Revisione di sicurezza automatizzata
Assistente legale multi-turno
Migliori pratiche specifiche per Python
Pattern chiave
Suggerimenti per IPython/Jupyter
Risorse correlate
- Utilizzo e controlli CLI - Documentazione completa della CLI
- Integrazione GitHub Actions - Automatizza il tuo workflow GitHub con Claude
- Flussi di lavoro comuni - Guide passo-passo per casi d’uso comuni