Перейти к основному содержимому

Сократите расход токенов (и затраты)

Средний

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

What you'll learn
  • Где на самом деле утекают токены — вход против выхода против повторно используемого контекста
  • Лаконичный / «пещерный» стиль: что он реально экономит и где даёт обратный эффект
  • Кэширование промптов и пакетная обработка для структурной экономии каждого доллара
  • Подбор подходящей модели (Haiku для дешёвых задач) и структурированный вывод вместо прозы
  • Измерения до запуска с помощью эндпоинта подсчёта токенов

Сначала найдите, куда уходят токены

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

Три корзины токенов
Нажмите Enter или пробел, чтобы перевернуть карточку. Используйте стрелки влево и вправо для перехода между карточками.Показан термин.
1 / 3

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

Лаконичный / «пещерный» стиль (экономия на выходе)

Вирусный приём — приказать Claude убрать «воду» и отвечать обрывками фраз — был популяризирован open-source-навыком Claude Code caveman (лицензия MIT, автор Julius Brussee), чей слоган звучит как «why use many token when few token do trick» (зачем много токен, когда мало токен делать дело). Он заставляет писать короткими предложениями, глаголами в инфинитиве и без любезностей.

Честный вывод из независимого тестирования: стиль ничего не стоит для содержания (код, технические термины, JSON остаются точными), но экономия целиком зависит от вашей точки отсчёта. Если в ваших промптах уже написано «будь краток», большая часть выигрыша уже получена. Крупные сокращения (40–65%) проявляются на ответах, насыщенных объяснениями; структурированное извлечение почти не сдвигается.

Лаконичный блок инструкций — вставьте в свой системный промпт

Answer terse. Cut filler, hedging, and pleasantries.
Drop articles (a/an/the) and softeners (just, really, basically, actually).
No preamble, no restating the question, no "happy to help."
Fragments are fine. Keep technical terms and code blocks exact.
Pattern per point: [thing] [action] [reason]. Next step if any.
Pro tip
  • Поместите правило лаконичности один раз в системный промпт, а не в каждый ход пользователя — повторение каждый раз заново оплачивает стоимость входа.
  • Никогда не сжимайте код, идентификаторы, JSON или числа. Сжимайте только прозу.
  • «Be concise. Return JSON only.» само по себе даёт ~60% достижимой экономии на выходе — пишите это, прежде чем хвататься за более хитрые приёмы.
Watch out
  • Лаконичный стиль обрезает ТОЛЬКО выход. Он ничего не делает с системным промптом на 20 тыс. токенов, который вы переотправляете при каждом вызове — это проблема входа/кэширования.
  • На задачах с расширенным размышлением токены рассуждений не затрагиваются; вы сокращаете только итоговый видимый ответ.

Кэшируйте повторно используемый префикс (экономия на входе)

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

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

Guided walkthrough1 of 3
  1. Перенесите системный промпт, инструменты и документы в начало; меняющийся ход пользователя держите в конце.

Обрезайте контекст, который отправляете

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

  • Подрежьте системный промпт. Длинные блоки инструкций накапливают хлам. Вырежьте примеры, которые больше не оправдывают свои токены; один сильный пример лучше пяти посредственных.
  • Извлекайте, а не вываливайте. Вместо вставки целого документа подтягивайте только релевантные фрагменты (RAG). Отправка PDF на 50 страниц ради ответа на один вопрос — самая частая трата.
  • Уплотняйте длинные сессии. Когда разговор разрастается, заменяйте старые ходы коротким накопительным резюме вместо того, чтобы вечно тащить каждое сообщение. История — это входные токены, которые вы переоплачиваете при каждом вызове.
  • Подберите подходящий размер каталога инструментов. Каждое определение инструмента — это входные токены при каждом запросе. Открывайте только те инструменты, которые нужны текущей задаче.

Подберите подходящую модель

