Ответы на вопросы после митапа [Live demo: агент для разработки за 40 минут]

Pavel Veinik

Ответы на вопросы после митапа по AIПрикладная обсценная лингвистика в IT-индустрииОтветы на вопросы после митапа [Live demo: агент для разработки за 40 минут]Как шутить. Курс от того, кому не смешноИнструкция для внутреннего ЦаряКраткая история IT: От ткацкого станка до нейросетей

Стоимость и токены

Как снижать расход токенов и стоимость

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

Кэширование промптов (prompt caching). Самый крупный рычаг. Провайдер хеширует стабильный префикс и на повторном запросе не пересчитывает его заново. У Anthropic чтение из кэша стоит порядка 10% от базовой цены входа, а первая запись — надбавка около 25% для короткого TTL (примерно 5 минут) и выше для расширенного часового TTL; официально это даёт до 90% экономии на входе и до 85% по задержке. У OpenAI кэширование работает автоматически для промптов от 1024 токенов, без изменений в коде. Практические правила одинаковы у всех:

  1. Складывай стабильное в начало, динамику — в конец. Кэш матчится как префикс, не как подстрока.
  2. Держи префикс стабильным байт-в-байт. Лишний перевод строки, переставленные инструменты или правка их описания ломают кэш.
  3. У Anthropic отмечай до 4 точек кэша через cache_control; у OpenAI это происходит само.
  4. Кэшируй то, что длиннее ~1024 токенов и реально переиспользуется несколько раз подряд.

Батч-обработка (Message Batches API). Всё, что не требует ответа здесь и сейчас — массовая разметка, прогон наборов для оценки, генерация датасетов — уходит в асинхронный батч со скидкой 50% и на вход, и на выход; большинство батчей закрывается меньше чем за час, предел — 24 часа. Скидки батча и кэша складываются.

Каскады и маршрутизация моделей. Идея из работы FrugalGPT: большинство запросов простые, и нет модели, которая всегда лучшая. Дешёвая модель отвечает первой, оценщик качества смотрит на ответ, и только при низкой оценке запрос эскалируется на более сильную и дорогую модель. Авторы показывают до 98% экономии при сохранении качества сильнейшей одиночной модели. Более поздняя работа про объединение маршрутизации и каскадов доказывает оптимальность связки и выделяет главный фактор успеха — точность оценщика качества.

Что пойдёт не так без этих практик:

  • Нестабильный префикс. Если в кэшируемую часть попал таймстемп, случайный id или пользовательский текст, каждый запрос — это промах и повторная оплата записи без выгоды чтения. Логируй cache_read_input_tokens и cache_creation_input_tokens и следи, чтобы чтений было много, а записей мало.
  • Кэш ради коротких промптов. На префиксе меньше ~1024 токенов надбавка за запись не отбивается.
  • Каскад со слабым оценщиком. Плохой оценщик либо пропускает мусор дешёвой модели, либо эскалирует всё подряд и убивает экономию — качество оценщика критично.
  • Батч там, где нужен мгновенный ответ. Асинхронный режим не для интерактива: ждать можно до 24 часов.

Ссылки


Выбор подписки и тарифа под разработку

Вопросы участников:

  • Что делать с ценами на токены у новейших моделей? Какие подписки для разработки брать чтобы хватало на все?

Здесь на самом деле два вопроса — цена токенов и выбор подписки. Про снижение самой цены — предыдущий подраздел; тут про выбор модели тарификации.

Первое: у новейших моделей цена сильно разнится по классам. Флагманский класс (уровень Opus) в разы дороже среднего (уровень Sonnet) и компактного (уровень Haiku) и на входе, и на выходе. Конкретные $/1M токенов быстро меняются — бери их с актуальной страницы цен, а не по памяти. Практический вывод не в том, чтобы всегда брать самую новую и дорогую модель, а в том, чтобы держать под рукой несколько классов и гонять флагман только на действительно сложных задачах (это тот самый каскад из прошлого блока).

Второе: два принципиально разных способа платить за разработку.

  1. Подписка (Claude Code на Pro или Max). Плоский платёж в месяц; лимиты считаются по скользящему окну (около 5 часов) плюс недельные потолки, и они общие между чатом Claude и Claude Code. Ты не платишь за токен — ты расходуешь окно, оно сбрасывается.
  2. API по факту (pay-as-you-go). Платишь за токены, без потолков, но и без плоского тарифа. Это отдельная вселенная биллинга: если выставить переменную ANTHROPIC_API_KEY, Claude Code молча уходит на API-оплату и игнорирует подписку.

