Какая нейросеть лучше? Да никакая. Я раздаю задачи по моделям

Какая нейросеть лучше? Да никакая. Я раздаю задачи по моделям

Вечер, гоняю тесты на проекте. Стоит Opus, уровень рассуждений выкручен на максимум, потому что с утра была мутная задача и я просто забыл его потом понизить. Тестов уже не десятки, их переписывается и создаётся под сотню. И вот посреди всего этого прилетает стена: лимит закончился. Опять. Я же на середине.

Самое обидное, что я заранее знал: половину этой рутины спокойно сгенерила бы модель попроще, в разы дешевле и не хуже. Не знал про дешёвые модели? Да знал прекрасно. Просто окно с Opus уже открыто, и переключаться было лень. Вот эта секундная лень и съела весь вечерний лимит.

С того вечера я перестал держать одну модель «на всё» и начал раздавать задачи по разным. И первое, в чём пришлось себе признаться: вопрос «какая нейросеть сейчас лучшая» я все эти годы задавал неправильно.

Лучшей модели не существует. Лидерборд врёт лично тебе

Когда выбираешь модель, первый рефлекс простой: открыть рейтинг, взять то, что на первой строчке. Логично же, номер один он и есть номер один. Ну и тем более, что из всех утюгов: ЭТО ТИР УАН МОДЕЛЬ, ВСЁ УМЕЕТ! ПЕНТАГОН ЗАПРЕЩАЕТ!

Только рейтинг усреднён по всем сразу. По миллионам чужих запросов, на чужих языках, под чужие задачи. А ты сидишь со своим конкретным кодом, своим русским текстом и своей мутной задачей, которую сформулировать-то толком не можешь. И «лучшая в среднем» модель на твоём кейсе вполне может слить той, что в общем зачёте на десятом месте.

Недавно попалась работа, где это разобрали по-взрослому: глобальные лидерборды плохо предсказывают, что подойдёт конкретному пользователю, а небольшой набор моделей покрывает реальные предпочтения людей лучше, чем один «чемпион». Грубо говоря, портфель из нескольких моделей обходит погоню за топ-1.

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

Как я слил лимит за вечер

Вернусь к тому вечеру. Тесты на Opus с максимальным reasoning, лимит, стена. Казалось бы, урок очевиден. Но я ловлю себя на той же грабле постоянно.

Накидать простой скрипт на баше? Окно с Opus открыто, погнали. Поправить regex? Opus. Достать значение из JSON и переформатировать? Туда же. И не потому что так разумнее. Просто окно уже открыто, лезть в переключатель лень. Самая дорогая модель работает грузчиком, и я даже не замечаю, как утекает лимит.

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

Не плати за стажёрскую работу по ставке архитектора

Год назад я придумал для себя метафору, которая с тех пор всё объясняет. AI-агент без нормальной обвязки это дорогой стажёр: способный, но без контекста. С моделями работает та же логика, только теперь она про деньги.

Представь, что в команде есть архитектор, крепкий миддл и шустрый стажёр. Ты же не зовёшь архитектора сходить за логами и найти нужный файл. И не сажаешь стажёра проектировать систему. У каждого своя ставка под свой тип работы. С моделями надо точно так же.

У меня разложилось на три уровня.

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

Средняя работа: код по понятному ТЗ, ресёрч, черновик, который я потом перепишу. Модель уровнем пониже справляется, разницы почти не замечаю.

Стажёрская работа: найти файл, грепнуть логи, переименовать переменные, собрать простой скрипт на баше. Тут нужны скорость и дешевизна. Гонять сюда топовую модель это как просить архитектора отксерить документы.

Где дешёвая модель тебя кинет

Тут легко свалиться в другую крайность и решить, будто я призываю всё делать на дешёвом. Нет. Маршрутизация это не способ сэкономить на всём подряд, у ошибки есть цена в обе стороны.

Я гонял Gemma локально, на своём железе. Для простого ещё куда ни шло, но чуть сложнее, и она буксует и тупит так, что проще сделать самому. А однажды решил сэкономить и отдал Gemini Flash (по-моему, 2.5) задачу поприличнее: сравнить два варианта архитектуры и подсказать, какой брать. Она выдала ответ бодро, гладко и абсолютно ни о чём. Я минут двадцать втыкал, пытаясь понять, что конкретно она предлагает. Так и не понял. В коде та же история: примитив тянет, а на чём-то нетривиальном начинает галлюцинировать уверенным тоном.

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

Мой стек

Когда читаешь свежие обзоры, глаза разбегаются. Там матрица на десяток с лишним моделей, под каждый чих своя: GLM, Qwen, пачка версий Gemini, MiniMax, DeepSeek, Claude, GPT. Выглядит так, будто без двенадцати подписок ты неполноценный.

