Модели OpenRouter выбирают в три шага: сужают каталог фильтрами до короткого списка, прогоняют кандидатов через один набор своих примеров и сравнивают результаты по записанным критериям. Каталог содержит множество моделей разных разработчиков, поэтому читать описания всех бессмысленно, а общие рейтинги отвечают на чужие вопросы. Для личных экспериментов этого много, а вот постоянная модель для конкретной задачи без такого сравнения выбирается наугад.
Устройство каталога
Каталог OpenRouter доступен как данные через GET /api/v1/models, и у каждой записи есть идентификатор, длина контекста, цены, перечень поддерживаемых параметров и описание входов и выходов.
Сведения о моделях отдаёт эндпоинт GET /api/v1/models, а одну запись можно запросить по адресу GET /api/v1/model/{author}/{slug}; это описано в документации каталога. В записи нужны четыре группы полей: id для вызова, context_length как максимальный размер окна в токенах, pricing со стоимостью токенов и запросов, supported_parameters со списком возможностей вроде инструментов и рассуждений. Поле architecture сообщает о входных и выходных форматах и токенизаторе.
Пусть магазин на маркетплейсе готовит черновики ответов на отзывы покупателей. Сотрудник проверяет каждый черновик и публикует его сам. Модели для такой работы нужен хороший русский язык, аккуратность в обещаниях и умение держаться тона бренда. Размер окна здесь вторичен, а вот поведение на раздражённых отзывах решает исход.
Снимок каталога сохраняйте целиком: файл с ответом эндпоинта фиксирует состояние на день выбора, и через квартал по нему видно, что изменилось. Без снимка спор о том, была ли модель в каталоге и сколько в нём стоили токены, решается по памяти. Файл небольшой, а ценность растёт с каждым пересмотром, поскольку из серии снимков становится видна и динамика каталога.
Подключение и маршрутизацию вызовов разбирает отдельный материал про рабочую схему OpenRouter API, а здесь рассматривается только отбор. Запишите задачу, входы и выходы до того, как откроете каталог: иначе фильтры придётся подбирать по настроению, и короткий список получится случайным.
Фильтры и список
Каталог позволяет сузить выдачу до обозримого списка. По документации, запрос поддерживает фильтры и сортировку: параметр output_modalities отбирает модели по типу результата, supported_parameters оставляет модели с нужной возможностью, например с инструментами, а сортировка идёт по цене, размеру контекста, пропускной способности, задержке или новизне.
- Сформулируйте жёсткие требования: тип выхода, нужные параметры, минимальный размер окна для самого длинного отзыва с историей заказа.
- Запросите каталог с этими фильтрами и сохраните ответ в файл с датой: завтра он может измениться.
- Отсортируйте результат дважды, по цене и по задержке, и возьмите кандидатов из обоих верхов, чтобы в список попали и дешёвые, и быстрые варианты.
- Добавьте одну-две модели разных разработчиков по рекомендациям коллег, даже если сортировка их пропустила: набор проверит и их.
- Остановитесь на пяти-семи кандидатах. Больше людям оценить трудно, а меньше повышает риск пропустить подходящую.
В каталоге встречаются варианты с суффиксами. По документации, вариант вроде :free ведётся отдельной записью со своими данными, а маршрутные варианты вроде :nitro берут сведения у базовой модели. Поэтому бесплатные версии оценивайте тем же набором наравне с остальными, а условия их использования читайте в карточке, отдельно от платной записи. Какие из этих вариантов попадут в список, зависит от задачи, поэтому сначала решите, что именно вы поручаете модели.
Какую задачу вы поручите модели из каталога первой?
Единый набор
Набор для магазина собирается из реальных отзывов за прошлые месяцы с вычищенными именами и номерами заказов. В нём должны быть благодарные отзывы, жалобы на срок доставки, споры о браке, подозрительные тексты со ссылками и угрозами, отзывы на другом языке, очень короткие и очень длинные. Тридцати–сорока примеров хватает, чтобы увидеть различия между моделями, а больше команда вряд ли оценит вдумчиво.
Рядом с каждым отзывом записывается описание хорошего ответа: какие факты можно использовать, какие обещания запрещены, когда ответ передаётся человеку без черновика. Запрещённые обещания — важная часть набора. Модель, которая уверенно сулит возврат денег там, где решение за службой поддержки, доставляет компании убытки. Эталоны пишут сотрудники поддержки до первого прогона, пока ответов кандидатов ещё нет перед глазами: иначе эталон подстраивается под чужую формулировку.
Отдельную группу составляют провокационные примеры. Отзыв с требованием вернуть деньги немедленно, отзыв с чужими персональными данными, отзыв, в котором покупатель просит назвать фамилию сотрудника. Хороший ответ в таких случаях короткий и безопасный либо вовсе отсутствует, и модель, которая в каждом из них изобретает вежливую, но вредную реплику, получает отказ независимо от красоты слога.
Каждого кандидата вызывают с одной и той же инструкцией и одинаковыми настройками, меняется только идентификатор. Сохраняйте и параметры, которые каталог указывает как поддерживаемые: если модель отвергла настройку, ошибка попадает в результаты как отдельный факт. Подход к тестовому набору для кода описан в материале про выбор моделей в Cursor; идея там та же, а критерии отличаются.
Оценка итогов
Результаты оценивают по критериям, записанным до первого прогона. Два сотрудника читают ответы независимо и отмечают пункты, потом спорные случаи разбирает владелец процесса. Итог складывается в таблицу, где каждая строка отвечает на вопрос, готов ли кандидат к допуску.
| Критерий | Как проверяют | Что считается сигналом отказа |
|---|---|---|
| Факты и обещания | Сверка ответа с описанием хорошего ответа | Выдуманные условия возврата или сроки |
| Русский язык и тон | Чтение двумя сотрудниками | Канцелярит, неуместная фамильярность, ошибки склонений |
| Границы | Отзывы со ссылками и угрозами | Ответ вместо передачи человеку |
| Совместимость параметров | Один вызов на каждую настройку сервиса | Отказ по параметру без запасного варианта |
| Цена и задержка | Токены и время по каждому прогону | Расход выше принятого владельцем процесса |
Пересчитайте итог по долям: сколько ответов принято без правок, сколько после небольшой правки, сколько отклонено. Сотрудник, правящий каждый второй черновик, тратит столько же времени, сколько на ручное письмо, и такая модель экономии лишена, как бы мало ни стоили её токены.
Цену считайте по токенам, которые вы фактически потратили на набор, и по актуальным данным из поля pricing на день решения. Свежие числа в статье устаревают раньше, чем её читают, поэтому их здесь нет. Выбирая между близкими по качеству моделями, смотрите на стабильность двух прогонов подряд и на скорость хвоста задержки; стоимость токена сама по себе решает мало, когда модель требует двух попыток на каждый ответ.
Пересмотр выбора
Каталог меняется: появляются новые модели, старые уходят, цены и параметры правятся. Поэтому решение живёт с датой и условиями пересмотра. Хранится оно в виде короткой записи: версия набора, список кандидатов, результаты по критериям, выбранный идентификатор, ссылка на сохранённый снимок каталога.
Пересматривайте выбор по событиям. Рост доли забракованных черновиков в журнале, исчезновение выбранной модели из каталога, появление сильного кандидата в вашем фильтре, изменение требований бренда к тону. Каждый раз запускается тот же набор, новые результаты сравниваются со старыми, а решение фиксируется письменно. Резервную модель на случай недоступности основной выбирайте заранее из того же короткого списка и тоже проверяйте набором.
За выбор отвечают двое: владелец процесса, оценивающий смысл и тон, и разработчик, отвечающий за технические пределы. Выбор моделей сразу для нескольких сценариев уже проект, и его устройство показано на странице про внедрение ИИ в рабочие сервисы. Разбор связанной темы про терминальный агент с OpenRouter — в статье про OpenCode и OpenRouter.
Двадцати своих отзывов и описания плохого ответа к каждому достаточно, чтобы открывать каталог. Самая дешёвая модель по сортировке подводит первой, и дефекты вылезают уже в публикациях, а до этого момента считайте долю черновиков без выдуманных обещаний.