Полное руководство по разработке с Claude API: от ключа до продакшена
Claude API предоставляет доступ к трём классам моделей: Opus (максимальная точность), Sonnet (баланс скорости и качества) и Haiku (минимальная задержка).
В отличие от OpenAI API, здесь нет system-роли в массиве messages — системный промпт передаётся отдельным параметром верхнего уровня.
Версионирование моделей жёсткое: строка вида claude-sonnet-4-5-20250929 гарантирует воспроизводимость результатов.
Получение доступа и настройка окружения
Anthropic Console и API-ключ
- Зарегистрируйтесь на console.anthropic.com.
- Перейдите в Settings → API Keys → Create Key.
- Ключ отображается один раз — сохраните в переменную окружения немедленно.
Кредитные лимиты. Новый аккаунт стартует на Tier 1: 50 000 входящих + 10 000 исходящих токенов в минуту (TPM). Tier автоматически повышается при накопленных расходах: $5 → Tier 2, $50 → Tier 3. Текущий лимит и использование доступны в Console → Usage.
Переменные окружения (рекомендуемый способ)
Не хардкодьте ключ в коде. Для локальной разработки используйте .env + python-dotenv:
Установка SDK и первый запрос
Python SDK
Hello World через messages.create:
JavaScript / TypeScript SDK
Прямой вызов через cURL (REST API)
Заголовок anthropic-version обязателен. Актуальная версия: 2023-06-01.
Продвинутые возможности
Vision: анализ изображений
Модели Sonnet и Opus поддерживают мультимодальный ввод. Изображение передаётся как base64 или по URL.
Поддерживаемые форматы: image/jpeg, image/png, image/gif, image/webp. Лимит — 20 МБ на изображение, до 100 изображений в одном запросе.
Function Calling (Tool Use)
Tool Use позволяет модели вернуть структурированный вызов функции вместо свободного текста.
После получения результата инструмента добавьте его в messages с ролью user и type: tool_result, затем отправьте повторный запрос для финального ответа.
JSON Mode через параметр system
Нативного JSON Mode нет — принудительный JSON-вывод достигается через системный промпт:
Для гарантированного JSON используйте Tool Use с input_schema нужной формы — это надёжнее, чем промпт-инструкция.
Workbench и генерация промптов
Anthropic Console → Workbench — интерактивная среда для итерации над промптами без написания кода.
Что доступно в Workbench:
- Переключение моделей (Opus / Sonnet / Haiku) с сохранением истории.
- Настройка temperature (0.0–1.0), max_tokens, top_p, top_k.
- Сравнение двух промптов рядом (A/B).
- Экспорт в код: кнопка Get Code генерирует готовый сниппет на Python, TypeScript или cURL.
Prompt Generator (вкладка внутри Workbench): опишите задачу на естественном языке → модель создаёт структурированный системный промпт. Результат доступен для немедленного редактирования.
Обработка ошибок
Коды ошибок и стратегии
Retry с экспоненциальным backoff (Python)
Python SDK автоматически делает 2 retry по умолчанию. Кастомное число: anthropic.Anthropic(max_retries=5).
Обработка max_tokens exceeded
Если stop_reason == "max_tokens", ответ обрезан. Проверяйте явно:
FAQ
Как считать токены до отправки запроса?
Используйте метод count_tokens — он не тарифицируется:
Для оценки: 1 токен ≈ 4 символа английского текста, ≈ 3–3.5 символа русского. Точный подсчёт — только через API или библиотеку anthropic-tokenizer.
Разница между моделями в коде
Единственное изменение — строка model. Все остальные параметры идентичны:
Поддерживает ли API потоковую передачу (streaming)?
Да. Параметр stream=True возвращает SSE-поток:
Как сохранять контекст между запросами?
API stateless. Контекст передаётся вручную через массив messages:
При длинных диалогах следите за суммарным числом токенов — при превышении контекстного окна (200k для Sonnet/Opus) старые сообщения нужно усекать вручную.
Актуальная документация: docs.anthropic.com
Console: console.anthropic.com