Что же у меня? Anthropic, Opus и Sonnet, основная лошадь и для кода, и для думающих задач. GPT-5.5 держу как вторую голову, для взгляда со стороны, когда сам уже закопался в задачу (раньше в этой роли был GPT-5.3-Codex). Gemini захожу редко, обычно когда от основных уже подташнивает и просто любопытно, что скажет кто-то другой. И в последнее время чаще посматриваю в сторону DeepSeek и MiniMax, интересно, что там у китайцев происходит.

Четыре модели. Ну, плюс пара на пробу. Не двенадцать, не двадцать, не сто. Всё остальное из красивых таблиц я просто не трогаю, мне хватает. И вот это, кажется, и есть лучшее доказательство всей затеи: реальный рабочий портфель у живого человека маленький. Не «лучшая модель», а несколько проверенных под свои руки. Кстати, свой личный список я выкладывал ещё осенью, состав с тех пор поменялся, принцип нет.

Как включить раздачу в Claude Code (и да, хоткей всё-таки есть)

Одно дело понимать принцип, другое реально перестать лениться. Я же с этого и начал: всё знал, но не переключался. Поэтому стал думать, как зашить раздачу в сам инструмент. Работаю в основном в Claude Code, на нём и расскажу.

Сначала про то, чего ждать не стоит. Основной агент сам на лету модель не понижает. Он не начинает «думать дешевле» на простом шаге, как бы мне ни хотелось. В одной сессии он сидит на той модели, что я ему выдал, пока я её руками не сменю. Автомагии тут нет.

Делегирование вниз идёт через субагентов. Под мелкую задачу основной агент запускает отдельного субагента в его собственном контексте, и вот этому субагенту уже можно прописать модель попроще. В описании субагента (.claude/agents/) есть поле model: ставишь haiku, sonnet или inherit, чтобы наследовал родительскую. Кстати, частично Claude Code это уже делает за меня сам: под фоновую служебную работу у него по умолчанию подключена отдельная лёгкая модель (Haiku), чтобы не жечь дорогую на мелочах вроде «найди, где лежит конфиг». То есть инструмент сам втихую раздаёт стажёрскую работу стажёру.

Что сделал я: прописал в CLAUDE.md (и в AGENTS.md) явное правило. Грубо говоря, «если задачу можно нормально решить моделью попроще, не тяни топовую, вызови субагента на дешёвой». И это работает: рутина уходит вниз, тяжёлая модель бережётся под то, что её реально требует. По прикидкам на глаз вышло процентов на тридцать дешевле. Сразу оговорюсь: это не замер по дашборду. Просто ощущение по лимитам: раньше одного вечернего захода хватало, чтобы сожрать четверть недельного лимита Opus, теперь он живёт ощутимо дольше. Точную цифру я не сводил.

Но субагент закрывает не всё. Куча задач не той формы: я просто болтаю с основным агентом в одной сессии и хочу на ходу сменить ему модель. Тут выручает команда /model: пишешь /model sonnet или /model haiku, и он переключается прямо посреди разговора. Без аргументов откроется список, где стрелками крутишь ещё и уровень усилий (effort), а клавишей s меняешь модель только на текущую сессию, без записи в дефолт.

Всю дорогу ныл, что нет хоткея. Сел разбираться, как его сделать, и выяснил, что он давно есть: Option+P на маке (или Alt+P в остальных системах) открывает выбор модели одной кнопкой. Не идеал, это всё-таки пикер, а не тумблер между двумя моделями в одно касание, отдельной «переключи на следующую» там нет. Но и так это уже не лезть мышкой в меню. А если хочется свою клавишу, переключатель вешается через ~/.claude/keybindings.json на действие chat:modelPicker. Полгода ленился, а решение всё это время было в одной кнопке.

Шпаргалка и с чего начать завтра

Чтобы не растекаться, вот как у меня раскладываются задачи по уровням. Не закон, просто моя отправная точка, дальше подгоняешь под себя.

Какая нейросеть лучше? Да никакая. Я раздаю задачи по моделям

А с чего начать завтра, если хочется слезть с «одной модели на всё».

Раздели свои задачи на три кучи: думающие, средние, стажёрские. Под каждую закрепи одну модель, которой реально пользуешься, а не которую хвалит лидерборд. Зашей делегирование прямо в инструмент: правило в CLAUDE.md, отдельный субагент, хоткей, что угодно, лишь бы не полагаться на свою силу воли в десять вечера. И раз в месяц пересматривай состав, модели меняются быстрее, чем привычки.

Кому всё это в принципе не нужно: если ты не упираешься в лимиты и счёт за API тебя не трогает, спокойно живи на одной модели и не морочь голову. Маршрутизация начинает окупаться там, где боль уже есть.

А я теперь вешаю переключение на Option+P и всё равно нет-нет да забываю им пользоваться. Привычка штука упрямая.