Esecuzione del codice

Molte attività degli agenti, come i calcoli finanziari e i workflow di data science, richiedono che un agente generi ed esegua il codice. L'esecuzione di codice consente all'agente di eseguire il codice in un ambiente sandbox sicuro, isolato e gestito.

Le funzionalità di esecuzione di codice includono:

  • Le sandbox possono essere create ed eseguire il codice in meno di un secondo.

  • Le sandbox supportano l'input e l'output di file fino a 100 MB per l'intera richiesta o risposta.

  • Le sandbox mantengono lo stato di esecuzione (memoria) per un massimo di 14 giorni. Questa impostazione della durata (TTL) è configurabile.

Non è necessario eseguire il deployment dell'agente su Agent Platform per utilizzare l'esecuzione di codice. L'agente può essere eseguito ovunque, anche localmente.

L'esecuzione di codice funziona con qualsiasi framework di agenti e qualsiasi modello generativo.

Ecco le operazioni principali per lavorare con una sandbox di esecuzione di codice:

  • Crea sandbox: crea uno spazio sicuro e isolato per eseguire codice non attendibile o potenzialmente dannoso. Questo isolamento riduce i rischi per la sicurezza impedendo al codice di toccare le risorse, i file o la rete del sistema. Una sandbox è fondamentale quando devi eseguire il codice in modo sicuro, ad esempio per gli agenti di data science, gli script di orchestrazione o durante i test di sviluppo. La sandbox offre un file system limitato e nessun accesso alla rete.

  • Get sandbox: mostra la configurazione e lo stato di una sandbox di esecuzione di codice specifica. Puoi controllare dettagli come lo stato attuale (ad esempio, in esecuzione o arrestato) e il durata (TTL). In questo modo puoi monitorare le sandbox e verificarne lo stato prima o dopo l'esecuzione del codice.

  • Elenca le sandbox: elenca tutte le sandbox di esecuzione di codice nel tuo progetto. Puoi filtrare i risultati in base a criteri come lo stato o il tipo di sandbox. In questo modo, puoi controllare, monitorare e gestire molte sandbox nel tuo progetto.

  • Esegui codice: invia il codice insieme a tutti i file di input richiesti alla sandbox per l'esecuzione sicura. La risposta include i risultati, ad esempio l'output standard (stdout), l'errore standard (stderr) ed eventuali file generati dal codice. La sandbox può anche mantenere lo stato, il che consente alle chiamate Execute Code successive di basarsi su quelle precedenti. Questo è fondamentale per le sessioni interattive o le attività complesse che richiedono che l'ambiente mantenga lo stato tra più esecuzioni di codice.

Librerie supportate

La sandbox di esecuzione di codice include le seguenti librerie, classificate per caso d'uso. Non puoi installare le tue librerie nell'ambiente sandbox.

Data science e machine learning

Questa sezione include librerie essenziali per l'analisi, la manipolazione, il machine learning e il calcolo numerico dei dati.

Gestione dei dati principali e calcoli numerici

  • numpy (2.1.3): pacchetto fondamentale per il calcolo numerico in Python, che fornisce supporto per array e matrici multidimensionali di grandi dimensioni, oltre a un'ampia raccolta di funzioni matematiche di alto livello per operare su questi array.
  • pandas (2.2.3): libreria avanzata di analisi e manipolazione dei dati, che offre strutture di dati come DataFrame e Series per la gestione dei dati strutturati.
  • scipy (1.15.2): ecosistema di software open source per matematica, scienza e ingegneria. Si basa su NumPy e fornisce un gran numero di routine numeriche efficienti e facili da usare.
  • pyarrow (18.1.0): piattaforma di sviluppo multilingue per i dati in memoria. È particolarmente utile per la gestione efficiente dei dati e l'interoperabilità tra i sistemi.
  • numexpr (2.14.1): valutatore di espressioni numeriche rapido per NumPy, che ottimizza le operazioni sugli array.
  • narwhals (2.19.0): fornisce un modo per scrivere codice che funziona su più librerie DataFrame (come pandas e Polars).

Framework di machine learning

  • scikit-learn (1.6.1): strumenti semplici ed efficienti per il data mining e l'analisi dei dati, basati su NumPy, SciPy e matplotlib.
  • tensorflow (2.20.0): una piattaforma open source end-to-end per il machine learning.
  • keras (3.14.0): API di reti neurali di alto livello, scritta in Python e in grado di essere eseguita su TensorFlow, CNTK o Theano.
  • xgboost (3.2.0): libreria di gradient boosting distribuito ottimizzata, progettata per essere altamente efficiente, flessibile e portatile.
  • thinc (8.3.13): una libreria di deep learning leggera che offre un'API di programmazione funzionale elegante e con controllo dei tipi per la composizione di modelli.

