Weave Router: модель-роутер для Claude Code, Codex и Cursor за 40-70% экономии

Weave Router: модель-роутер для Claude Code, Codex и Cursor за 40-70% экономии

Weave Router: модель-роутер для Claude Code, Codex и Cursor за 40-70% экономии

Weave Router: модель-роутер для Claude Code, Codex и Cursor за 40-70% экономии

Когда вы работаете с Claude Code или Cursor, вы платите за каждый токен, который проходит через API. Иногда задача элементарная — переименовать переменную, найти все вхождения функции, добавить комментарий. Иногда нужна мощная модель для сложного рефакторинга, многомодульного ревью или генерации архитектуры с нуля. Но что, если вам не нужно думать об этом вручную?

Именно это делает Weave Router: проксирует запросы от Claude Code, Codex и Cursor к оптимальной модели из пула провайдеров. Заявленная экономия — 40-70% на API-бюджете.

Что такое Weave Router

По сути — это умный reverse proxy между вашим агентом и API провайдеров. Router анализирует каждый запрос и решает, какой модели его отправить. Это не round-robin и не случайный выбор: в основе лежит Avengers-Pro — исследование команды Weave, опубликованное на ArXiv в 2025 году.

Avengers-Pro использует крошечный on-box embedder, который встраивает текст запроса в векторное пространство и классифицирует задачу по кластерам. Каждый кластер соответствует типу задачи — простой рефакторинг, сложная генерация, анализ кода, дебаг, написание тестов. Модель выбирается из пула по score, который учитывает и качество, и стоимость. Время принятия решения — меньше 50 мс, то есть незаметно для пользователя.

Router поддерживает:

  • Anthropic Messages API (Claude 3.5 Sonnet, 3.7 Sonnet, Sonnet 4)
  • OpenAI Chat Completions (GPT-4o, o3, o4-mini)
  • Gemini native (gemini-2.0-flash, gemini-2.0-pro)
  • Open-source модели через OpenRouter: DeepSeek, Kimi, GLM, Qwen, Llama, Mistral

При этом ваши API-ключи остаются на вашей машине — роутер работает в режиме BYOK (Bring Your Own Keys). Никаких дополнительных платежей за проксирование, никакого escrow. Провайдеры видят ваши реальные ключи, Weave не перехватывает трафик.

Как подключить к Claude Code

Самый простой путь — hosted-версия от Weave. Одна команда:

npx @workweave/router

Инсталлятор задаст несколько вопросов: какой tool вы используете (Claude Code, Codex или opencode), на какой scope (user-wide или per-project), и автоматически пропишет конфиг в нужное место. Для Claude Code это файл настроек, для Codex — ~/.codex/config.toml, для opencode — ~/.config/opencode/opencode.json.

Для self-hosted варианта понадобится Postgres и пара шагов:

echo "OPENROUTER_API_KEY=sk-or-v1-..." >> .env.local
make full-setup

После чего роутер поднимается на localhost:8080, дашборд доступен на :8080/ui/ (пароль по умолчанию: admin), а ваш rk_... ключ для авторизации печатается в логах.

Выключить роутер и вернуться к прямому API:

npx @workweave/router off --claude

Конфиг остаётся на месте, включить обратно — та же команда с on. Это удобно для отладки: если что-то пошло не так, одна команда возвращает вас к нормальному режиму.

Как это работает изнутри

Роутер поднимает HTTP-сервер на localhost:8080 и проксирует запросы к upstream-провайдерам. Он понимает API-форматы всех трёх платформ и преобразует запросы на лету. Ключевой момент: роутер не переводит запросы из одного формата в другой — он парсит запрос, принимает решение о маршрутизации, и проксирует оригинальный запрос выбранному провайдеру.

# Как Anthropic
curl -sS http://localhost:8080/v1/messages \
  -H "Authorization: Bearer rk_..." \
  -d '{"model":"claude-sonnet-4-5","max_tokens":256,
 "messages":[{"role":"user","content":"hi"}]}'

# Как OpenAI
curl -sS http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer rk_..." \
  -d '{"model":"gpt-4o-mini",
 "messages":[{"role":"user","content":"hi"}]}'

Endpoint /v1/route позволяет посмотреть решение роутера без реального проксирования — удобно для отладки и для понимания, какая модель была бы выбрана для конкретного запроса. Это полезно, когда вы хотите протестировать, как роутер классифицирует тот или иной промпт, не тратя токены и не меняя конфиг.

Архитектура: Go, Postgres, OTLP

Роутер написан на Go, что делает его легковесным и быстрым. Никаких проблем с памятью или долгих стартов, как бывает с Node.js-сервисами. Бинарник компактный, а latency на проксирование минимальная — те самые 50 мс на маршрутизацию плюс сетевой round-trip до провайдера.

Postgres используется для хранения истории запросов, логов маршрутизации и, вероятно, для кеширования embedding-векторов и score-данных. При self-hosted деплое оба контейнера (роутер и Postgres) поднимаются через make full-setup, миграции применяются автоматически.

OTLP-трейсы экспортируются из коробки. По умолчанию они летят в дашборд Weave, но можно подключить любой OTLP-совместимый коллектор: Honeycomb, Datadog, Grafana Tempo, Jaeger. Это критично для команд, где нужно понимать, какие модели вызываются и сколько стоит каждый вызов.

Почему это важно для инженерных команд

Claude Code и Cursor используют мощные модели (Claude Sonnet 4, GPT-4o) для всех задач — в том числе тривиальных. Переименование переменной, исправление опечатки, поиск по файлу, навигация по коду — всё это идёт через самую дорогую модель, хотя задачу можно решить и за долю стоимости.

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

