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. Claude puede analizar datos, crear visualizaciones, realizar cálculos complejos y procesar archivos cargados directamente dentro de la conversación de la API.
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í hay un ejemplo simple que pide a Claude realizar un cálculo:
Cómo funciona la ejecución de código
Cuando añades 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 aislado seguro
- La ejecución de código puede ocurrir varias veces durante una sola solicitud
- Claude proporciona resultados con cualquier gráfico, cálculo o análisis generado
Definición de la herramienta
La herramienta de ejecución de código no requiere parámetros adicionales:
Formato de respuesta
Aquí hay 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 del código fallareturn_code
(0 para éxito, distinto de cero para fallo)
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
Motivo de parada pause_turn
La respuesta puede incluir un motivo de parada pause_turn
, que indica que la API pausó un turno de larga duración. Puedes
proporcionar la respuesta tal cual en una solicitud posterior para permitir que Claude continúe su turno, o modificar el contenido si
deseas interrumpir la conversación.
Contenedores
La herramienta de ejecución de código se ejecuta en un entorno contenedorizado seguro 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 trabajo
- CPU: 1 CPU
- Tiempo de espera de ejecución: La ejecución está limitada por solicitud de mensajes y puede controlarse con el parámetro
max_execution_duration
- Expiración del contenedor: Después de 1 hora de inactividad, el contenedor no puede ser accedido nuevamente
Redes y seguridad
- Acceso a Internet: Completamente deshabilitado por seguridad
- Conexiones externas: No se permiten solicitudes de red salientes
- Aislamiento del sandbox: Aislamiento completo del sistema host y otros contenedores
- Acceso a archivos: Limitado solo al directorio de trabajo
Bibliotecas preinstaladas
El entorno Python aislado incluye estas bibliotecas de uso común:
- Ciencia de datos: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualización: matplotlib, seaborn
- Procesamiento de archivos: pyarrow, openpyxl, xlrd, pillow
- Matemáticas y computación: sympy, mpmath
- Utilidades: tqdm, python-dateutil, pytz, joblib
Trabajando 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 a partir de tus datos.
El uso de la API de archivos con ejecución de código requiere dos encabezados beta: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Tipos de archivos compatibles
El entorno Python es capaz de trabajar con, pero no se limita a, los siguientes tipos de archivos
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Imágenes (JPEG, PNG, GIF, WebP)
- Archivos de texto (.txt, .md, .py, etc)
Ejemplo
- 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
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
El uso de la herramienta de ejecución de código se rastrea por separado del uso de tokens. El tiempo de ejecución es de un mínimo de 5 minutos. Si se incluyen archivos en la solicitud, el tiempo de ejecución se factura incluso si la herramienta no se utiliza debido a que los archivos se precargan en el contenedor.
Precio: $0.05 por hora de sesión.