← НАЗАД К КУРСУ Этап 2 · Урок 5 из 6

Урок 2.5 — Tokens, контекст, стоимость

Каждый раз, когда ты отправляешь сообщение Claude через API — ты платишь. Не за сообщение, а за токены. Чем больше токенов — тем дороже. Этот урок — про то, как считать расходы и не переплачивать.


Что такое токен

Токен — это кусочек текста, который AI обрабатывает за один шаг. Не слово, не буква — что-то между.

"Привет, как дела?" → 5 токенов
"Hello, how are you?" → 5 токенов
"Напиши функцию для подсчёта лайков" → ~8 токенов

Правило для быстрой оценки:

Английский: 1 токен ≈ 4 символа ≈ ¾ слова
Русский:    1 токен ≈ 1-2 слова (русский "дороже" — символы длиннее)
1000 токенов ≈ 750 слов на английском
1000 токенов ≈ 400-500 слов на русском

Аналогия: Токены — как единицы мобильного трафика. Ты не платишь "за звонок" — ты платишь за минуты. В AI ты не платишь "за вопрос" — ты платишь за токены.

Почему русский дороже?

Русские буквы занимают больше байтов, чем английские. Слово "привет" = 2-3 токена, а "hello" = 1 токен. Поэтому один и тот же вопрос на русском стоит примерно в 1.5-2 раза дороже, чем на английском.


Входные и выходные токены

Каждый запрос к API тратит два типа токенов:

Входные (input)  — то, что ты отправляешь Claude (вопрос + история чата)
Выходные (output) — то, что Claude отвечает

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

В уроке 2.3 ты добавляла строку для отслеживания:

print(f"[токены: {response.usage.input_tokens} вход + {response.usage.output_tokens} выход]")

Сколько стоит Claude API

Цены актуальны на март 2026. Проверяй актуальные на anthropic.com/pricing

Цена за 1 миллион токенов

Модель Input (вход) Output (выход) Контекст
Haiku $0.80 $4.00 200K токенов
Sonnet $3.00 $15.00 200K токенов
Opus $15.00 $75.00 200K токенов

Что это значит в реальных деньгах

Переведём в понятные числа — цена за один запрос:

Типичный запрос: ~500 входных + ~300 выходных токенов

Haiku:
  вход:  500 × $0.80 / 1,000,000 = $0.0004
  выход: 300 × $4.00 / 1,000,000 = $0.0012
  ИТОГО: $0.0016 за запрос (~0.16 центов)

Sonnet:
  вход:  500 × $3.00 / 1,000,000 = $0.0015
  выход: 300 × $15.00 / 1,000,000 = $0.0045
  ИТОГО: $0.006 за запрос (~0.6 центов)

Opus:
  вход:  500 × $15.00 / 1,000,000 = $0.0075
  выход: 300 × $75.00 / 1,000,000 = $0.0225
  ИТОГО: $0.03 за запрос (~3 цента)

Сколько это в месяц?

Сценарий Haiku Sonnet Opus
10 запросов в день (личный бот) ~$0.50/мес ~$1.80/мес ~$9/мес
100 запросов в день (маленький продукт) ~$5/мес ~$18/мес ~$90/мес
1000 запросов в день (средний продукт) ~$50/мес ~$180/мес ~$900/мес

Для сравнения: подписка на ChatGPT Plus = $20/мес, Claude Pro = $20/мес. Через API маленький проект обходится в разы дешевле.


Контекстное окно

Контекстное окно — это максимум токенов, которые Claude может "видеть" за один раз. Сюда входит всё: system prompt + вся история чата + текущий вопрос + ответ.

Claude (все модели): 200,000 токенов

Что помещается в 200K токенов?

~500 страниц текста (книга)
~150,000 слов на английском
~80,000-100,000 слов на русском

Почему это важно

Помнишь, в уроке 2.3 мы отправляли history с каждым запросом? С каждым сообщением history растёт:

Сообщение 1:  history = 100 токенов
Сообщение 5:  history = 2,000 токенов
Сообщение 20: history = 15,000 токенов
Сообщение 50: history = 50,000 токенов

Два последствия: 1. Каждый запрос дорожает — потому что входные токены растут 2. Когда history превысит 200K — Claude "забудет" начало разговора

