Когда ты отправляешь запрос языковой модели, она не видит слова или буквы. Она видит токены — куски текста размером примерно в несколько символов. Понимание токенов поможет экономить деньги и писать лучшие промпты.
Что такое токен
Токен — это единица текста с которой работает модель. Не символ и не слово — что-то среднее. Модель обучена предсказывать следующий токен на основе всех предыдущих. Именно так она «генерирует» ответ — по одному токену за раз.
Примерные правила:
- 1 английское слово ≈ 1–1.5 токена
- 1 русское слово ≈ 2–3 токена (кириллица дороже)
- 1 токен ≈ 4 символа на английском
- Код с отступами = больше токенов чем кажется
Примеры:
- Hello → 1 токен
- Привет → 2 токена
- Hello, World! → 4 токена
- 100 строк Python-кода → ~500–800 токенов
Почему русский дороже английского
Модели обучены преимущественно на английском тексте, поэтому английские слова чаще попадают точнее в «словарь» токенов. Русские слова нередко разбиваются на несколько частей. Практическое следствие: system prompt на английском при прочих равных дешевле в 1.5–2 раза.
Input и output токены
Anthropic считает стоимость в токенах:
- Input tokens — всё что ты отправил: system prompt + вся история диалога + новый вопрос
- Output tokens — всё что ответила модель
# После каждого запроса:
print(response.usage.input_tokens) # сколько токенов отправлено
print(response.usage.output_tokens) # сколько токенов в ответе
Типичный обмен в чате ≈ 200–500 input + 300–800 output токенов. При тысячах запросов — это заметные суммы.
Токены и деньги
Тарифы Anthropic (2026):
| Модель | Input | Output |
|---|---|---|
| claude-haiku-4-5 | $0.80 / 1M | $4 / 1M |
| claude-sonnet-4-6 | $3 / 1M | $15 / 1M |
| claude-opus-4-7 | $15 / 1M | $75 / 1M |
Типичный запрос к Sonnet ≈ $0.005–0.01. Тысяча запросов ≈ $5–10.
Context window
У каждой модели есть context window — максимальное количество токенов в одном запросе (input + output вместе). У claude-sonnet-4-6 это 200 000 токенов — около 150 000 слов, три книги.
Когда история диалога становится длинной, она заполняет context window. Стратегии:
- Обрезай старые сообщения (оставляй последние N)
- Суммаризируй историю через отдельный запрос
- Храни только ключевые факты, а не дословные обмены
Считаем токены заранее
SDK позволяет посчитать токены без отправки запроса:
response = client.messages.count_tokens(
model="claude-sonnet-4-6",
system="Ты Python-тьютор.",
messages=[{"role": "user", "content": "Что такое декоратор?"}]
)
print(response.input_tokens) # точное количество токенов
Используй это чтобы проверить не превышает ли промпт лимиты до отправки.
LLM — это предсказатель, не база знаний
Ключевое понимание: LLM не ищет ответ в базе данных. Она предсказывает наиболее вероятный следующий токен. Именно поэтому:
- Модель может «галлюцинировать» — генерировать правдоподобные но неверные факты
- temperature=0 даёт более стабильные ответы — меньше случайности в выборе токена
- Один и тот же вопрос при temperature=1 даёт разные ответы
- Более длинный контекст = модель «видит» больше = лучше понимает задачу
💬 Комментарии (0)
Комментариев пока нет
Станьте первым, кто поделится мнением об этой статье!