Как выбрать — считается арифметикой безубыточности: раздели цену тарифа на ~30 и сравни с дневным расходом на API. Если день за днём ты тратил бы на API больше, чем стоит день подписки, — подписка дешевле; если меньше или расход рваный — выгоднее ключ. По официальным данным Claude Code средний расход в корпоративных внедрениях — около $13 на разработчика в активный день и $150–250 в месяц. Прежде чем решать, поживи неделю на ключе и сними реальные цифры через /usage, /cost и /status.

На середину 2026 года структура тарифов такая: Pro, Max 5x и Max 20x различаются кратностью лимитов (примерно 5x и 20x к Pro), у Max два недельных потолка — общий и отдельный на конкретную модель. Точные суммы и лимиты Anthropic периодически двигает и больше не публикует точное число сообщений на окно, поэтому конкретику бери с живой страницы цен, а не из чужих статей.

Ещё про свежую механику: с 15 июня 2026 интерактивная и автономная работа разведены. Живые сессии в терминале идут по лимитам окна и недели, а неинтерактив — Agent SDK, claude -p, GitHub Actions — берётся из отдельного месячного кредита, который тарифуется по API-ставкам и не переносится на следующий месяц.

Типичный рабочий паттерн: подписка под интерактивную разработку плюс отдельный API-ключ под CI и массовые задачи, где включается батч-скидка 50%.

Что пойдёт не так:

  • Общий котёл чата и кода. На Pro и Max чат и Claude Code едят один лимит: наболтал днём в чате — вечером меньше ходов на код. Смотри /usage.
  • Тихий уход на API. Выставленный ANTHROPIC_API_KEY переводит Claude Code на поштучную оплату мимо подписки — можно неожиданно получить счёт.
  • Опора на устаревшие цифры. Любое число сообщений в окне из статей 2025 года — устаревшее; официальные формулировки теперь только про кратность.
  • Сгорающие кредиты. Неизрасходованный месячный кредит на неинтерактив не переносится.

Ссылки


Недоиспользование лимитов и как выжимать максимум

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

Механика самого недоиспользования. У Max два недельных потолка — общий по всем моделям и отдельный на конкретную (дорогую) модель. Легко упереться в модельный потолок и при этом оставить общий бюджет наполовину пустым: это и есть недоиспользование. Значит, планируй микс моделей — рутину на компактный класс, флагман приберегай под сложное, чтобы не выжечь модельный лимит раньше времени.

Сначала измеряй. Команда /usage в Claude Code раскладывает расход по скиллам, субагентам, плагинам и отдельным MCP-серверам, с переключением на 24 часа и 7 дней. Без этого дыры видны только в момент счёта.

Дальше — снижение расхода токенов, чтобы под лимитом помещалось больше. Официальный гайд Claude Code советует управлять контекстом (/compact, /clear), выбирать модель под задачу, настраивать бюджет расширенного мышления и предобрабатывать вход хуками. Глубже это раскрыто в разборе Anthropic про контекст-инженерию: контекст — конечный ресурс с убывающей отдачей, есть эффект context rot (с ростом окна модель хуже вспоминает детали), и цель — минимальный набор высокосигнальных токенов. Рычаги:

  1. Компакция. Ближе к пределу окна диалог сжимается в резюме, и работа продолжается с него. У Anthropic это есть серверно как compaction с настраиваемым порогом срабатывания.
  2. Очистка результатов инструментов. Старые тяжёлые выводы, которые можно перечитать, заменяются заглушкой: запись о вызове остаётся, объём уходит.
  3. Подгрузка по требованию. Не тащить всё в контекст заранее, а держать ссылки (пути, запросы) и брать данные, когда они реально нужны.
  4. Субагенты. Тяжёлое исследование уходит в отдельное окно, назад возвращается сжатая выжимка на 1–2 тысячи токенов, а не весь мусор.

Два бонуса, которые прямо расширяют потолок. Чтения из кэша у Anthropic не считаются в лимит входных токенов в минуту — то есть кэш это ещё и множитель к rate limit, а не только скидка. А массовую неинтерактивную работу уноси в батч со скидкой 50%, чтобы не тратить интерактивный бюджет на то, что может подождать.

Что пойдёт не так:

  • Простаивающий дорогой лимит при упёртом дешёвом (или наоборот). Лечится плановым миксом моделей и контролем через /usage.
  • Экономия вслепую. Без метрик расход режут наугад; сначала смотри, где реально течёт.
  • Слишком агрессивная компакция. Сжатие лоссово: можно потерять важную деталь, чья ценность всплывёт позже — подбирай порог и промпт резюмирования.

Ссылки