VIBE CODINGБлок 01 · Основы1.6

УРОК 1.6

Модели

Модель — это центральная часть любых современных ИИ-инструментов. Какую бы программу для своих задач вы ни

КАРТА УРОКА

КонтекстТокеныОтвет

Теория: Модели

Модель — это центральная часть любых современных ИИ-инструментов. Какую бы программу для своих задач вы ни выбрали, внутри будет использоваться какая-то модель (LLM). Именно ее мы называем искусственным интеллектом, что, конечно же, не так, но название закрепилось из-за того, что все эти технологии вышли из-под направления, которое занимается исследованиями в этой области.

Упрощенно это работает так. Модель получает на вход текст и предсказывает, какие кусочки текста (токены) идут следом. Снаружи может показаться, что все устроено сложнее, потому что оно как будто бы и в интернете ищет, и файлы читает, и выполняет какие-то команды. Да, все это происходит, но делает это обвязка вокруг модели. И эта же обвязка, собрав все нужные данные, просто отправляет в модель в виде текста (опять же токенов).

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

Токены

Модель не понимает текст так, как человек. Прежде чем что-то с ним сделать, она разбивает входной текст на токены. Это куски слов, иногда целые короткие слова, иногда части длинных слов, иногда знаки препинания. Как именно нарезать на токены, зависит от конкретной модели, а точнее, данных, на которых происходило обучение, поэтому одинаковая фраза у Opus и у GPT может разбиться немного по-разному.

Английский (одно слово): [hello] Английский (длинное слово): [recommend][ation][s] Русский (короткое): [Прив][ет] Русский (среднее): [рек][оме][нд][ация]

В целом, это достаточно техническая информация, которую можно было бы и не знать. Более того, те, кто просто пользуются чатом, и не знают. Но есть две причины, которые все-таки важны.

У каждой модели есть лимит на количество токенов, которые она может удерживать в одном запросе. Это называется контекстное окно. У современных моделей оно от двухсот тысяч токенов до миллиона. Звучит много, но в длинной сессии заполняется быстрее, чем кажется. Как только окно заполнено, агент начинает либо обрезать историю, либо упираться в ошибку. Подробнее про контекст мы поговорим в следующих уроках.

И второе.

Токены — это деньги. Вы платите за каждый токен на входе и на выходе. Чем компактнее ваш диалог, тем дешевле и быстрее работает агент.

Инференс

Когда модель отвечает, кажется, что она печатает текст как человек. На самом деле она генерирует ответ по одному токену за раз. Каждый следующий токен — это отдельный вычислительный шаг, в котором модель смотрит на все, что уже написано (ваш запрос плюс уже сгенерированную часть ответа), и предсказывает следующий кусок.

INFERENCE · ПОШАГОВАЯ ГЕНЕРАЦИЯ
Шаг 1: [Как][ дела][?]                      → [У]
Шаг 2: [Как][ дела][?][У]                   → [ меня]
Шаг 3: [Как][ дела][?][У][ меня]            → [ все]
Шаг 4: [Как][ дела][?][У][ меня][ все]      → [ хорошо]
...

Этот процесс называется инференс. Он происходит на специальных видеокартах (GPU) в дата-центрах провайдеров. На каждый токен уходит миллисекунды, но при длинном ответе они складываются в заметное время. По мере того как модель генерирует токены, они тут же отправляются в чат, поэтому ответ появляется по частям.

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

Вход и выход: две фазы

У любого запроса к модели есть две фазы, и устроены они по-разному:

Обработка входа (prefill). Все токены вашего запроса модель проглатывает за один проход, параллельно. Поэтому отправить ей большой файл или длинную историю чата относительно быстро. Генерация ответа (decode). Ответ модель пишет строго по одному токену за раз. Каждый токен — это отдельный шаг, который нельзя ускорить распараллеливанием.

Из-за этой асимметрии вход той же длины обрабатывается в десятки раз быстрее, чем выход. Простая мнемоника: читать модели легко, писать тяжело.

Цена: входные токены дешевле, выходные дороже Эта же механика определяет ценник. У всех провайдеров входные токены (ваш промпт, файлы, история, результаты команд) стоят заметно дешевле выходных (того, что модель пишет в ответ). Соотношение обычно в районе одного к пяти, но конкретные ставки зависят от модели и со временем меняются.

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

Что из этого следует на практике