Заявленная экономия 40-70% выглядит реалистично, если учесть структуру типичного сеанса работы с агентом. В среднем сеансе работы с Claude Code или Cursor:

  • 40-50% запросов — простые операции: навигация по файлам, поиск, переименование, изменение комментариев
  • 20-30% — средней сложности: рефакторинг в пределах одного файла, автодополнение, написание несложных тестов
  • 10-20% — сложные задачи, где действительно нужна топ-модель: многомодульный рефакторинг, генерация архитектуры, сложный дебаг

Роутер отправляет простые запросы в DeepSeek или GPT-4o-mini, а сложные — в Claude Sonnet 4 или o3. Суммарно это даёт существенную экономию без видимой потери качества на большинстве задач.

Что на практике даёт экономия

Посчитаем грубо. Если вы платите за Claude Sonnet 4 примерно $15 за миллион токенов на вход и $75 за миллион токенов на выход, а ваш типичный запрос — 500 токенов на вход и 300 на выход, то один запрос стоит около $0.028. При 200 запросах в день — это $5.60 в день или $168 в месяц на одного пользователя.

Роутер перенаправит 40-50% запросов в GPT-4o-mini ($0.15/$0.60 за миллион) или DeepSeek V3. При той же структуре запросов стоимость падает до $0.003-0.005 за простой запрос. Это снижает месячный счёт с $168 до $60-80 — и это только для одного пользователя. Для команды из 10 инженеров экономия составит $800-1000 в месяц.

Важно понимать: роутер не экономит на качестве. Сложные задачи по-прежнему идут в топ-модели. Простые — в быстрые и дешёвые. Граница между «простым» и «сложным» определяется автоматически на основе эмбеддинга запроса и historical score модели на аналогичных задачах.

Чем это отличается от Sakana Fugu

Несколько недель назад мы писали про Sakana Fugu — японский модель-роутер, который тоже умеет выбирать оптимальную модель. Fugu — это отдельная модель, которую нужно хостить и обслуживать. Weave Router — это прокси, который работает с вашими существующими ключами и не требует отдельной инфраструктуры для модели.

Fugu хорош для случаев, когда у вас есть инфраструктура и вы хотите получить максимальный контроль над процессом маршрутизации. Weave Router — для команд, которые хотят plug-and-play решение с минимальным overhead.

Cursor и early beta

Поддержка Cursor пока в early beta. Интеграция реализована через переопределение Base URL в настройках: Settings → Models → Override OpenAI Base URL → http://localhost:8080/v1. Это работает, но менее нативно, чем интеграция с Claude Code или Codex, где роутер правит конфиг на уровне файлов и не полагается на UI-настройки.

Если вы используете Cursor как основной IDE-агент, стоит попробовать и посмотреть, насколько стабильно работает переключение. Для Claude Code и Codex интеграция более зрелая.

Self-hosted: что нужно

Для self-hosted-деплоя нужен Postgres. Это не zero-config решение, но и не сложное: make full-setup поднимает оба контейнера (роутер и БД) вместе с миграциями. Basic Docker и понимание переменных окружения — достаточный уровень.

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

Роутер добавляет задержку?

Добавление роутера в цепочку вносит overhead в ~50 мс на маршрутизацию. Для большинства задач это незаметно — Claude Code и Cursor работают с латенси от провайдеров в 1-3 секунды на сложные запросы. 50 мс — это 2-5% от общего времени ответа.

Что если роутер выберет неправильную модель?

Вы всегда можете посмотреть логи и увидеть, какая модель была выбрана и почему. Endpoint /v1/route позволяет протестировать любой промпт без реального вызова. Если вы видите систематическую ошибку — можно поправить конфиг.

Нужно ли платить за роутер?

Нет. Роутер бесплатный, open-source, под лицензией ELv2. Вы платите только за API-провайдеров, которых используете. Hosted-версия тоже бесплатная на текущий момент.

Какие модели лучше для простых задач?

GPT-4o-mini и DeepSeek V3 хорошо справляются с навигацией, поиском и мелким рефакторингом. Они дешевле в 10-20 раз по сравнению с Claude Sonnet 4 и при этом дают сопоставимое качество на простых операциях. Роутер использует эту разницу для экономии.

Можно ли добавить свою модель?

Да. Роутер поддерживает любой OpenAI-compatible endpoint через OpenRouter. Если ваша модель доступна через OpenRouter API — просто добавьте ключ в конфиг и роутер начнёт маршрутизировать к ней запросы.

Как роутер решает, какая модель лучше для задачи?

В основе лежит Avengers-Pro — исследование от команды Weave. Embedder превращает текст запроса в вектор, затем задача классифицируется по кластерам, и для каждого кластера есть historical score моделей на аналогичных задачах. Система учится: если GPT-4o-mini стабильно хорошо справлялся с навигацией по коду в прошлом, роутер будет использовать его для похожих задач в будущем.

Итог

Weave Router — это практичная реализация модели-роутера для инженерных команд, которые хотят экономить на API-бюджете Claude Code и Cursor без ручной настройки правил маршрутизации. Заявка на 40-70% экономии звучит агрессивно, но архитектура на основе Avengers-Pro и динамический выбор модели обосновывают этот claim.

Если вы уже используете Claude Code или Codex в команде — попробуйте hosted-версию одной командой. Это займёт пять минут, и вы сразу увидите в дашборде, как роутер распределяет запросы по моделям и категориям. Для более глубокого погружения — есть self-hosted режим с полным контролем над провайдерами, ключами и трейсами.

Репозиторий: github.com/workweave/router. Лицензия ELv2.

← Все записи
← Все записи