Аналогия: Представь, что ты читаешь книгу, но можешь держать в голове только 500 страниц. Если книга длиннее — ты забываешь первые главы.


Как считать стоимость в коде

from anthropic import Anthropic

client = Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Что такое токен?"}]
)

# Считаем стоимость (цены Sonnet)
input_cost = response.usage.input_tokens * 3.00 / 1_000_000
output_cost = response.usage.output_tokens * 15.00 / 1_000_000
total_cost = input_cost + output_cost

print(f"Ответ: {response.content[0].text}")
print(f"Входные токены: {response.usage.input_tokens}")
print(f"Выходные токены: {response.usage.output_tokens}")
print(f"Стоимость: ${total_cost:.6f}")
# .6f — показывает 6 знаков после запятой (для маленьких сумм)

API vs Подписка — что выгоднее?

Критерий Подписка (Claude Pro) API
Цена $20/мес фиксированно Платишь только за использование
Лимиты Есть ограничения на кол-во сообщений Нет ограничений (пока есть деньги)
Для кого Личное использование через сайт Для продуктов, ботов, автоматизации
Контроль Никакого — пользуешься как есть Полный — модель, промпт, формат
Экономия Выгоднее при активном личном использовании Выгоднее для ботов с малым трафиком

Для бота с 10 запросами в день на Sonnet: - Подписка: $20/мес - API: ~$1.80/мес

API в 11 раз дешевле.

Для активного личного использования (50+ запросов в день): - Подписка: $20/мес - API: ~$9+/мес (и растёт с длиной разговоров)

Подписка стабильнее и проще.


Как оптимизировать расходы

1. Выбирай правильную модель

Не все задачи требуют Opus. Большинство задач решаются Sonnet или Haiku.

# Простая классификация — Haiku ($0.80/1M input)
# Анализ текста, генерация — Sonnet ($3/1M input)
# Сложные рассуждения, код — Opus ($15/1M input)

Правило: начни с Haiku. Если качество не устраивает — переключись на Sonnet. Opus — только для самых сложных задач.

2. Ограничивай длину ответа

# Не ставь max_tokens больше, чем нужно
max_tokens=200   # для короткого ответа (классификация, перевод)
max_tokens=1024  # для среднего ответа (обычный диалог)
max_tokens=4096  # для длинного ответа (статья, код)

3. Управляй историей чата

Не отправляй всю историю — отправляй только последние N сообщений:

# Вместо:
messages=history          # вся история — дорого при длинном чате

# Лучше:
messages=history[-20:]    # только последние 20 сообщений
# [-20:] — срез списка: взять последние 20 элементов (урок 1.4)

4. Пиши промпты на английском (если можно)

# Русский: "Переведи этот текст на английский" → ~8 токенов
# English: "Translate this text to English" → ~5 токенов

Если твой бот работает с данными, а не с пользователем напрямую — system prompt можно писать на английском. Экономия ~30-40% на входных токенах.

5. Используй prompt caching (Anthropic)

Если ты отправляешь одинаковый system prompt в каждом запросе, Anthropic предлагает кэширование — повторный system prompt стоит в 10 раз дешевле:

Обычная цена input (Sonnet):     $3.00 / 1M токенов
Кэшированный input (Sonnet):     $0.30 / 1M токенов (в 10 раз дешевле!)

Это полезно для ботов, где system prompt длинный и не меняется.

6. Batch API — скидка 50%

Если тебе не нужен моментальный ответ (например, обработка данных за ночь), используй Batch API — все цены снижаются на 50%.


Реальный расчёт: бот для чата майнеров

Давай посчитаем, сколько будет стоить твой бот OpenClaw, который мониторит чат:

Исходные данные:
- В чате ~200 сообщений в день
- Из них ~10% — потенциальные лиды (20 сообщений)
- Бот анализирует каждое сообщение
- Используем Haiku (задача простая — классификация)

Расчёт:
- System prompt: ~300 токенов (один раз)
- Одно сообщение: ~100 входных + ~50 выходных токенов
- 200 сообщений в день: 200 × 150 = 30,000 токенов/день

Стоимость в день:
  Input:  20,000 × $0.80 / 1,000,000 = $0.016
  Output: 10,000 × $4.00 / 1,000,000 = $0.040
  Итого:  $0.056/день