Просите краткие ответы, когда они уместны. Длинный ответ оплачивается по самой дорогой ставке. Не бойтесь давать контекст. Скопировать в чат большой файл или вставить длинный лог почти бесплатно по сравнению с тем, что ответит модель. Скудный промпт качество ответа заметно просаживает, а на стоимости запроса почти не сказывается. Следите за разговорчивостью агента. Агенты склонны "думать вслух" в ответе. Каждое такое размышление — это выходные токены. Если задача простая, имеет смысл прямо попросить сразу делать, без долгих рассуждений.

Вендоры (производители моделей)

Создание и запуск моделей — это очень дорогое удовольствие, поэтому таким занимаются только очень крупные и богатые компании, которые обычно называются провайдерами. К ним относятся OpenAI (ChatGPT), Anthropic (Claude), Alibaba, Google и другие. Каждая из них выпускает несколько видов моделей и регулярно обновляет, чтобы подогреть интерес и улучшить какие-то показатели.

У Anthropic, разработчика Claude, три семейства моделей: opus, sonnet и haiku.

СЕМЕЙСТВА МОДЕЛЕЙ

Одна линейка — разные задачи и стоимость

$$

Opus

Самая умная, самая дорогая

Архитектура, запутанный дебаг, длинные обсуждения
$

Sonnet

Рабочая лошадка

Повседневные задачи, написание кода, тесты, доки
$

Haiku

Самая быстрая, самая дешевая

Переименование, короткие уточнения, массовая правка

К названию обычно добавляют номер версии. Сейчас это Opus 4.8, Sonnet 4.6 и Haiku 4.5. Чем выше номер, тем свежее модель. Anthropic выпускает обновления раз в несколько месяцев, и каждая новая версия обычно умнее предыдущей. Конкретные цифры быстро устаревают, поэтому привязываться к ним смысла нет. Главное помнить, что внутри Claude Code сидит конкретная модель, и ее можно поменять через настройки, если хочется попробовать что-то более быстрое или более умное.

Зачем их несколько? Если бы была возможность, все бы выпускали одну очень умную модель, которая решала бы любые задачи. К сожалению, это невозможно, потому что такая модель будет слишком дорогой. Поэтому идут на хитрость, выпускают модели разные по уровню крутизны и дают им разные типы задач. Причем это может быть даже скрыто от пользователя.

Нужно ли самому об этом думать и разбираться? Скорее всего, придется. Если для всех задач использовать Opus, то можно попасть в ситуацию, когда вы упираетесь в лимиты текущего месяца использования, а платить больше не хотите. Общая концепция работает так. При проектировании используется дорогая модель, при реализации на основе хорошего плана (сделанного дорогой моделью) используется дешевая.

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

Провайдеры

Разработчики моделей одновременно являются и провайдерами, то есть они предоставляют к ним доступ через разные инструменты. Но по бизнесовым причинам они предоставляют доступы только к своим моделям (ибо конкуренция).

Но провайдер — это не обязательно производитель модели, более того, провайдеров много, и это часто порождает путаницу.

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

Есть еще нюанс с поведением. Разные провайдеры могут отвечать немного иначе, потому что у них отличаются системные промпты, лимиты на длину контекста и скорость ответа. Сама модель одна и та же, но обертка вокруг нее разная. В большинстве случаев разница незаметна, но иногда специфический баг проявляется только у одного провайдера.

Из-за этого не надо сильно верить, когда кто-то слишком сильно хвалит или ругает какой-то инструмент. Очень много зависит от выбранной модели и настроек. Проект и конкретный подход в работе тоже влияют, хотя и меньше (хотя можно так направить модель, что результата не будет).

Какие инструменты имеет смысл рассматривать для вайбкодинга? Из основных: Claude code, Codex (Openai).

Ризонинг

Современные модели умеют тратить дополнительное время на размышление перед ответом. Это называется reasoning, по- русски говорят ризонинг. Со стороны это выглядит так, как будто модель сначала пишет себе что-то вроде "так, пользователь жалуется что форма отправляется два раза. Первая мысль это двойной клик. Хотя стоп, надо проверить еще пару вариантов", и только потом выдает финальный ответ. Иногда этот процесс скрыт от пользователя, иногда виден прямо в интерфейсе.

Зачем это нужно? Без размышления модель отвечает по первой ассоциации. Для простых задач этого хватает, но для серьезных архитектурных решений первая ассоциация часто оказывается неверной.

Ризонинг дает модели пространство пройти по проблеме несколько раз, выдвинуть гипотезу и проверить ее. На сложных задачах разница между ответом без ризонинга и с ним бывает огромной.

Выглядит это примерно так. Допустим, пользователь спрашивает: "Почему форма иногда отправляется два раза?". Внутреннее рассуждение модели:

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

