Alat eksekusi kode
Alat eksekusi kode memungkinkan Claude untuk mengeksekusi kode Python dalam lingkungan sandbox yang aman. Claude dapat menganalisis data, membuat visualisasi, melakukan perhitungan kompleks, dan memproses file yang diunggah langsung dalam percakapan API.
Alat eksekusi kode saat ini dalam versi beta.
Fitur ini memerlukan header beta: "anthropic-beta": "code-execution-2025-05-22"
Model yang didukung
Alat eksekusi kode tersedia pada:
- 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
)
Mulai cepat
Berikut adalah contoh sederhana yang meminta Claude untuk melakukan perhitungan:
Cara kerja eksekusi kode
Ketika Anda menambahkan alat eksekusi kode ke permintaan API Anda:
- Claude mengevaluasi apakah eksekusi kode akan membantu menjawab pertanyaan Anda
- Claude menulis dan mengeksekusi kode Python dalam lingkungan sandbox yang aman
- Eksekusi kode dapat terjadi beberapa kali sepanjang satu permintaan
- Claude memberikan hasil dengan grafik, perhitungan, atau analisis yang dihasilkan
Definisi alat
Alat eksekusi kode tidak memerlukan parameter tambahan:
Format respons
Berikut adalah contoh respons dengan eksekusi kode:
Hasil
Hasil eksekusi kode mencakup:
stdout
: Output dari pernyataan print dan eksekusi yang berhasilstderr
: Pesan error jika eksekusi kode gagalreturn_code
(0 untuk sukses, bukan nol untuk kegagalan)
Error
Jika ada error menggunakan alat tersebut akan ada code_execution_tool_result_error
Error yang mungkin termasuk
unavailable
: Alat eksekusi kode tidak tersediacode_execution_exceeded
: Waktu eksekusi melebihi maksimum yang diizinkancontainer_expired
: Container telah kedaluwarsa dan tidak tersedia
Alasan stop pause_turn
Respons mungkin mencakup alasan stop pause_turn
, yang menunjukkan bahwa API menjeda giliran yang berjalan lama. Anda dapat
memberikan respons kembali apa adanya dalam permintaan berikutnya untuk membiarkan Claude melanjutkan gilirannya, atau memodifikasi konten jika Anda
ingin mengganggu percakapan.
Bekerja dengan File dalam Eksekusi Kode
Eksekusi kode dapat menganalisis file yang diunggah melalui Files API, seperti file CSV, file Excel, dan format data lainnya. Ini memungkinkan Claude untuk membaca, memproses, dan menghasilkan wawasan dari data Anda. Anda dapat mengirim beberapa file per permintaan.
Menggunakan Files API dengan Eksekusi Kode memerlukan dua header beta: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Jenis file yang didukung
Lingkungan Python mampu bekerja dengan tetapi tidak terbatas pada jenis file berikut
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Gambar (JPEG, PNG, GIF, WebP)
- File teks (.txt, .md, .py, dll)
Memuat file untuk eksekusi kode
- Unggah file Anda menggunakan Files API
- Referensikan file dalam pesan Anda menggunakan blok konten
container_upload
- Sertakan alat eksekusi kode dalam permintaan API Anda
Mengambil file yang dibuat oleh eksekusi kode
Ketika Claude membuat file selama eksekusi kode (misalnya, menyimpan plot matplotlib, menghasilkan CSV), Anda dapat mengambil file-file ini menggunakan Files API:
Container
Alat eksekusi kode berjalan dalam lingkungan terkontainerisasi yang aman yang dirancang khusus untuk eksekusi kode Python.
Lingkungan runtime
- Versi Python: 3.11.12
- Sistem operasi: Container berbasis Linux
- Arsitektur: x86_64 (AMD64)
Batas sumber daya
- Memori: 1GiB RAM
- Ruang disk: 5GiB penyimpanan workspace
- CPU: 1 CPU
Jaringan dan keamanan
- Akses internet: Sepenuhnya dinonaktifkan untuk keamanan
- Koneksi eksternal: Tidak ada permintaan jaringan keluar yang diizinkan
- Isolasi sandbox: Isolasi penuh dari sistem host dan container lain
- Akses file: Terbatas pada direktori workspace saja
- Cakupan workspace: Seperti Files, container dicakup ke workspace dari kunci API
- Kedaluwarsa: Container kedaluwarsa 1 jam setelah pembuatan
Library yang sudah terinstal
Lingkungan Python sandbox mencakup library yang umum digunakan ini:
- Data Science: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualisasi: matplotlib
- Pemrosesan File: pyarrow, openpyxl, xlrd, pillow
- Matematika & Komputasi: sympy, mpmath
- Utilitas: tqdm, python-dateutil, pytz, joblib
Penggunaan ulang container
Anda dapat menggunakan ulang container yang ada di beberapa permintaan API dengan memberikan ID container dari respons sebelumnya. Ini memungkinkan Anda untuk mempertahankan file yang dibuat antar permintaan.
Contoh
Streaming
Dengan streaming diaktifkan, Anda akan menerima event eksekusi kode saat terjadi:
Permintaan batch
Anda dapat menyertakan alat eksekusi kode dalam Messages Batches API. Panggilan alat eksekusi kode melalui Messages Batches API dihargai sama dengan yang ada dalam permintaan Messages API biasa.
Penggunaan dan harga
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.