Strumento di esecuzione del codice
Lo strumento di esecuzione del codice consente a Claude di eseguire codice Python in un ambiente sicuro e isolato.
Lo strumento di esecuzione del codice consente a Claude di eseguire codice Python in un ambiente sicuro e isolato. Claude può analizzare dati, creare visualizzazioni, eseguire calcoli complessi ed elaborare file caricati direttamente all’interno della conversazione API.
Lo strumento di esecuzione del codice è attualmente in beta.
Questa funzionalità richiede l’header beta: "anthropic-beta": "code-execution-2025-05-22"
Modelli supportati
Lo strumento di esecuzione del codice è disponibile su:
- Claude Opus 4 (
claude-opus-4-20250514
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219
) - Claude Haiku 3.5 (
claude-3-5-haiku-latest
)
Avvio rapido
Ecco un esempio semplice che chiede a Claude di eseguire un calcolo:
Come funziona l’esecuzione del codice
Quando aggiungi lo strumento di esecuzione del codice alla tua richiesta API:
- Claude valuta se l’esecuzione del codice aiuterebbe a rispondere alla tua domanda
- Claude scrive ed esegue codice Python in un ambiente sandbox sicuro
- L’esecuzione del codice può avvenire più volte durante una singola richiesta
- Claude fornisce risultati con eventuali grafici generati, calcoli o analisi
Definizione dello strumento
Lo strumento di esecuzione del codice non richiede parametri aggiuntivi:
Formato della risposta
Ecco un esempio di risposta con esecuzione del codice:
Risultati
I risultati dell’esecuzione del codice includono:
stdout
: Output dalle istruzioni print e dall’esecuzione riuscitastderr
: Messaggi di errore se l’esecuzione del codice falliscereturn_code
(0 per successo, non-zero per fallimento)
Errori
Se c’è un errore nell’uso dello strumento ci sarà un code_execution_tool_result_error
Gli errori possibili includono
unavailable
: Lo strumento di esecuzione del codice non è disponibilecode_execution_exceeded
: Il tempo di esecuzione ha superato il massimo consentitocontainer_expired
: Il container è scaduto e non è disponibile
Motivo di stop pause_turn
La risposta può includere un motivo di stop pause_turn
, che indica che l’API ha messo in pausa un turno di lunga durata. Puoi
fornire la risposta così com’è in una richiesta successiva per permettere a Claude di continuare il suo turno, o modificare il contenuto se
desideri interrompere la conversazione.
Lavorare con i File nell’Esecuzione del Codice
L’esecuzione del codice può analizzare file caricati tramite l’API Files, come file CSV, file Excel e altri formati di dati. Questo consente a Claude di leggere, elaborare e generare insights dai tuoi dati. Puoi passare più file per richiesta.
L’uso dell’API Files con l’Esecuzione del Codice richiede due header beta: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Tipi di file supportati
L’ambiente Python è capace di lavorare con ma non limitato ai seguenti tipi di file
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Immagini (JPEG, PNG, GIF, WebP)
- File di testo (.txt, .md, .py, ecc)
Caricamento di file per l’esecuzione del codice
- Carica il tuo file usando l’API Files
- Fai riferimento al file nel tuo messaggio usando un blocco di contenuto
container_upload
- Includi lo strumento di esecuzione del codice nella tua richiesta API
Recupero di file creati dall’esecuzione del codice
Quando Claude crea file durante l’esecuzione del codice (ad esempio, salvando grafici matplotlib, generando CSV), puoi recuperare questi file usando l’API Files:
Container
Lo strumento di esecuzione del codice funziona in un ambiente containerizzato sicuro progettato specificamente per l’esecuzione di codice Python.
Ambiente di runtime
- Versione Python: 3.11.12
- Sistema operativo: Container basato su Linux
- Architettura: x86_64 (AMD64)
Limiti delle risorse
- Memoria: 1GiB RAM
- Spazio su disco: 5GiB di storage del workspace
- CPU: 1 CPU
Networking e sicurezza
- Accesso a Internet: Completamente disabilitato per sicurezza
- Connessioni esterne: Nessuna richiesta di rete in uscita consentita
- Isolamento sandbox: Isolamento completo dal sistema host e da altri container
- Accesso ai file: Limitato solo alla directory del workspace
- Scoping del workspace: Come i Files, i container sono limitati al workspace della chiave API
- Scadenza: I container scadono 1 ora dopo la creazione
Librerie preinstallate
L’ambiente Python isolato include queste librerie comunemente usate:
- Data Science: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualizzazione: matplotlib
- Elaborazione File: pyarrow, openpyxl, xlrd, pillow
- Math & Computing: sympy, mpmath
- Utilità: tqdm, python-dateutil, pytz, joblib
Riutilizzo del container
Puoi riutilizzare un container esistente attraverso più richieste API fornendo l’ID del container da una risposta precedente. Questo ti consente di mantenere i file creati tra le richieste.
Esempio
Streaming
Con lo streaming abilitato, riceverai eventi di esecuzione del codice mentre si verificano:
Richieste batch
Puoi includere lo strumento di esecuzione del codice nell’API Messages Batches. Le chiamate dello strumento di esecuzione del codice attraverso l’API Messages Batches hanno lo stesso prezzo di quelle nelle richieste API Messages regolari.
Utilizzo e prezzi
The code execution tool usage is tracked separately from token usage. Execution time is a minimum of 5 minutes. If files are included in the request, execution time is billed even if the tool is not used due to files being preloaded onto the container.
Pricing: $0.05 per session-hour.