Elaborazione del linguaggio naturale (NLP, Natural Language Processing)

  • nltk (3.9.1): piattaforma leader per la creazione di programmi Python per l'utilizzo di dati linguistici umani.
  • spacy (3.8.14): libreria per l'elaborazione del linguaggio naturale avanzata in Python e Cython.
  • spacy-legacy (3.0.12): componenti legacy per spaCy.
  • spacy-loggers (1.0.5): utilità di logging per i progetti spaCy.
  • textblob (0.19.0): libreria di elaborazione del testo semplificata, che fornisce un'API semplice per le attività di NLP comuni.
  • catalogue (2.0.10): piccola libreria per i registri delle funzioni, spesso utilizzata nelle pipeline di NLP.
  • confection (1.3.3): sistema di configurazione, spesso utilizzato con spaCy.
  • cymem (2.0.13): gestione della memoria per Cython, utilizzata da spaCy.
  • murmurhash (1.0.15): associazioni Cython per MurmurHash, utilizzate da spaCy.
  • preshed (3.0.13): tabelle hash Cython e filtri Bloom, utilizzati da spaCy.
  • srsly (2.5.3): utilità di serializzazione moderne ad alte prestazioni per Python.
  • wasabi (1.1.3): utilità di stampa e formattazione della console leggera.
  • weasel (1.0.0): interfaccia a riga di comando per i progetti spaCy.

Computing scientifico e simbolico

  • mpmath (1.3.0): libreria Python per l'aritmetica in rappresentazione in virgola mobile reale e complessa con precisione arbitraria.
  • sympy (1.13.3): libreria Python per la matematica simbolica.
  • networkx (3.6.1): pacchetto per la creazione, la manipolazione e lo studio della struttura, della dinamica e delle funzioni di reti complesse.

Prestazioni e ottimizzazione

  • numba (0.64.0): compilatore JIT per Python che traduce un sottoinsieme di codice Python e NumPy in codice macchina veloce.
  • llvmlite (0.46.0): associazioni Python LLVM leggere da utilizzare con Numba.
  • blis (1.3.3): libreria di algebra lineare simile a BLAS, spesso una dipendenza per i pacchetti numerici.
  • opt_einsum (3.4.0): ottimizzazione delle espressioni einsum in NumPy, TensorFlow e altre librerie di array.
  • optree (0.19.0): manipolazione PyTree ottimizzata in JAX.
  • nvidia-nccl-cu12 (2.29.7): NVIDIA Collective Communication Library, per la comunicazione multi-GPU.

Modellazione statistica

  • statsmodels (0.14.6): fornisce classi e funzioni per la stima di molti modelli statistici diversi, nonché per l'esecuzione di test statistici e l'esplorazione di dati statistici.
  • patsy (1.0.2): una libreria Python per descrivere modelli statistici e creare matrici di progettazione.

Ricerca operativa

  • ortools (9.14.6206): Google Optimization Tools, una suite di strumenti per l'ottimizzazione combinatoria.

Visualizzazione

Librerie per la creazione di visualizzazioni statiche, animate e interattive.

  • matplotlib (3.10.1): libreria completa per la creazione di visualizzazioni statiche, animate e interattive in Python.
  • matplotlib-inline (0.2.1): backend per l'incorporamento di grafici matplotlib nei notebook Jupyter.
  • matplotlib-venn (1.1.2): libreria per tracciare diagrammi di Venn.
  • seaborn (0.13.2): libreria di visualizzazione dei dati statistici basata su matplotlib. Fornisce un'interfaccia di alto livello per disegnare grafici statistici accattivanti e informativi.
  • plotly (6.1.2): libreria di grafici interattivi che semplifica la creazione di grafici di alta qualità per la pubblicazione online e offline.
  • bokeh (3.8.2): libreria di visualizzazione interattiva che ha come target i browser web moderni per la presentazione.
  • mizani (0.13.5): scale per la grafica Python, ispirate a ggplot2.
  • contourpy (1.3.1): fornisce algoritmi di generazione di linee di contorno.
  • cycler (0.12.1): cicli di stile componibili per matplotlib.
  • fonttools (4.62.1): libreria per la manipolazione dei caratteri.
  • kiwisolver (1.5.0): implementazione C++ efficiente dell'algoritmo di risoluzione dei vincoli Cassowary.

Elaborazione di immagini e video

Librerie per lavorare con dati di immagini e video.

  • opencv-python (4.11.0.86): associazioni Python per OpenCV, una libreria di funzioni di programmazione rivolte principalmente alla visione artificiale in tempo reale.
  • pillow (11.1.0): fork intuitivo della libreria di immagini Python (PIL), che aggiunge il supporto per l'apertura, la manipolazione e il salvataggio di molti formati di file immagine diversi.
  • imageio (2.37.0): libreria per la lettura e la scrittura di un'ampia gamma di dati di immagini, tra cui immagini animate, video e dati volumetrici.
  • scikit-image (0.25.2): raccolta di algoritmi per l'elaborazione delle immagini.
  • tifffile (2026.4.11): legge e scrive file TIFF.

