Что такое токен
Токен — это кусочек текста, которым оперирует языковая модель. Не буква и не слово. Чаще всего — часть слова или короткое слово целиком плюс пробел.
Грубо: одно русское слово ≈ 2-3 токена. Одно английское слово ≈ 1-1.5 токена. Английский «дешевле» по токенам, поэтому код в среднем считается экономичнее текста.
Когда ты отправляешь Claude сообщение «Привет, как дела?» — это около 8-10 токенов. Не потому, что 4 слова, а потому, что русский разбивается мельче.
Input и output — две разные цены
У всех LLM-провайдеров разные тарифы на:
- Input (что ты отправляешь модели — твой промт, прошлая история разговора, документация, код)
- Output (что модель пишет в ответ)
Output в 5 раз дороже input у Claude. У OpenAI и Google — примерно так же, разница в 4-5 раз.
Почему: input модель «прочитывает» один раз через всю свою сеть, output генерирует токен за токеном, каждый — через всю сеть заново. Пять прогонов вместо одного — отсюда и цена.
Что это меняет на практике
Дешёвый паттерн: дать модели много контекста, попросить короткий ответ. Например, скормить всю переписку с клиентом и попросить написать одно сообщение в три предложения.
Дорогой паттерн: короткий промт, длинный ответ. «Напиши мне статью на 10 страниц» — это и есть тот самый дорогой паттерн.
Если строишь продукт на API — считай прежде всего output-токены. Они формируют 70-80% счёта.
Контекстное окно
У каждой модели есть ограничение — сколько токенов она может удерживать одновременно. У Claude Sonnet 4 — до 200K токенов в стандартном режиме, до 1M в расширенном. Это и прошлая переписка, и новый промт, и ответ, который пока генерируется.
200K токенов — это примерно:
- 150 тысяч английских слов
- 80-100 тысяч русских слов
- одна толстая книга
- весь ваш проект на 30-50 файлов кода
Когда контекст переполняется, начинается компактирование — старые сообщения сжимаются. Качество ответа в этот момент падает.
Практика: не превращай один разговор в марафон на 10 часов. Когда задача сделана — закрывай сессию, открывай новую. Свежий контекст всегда работает лучше переполненного.
Prompt caching — как платить меньше
Если ты в одном проекте отправляешь тот же CLAUDE.md (10K токенов) каждое сообщение — Anthropic это видит и кеширует этот кусок. Следующее обращение к тем же токенам считается не как полный input, а как cache hit — в 10 раз дешевле.
Условия:
- Закешированный кусок не меняется
- Разрыв между сообщениями ≤ 5 минут
- Минимум 1024 токена в одном кеш-блоке
Что это значит практически: разговор с Claude Code, где у тебя огромный CLAUDE.md и история, дешевле, чем кажется по input-токенам. Кеш закрывает основную часть.
И обратная сторона: если ты раз в полчаса задаёшь короткий вопрос — каждый раз платишь полную цену за весь контекст. Лучше сгруппировать задачи в один заход.
Считаем стоимость живого проекта
Возьмём Claude Sonnet 4 (тарифы на середину 2026):
- Input: $3 за 1M токенов
- Output: $15 за 1M токенов
- Cache hit: $0.30 за 1M токенов (в 10 раз дешевле input)
Один день работы со средним проектом:
- 200K токенов input (с кешем — фактически 30K без кеша + 170K из кеша)
- 50K токенов output
- 30K × $3/1M = $0.09
- 170K × $0.30/1M = $0.05
- 50K × $15/1M = $0.75
Итого ~$0.89 за рабочий день. Без кеширования было бы ~$1.35. Кеш экономит треть.
Месяц активной работы — $20-30. Меньше, чем подписка на ChatGPT Plus, и без лимитов.
Что важно запомнить
- Output × 5 — основной множитель цены. Длинные ответы стоят дорого.
- Контекстное окно — не «бесконечная память». После 70-80% от лимита качество падает.
- Prompt caching работает молча. Не надо его настраивать — Anthropic делает это сам, если ты в одном разговоре.
- Считай в токенах, не в словах. Русский текст в 2 раза «толще» английского.
Если строишь продукт на Claude API — первая оптимизация всегда: сократить output. Потом — собрать длинный системный промт в один большой блок и закешировать. Потом — резать input.