Herramienta de ejecución de código
La herramienta de ejecución de código permite a Claude ejecutar código Python en un entorno seguro y aislado.
La herramienta de ejecución de código permite a Claude ejecutar código Python en un entorno seguro y aislado. Claude puede analizar datos, crear visualizaciones, realizar cálculos complejos y procesar archivos cargados directamente dentro de la conversación de la API.
La herramienta de ejecución de código está actualmente en beta.
Esta función requiere el encabezado beta: "anthropic-beta": "code-execution-2025-05-22"
Modelos compatibles
La herramienta de ejecución de código está disponible en:
- 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
)
Inicio rápido
Aquí tienes un ejemplo simple que le pide a Claude que realice un cálculo:
Cómo funciona la ejecución de código
Cuando agregas la herramienta de ejecución de código a tu solicitud de API:
- Claude evalúa si la ejecución de código ayudaría a responder tu pregunta
- Claude escribe y ejecuta código Python en un entorno sandbox seguro
- La ejecución de código puede ocurrir múltiples veces durante una sola solicitud
- Claude proporciona resultados con cualquier gráfico, cálculo o análisis generado
Definición de herramienta
La herramienta de ejecución de código no requiere parámetros adicionales:
Formato de respuesta
Aquí tienes un ejemplo de respuesta con ejecución de código:
Resultados
Los resultados de la ejecución de código incluyen:
stdout
: Salida de las declaraciones print y ejecución exitosastderr
: Mensajes de error si la ejecución de código fallareturn_code
(0 para éxito, no cero para falla)
Errores
Si hay un error al usar la herramienta, habrá un code_execution_tool_result_error
Los posibles errores incluyen
unavailable
: La herramienta de ejecución de código no está disponiblecode_execution_exceeded
: El tiempo de ejecución excedió el máximo permitidocontainer_expired
: El contenedor ha expirado y no está disponible
Razón de parada pause_turn
La respuesta puede incluir una razón de parada pause_turn
, que indica que la API pausó un turno de larga duración. Puedes
proporcionar la respuesta tal como está en una solicitud posterior para permitir que Claude continúe su turno, o modificar el contenido si
deseas interrumpir la conversación.
Trabajar con archivos en la ejecución de código
La ejecución de código puede analizar archivos cargados a través de la API de archivos, como archivos CSV, archivos Excel y otros formatos de datos. Esto permite a Claude leer, procesar y generar información de tus datos. Puedes pasar múltiples archivos por solicitud.
Usar la API de archivos con la ejecución de código requiere dos encabezados beta: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Tipos de archivo compatibles
El entorno Python es capaz de trabajar con, pero no se limita a, los siguientes tipos de archivo
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Imágenes (JPEG, PNG, GIF, WebP)
- Archivos de texto (.txt, .md, .py, etc)
Cargar archivos para la ejecución de código
- Sube tu archivo usando la API de archivos
- Referencia el archivo en tu mensaje usando un bloque de contenido
container_upload
- Incluye la herramienta de ejecución de código en tu solicitud de API
Recuperar archivos creados por la ejecución de código
Cuando Claude crea archivos durante la ejecución de código (por ejemplo, guardar gráficos de matplotlib, generar CSVs), puedes recuperar estos archivos usando la API de archivos:
Contenedores
La herramienta de ejecución de código se ejecuta en un entorno seguro y contenedorizado diseñado específicamente para la ejecución de código Python.
Entorno de ejecución
- Versión de Python: 3.11.12
- Sistema operativo: Contenedor basado en Linux
- Arquitectura: x86_64 (AMD64)
Límites de recursos
- Memoria: 1GiB RAM
- Espacio en disco: 5GiB de almacenamiento de espacio de trabajo
- CPU: 1 CPU
Redes y seguridad
- Acceso a Internet: Completamente deshabilitado por seguridad
- Conexiones externas: No se permiten solicitudes de red salientes
- Aislamiento sandbox: Aislamiento completo del sistema host y otros contenedores
- Acceso a archivos: Limitado solo al directorio del espacio de trabajo
- Alcance del espacio de trabajo: Como los archivos, los contenedores están limitados al espacio de trabajo de la clave API
- Expiración: Los contenedores expiran 1 hora después de la creación
Bibliotecas preinstaladas
El entorno Python aislado incluye estas bibliotecas comúnmente utilizadas:
- Ciencia de datos: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualización: matplotlib
- Procesamiento de archivos: pyarrow, openpyxl, xlrd, pillow
- Matemáticas y computación: sympy, mpmath
- Utilidades: tqdm, python-dateutil, pytz, joblib
Reutilización de contenedores
Puedes reutilizar un contenedor existente a través de múltiples solicitudes de API proporcionando el ID del contenedor de una respuesta anterior. Esto te permite mantener archivos creados entre solicitudes.
Ejemplo
Streaming
Con el streaming habilitado, recibirás eventos de ejecución de código a medida que ocurren:
Solicitudes por lotes
Puedes incluir la herramienta de ejecución de código en la API de lotes de mensajes. Las llamadas a la herramienta de ejecución de código a través de la API de lotes de mensajes tienen el mismo precio que las de las solicitudes regulares de la API de mensajes.
Uso y precios
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.