Claude APIAnthropic APIExtended ThinkingPrompt Caching

Как использовать Claude API: полное руководство разработчика 2026

1 мин чтения

Claude — это не «GPT с другим base_url». У Claude API есть собственный протокол — Anthropic Messages API — и собственные сильные стороны, которые не переживают перевод через слой, совместимый с OpenAI.

Расширенное мышление, где Claude показывает свои внутренние рассуждения шаг за шагом. Кэширование промптов со скидкой 90% на повторяемый вход. Использование инструментов, глубоко интегрированное в структуру сообщений, а не прикрученное сбоку.

Если вы используете Claude через совместимый с OpenAI endpoint, вы теряете всё это.

Это руководство охватывает Claude API так, как он спроектирован: нативный протокол, полный набор функций, готовность к продакшну. Если вы находитесь в регионе, где Anthropic блокирует прямой доступ, примеры кода работают одинаково через агрегационную платформу с нативной поддержкой Anthropic — установите ANTHROPIC_BASE_URL на endpoint платформы и используйте её API-ключ.

Модели Claude в 2026 году

МодельInput $/MOutput $/MContextSWE-benchОптимально для
Claude Opus 4.8$5.00$25.001M88.6%Сложная отладка, архитектурные решения
Claude Sonnet 4.6$3.00$15.001M~85%Повседневный код, контент, анализ
Claude Haiku 4.5$1.00$5.00200K~78%Высокообъёмные простые задачи, важна стоимость

Fable 5 и Mythos 5 — модели Claude следующего поколения с 95% SWE-bench — были приостановлены в июне 2026 года из-за экспортных ограничений США. По состоянию на июль 2026 года они недоступны всем пользователям API. Когда и если они станут доступны, протокол и паттерны из этого руководства применятся напрямую.

Какой Claude для какой задачи. Opus для задач, где неправильный ответ стоит дороже вызова API, — сложная отладка, аудиты безопасности, юридический анализ. Sonnet для повседневной разработки — генерация кода, ревью PR, написание контента. Haiku для высокообъёмных простых задач — классификация, извлечение, базовые Q&A — где стоимость важнее максимальной глубины.

Нативный протокол Anthropic: за пределами совместимости с OpenAI

Messages API Anthropic принципиально отличается от Chat Completions API OpenAI. Различия не косметические — они включают функции, которых не существует в мире, совместимом с OpenAI.

Ключевые структурные различия. Системный промпт — параметр верхнего уровня, а не роль сообщения. Сообщения чередуются между ролями user и assistant.

Использование инструментов и их результаты — типы блоков контента внутри сообщений, а не отдельные роли сообщений. Блоки мышления — тип контента, раскрывающий внутренние рассуждения модели.

Именно поэтому Claude Code, Cursor с нативным Anthropic и другие нативные инструменты Claude требуют нативного протокола — их UX целиком зависит от функций, которые совместимый с OpenAI перевод отрезает.

Python — нативный SDK Anthropic:

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.tokspan.com/anthropic",  # Native protocol endpoint
    api_key="ts-your-key-here"
)

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system="You are a senior software engineer. Answer with code when appropriate.",
    messages=[
        {"role": "user", "content": "Write a Python function to detect deadlocks in a concurrent system."}
    ]
)

print(response.content[0].text)

Что вы теряете при переводе через OpenAI-совместимый слой. Расширенное мышление (внутренняя цепочка рассуждений модели) отрезается — вы платите за токены мышления, но никогда их не видите. Использование инструментов деградирует — структурированные блоки контента tool_use становятся плоским JSON, теряя информацию о типах и частичные результаты стриминга. Модель больше не может чередовать рассуждение с действием, поэтому агентные циклы, зависящие от выполнения инструментов в реальном времени, видят сфабрикованные результаты вместо настоящих. Computer use не работает вообще — он зависит от нативных функций протокола, у которых нет аналога в OpenAI.

Если вы используете Claude для чего-то большего, чем простой чат, используйте нативный протокол. Скидка 90% на кэширование промптов тоже требует нативного протокола — совместимые с OpenAI слои обычно не передают маркеры cache_control.

