Каждый раз, когда ты отправляешь сообщение 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} выход]")
Цены актуальны на март 2026. Проверяй актуальные на anthropic.com/pricing
| Модель | 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 токенов
~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 знаков после запятой (для маленьких сумм)
| Критерий | Подписка (Claude Pro) | API |
|---|---|---|
| Цена | $20/мес фиксированно | Платишь только за использование |
| Лимиты | Есть ограничения на кол-во сообщений | Нет ограничений (пока есть деньги) |
| Для кого | Личное использование через сайт | Для продуктов, ботов, автоматизации |
| Контроль | Никакого — пользуешься как есть | Полный — модель, промпт, формат |
| Экономия | Выгоднее при активном личном использовании | Выгоднее для ботов с малым трафиком |
Для бота с 10 запросами в день на Sonnet: - Подписка: $20/мес - API: ~$1.80/мес
API в 11 раз дешевле.
Для активного личного использования (50+ запросов в день): - Подписка: $20/мес - API: ~$9+/мес (и растёт с длиной разговоров)
Подписка стабильнее и проще.
Не все задачи требуют Opus. Большинство задач решаются Sonnet или Haiku.
# Простая классификация — Haiku ($0.80/1M input)
# Анализ текста, генерация — Sonnet ($3/1M input)
# Сложные рассуждения, код — Opus ($15/1M input)
Правило: начни с Haiku. Если качество не устраивает — переключись на Sonnet. Opus — только для самых сложных задач.
# Не ставь max_tokens больше, чем нужно
max_tokens=200 # для короткого ответа (классификация, перевод)
max_tokens=1024 # для среднего ответа (обычный диалог)
max_tokens=4096 # для длинного ответа (статья, код)
Не отправляй всю историю — отправляй только последние N сообщений:
# Вместо:
messages=history # вся история — дорого при длинном чате
# Лучше:
messages=history[-20:] # только последние 20 сообщений
# [-20:] — срез списка: взять последние 20 элементов (урок 1.4)
# Русский: "Переведи этот текст на английский" → ~8 токенов
# English: "Translate this text to English" → ~5 токенов
Если твой бот работает с данными, а не с пользователем напрямую — system prompt можно писать на английском. Экономия ~30-40% на входных токенах.
Если ты отправляешь одинаковый system prompt в каждом запросе, Anthropic предлагает кэширование — повторный system prompt стоит в 10 раз дешевле:
Обычная цена input (Sonnet): $3.00 / 1M токенов
Кэшированный input (Sonnet): $0.30 / 1M токенов (в 10 раз дешевле!)
Это полезно для ботов, где system prompt длинный и не меняется.
Если тебе не нужен моментальный ответ (например, обработка данных за ночь), используй 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 в месяц за автоматический мониторинг чата и извлечение лидов. Для сравнения — нанять человека для этой работы стоило бы десятки тысяч рублей.
response.usage.input_tokens и response.usage.output_tokensЗапусти чат из урока 2.3 с подсчётом токенов. Поговори 10 сообщений и запиши: - Сколько входных токенов в первом сообщении? - Сколько в десятом? - Во сколько раз выросло?
Отправь один и тот же вопрос на Haiku и Sonnet. Сравни: - Качество ответа - Количество токенов - Стоимость
Придумай AI-продукт (или возьми один из своих) и рассчитай: - Сколько запросов в день? - Какая модель подходит? - Сколько токенов на запрос? - Стоимость в месяц?
Задача 1: Почему текст на русском стоит дороже, чем на английском?
Задача 2: Ты делаешь чат-бота. После 50 сообщений он стал отвечать заметно дороже. Почему?
Задача 3: Бот отвечает на вопросы FAQ (простые, шаблонные ответы). Какую модель выбрать?
Задача 4: У тебя API-бюджет $10 в месяц. Сколько запросов в день ты можешь делать на Sonnet (500 input + 300 output токенов на запрос)?
| Термин | Что значит |
|---|---|
| Токен | Минимальная единица текста для модели — примерно ¾ английского слова или ½ русского слова. |
| Входные токены (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-агентов — программ, которые не просто отвечают на вопросы, а сами выполняют задачи: ищут информацию, пишут в базы данных, отправляют сообщения.