Стоп, проверю еще раз. А если запрос упал по таймауту? Фронт покажет ошибку, пользователь нажмет повторно, но первый запрос на бэке мог уже выполниться. Тогда блокировка кнопки не поможет.

Похоже, причин две. На клиенте нет защиты от двойного клика, на сервере нет идемпотентности. Чинить надо оба слоя.

И только после этого модель пишет финальный ответ пользователю. Видно, как первая ассоциация оказалась неполной, и второй проход уточнил картину. Без ризонинга модель, скорее всего, ответила бы только про блокировку кнопки.

Важная деталь: все это (и рассуждение, и финальный ответ) происходит в рамках одного инференса. Модель не делает несколько отдельных запросов, она просто сначала генерирует токены размышления, а потом подряд токены ответа. С точки зрения механики это один непрерывный поток токенов, просто часть из них помечена как внутренние и обычно скрыта от пользователя.

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

Платить за это приходится временем и деньгами. Каждый шаг рассуждения это дополнительные токены. Причем они считаются за выходные, даже если вы не видите их в чате, а как раз выходные токены стоят в разы дороже входных и генерируются последовательно. Поэтому high reasoning ощутимо дороже low и по деньгам, и по времени ответа.

В агентах обычно есть переключатель глубины ризонинга со значениями low, medium и high. Низкий уровень подходит для рутины, высокий — для сложных задач, средний — для всего остального.

Ценообразование Цена работы с моделями устроена непривычно. Если вы привыкли платить за софт раз в месяц фиксированную сумму, тут все иначе. Платите вы за токены, единицы, на которые модель разбивает текст. Один токен — это примерно 4 символа на английском или одно короткое английское слово. На русском токенов уходит заметно больше: одно слово часто разбивается на несколько токенов. Длинный диалог, прочитанные файлы и результаты команд превращаются в токены. Чем больше токенов в запросе, тем дороже он обходится.

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

Производители моделей позволяют работать с подпиской только через их инструменты. То есть если вы решите взять другого провайдера, допустим Copilot или Cursor, будьте готовы к тому, что платить по подписке не получится.

Вторая модель — плата за фактическое использование (pay as you go). Тут вы платите за каждый токен по тарифу. Входные токены (то, что вы отправили модели) дешевле, выходные (то, что модель ответила) дороже. Цены сильно зависят от модели. Например, Opus в разы дороже Haiku.

В этом режиме важно контролировать расходы. Один неаккуратный длинный чат с Opus незаметно съедает несколько долларов. А в месяц могут набежать сотни и даже тысячи долларов. Поэтому для личного использования подписка значительно выгоднее.

Отдельно стоит знать про кеширование. Если начало запроса повторяется, например, вы продолжаете тот же чат, провайдер кеширует (запоминает) его, и за повторную обработку возьмут заметно меньше. Поэтому короткие чаты в одном проекте обычно дешевле, чем кажется на первый взгляд.

Самостоятельная работа

Попробуйте на одной и той же задаче переключаться между моделями и режимами Claude, чтобы прочувствовать разницу.

1. Откройте claude.ai, нажмите на переключатель моделей вверху чата и поочередно отправьте один и тот же средний запрос на трех моделях — Opus, Sonnet и Haiku. Например: "Составь подробный план запуска email- рассылки на 5 недель для онлайн-курса по тайм-менеджменту. По неделям: тема письма, ключевая мысль, призыв к действию". Обратите внимание на скорость, с которой ответ появляется по словам (это и есть генерация по токену), и на то, как меняется длина и проработанность ответа. 2. На сложной задаче включите extended thinking (кнопка рядом с переключателем модели) и сравните с обычным режимом. Возьмите запрос, где есть, что обдумывать: "Разбери три варианта монетизации моего сервиса по доставке здоровой еды — подписка, разовая покупка, freemium. Для каждого: плюсы, минусы, риски и для какой аудитории подходит лучше". Посмотрите, как Claude в режиме размышления сначала "думает" вслух, а потом дает более структурированный ответ — и сколько это занимает по времени. 3. Подберите две задачи из своей реальной работы и осознанно выберите под них модели. Простая (переписать письмо короче, выправить пунктуацию в карточке товара, переименовать список файлов) — отправьте на Haiku и почувствуйте скорость. Сложная (стратегия, разбор сложного решения, длинный текст) — отправьте на Opus, желательно с ризонингом. Это и есть та "постоянная практика смены моделей", без которой ощущение "когда что брать" не появится.

Дополнительные материалы

Сравнение моделей

VIBE CODINGБлок 01Урок 1.6