Claude Code Router: используйте любую модель бэкенда с MCP-инструментами и выполнением в Sandbox

Claude Code Router: используйте любую модель бэкенда с MCP-инструментами и выполнением в Sandbox

Claude Code направляет все свои запросы через любой совместимый с Anthropic API эндпоинт. Измените одну переменную окружения — и вы запускаете Qwen, DeepSeek, GLM или MiniMax через полный агентный рабочий процесс Claude Code, включая вызов MCP-инструментов, редактирование файлов и выполнение bash, не трогая остальную конфигурацию.

Это руководство объясняет, как работает маршрутизация, как настроить эндпоинт Novita AI в качестве бэкенда, как вызовы MCP-инструментов проходят через маршрутизированную среду и как безопасно выполнять инструменты в Novita Agent Sandbox.

Что такое маршрутизатор Claude Code?

В терминах Claude Code «маршрутизатор» — это любой совместимый с Anthropic API эндпоинт, на который Claude Code отправляет свои запросы. По умолчанию этим эндпоинтом является собственный API Anthropic по адресу api.anthropic.com. Установив ANTHROPIC_BASE_URL, вы перенаправляете эти запросы другому провайдеру — тому, который принимает тот же формат API и возвращает ответы в той же структуре.

Это важно понимать: Claude Code не знает и не заботится о том, какой провайдер стоит за настроенным эндпоинтом. Он отправляет запрос в формате Anthropic, читает ответ в формате Anthropic и продолжает работу. Маршрутизатор — будь то Novita AI, самоуправляемый прокси или сторонний агрегатор — прозрачно обрабатывает выбор модели, инференс и форматирование ответов.

Три практические причины использовать маршрутизатор:

  • Доступ к моделям: Модели с открытыми весами, такие как Qwen3-Coder, MiniMax M2.7 и GLM-4.7, недоступны на эндпоинте Anthropic. Маршрутизация через Novita AI даёт доступ ко всем ним в том же рабочем процессе Claude Code.
  • Управление стоимостью: Модели с открытыми весами через таких провайдеров, как Novita, обычно стоят значительно меньше за миллион токенов, чем закрытые модели Anthropic. Для сессий с высокой нагрузкой, где модель выполняет сотни вызовов инструментов, эта разница накапливается.
  • Специализированные возможности: Некоторые модели с открытыми весами специально обучены для вызова функций и многошагового использования инструментов — именно то, что требуется для интеграции MCP в Claude Code. Выбор модели, настроенной на точность вызова инструментов, а не универсальной модели, может уменьшить количество неудачных или некорректных вызовов инструментов в сложных рабочих процессах.

Как работает маршрутизация Claude Code

Три переменные окружения управляют маршрутизацией:

Переменная Назначение
ANTHROPIC_BASE_URL Эндпоинт API. Измените её, чтобы направить запросы через другого провайдера.
ANTHROPIC_AUTH_TOKEN API-ключ для аутентификации на целевом эндпоинте.
ANTHROPIC_MODEL Идентификатор используемой модели. Должен соответствовать соглашению об именовании целевого провайдера.

Когда ANTHROPIC_BASE_URL установлен, Claude Code отправляет все запросы инференса на этот URL вместо https://api.anthropic.com. Целевой эндпоинт должен реализовывать формат сообщений API Anthropic — ту же структуру запроса и ответа, которую используют собственные модели Claude.

Важная деталь: псевдонимы моделей Anthropic (sonnet, opus, haiku) корректно разрешаются только на собственном эндпоинте Anthropic. При использовании стороннего маршрутизатора устанавливайте ANTHROPIC_MODEL в конкретный идентификатор модели провайдера, а не в псевдоним. Псевдоним, например sonnet, переданный на не-Anthropic эндпоинт, либо вызовет ошибку, либо вернёт непредвиденную модель.

ANTHROPIC_SMALL_FAST_MODEL — это второй слот модели для внутренних фоновых задач Claude Code: обобщение, сжатие контекста и лёгкие рассуждения между шагами. Направление этого слота на более быструю и дешёвую модель снижает затраты на сессию, не влияя на качество ответов основной модели.

Настройка Novita AI в качестве маршрутизатора

Совместимый с Anthropic эндпоинт Novita AI находится по адресу https://api.novita.ai/anthropic. Он принимает тот же формат запросов, который Claude Code отправляет нативно, и поддерживает широкий спектр моделей с открытыми весами, включая специализированные для программирования и оптимизированные для вызова инструментов.

Шаг 1: Получите API-ключ Novita

  1. Зарегистрируйтесь на novita.ai — при регистрации предоставляются бесплатные пробные кредиты.
  2. Откройте Key Management в панели управления.
  3. Нажмите Создать новый ключ, немедленно скопируйте ключ (он показывается только один раз) и сохраните его в безопасном месте.

Шаг 2: Настройте окружение

macOS / Linux:

export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<ваш-api-ключ-novita>"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek/deepseek-v4-flash"