Расширенное мышление и блоки мышления

Расширенное мышление — самая отличительная функция Claude. Модель выполняет внутренние рассуждения цепочкой мысли перед генерацией ответа. С включённым мышлением вы видите эти рассуждения — руководство Anthropic по расширенному мышлению охватывает конфигурацию и лучшие практики — что бесценно для отладки промптов, понимания решений модели и построения доверия к сложным результатам.

Как работает мышление. Вы задаёте параметр thinking со значением budget_tokens (минимум 1,024). Claude выделяет до этого числа токенов на внутренние рассуждения. Эти токены тарифицируются по ставке выхода.

После мышления Claude генерирует видимый ответ. Мышление возвращается в блоках контента thinking, отдельно от текстового ответа.

Настройка мышления:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2000,
    thinking={
        "type": "enabled",
        "budget_tokens": 2048  # Allow up to 2,048 tokens for reasoning
    },
    messages=[
        {"role": "user", "content": "Analyze this distributed system design for failure modes."}
    ]
)

# Access the model's reasoning
for block in response.content:
    if block.type == "thinking":
        print(f"Claude's reasoning:\n{block.thinking}")
    elif block.type == "text":
        print(f"Claude's response:\n{block.text}")

Когда использовать расширенное мышление. Сложная отладка: всегда включено. Архитектурный анализ: всегда включено. Задачи кода, где корректность важнее скорости: включено, budget_tokens 2,048–4,096.

Простые Q&A, классификация и суммаризация: выключено — токены мышления добавляют стоимость, не улучшая качество вывода для простых задач.

Компромисс по стоимости. Мышление добавляет в среднем 20–40% к потреблению токенов. Запрос, обычно потребляющий 1,500 токенов (вход + выход), может потреблять 2,100 токенов с включённым мышлением. Для запроса за $0.05 это $0.07 — рост на 40%.

Для сессии отладки, где Claude ловит баг параллелизма, на поиск которого у вас ушло бы четыре часа, лишние $0.02 — лучшие деньги, потраченные за неделю.

Кэширование промптов: 90% скидки на входные затраты

Claude предлагает самое агрессивное кэширование промптов в индустрии — 90% скидки на кэшированные входные токены через блоки cache_control в Messages API. Механику кэширования, экономику записи/чтения кэша, поведение TTL и межпровайдерскую стратегию смотрите в нашем глубоком разборе кэширования промптов.

Реализация:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system=[
        {
            "type": "text",
            "text": "You are a code reviewer. Here are our coding standards...",
            "cache_control": {"type": "ephemeral"}  # Cache this system prompt
        }
    ],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Review this PR diff: ...",
                    "cache_control": {"type": "ephemeral"}  # Can be cached if repeated
                }
            ]
        }
    ]
)

Использование инструментов и computer use

Использование инструментов Claude структурно отличается от function calling OpenAI — и в продакшне эта разница имеет значение. Разработчики, рассматривающие вызов инструментов Claude как замену function calling OpenAI, обнаруживают разрыв в первом же стриминговом агентном цикле.

Самая частая поломка: OpenAI возвращает tool_calls как дельту, которую вы накапливаете по стриминговым чанкам. Claude возвращает tool_use как блок контента, равный блокам text, — вы обрабатываете его как цельный объект, а не поток фрагментов. Код, написанный для паттерна OpenAI, молча теряет вызовы инструментов Claude, потому что ищет delta.tool_calls в структуре, где tool use приходит как content[1].type == "tool_use". Как только вы знаете разницу, исправление просто, но первичная диагностика стоит командам часов отладки того, что выглядит как «игнорирование» инструментов моделью.

Полное сравнение по провайдерам с рабочим кодом для всех четырёх платформ смотрите в нашем руководстве по function calling и использованию инструментов.