Стоимость в месяц: $0.056 × 30 = $1.68/мес

$1.68 в месяц за автоматический мониторинг чата и извлечение лидов. Для сравнения — нанять человека для этой работы стоило бы десятки тысяч рублей.


Где смотреть расходы

  1. В кодеresponse.usage.input_tokens и response.usage.output_tokens
  2. В консоли Anthropic — console.anthropic.com → Usage
  3. Лимиты — можно настроить максимальный месячный бюджет в console.anthropic.com

Практика

Задание 1: Посчитай токены

Запусти чат из урока 2.3 с подсчётом токенов. Поговори 10 сообщений и запиши: - Сколько входных токенов в первом сообщении? - Сколько в десятом? - Во сколько раз выросло?

Задание 2: Сравни модели по цене

Отправь один и тот же вопрос на Haiku и Sonnet. Сравни: - Качество ответа - Количество токенов - Стоимость

Задание 3: Рассчитай свой проект

Придумай AI-продукт (или возьми один из своих) и рассчитай: - Сколько запросов в день? - Какая модель подходит? - Сколько токенов на запрос? - Стоимость в месяц?


Задачки на закрепление

Задача 1: Почему текст на русском стоит дороже, чем на английском?

Ответ Русские буквы занимают больше байтов. Одно русское слово = 2-3 токена, одно английское = 1 токен. Тот же вопрос на русском содержит в 1.5-2 раза больше токенов.

Задача 2: Ты делаешь чат-бота. После 50 сообщений он стал отвечать заметно дороже. Почему?

Ответ Потому что с каждым сообщением `history` растёт, и мы отправляем её целиком. На 50-м сообщении входные токены включают ВСЮ предыдущую переписку. Решение — отправлять только последние 10-20 сообщений: `messages=history[-20:]`.

Задача 3: Бот отвечает на вопросы FAQ (простые, шаблонные ответы). Какую модель выбрать?

Ответ Haiku. Для простых FAQ не нужна мощная модель. Haiku дешевле Sonnet в ~4 раза и дешевле Opus в ~19 раз, а для шаблонных ответов качества хватит.

Задача 4: У тебя API-бюджет $10 в месяц. Сколько запросов в день ты можешь делать на Sonnet (500 input + 300 output токенов на запрос)?

Ответ Один запрос ≈ $0.006. $10 / $0.006 = ~1,666 запросов в месяц. 1,666 / 30 = ~55 запросов в день.

Главное


Глоссарий

Термин Что значит
Токен Минимальная единица текста для модели — примерно ¾ английского слова или ½ русского слова.
Входные токены (input) Токены в твоём запросе — то, что ты отправляешь модели (промпт, контекст, история).
Выходные токены (output) Токены в ответе модели — то, что Claude генерирует для тебя, они стоят дороже входных.
Контекстное окно Максимальный объём текста (в токенах), который модель может обработать за один запрос — и вход, и выход вместе.
max_tokens Параметр, ограничивающий максимальную длину ответа модели в токенах.
Стоимость за 1M токенов Единица измерения цены API — сколько стоит обработать один миллион токенов.
Haiku / Sonnet / Opus Три модели Claude разного уровня: Haiku — быстрая и дешёвая, Sonnet — баланс, Opus — самая умная и дорогая.
Rate limit Ограничение на количество запросов или токенов, которые можно отправить за определённый период времени.
Usage (объект) Часть ответа API, которая показывает, сколько входных и выходных токенов было использовано в запросе.
Кеширование промптов Техника, при которой повторяющиеся части промпта сохраняются, чтобы не платить за них заново.

Что дальше?

Этап 2 завершён! Ты теперь понимаешь: - Что такое LLM и как она работает (урок 2.1) - Как программы общаются через API (урок 2.2) - Как создать свой AI-чат из кода (урок 2.3) - Как правильно формулировать задачи для AI (урок 2.4) - Сколько это стоит и как оптимизировать (урок 2.5)

В Этапе 3 мы перейдём к созданию AI-агентов — программ, которые не просто отвечают на вопросы, а сами выполняют задачи: ищут информацию, пишут в базы данных, отправляют сообщения.

← ПРЕДЫДУЩИЙ СЛЕДУЮЩИЙ →