Инструмент выполнения кода
Инструмент выполнения кода позволяет Claude выполнять код Python в безопасной изолированной среде.
Инструмент выполнения кода позволяет Claude выполнять код Python в безопасной изолированной среде. Claude может анализировать данные, создавать визуализации, выполнять сложные вычисления и обрабатывать загруженные файлы непосредственно в рамках API-диалога.
Инструмент выполнения кода в настоящее время находится в бета-версии.
Эта функция требует бета-заголовок: "anthropic-beta": "code-execution-2025-05-22"
Поддерживаемые модели
Инструмент выполнения кода доступен для:
- 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
)
Быстрый старт
Вот простой пример, который просит Claude выполнить вычисление:
Как работает выполнение кода
Когда вы добавляете инструмент выполнения кода в ваш API-запрос:
- Claude оценивает, поможет ли выполнение кода ответить на ваш вопрос
- Claude пишет и выполняет код Python в безопасной изолированной среде
- Выполнение кода может происходить несколько раз в течение одного запроса
- Claude предоставляет результаты с любыми созданными диаграммами, вычислениями или анализом
Определение инструмента
Инструмент выполнения кода не требует дополнительных параметров:
Формат ответа
Вот пример ответа с выполнением кода:
Результаты
Результаты выполнения кода включают:
stdout
: Вывод из операторов print и успешного выполненияstderr
: Сообщения об ошибках, если выполнение кода не удалосьreturn_code
(0 для успеха, не ноль для неудачи)
Ошибки
Если возникает ошибка при использовании инструмента, будет code_execution_tool_result_error
Возможные ошибки включают
unavailable
: Инструмент выполнения кода недоступенcode_execution_exceeded
: Время выполнения превысило максимально допустимоеcontainer_expired
: Контейнер истек и недоступен
Причина остановки pause_turn
Ответ может включать причину остановки pause_turn
, которая указывает, что API приостановил долго выполняющийся ход. Вы можете
предоставить ответ как есть в последующем запросе, чтобы позволить Claude продолжить свой ход, или изменить содержимое, если вы
хотите прервать разговор.
Работа с файлами в выполнении кода
Выполнение кода может анализировать файлы, загруженные через Files API, такие как CSV-файлы, Excel-файлы и другие форматы данных. Это позволяет Claude читать, обрабатывать и генерировать выводы из ваших данных. Вы можете передавать несколько файлов на запрос.
Использование Files API с выполнением кода требует двух бета-заголовков: "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Поддерживаемые типы файлов
Среда Python способна работать с, но не ограничивается следующими типами файлов
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Изображения (JPEG, PNG, GIF, WebP)
- Текстовые файлы (.txt, .md, .py, и т.д.)
Загрузка файлов для выполнения кода
- Загрузите ваш файл используя Files API
- Ссылайтесь на файл в вашем сообщении, используя блок содержимого
container_upload
- Включите инструмент выполнения кода в ваш API-запрос
Получение файлов, созданных при выполнении кода
Когда Claude создает файлы во время выполнения кода (например, сохранение графиков matplotlib, генерация CSV), вы можете получить эти файлы, используя Files API:
Контейнеры
Инструмент выполнения кода работает в безопасной контейнеризованной среде, специально разработанной для выполнения кода Python.
Среда выполнения
- Версия Python: 3.11.12
- Операционная система: Контейнер на основе Linux
- Архитектура: x86_64 (AMD64)
Ограничения ресурсов
- Память: 1ГиБ RAM
- Дисковое пространство: 5ГиБ хранилища рабочего пространства
- CPU: 1 CPU
Сеть и безопасность
- Доступ в интернет: Полностью отключен для безопасности
- Внешние соединения: Исходящие сетевые запросы не разрешены
- Изоляция песочницы: Полная изоляция от хост-системы и других контейнеров
- Доступ к файлам: Ограничен только каталогом рабочего пространства
- Область рабочего пространства: Как и Files, контейнеры ограничены рабочим пространством API-ключа
- Истечение срока: Контейнеры истекают через 1 час после создания
Предустановленные библиотеки
Изолированная среда Python включает эти часто используемые библиотеки:
- Наука о данных: pandas, numpy, scipy, scikit-learn, statsmodels
- Визуализация: matplotlib
- Обработка файлов: pyarrow, openpyxl, xlrd, pillow
- Математика и вычисления: sympy, mpmath
- Утилиты: tqdm, python-dateutil, pytz, joblib
Повторное использование контейнера
Вы можете повторно использовать существующий контейнер в нескольких API-запросах, предоставив идентификатор контейнера из предыдущего ответа. Это позволяет вам сохранять созданные файлы между запросами.
Пример
Потоковая передача
При включенной потоковой передаче вы будете получать события выполнения кода по мере их возникновения:
Пакетные запросы
Вы можете включить инструмент выполнения кода в Messages Batches API. Вызовы инструмента выполнения кода через Messages Batches API оцениваются так же, как и в обычных запросах Messages API.
Использование и ценообразование
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.