Перейти к содержимому
OmniRoute source

Auto-Combo: Let OmniRoute Pick the Best AI for You (Русский)

Вместо выбора конкретной модели ИИ (например, GPT-4o или Claude) можно позволить OmniRoute автоматически выбирать лучшую модель для каждого запроса. Учитываются следующие факторы:

  • Работоспособность — Работает ли поставщик прямо сейчас?
  • Скорость — Насколько быстро он отвечает?
  • Стоимость — Сколько это стоит?
  • Качество — Насколько хорошо он справляется с задачами этого типа?
  • Доступность ресурсов — Осталась ли у него квота?

OmniRoute оценивает всех подключённых поставщиков и выбирает лучшего. Если запрос завершается неудачей, система автоматически пробует следующего.


Шаг 1: Установите модель auto в своей IDE или CLI:

model: "auto"

Шаг 2: Готово! Всё остальное сделает OmniRoute.

Шаг 3 (необязательно): Используйте вариант для определённых задач:

model: "auto/coding" # Лучше всего для кода
model: "auto/fast" # Самый быстрый ответ
model: "auto/cheap" # Самый дешёвый вариант

Если вам нужно… Используйте Лучше всего подходит для Как это работает
Лучший вариант в целом auto Общие вопросы, общение Балансирует скорость, стоимость и качество
Лучший вариант для кода auto/coding Написание кода, отладка Выбирает модели, подходящие для задач с кодом
Самый быстрый ответ auto/fast Быстрые ответы, низкая задержка Ставит скорость превыше всего
Самый дешёвый вариант auto/cheap Экономия средств Выбирает самого дешёвого поставщика
Самая умная модель auto/smart Сложные задачи Приоритет качества + исследование новых моделей
Наиболее доступный auto/offline Когда поставщики перегружены Выбирает поставщиков с наибольшей доступной мощностью
Окно терминала
# Обычный чат — сбалансированный вариант
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
# Генерация кода — приоритет качества
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/coding","messages":[{"role":"user","content":"Write a Python function"}]}'
# Быстрый ответ — приоритет скорости
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/fast","messages":[{"role":"user","content":"What is 2+2?"}]}'

Когда вы отправляете запрос с model: "auto", OmniRoute:

  1. Проверяет всех подключённых поставщиков — Всех поставщиков, которых вы добавили (OpenAI, Anthropic, Google и т. д.)
  2. Оценивает каждого из них, учитывая, помимо прочего:
    • Работает ли он? (работоспособность)
    • Есть ли у него доступные ресурсы? (квота)
    • Сколько это стоит? (цена)
    • Насколько быстро он отвечает? (скорость)
    • Хорошо ли он подходит для этой задачи? (качество)
  3. Выбирает лучшего — Запрос получает поставщик с наивысшей оценкой
  4. Автоматически восстанавливается после сбоев — Если запрос завершается неудачей, OmniRoute автоматически пробует следующего поставщика

Каждый поставщик получает оценку от 0 до 1. Чем выше оценка, тем лучше он подходит.

Фактор Вес Что это означает
Работоспособность 20% Работает ли поставщик? (состояние автоматического выключателя)
Квота 15% Остались ли у него доступные ресурсы?
Стоимость 15% Насколько это дорого? (дешевле = более высокая оценка)
Скорость 12% Насколько быстро он отвечает? (меньше задержка = выше оценка)
Соответствие задаче 8% Хорошо ли он подходит для задач этого типа?
Стабильность 5% Насколько стабильно он работает? (низкая частота ошибок)
Уровень 5% Уровень учётной записи (Ultra > Pro > Free)
Прочее 20% Соответствие контексту, плотность подключений и т. д.

Каждый вариант использует разные веса:

Вариант Приоритет Основные веса
auto Баланс health=20%, quota=15%, cost=15%
auto/coding Качество taskFit=37%, stability=15%
auto/fast Скорость latency=32%, health=28%
auto/cheap Стоимость cost=37%
auto/smart Качество + исследование taskFit=37%, exploration=10%
auto/offline Доступность ресурсов quota=37%, health=28%

OmniRoute имеет три уровня защиты:

Если лучший провайдер недоступен, OmniRoute автоматически пробует следующего. Вам ничего не нужно делать.