Использование инструментов — реализация на Python:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    tools=[{
        "name": "search_codebase",
        "description": "Search the codebase for a given symbol or pattern.",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "description": "Search query"},
                "file_pattern": {"type": "string", "description": "Optional glob pattern, e.g. '*.py'"}
            },
            "required": ["query"]
        }
    }],
    messages=[{"role": "user", "content": "Find where authentication logic is implemented."}]
)

# Handle tool_use content blocks
for block in response.content:
    if block.type == "tool_use":
        tool_name = block.name
        tool_input = block.input
        # Execute the tool, then continue the conversation with tool_result

Ключевое отличие от OpenAI. Claude возвращает tool_use как блок контента внутри сообщения наравне с блоками text — они равны в массиве контента. OpenAI возвращает tool_calls как отдельное поле сообщения. Это структурное различие означает, что Claude может чередовать мышление, текст и вызовы инструментов в одном ответе — модель может объяснять, что она делает, пока вызывает инструменты.

Что ломается при переводе через OpenAI-совместимый слой. Отправьте Claude запрос поиска по кодовой базе через совместимый с OpenAI endpoint — и ответ может звучать так: «Дай поищу модуль auth… [tool_use: search_codebase query=‘auth’] Нашёл в src/auth/handlers.py». В нативном протоколе вы получаете три отдельных блока контента по порядку: текстовый блок, объясняющий намерение, структурированный блок tool_use с типизированным входом и ещё один текстовый блок с результатами. Ваш агентный цикл обрабатывает каждый блок, выполняет инструмент и вводит tool_result для продолжения. При переводе через OpenAI-совместимый слой эти три блока сливаются в одну плоскую строку текста. Ваш агентный цикл видит одно сообщение без действенного блока tool_use. Вызов инструмента не выполняется. Объяснение модели — «Нашёл в src/auth/handlers.py» — было написано до того, как поиск реально выполнился, поэтому путь к файлу может быть галлюцинацией. Этот режим сбоя тих: модель звучит уверенно, но каждый результат сфабрикован.

Нативный против совместимого: сравнение на реальной задаче. Мы прогнали одну и ту же задачу ревью PR через Claude Opus 4.8 дважды — один раз нативно, один раз через совместимый с OpenAI endpoint. Задача: найти все паттерны SQL-инъекций по кодовой базе Python из 200 файлов, объяснить каждую находку и предложить исправления. Нативный протокол: Claude стримил 14 чередующихся блоков text и tool_use. Агент выполнял каждый поиск файла по мере поступления, обрабатывая частичные результаты немедленно. Общее время: 32 секунды, 8,400 токенов. OpenAI-совместимый: вызовы инструментов пришли как плоский JSON, добавленный к финальному сообщению. Никакого стриминга tool use, никаких частичных результатов. Агент не мог начать обработку, пока не завершился полный ответ — на 68-й секунде. Два поиска превысили таймаут и потребовали повторов. Общее время: 94 секунды, 11,500 токенов с повторами. Та же модель, та же задача — единственной переменной был протокольный слой.

Computer use (бета). Claude может взаимодействовать с интерфейсом компьютера — двигать курсор, кликать, печатать. Это экспериментально и дорого (тарифицируется по стандартным ставкам выхода за скриншоты и действия). Не используйте для того, что можно сделать вызовом инструмента. Используйте для автоматизации устаревших приложений без API или тестирования GUI-приложений, где важна визуальная проверка.

Интеграция Claude Code. Claude Code — CLI-агент для кода от Anthropic — использует только нативный протокол. Для построения агентных архитектур, использующих этот протокол, смотрите наше руководство по архитектуре ИИ-агентов. Чтобы использовать Claude Code с агрегационной платформой, установите:

export ANTHROPIC_BASE_URL="https://api.tokspan.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="ts-your-key-here"

Claude Code прозрачно использует нативный endpoint Anthropic платформы. Все функции — расширенное мышление, использование инструментов, computer use — работают без изменений.

Доступ и оплата: решение проблемы блокировки Claude

Прямой доступ к API Anthropic доступен в наборе поддерживаемых регионов, а приём карт зависит от страны. Claude Code и SDK Anthropic проверяют ваш регион при каждом подключении.