Gestione di file e I/O

Librerie per la lettura, la scrittura e la manipolazione di vari formati file.

Excel

  • openpyxl (3.1.5): libreria per leggere/scrivere file xlsx/xlsm/xltx/xltm di Excel 2010.
  • xlrd (2.0.1): libreria per gli sviluppatori per estrarre dati dai file di fogli di lavoro Microsoft Excel (tm).
  • XlsxWriter (3.2.0): modulo per la creazione di file Excel in formato XSLX.

PDF

  • PyPDF2 (3.0.1): libreria PDF Pure-Python in grado di dividere, unire, ritagliare e trasformare le pagine dei file PDF.
  • fpdf (1.7.2): libreria semplice per la generazione di PDF.
  • reportlab (4.3.1): una potente libreria per la creazione di PDF.
  • PyLaTeX (1.4.2): libreria per la creazione e la compilazione di file LaTeX.

Word

  • python-docx (1.1.2): libreria per la creazione e l'aggiornamento di file Microsoft Word (.docx).

PowerPoint

  • python-pptx (1.0.2): libreria per la creazione e l'aggiornamento di file PowerPoint (.pptx).

XML/HTML

  • lxml (5.3.1): libreria ricca di funzionalità e facile da usare per l'elaborazione di XML e HTML.
  • et_xmlfile (2.0.0): libreria a basso consumo di memoria per la creazione di file XML di grandi dimensioni.

Markdown

  • Markdown (3.10.2): implementazione Python del Markdown di John Gruber.
  • markdown-it-py (4.0.0): parser Markdown, fatto bene. Supporto di CommonMark al 100%.
  • mdurl (0.1.2): utilità URL per Markdown.

YAML

  • PyYAML (6.0.3): parser ed emettitore YAML per Python.

RTF

  • striprtf (0.0.28): libreria per estrarre testo normale da documenti RTF.

I/O di file generici

  • h5py (3.16.0): interfaccia Pythonic per il formato dei dati binari HDF5.
  • smart_open (7.6.0): utilità per lo streaming di file di grandi dimensioni (S3, HDFS, Cloud Storage ecc.).
  • cloudpathlib (0.23.0): classi in stile Pathlib per lo spazio di archiviazione sul cloud.

Web e networking

Librerie per richieste web, sviluppo di server e comunicazione di rete.

  • requests (2.33.1): libreria HTTP elegante e semplice per Python, creata per gli esseri umani.
  • httpx (0.28.1): client HTTP completo per Python, con supporto per HTTP/1.1 e HTTP/2 e funzionalità asincrone.
  • httpcore (1.0.9): client HTTP di basso livello, che costituisce il nucleo di HTTPX.
  • urllib3 (2.6.3): client HTTP potente e facile da usare per Python.
  • grpcio (1.80.0): libreria gRPC (chiamata di procedura remota di Google) di Python.
  • h11 (0.16.0): implementazione di HTTP/1.1 in Python puro, con I/O personalizzato.
  • idna (3.11): supporto di Internationalized Domain Names in Applications (IDNA) 2008.
  • certifi (2026.2.25): fornisce la raccolta accuratamente selezionata di certificati radice di Mozilla per convalidare l'affidabilità dei certificati SSL.
  • tornado (6.5.5): framework web e libreria di networking asincrono.
  • Werkzeug (3.1.8): libreria completa di applicazioni web WSGI.
  • Jinja2 (3.1.6): linguaggio di template moderno e adatto ai designer per Python.
  • MarkupSafe (3.0.3): aggiunge in modo sicuro stringhe non attendibili al markup HTML/XML.

Strumenti per sviluppatori e utilità

Utilità generali, strumenti per la creazione di applicazioni e aiuti per lo sviluppo.

Pacchettizzazione e distribuzione

  • pip (24.2): il programma di installazione del pacchetto per Python.
  • setuptools (82.0.1): libreria per il packaging dei progetti Python.
  • wheel (0.46.3): formato di pacchetto integrato per Python.
  • packaging (24.0): utilità di base per i pacchetti Python.

Interfacce a riga di comando (CLI)

  • click (8.3.2): toolkit per la creazione di interfacce a riga di comando componibili.
  • typer (0.24.1): libreria per la creazione di applicazioni CLI con suggerimenti sui tipi.
  • rich (15.0.0): libreria per RTF e formattazione avanzata nel terminale.
  • termcolor (3.3.0): formattazione dei colori ANSII per l'output nel terminale.
  • tqdm (4.67.3): barra di avanzamento rapida ed estensibile per Python e l'interfaccia a riga di comando.
  • shellingham (1.5.4): strumento per rilevare la shell di un utente.

