Выбор модели: GPT, Claude, открытые
На любом форуме про агентов живёт вечный вопрос: «какую модель взять?». Вечный ответ — «бери самую умную» — и он худший из возможных: дорого, медленно, а на половине задач разницы не видно. Правильный ответ скучнее и интереснее: выбор модели — это инженерное решение с четырьмя критериями и сметой, и после этого занятия вы сможете принимать его за минуты, а не дискуссией.
Ярусы: одна компания, три цены
Почти каждый вендор держит три яруса моделей. Возьмём знакомую по прошлым занятиям линейку OpenAI (цены — официальная страница developers.openai.com/api/docs/pricing, сентябрь 2026): флагман gpt-6-astra — $10 вход / $50 выхода за миллион токенов, средний gpt-6-sol — $2/$10, дешёвый gpt-6-luna — $0.10/$0.50. У Anthropic и открытых моделей (Qwen, Llama, DeepSeek и другие) свои цифры и свои названия, но ярусность та же: тяжёлый флагман, рабочая середина, дешёвый «миллионщик».
Главная цифра этого занятия: между дешёвым ярусом и флагманом — два порядка. Вход флагмана в сто раз дороже. Вспомните смету из первого урока: месяц работы ревью-бота — $0.48 на luna и $48.40 на astra за одну и ту же работу. Когда разница такая, вопрос «а потянет ли дешёвая модель мою задачу?» перестаёт быть праздным: он стоит сорок восемь долларов в месяц. За год — половина ноутбука.
Отсюда рабочая стратегия для агентов: по умолчанию — дешёвый ярус, повышение — по факту. Ревью простого диффа (изменение текста, мелкий рефакторинг) — задача дешёвой модели. Спорный случай с распределённой транзакцией — повод позвать флагман. Паттерн «дешёвая модель обрабатывает поток, дорогая разбирает то, на чём первая спасовала или не уверена» называется роутингом, и в чистом виде он появится у вас в devbuddy к финалу курса.
Четыре критерия
Цена. Единственный критерий, который считается точно — вы это уже умеете. Оцениваете вход и выход на один прогон, умножаете на поток и на шаги петли, получаете месячную смету. Не забудьте кэш: постоянный префикс (инструкции, правила) тарифицируется по сниженной ставке — в примере OpenAI это 10% цены входа.
Контекст. Окно модели должно вместить ваш рабочий набор: дифф, файлы по делу, историю петли и резерв под ответ. Меньше окно — жёстче придётся резать контекст. Хитрость в том, что «больше» не значит «лучше»: огромное окно соблазняет тащить всё подряд, а это деньги и качество — помните урок про «влезет же».
Скорость. Два разных параметра: задержка первого токена и темп генерации (токенов в секунду). Для ночного ревью пулреквестов скорость почти неважна — утро всё простит. Для интерактивного агента, с которым разработчик работает в диалоге, задержка в полминуты превращает помощника в обузу. Флагманы в среднем медленнее и тяжелее дешёвых моделей — ещё один голос за ярус пониже.
Качество — на вашей задаче. Единственный критерий, который не прочитается из прайса. И тут мы подходим к самой интересной части.
Бенчмаркам не верить слепо
Вокруг моделей — лес лидербордов: SWE-bench для кода, сравнения «реального использования», таблицы на агрегаторах. Полезно ли это? Полезно — для грубой ориентировки: модель из подвала рейтинга не станет внезапно лучшим ревьюером. Опасно — делать из чужой цифры решение: бенчмарк измеряет среднюю температуру на чужих задачах, а ваша задача не средняя. Ваш дифф — не задачи из бенчмарка, ваши правила ревью — не их критерии, ваш стиль кода — не их корпус.
Рабочая альтернатива — свой мини-бенчмарк: пять-десять задач из вашей реальной работы, прогнанные через две-три модели, вслепую, с оценкой по вашим критериям. Именно этим вы займётесь в домашке: соберёте bench.py, который устроен как честный эксперимент — разные «модели», одни задачи, оценки без подсказок, кто ответил. Через этот же скрипт вы потом будете сравнивать живые модели: подменили FakeLLM на настоящий LLMClient — и эксперимент стал боевым.
Где смотреть цены и параметры: официальные страницы провайдеров — единственный источник, которому можно верить на сто процентов (агрегаторы удобны для сравнения, но отстают и ошибаются). Цены меняются; смета, положенная в README рядом с датой, через полгода требует ревизии — закладывайте это в привычку.
Собираем вместе
Алгоритм выбора модели для агента выглядит так:
Опишите задачу: сколько токенов на вход, сколько на выход, сколько прогонов в месяц. (Всё это уже умеет ваш
tokens.py.)Посчитайте смету для двух-трёх кандидатов из разных ярусов.
Проверьте контекст: влезает ли рабочий набор с резервом.
Прогоните свой мини-бенчмарк — или хотя бы пять живых задач.
Возьмите самый дешёвый ярус, прошедший по качеству; флагман держите для эскалации.
Модуль почти закругляется. Вы умеете разговаривать с моделью: считать её токены, собирать промпты, получать и чинить структурированные ответы, выбирать модель по смете. Остался один добровольный навык — обходиться совсем без облака: модель, которая живёт на вашей машине. Следующий урок — про него; дальше — самое интересное: из запросов собирается петля, и ваш код впервые сам решает, что сделать следующим.
Что запомнить
У вендоров одинаковая ярусность: флагман / середина / дешёвая; между крайними — два порядка в цене входа.
Стратегия по умолчанию: дешёвый ярус на поток, дорогой — на эскалацию (роутинг).
Критерии: цена (считается), контекст (влезает с резервом), скорость (важна только интерактиву), качество (проверяется на своей задаче).
Чужие бенчмарки — ориентир, не решение. Пять своих задач вслепую говорят больше, чем позиция в лидерборде.
Цены — только с официальных страниц и с датой в документе: смета стареет.
Дополнительно
Цены API OpenAI — живая таблица по всем моделям, включая кэш и ночные скидки.
Как устроены LLM: токены, контекст, цена
10 мин
Домашка: токен-калькулятор
4 мин
Квиз: Как устроены LLM: токены, контекст, цена
8 мин
Промпты как код: шаблоны и переменные
8 мин
Домашка: промпт ревьюера
3 мин
Квиз: Промпты как код: шаблоны и переменные
7 мин
Структурированный вывод: JSON вместо прозы
6 мин
Домашка: парсер ревью
3 мин
Квиз: Структурированный вывод: JSON вместо прозы
7 мин
Выбор модели: GPT, Claude, открытые
7 мин
Домашка: бенчмарк вслепую
4 мин
Квиз: Выбор модели: GPT, Claude, открытые
7 мин
HARD-задача: смета агента
3 мин
Локальная модель: Ollama по-настоящему
8 мин
Квиз: Локальная модель: Ollama по-настоящему
6 мин