Windows (PowerShell):

$env:ANTHROPIC_BASE_URL = "https://api.novita.ai/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<ваш-api-ключ-novita>"
$env:ANTHROPIC_MODEL = "qwen/qwen3-coder-480b-a35b-instruct"
$env:ANTHROPIC_SMALL_FAST_MODEL = "deepseek/deepseek-v4-flash"

Windows (Command Prompt):

set ANTHROPIC_BASE_URL=https://api.novita.ai/anthropic
set ANTHROPIC_AUTH_TOKEN=<ваш-api-ключ-novita>
set ANTHROPIC_MODEL=qwen/qwen3-coder-480b-a35b-instruct
set ANTHROPIC_SMALL_FAST_MODEL=deepseek/deepseek-v4-flash

Шаг 3: Запустите Claude Code

claude .

Claude Code запускается в текущем каталоге и направляет весь инференс через Novita AI. MCP-инструменты, редактирование файлов и выполнение bash ведут себя идентично нативной настройке Anthropic.

Доступные модели на Novita AI

Модель Novita model ID Основное преимущество
Qwen3-Coder 480B qwen/qwen3-coder-480b-a35b-instruct Генерация кода, рассуждения с большим контекстом
MiniMax M2.7 minimax/minimax-m2.7 Точность агентного вызова инструментов
DeepSeek V4 Flash deepseek/deepseek-v4-flash Быстрая итерация, экономическая эффективность
GLM-4.7 zai-org/glm-4.7 Программирование и многошаговые агентные задачи
Kimi K2 Instruct moonshotai/kimi-k2-instruct Использование инструментов, работа с математически насыщенными кодовыми базами

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

Перед финализацией конфигурации проверьте актуальный список моделей и подтверждённые идентификаторы на novita.ai/llm-api. Доступность моделей и идентификаторы могут меняться по мере добавления или обновления предложений провайдерами.

Маршрутизация вызовов инструментов через MCP

Уровень вызова инструментов в Claude Code — это MCP (Model Context Protocol). Когда вы добавляете MCP-сервер с помощью claude mcp add, Claude Code подключается к нему при запуске сессии и загружает инструменты, которые тот предоставляет. Во время сессии маршрутизированная LLM решает, когда вызывать эти инструменты, какие аргументы передавать и как реагировать на результаты.

Разделение маршрутизации важно: бэкенд LLM (ваш маршрутизатор Novita AI) обрабатывает все рассуждения — какие инструменты вызывать, в какой последовательности и с какими аргументами. MCP-сервер обрабатывает выполнение — он получает вызовы инструментов, запускает соответствующее действие и возвращает результаты. Claude Code координирует их взаимодействие.

На практике это означает, что качество поддержки вызова инструментов вашим маршрутизатором определяет, насколько надёжно выполняются сложные многошаговые задачи. Модель, которая генерирует некорректные аргументы вызова функций или не может продолжить после ошибок инструмента, застрянет в середине задачи. Модели, специально дообученные на рабочих процессах вызова функций — такие как Qwen3-Coder и MiniMax M2.7 — обрабатывают такие последовательности более последовательно.

Добавление MCP-сервера в маршрутизированную среду

# Локальный сервер (в рамках проекта) — Claude Code запускает процесс
claude mcp add my-server -- python my_server.py

# Удалённый HTTP-сервер — подключается к уже запущенному серверу
claude mcp add remote-server --transport http https://your-server.example.com/mcp

Опция удалённого HTTP подключается к независимо работающему серверу. Именно для такой архитектуры создан Novita Agent Sandbox: MCP-сервер остаётся запущенным и создаёт экземпляры sandbox по мере поступления вызовов инструментов.

Выполнение инструментов в Agent Sandbox

Когда ваши MCP-инструменты включают запуск кода, обработку файлов или вызов внешних систем, вы хотите, чтобы это выполнялось в изолированной среде, а не на вашей рабочей машине. Novita Agent Sandbox предоставляет такую возможность как управляемый облачный сервис.

Экземпляр Sandbox — это недолговечный изолированный контейнер, который ваш MCP-сервер создаёт, когда Claude Code инициирует инструмент выполнения кода. Каждый контейнер предоставляет:

  • Изолированную файловую систему: отделена от хоста, никакие данные не просачиваются между сессиями
  • Предварительно установленную среду: Python с распространёнными пакетами для обработки данных и написания скриптов
  • Быстрый запуск: холодный старт менее 200 мс, подходит для последовательностей вызовов инструментов с низкой задержкой
  • Посекундную оплату: вы платите только за активное время выполнения
  • Выполнение shell и Python: полный доступ к командной строке для многоязычных рабочих процессов

Поток данных в маршрутизированной настройке Claude Code с Sandbox выглядит так:

Claude Code
  → отправляет запросы рассуждения в Novita LLM API (маршрутизатор)
  → получает от модели решения о вызове инструментов
  → перенаправляет вызовы инструментов на MCP-сервер
    → MCP-сервер создаёт экземпляр Novita Sandbox
    → Sandbox выполняет код и возвращает результат
    → MCP-сервер возвращает результаты в Claude Code
  → Novita LLM API анализирует результаты, принимает решение о следующем шаге

Такое разделение обеспечивает изоляцию выполнения непроверенного кода, предоставляя маршрутизатору LLM полную видимость результатов для многошаговых рассуждений.

Чтобы использовать Novita Sandbox из обработчика MCP-инструментов, установите SDK:

pip install novita-sandbox

Затем создайте и используйте экземпляр sandbox внутри реализации вашего инструмента:

from novita_sandbox.code_interpreter import Sandbox

def run_code_tool(code: str, api_key: str) -> dict:
    sandbox = Sandbox.create(
        template="code-interpreter-v1",
        api_key=api_key,
        domain="sandbox.novita.ai",
        timeout=300,
    )
    result = sandbox.run_code(code, language="python")
    sandbox.kill()
    return {
        "output": result.logs,
        "error": result.error,
    }

Шаблон code-interpreter-v1 предварительно установлен с pandas, numpy, matplotlib и другими часто используемыми пакетами, поэтому большинство задач анализа данных и написания скриптов выполняются без дополнительных шагов по настройке.

Выбор модели для рабочих процессов с интенсивным использованием инструментов

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

Qwen3-Coder 480B хорошо показывает себя в долгосрочных задачах программирования, где Claude Code необходимо прочитать много файлов, спланировать подход и выполнить многошаговую последовательность редактирования. Обработка большого контекста означает, что она с меньшей вероятностью потеряет из виду предыдущие результаты инструментов в середине сложной задачи.

MiniMax M2.7 настроен на агентную точность — в частности, она разработана для минимизации некорректных вызовов инструментов и обработки многошаговых последовательностей, где каждый шаг опирается на предыдущий результат. Для MCP-настроек с несколькими взаимозависимыми инструментами такая точность сокращает количество циклов восстановления.

DeepSeek V4 Flash — практичный выбор для ANTHROPIC_SMALL_FAST_MODEL. Она быстра и дёшева, а задачи, которые Claude Code передаёт малой модели — обобщение сессии, сжатие контекста — не требуют той же глубины рассуждений, что основные задачи программирования.

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

Часто задаваемые вопросы

Могу ли я использовать любой LLM-маршрутизатор с Claude Code, не только Novita AI?

Да. Подойдёт любой сервис, реализующий API сообщений Anthropic по своему базовому URL. Это включает LiteLLM, настроенный в формате Anthropic, самоуправляемые прокси или другие коммерческие сервисы маршрутизации. Установите ANTHROPIC_BASE_URL на этот эндпоинт, ANTHROPIC_AUTH_TOKEN на соответствующий ключ и ANTHROPIC_MODEL на идентификатор модели, который распознаёт этот эндпоинт.

Работают ли MCP-инструменты при маршрутизации через провайдера, отличного от Anthropic?

Да. MCP работает на уровне Claude Code, а не на уровне API. Маршрутизатор влияет только на то, какая модель выполняет рассуждения об использовании инструментов. Пока модель поддерживает вызов функций в формате сообщений Anthropic, MCP-инструменты работают одинаково независимо от провайдера.

Почему псевдоним sonnet не работает при маршрутизации через Novita AI?

Псевдонимы моделей Anthropic (sonnet, opus, haiku) разрешаются эндпоинтом Anthropic, а не Claude Code. При маршрутизации через стороннего провайдера разрешение псевдонимов Anthropic не задействовано. Вместо этого установите ANTHROPIC_MODEL в конкретный идентификатор модели вашего провайдера.

Как вернуться к собственным моделям Anthropic?

Сбросьте переменные маршрутизации для текущей сессии:

unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_MODEL
unset ANTHROPIC_SMALL_FAST_MODEL

Claude Code вернётся к настройкам из вашего файла конфигурации или к стандартному API Anthropic при следующем запуске.

Есть ли задержка при использовании стороннего маршрутизатора?

Возникает небольшой дополнительный сетевой переход. Для интерактивных сессий это обычно незаметно. Для чувствительных к задержкам автоматизированных конвейеров перед выбором провайдера проверьте опубликованные показатели задержки. Novita AI публикует метрики задержки инференса и пропускной способности в своей консоли LLM Metrics.

Требуется ли для Agent Sandbox отдельный API-ключ от LLM-маршрутизатора?

Нет. API-ключ Novita AI работает как для LLM API, так и для Agent Sandbox. Тот же ключ, который вы используете для ANTHROPIC_AUTH_TOKEN, передаётся в Sandbox.create() в вашей реализации MCP-инструмента.

Рекомендуемые статьи


Источники проверены 16 июля 2026 г.: Документация Claude Code по переменным окружения, Novita AI LLM API, Novita Agent Sandbox.