Convalida dei dati e schemi

  • pydantic (2.13.1): convalida dei dati e gestione delle impostazioni utilizzando le annotazioni dei tipi di Python.
  • pydantic_core (2.46.1): logica di convalida di base per Pydantic.
  • annotated-types (0.7.0): tipi di vincoli riutilizzabili per argomenti di funzioni, variabili e campi di classi di dati.
  • jsonschema (4.23.0): implementazione dello schema JSON per Python.
  • jsonschema-specifications (2024.10.1): i meta-schemi e i vocabolari dello schema JSON.
  • referencing (0.37.0): risoluzione dei riferimenti JSON.

Serializzazione

  • protobuf (6.31.1): buffer di protocollo di Google.
  • flatbuffers (25.12.19): libreria di serializzazione multipiattaforma efficiente.

Concorrenza e parallelismo

  • anyio (4.13.0): livello di compatibilità asincrono che consente di scrivere codice asincrono che funziona su diversi loop di eventi asincroni.
  • joblib (1.4.2): pipeline leggera: strumenti per eseguire funzioni Python come pipeline.
  • threadpoolctl (3.6.0): interfaccia Python per controllare il numero di thread utilizzati nei pool di thread delle librerie comuni.

Analisi sintattica

  • pyparsing (3.2.1): approccio alternativo alla creazione e all'esecuzione di grammatiche semplici rispetto all'approccio lex/yacc standard.
  • astunparse (1.6.3): unparser per gli alberi di sintassi astratta di Python.

Interfaccia di basso livello e Foreign Function Interface (FFI)

  • libclang (18.1.1): associazioni Python Clang.

Data e ora

  • python-dateutil (2.9.0.post0): estensioni al modulo datetime standard.
  • pytz (2025.2): definizioni dei fusi orari mondiali, moderni e storici.
  • tzdata (2025.3): dati sui fusi orari.

Utilità generali

  • attrs (25.3.0): classi senza boilerplate.
  • toolz (1.0.0): libreria standard funzionale per Python.
  • six (1.17.0): utilità di compatibilità per Python 2 e 3.
  • wrapt (2.1.2): modulo per decoratori, wrapper e monkey patching.
  • immutabledict (4.3.1): dizionario immutabile.
  • ordered-set (4.1.0): struttura di dati modificabile che è un ibrido di un elenco e un set.
  • lazy-loader (0.5): importa i moduli Python in modalità lazy.
  • google-pasta (0.2.0): libreria per rifattorizzare il codice Python.
  • traitlets (5.14.3): sistema di configurazione per le applicazioni Python.
  • regex (2026.4.4): modulo di espressione regolare alternativo per sostituire il modulo re di Python.
  • chardet (7.4.3): rilevatore universale di codifica dei caratteri.
  • charset-normalizer (3.4.7): il primo vero rilevatore di set di caratteri universale.
  • typing_extensions (4.15.0): suggerimenti sui tipi sperimentali e con backport per Python 3.7 e versioni successive.
  • typing-inspection (0.4.2): ispezione dei tipi in Python in fase di runtime.
  • Pygments (2.20.0): evidenziatore della sintassi Python.
  • ml_dtypes (0.5.4): dtypes per il machine learning.
  • rpds-py (0.30.0): strutture di dati persistenti Rust per Python.
  • annotated-doc (0.0.4): libreria per l'annotazione dei documenti.
  • namex (0.1.0): libreria di utilità.

Debug e profilazione

  • tensorboard (2.20.0): il toolkit di visualizzazione di TensorFlow.
  • tensorboard-data-server (0.7.2): server di dati per TensorBoard.

Geospaziale

Librerie progettate specificamente per la gestione dei dati geospaziali.

  • geopandas (1.0.1): estende i tipi di dati utilizzati da pandas per consentire operazioni spaziali sui tipi geometrici.
  • pyogrio (0.12.1): I/O vettorizzato per formati file vettoriali geospaziali.
  • pyproj (3.7.2): interfaccia Python per PROJ (libreria di proiezioni cartografiche e trasformazioni di coordinate).
  • shapely (2.1.2): pacchetto per la manipolazione e l'analisi di oggetti geometrici planari.
  • xyzservices (2026.3.0): origine dei fornitori di riquadri XYZ.

Vari

  • chess (1.11.2): una libreria di scacchi in Python puro con generazione e convalida delle mosse, analisi e scrittura PGN e altro ancora.
  • gast (0.7.0): un convertitore generico da AST ad AST.

Passaggi successivi