Как выбрать модель под задачу: практические критерии
Пять критериев выбора LLM — качество, цена, скорость, контекст и возможности — и таблица «задача → рекомендация». Как перебрать несколько моделей одним кодом через единый API.
«Какую модель взять» — вопрос без единого ответа: он зависит от задачи, бюджета и требований к скорости. Хорошая новость в том, что выбор сводится к пяти понятным критериям. Разберём каждый, а в конце дадим таблицу «задача → рекомендация» и покажем, как перебрать варианты, не переписывая код.
Пять критериев выбора
- Качество — насколько модель справляется со сложными рассуждениями, кодом и длинными инструкциями. Флагманы сильнее в архитектуре и многошаговых задачах; лёгкие модели уверенно тянут рутину.
- Цена — стоимость за токены на входе и выходе. Разброс между лёгкой и флагманской моделью может быть кратным, поэтому под простые шаги брать топ невыгодно.
- Скорость — задержка до первого токена и общая пропускная способность. Для чатов и автодополнения важнее скорость, для оффлайн-обработки — цена.
- Контекст — сколько текста помещается за один запрос. Большие кодовые базы и документы требуют длинного окна, иначе придётся резать вход вручную.
- Возможности — поддержка инструментов (function calling), JSON-режима, работы с изображениями (vision) и режима рассуждений. Не каждая модель умеет всё.
Задача → рекомендация
Разные классы моделей в каталоге
Через AI Gateway все классы доступны за одним ключом и с оплатой в рублях. Сравните цены разных тиров, чтобы прикинуть бюджет под свой сценарий:
Как перебрать модели, не переписывая код
Смена модели — это один параметр model в запросе. Один и тот же код работает с Claude, GPT, Gemini и DeepSeek, поэтому проще всего прогнать свою задачу через несколько кандидатов и сравнить ответы:
from openai import OpenAIclient = OpenAI(base_url="https://ai-gatewey.ru/v1",api_key="sk-aigate-ваш_ключ",)prompt = "Кратко объясни, что такое идемпотентность в HTTP"for model in ["anthropic/claude-sonnet-5.5", "openai/gpt-6-luna", "deepseek/deepseek-v4-flash"]:resp = client.chat.completions.create(model=model,messages=[{"role": "user", "content": prompt}],)print(f"=== {model} ===")print(resp.choices[0].message.content)Частые вопросы
Обязательно ли брать флагман для качества?
Нет. Флагман оправдан на сложных многошаговых задачах и архитектуре. Для повседневного кодинга и большинства чат-сценариев среднего тира достаточно, а на рутине выгоднее лёгкая модель.
Как понять, что модель не тянет задачу?
Собирайте примеры, где ответ неверный или разваливается формат. Если это повторяется на простых входах — поднимите класс модели на один шаг и сравните. Часто одного шага хватает.