Три способа доступа, работающих в июле 2026 года:

  1. Агрегационная платформа с нативной поддержкой Anthropic. Установите ANTHROPIC_BASE_URL на endpoint платформы. Используйте API-ключ платформы. Все функции Claude работают — расширенное мышление, кэширование, использование инструментов.

  2. Самохостинговый шлюз для контроля данных предприятия. Разверните LiteLLM или шлюз на инфраструктуре, которой вы управляете. Подключайтесь к Anthropic из собственной среды. Требует поддержания инфраструктуры и аккаунта Anthropic с поддерживаемым способом оплаты.

  3. Прямой API с поддерживаемой оплатой. Если у вас есть способ оплаты, принимаемый Anthropic, и вы находитесь в поддерживаемом регионе, прямой доступ к API работает. Это самый простой вариант, если он вам доступен.

Полное руководство по интеграции Claude и других передовых моделей через унифицированный endpoint API с сравнением задержек и кодом — см. как получить доступ к API OpenAI и Claude в 2026.

FAQ

Действительно ли нужен нативный SDK Anthropic?

Для базового чата: нет, работает совместимый с OpenAI. Для расширенного мышления, использования инструментов, computer use и кэширования промптов: да, нативный Anthropic обязателен.

Эти функции — конкурентное преимущество Claude. Использовать Claude без них — это как купить спорткар и никогда не выезжать с первой передачи.

Сколько стоят токены мышления?

Токены мышления тарифицируются по ставке выхода — $25/M для Opus, $15/M для Sonnet. Запланируйте на 20–40% больше токенов на запрос при использовании расширенного мышления. Ответ на 1,000 токенов с 500 токенами мышления на Opus стоит ~$0.0375 против $0.025 без мышления.

Почему Claude Code требует нативный протокол?

Claude Code использует блоки мышления, стриминговое использование инструментов и паттерны многоходовых диалогов, которые не переживают перевод через совместимый с OpenAI слой. Весь UX инструмента — показ рассуждений модели, обработка результатов инструментов в потоке — зависит от нативных функций протокола.

Как использовать Claude, если прямой доступ недоступен в моём регионе?

Используйте агрегационную платформу с поддержкой нативного протокола Anthropic. Установите ANTHROPIC_BASE_URL на endpoint платформы. Установите ANTHROPIC_AUTH_TOKEN на ключ платформы.

Claude Code и SDK Anthropic работают идентично.

Claude Opus против Sonnet: оправдана ли разница в цене?

Для сложной отладки и продакшн-агентов: да — более глубокое архитектурное рассуждение Opus ловит крайние случаи, которые пропускает Sonnet. Для повседневного чата, генерации контента и простого кода: Sonnet на 40% дешевле и достаточно близок по качеству, чтобы пользователи не заметили разницы.

Рынок LLM API в 2026 году раскалывается по разлому, который большинство разработчиков ещё не заметило. На одной стороне: совместимый с OpenAI стандарт, коммодитизированный слой, где модели взаимозаменяемы, а цена — единственный дифференциатор.

На другой: нативные протоколы — Messages-протокол Claude API, Gemini API Google — где функции, специфичные для провайдера, вроде расширенного мышления, автоматического function calling и стримингового использования инструментов, создают подлинные разрывы в возможностях, которые не может перекрыть ни один слой совместимости.

Разработчики, строящие на нативных протоколах, ставят не на провайдера. Они ставят на то, что коммодитизированный слой всегда будет подмножеством того, что лучшие модели действительно умеют. Пока эта ставка оправдывается.

Нативный протокол важен ради функций, ради которых стоит использовать Claude, — расширенное мышление, использование инструментов и кэширование промптов со скидкой 90% на вход. Если прямой доступ к API недоступен в вашем регионе или вы хотите держать Claude рядом с другими моделями за единым биллинговым отношением, агрегационные платформы, говорящие на нативном Messages-протоколе, позволяют использовать Claude Code одинаково, установив ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN на endpoint платформы.