Не платите по тарифу Opus за задачу уровня Haiku. Классификация, извлечение, простое форматирование и маршрутизация обычно отлично работают на самой маленькой модели за долю цены за токен. Зарезервируйте более крупные модели для по-настоящему сложных рассуждений и рассмотрите маршрутизацию: дешёвая модель обрабатывает простое большинство, эскалируя только сложные случаи. Смотрите Выбор модели и Токены, контекст и цены для разбора компромиссов.

Предпочитайте структурированный вывод прозе

Запрос JSON (или другой жёсткой схемы) вместо поясняющего абзаца сокращает выходные токены и убирает догадки при разборе на стороне получателя. Просьба к Claude вернуть только компактный объект вроде {"label": ..., "score": ...} генерирует долю токенов от болтливого ответа — и вы полностью пропускаете преамбулу «Вот результат:». Подробности в разделе Структурированный вывод.

Отправляйте пакетно то, что не критично по времени

Для офлайн-работы, где вам не нужен ответ за секунды — оценки, массовая классификация, разметка датасетов, реферирование архива — Message Batches API от Anthropic выполняет запросы асинхронно со скидкой 50% и на входные, и на выходные токены, а результаты обычно возвращаются в течение 24 часов.

Сложите это с кэшированием и подходящей по размеру моделью — и совокупная скидка на крупной офлайн-задаче будет впечатляющей.

Измеряйте — не гадайте

Оптимизируйте по цифрам, а не по ощущениям. Эндпоинт подсчёта токенов от Anthropic возвращает точное число входных токенов запроса до его отправки — той же формы, что и вызов Messages, и он бесплатный (с ограничением по частоте). Используйте его, чтобы сравнить раздутый промпт с обрезанным, принимать решения о маршрутизации моделей и держать промпты внутри окна контекста.

Подсчёт токенов перед отправкой (Python SDK)

import anthropic

client = anthropic.Anthropic()

resp = client.messages.count_tokens(
  model="claude-opus-4-8",
  system="You are a scientist",
  messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(resp.input_tokens)  # exact input count, no charge for counting
Pro tip
  • Не используйте токенизатор другой модели (например, tiktoken) — подсчёты различаются между семействами моделей. Используйте эндпоинт Anthropic.
  • Более новые токенизаторы могут давать на ~30% больше токенов для того же текста, чем старые модели — пересчитывайте при миграции, не переиспользуйте старые оценки.
  • Считывайте input_tokens, cache_read_input_tokens и output_tokens из usage в ответе, чтобы подтвердить, что экономия сработала в продакшене.

Смотрите Токены, контекст и цены для правил подсчёта и формулы оценки затрат.

Сравнение «до/после», от начала до конца

Ассистент сортировки обращений в поддержку прогоняет один и тот же системный промпт на 4000 токенов + каталог инструментов на каждом тикете и пишет болтливый ответ на 600 токенов.

Guided walkthrough1 of 4
  1. ~4000 входных токенов переотправляются по полной цене при каждом вызове + ~600 многословных выходных токенов на крупной модели. Ничего не кэшируется, синхронно, ответы прозой.

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

Проверь себя

0/4
  1. «Пещерный» / лаконичный стиль в первую очередь сокращает какие токены?
  2. Вы переотправляете один и тот же системный промпт на 10 тыс. токенов при каждом вызове. Лучшее решение?
  3. Какая нагрузка лучше всего подходит под скидку 50% от Message Batches API?
  4. Как следует проверять, что изменение промпта реально сэкономило токены?
Key takeaways
  • Разложите расходы на вход, выход и повторно используемый контекст — у каждой корзины свой способ исправления.
  • Лаконичный / «пещерный» стиль сокращает только выход; выигрыш большой на прозе и маленький на уже лаконичных структурированных задачах.
  • Кэшируйте стабильный префикс (побайтово идентичный) ради экономии каждого доллара на входе при каждом вызове.
  • Обрезайте контекст, подбирайте подходящую модель и предпочитайте JSON прозе — дешёвые, накапливающиеся выигрыши.
  • Обрабатывайте несрочную работу пакетно ради скидки 50% и всегда измеряйте с помощью count_tokens, а не гадайте.

Источники и дополнительное чтение

Далее