Если провайдер продолжает давать сбои:

  • Оценка < 0.2 → Исключается на 5 минут
  • Автоматический выключатель разомкнут → Автоматически исключается
  • Более 50% провайдеров недоступны → Режим инцидента (без исследования)

Если все провайдеры недоступны, OmniRoute в крайнем случае направляет запросы стабильным бесплатным провайдерам, таким как Kiro или Qoder.


Если у вас несколько аккаунтов одного провайдера (например, два ключа OpenAI), OmniRoute рассматривает каждый из них как отдельного кандидата. Это означает:

  • На аккаунте A осталась квота → использовать его
  • Аккаунт B ограничен по частоте запросов → пропустить его
  • Аккаунт C дешевле → отдать ему предпочтение

Каждый аккаунт оценивается независимо на основе его собственного состояния, квоты и скорости.


Исследование с помощью многорукого бандита

Заголовок раздела «Исследование с помощью многорукого бандита»

OmniRoute периодически исследует новых провайдеров, чтобы находить лучшие варианты:

  • По умолчанию: 5% запросов направляются случайным провайдерам
  • Auto/smart: частота исследования — 10%
  • Отключается, если более 50% провайдеров находятся в нерабочем состоянии

Это помогает OmniRoute определять, какие провайдеры лучше всего подходят для ваших сценариев использования.


«Будет ли система всегда выбирать самую дорогую модель?»

Заголовок раздела ««Будет ли система всегда выбирать самую дорогую модель?»»

Нет. По умолчанию стоимость составляет лишь 15% оценки. Дешёвый, быстрый и стабильно работающий провайдер может оказаться лучше дорогого. Используйте auto/cheap, если хотите уделить стоимости ещё больше внимания.

«Что произойдёт, если провайдер станет недоступен?»

Заголовок раздела ««Что произойдёт, если провайдер станет недоступен?»»

OmniRoute автоматически пропустит его и попробует следующего. Если провайдер продолжает давать сбои, он временно исключается (на 5–30 минут). Вам ничего не нужно делать.

«Можно ли узнать, какой провайдер использовался?»

Заголовок раздела ««Можно ли узнать, какой провайдер использовался?»»

Проверьте заголовки ответа — OmniRoute указывает провайдера и модель, использованные в каждом ответе.

«Обучается ли система на основе моего использования?»

Заголовок раздела ««Обучается ли система на основе моего использования?»»

Да! Система оценки использует исторические данные (задержку, частоту ошибок и долю успешных запросов), чтобы со временем принимать более эффективные решения.

  • auto — Сбалансированный режим, 5% исследования
  • auto/smart — Приоритет качества (те же веса, что и у auto/coding), 10% исследования

Используйте auto/smart, если вам нужно наилучшее качество и вы не возражаете против периодического исследования.

«Можно ли принудительно выбрать определённого провайдера?»

Заголовок раздела ««Можно ли принудительно выбрать определённого провайдера?»»

Да! Используйте комбинацию со стратегией priority вместо auto, а затем передайте точное имя комбинации в поле model (например, model: "my-combo" — не auto). Подробности см. в техническом справочнике.

«Чем это отличается от циклического перебора?»

Заголовок раздела ««Чем это отличается от циклического перебора?»»

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



Разработчикам и участникам проекта рекомендуется ознакомиться с техническим справочником по Auto-Combo, в котором описаны:

  • Полный 16-факторный алгоритм оценки
  • Таблицы весов для пакетов режимов
  • Пути к файлам реализации
  • Конечные точки API
  • Подробности алгоритма самовосстановления

Исходный код OmniRoute (a58000c7685f)

HagiCode

HagiCode — агентная среда разработки со структурированными процессами, параллельным выполнением несколькими агентами и интерфейсами Hero Dungeon.

Превращайте идеи в полезное ПО с более умным, быстрым и увлекательным агентным рабочим процессом.

Главный экран HagiCode в светлой теме
  • SmartСтруктурированные процессы превращают намерение в исполнимый путь от идеи до готового изменения.
  • EfficientМультиагентные процессы параллельно продвигают исследование, реализацию и проверку.
  • FunHero Dungeon делает длительную совместную разработку наглядной и увлекательной.
Перейти на HagiCode