Ferramenta de execução de código
A ferramenta de execução de código permite que Claude execute código Python em um ambiente seguro e isolado.
A ferramenta de execução de código permite que Claude execute código Python em um ambiente seguro e isolado. Claude pode analisar dados, criar visualizações, realizar cálculos complexos e processar arquivos carregados diretamente dentro da conversa da API.
A ferramenta de execução de código está atualmente em beta.
Este recurso requer o cabeçalho beta: "anthropic-beta": "code-execution-2025-05-22"
Modelos suportados
A ferramenta de execução de código está disponível em:
- 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
)
Início rápido
Aqui está um exemplo simples que pede ao Claude para realizar um cálculo:
Como funciona a execução de código
Quando você adiciona a ferramenta de execução de código à sua solicitação da API:
- Claude avalia se a execução de código ajudaria a responder sua pergunta
- Claude escreve e executa código Python em um ambiente sandbox seguro
- A execução de código pode ocorrer várias vezes durante uma única solicitação
- Claude fornece resultados com quaisquer gráficos, cálculos ou análises gerados
Definição da ferramenta
A ferramenta de execução de código não requer parâmetros adicionais:
Formato de resposta
Aqui está um exemplo de resposta com execução de código:
Resultados
Os resultados da execução de código incluem:
stdout
: Saída de declarações print e execução bem-sucedidastderr
: Mensagens de erro se a execução do código falharreturn_code
(0 para sucesso, não-zero para falha)
Erros
Se houver um erro ao usar a ferramenta, haverá um code_execution_tool_result_error
Possíveis erros incluem
unavailable
: A ferramenta de execução de código está indisponívelcode_execution_exceeded
: O tempo de execução excedeu o máximo permitidocontainer_expired
: O contêiner expirou e não está disponível
Motivo de parada pause_turn
A resposta pode incluir um motivo de parada pause_turn
, que indica que a API pausou um turno de longa duração. Você pode
fornecer a resposta como está em uma solicitação subsequente para permitir que Claude continue seu turno, ou modificar o conteúdo se
desejar interromper a conversa.
Trabalhando com Arquivos na Execução de Código
A execução de código pode analisar arquivos carregados via API de Arquivos, como arquivos CSV, arquivos Excel e outros formatos de dados. Isso permite que Claude leia, processe e gere insights de seus dados. Você pode passar múltiplos arquivos por solicitação.
Usar a API de Arquivos com Execução de Código requer dois cabeçalhos beta: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Tipos de arquivo suportados
O ambiente Python é capaz de trabalhar com, mas não limitado aos seguintes tipos de arquivo
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Imagens (JPEG, PNG, GIF, WebP)
- Arquivos de texto (.txt, .md, .py, etc)
Carregando arquivos para execução de código
- Carregue seu arquivo usando a API de Arquivos
- Referencie o arquivo em sua mensagem usando um bloco de conteúdo
container_upload
- Inclua a ferramenta de execução de código em sua solicitação da API
Recuperando arquivos criados pela execução de código
Quando Claude cria arquivos durante a execução de código (por exemplo, salvando gráficos matplotlib, gerando CSVs), você pode recuperar esses arquivos usando a API de Arquivos:
Contêineres
A ferramenta de execução de código executa em um ambiente seguro e containerizado projetado especificamente para execução de código Python.
Ambiente de execução
- Versão do Python: 3.11.12
- Sistema operacional: Contêiner baseado em Linux
- Arquitetura: x86_64 (AMD64)
Limites de recursos
- Memória: 1GiB RAM
- Espaço em disco: 5GiB de armazenamento do workspace
- CPU: 1 CPU
Rede e segurança
- Acesso à internet: Completamente desabilitado por segurança
- Conexões externas: Nenhuma solicitação de rede de saída permitida
- Isolamento de sandbox: Isolamento completo do sistema host e outros contêineres
- Acesso a arquivos: Limitado apenas ao diretório do workspace
- Escopo do workspace: Como Arquivos, contêineres são limitados ao workspace da chave da API
- Expiração: Contêineres expiram 1 hora após a criação
Bibliotecas pré-instaladas
O ambiente Python isolado inclui essas bibliotecas comumente usadas:
- Ciência de Dados: pandas, numpy, scipy, scikit-learn, statsmodels
- Visualização: matplotlib
- Processamento de Arquivos: pyarrow, openpyxl, xlrd, pillow
- Matemática e Computação: sympy, mpmath
- Utilitários: tqdm, python-dateutil, pytz, joblib
Reutilização de contêiner
Você pode reutilizar um contêiner existente em múltiplas solicitações da API fornecendo o ID do contêiner de uma resposta anterior. Isso permite manter arquivos criados entre solicitações.
Exemplo
Streaming
Com streaming habilitado, você receberá eventos de execução de código conforme eles ocorrem:
Solicitações em lote
Você pode incluir a ferramenta de execução de código na API de Lotes de Mensagens. Chamadas da ferramenta de execução de código através da API de Lotes de Mensagens são precificadas da mesma forma que aquelas em solicitações regulares da API de Mensagens.
Uso e preços
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.