← На главную

Wayfinder за микросекунды решает, куда отправить промпт

28.06.2026 04:31 · hackernews

Wayfinder — это лёгкий роутер для LLM, который решает, отправить промпт на маленькую локальную модель или на дорогую облачную, вообще не вызывая для этого другую модель. Он анализирует структуру текста: длину, заголовки, списки, код, а также намёки на сложность вроде доказательств, математики и жёстких ограничений. Решение принимается детерминированно за микросекунды, полностью офлайн — никакого API-ключа, сети или стороннего сервиса. Вы получаете оценку сложности от 0 до 1 и рекомендацию, а что с этим делать — ваше дело.

Большинство существующих роутеров (RouteLLM, NotDiamond, OpenRouter) сами вызывают модель-классификатор, LLM-судью или хостинговый API. Это добавляет задержку, стоимость и случайность туда, где нужно экономить. Wayfinder же считывает структуру и формулировку — решение бесплатное и всегда одинаковое для одного и того же промпта.

По умолчанию он оценивает только структуру. Лексические подсказки (слова вроде «proof», «math», «constraint») отключены: двойной слепой тест показал, что они ловят лишь ~20% невидимых сложных промптов и проигрывают банальному счётчику слов. Включать их имеет смысл только после калибровки на своём трафике. Чисто семантические сложности (тонкий баг в коде или «какое 100-е простое число?») структурно не видны — здесь семантический роутер выиграет. Но выигрышная грань Wayfinder — детерминированное, субмиллисекундное, офлайн-решение без единого вызова модели.

Работает с любым OpenAI-совместимым API. Вы настраиваете два уровня (tier): локальную модель (Ollama, vLLM, LM Studio) и облачную (OpenAI, Anthropic — через адаптер). Ключи хранятся только в переменных окружения, никогда не пишутся на диск. Можно даже вытягивать их из менеджера паролей (1Password, macOS Keychain, pass) через команду api_key_cmd.

Запустить можно как библиотеку Python (pip install wayfinder-router), как CLI-чат (wayfinder-router chat), как веб-интерфейс (wayfinder-router webchat) или как полноценный gateway (wayfinder-router serve). Gateway прозрачно встраивается между вашим клиентом и моделями: меняете base_url на localhost:8088, и все запросы идут через роутер. В ответе добавляются заголовки x-wayfinder-router-model, -score, -mode, так что видно, куда ушёл запрос и почему. Есть режим --dry-run для тестирования без реальных моделей.

Порог срабатывания можно калибровать на своих данных. Утилита wayfinder-router calibrate загружает JSONL с текстами и метками (local/cloud) и подбирает оптимальный cut. Есть cost-aware режим --objective knee, который максимизирует произведение качества и сэкономленных денег. А wayfinder-router onboard и wayfinder-router judge помогают собрать разметку: показывают ответы обеих моделей, спрашивают, достаточно ли хорош дешёвый вариант, и автоматически строят конфиг.

В продакшене gateway поддерживает стриминг, circuit breaker, failover, кэш точных совпадений, лимиты по бюджету и количеству запросов, виртуальные API-ключи и полную статистику экономии через эндпоинт /v1/savings. Конфигурация живёт в TOML-файле и горячо перезагружается после перекалибровки.

Инструмент начинался как эксперимент внутри более крупного проекта, но был выделен в отдельный пакет: роутинг — это runtime-задача, не знаниевая. Ядро скоринга не имеет внешних зависимостей, кроме стандартной библиотеки Python.

Читать оригинал →