EvolCode
треки/Claude — глубокий разбор·03 / 07
6 мин чтения

Токены, стоимость и prompt caching

Запросы к Claude стоят денег. Не понимая как это считается — легко получить счёт в $200 за неделю на пет-проекте. Разберёмся какая математика за биллингом и какие приёмы реально снижают расходы.

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

Токен — это единица обработки текста для модели. Не символ, не слово — что-то посередине. Английское слово в среднем 1.3 токена. Русское слово — около 2-3 токенов (русский «дороже» в токенах потому что модель училась в основном на английском). Эмодзи и редкие символы могут весить 4-6 токенов каждый. Точно посчитать токены до отправки можно через токенизатор Anthropic (есть в SDK как client.tokens.count(...)).

Цены и как они считаются

Тарификация раздельная: input tokens (то что ВЫ отправили — промпт + системное сообщение + история диалога) и output tokens (то что Claude НАПИСАЛ в ответ). Output обычно в 5 раз дороже input — модель напрягается чтобы сгенерировать. Конкретно для Sonnet 4.6: $3 за 1M input, $15 за 1M output. Запрос с промптом 2000 токенов и ответом 500 токенов: (2000 × 3 + 500 × 15) / 1_000_000 = $0.0135 — копейка с лишним.

Prompt caching — главный приём экономии

Если ты гоняешь Claude с одним и тем же системным сообщением (например 5000 токенов инструкций для агента) — каждый запрос платишь за эту же простыню. Prompt caching позволяет «запомнить» префикс на 5 минут на стороне Anthropic, и платить за него 0.1× от обычной цены при последующих запросах. Включается через

$ cache_control: { type: "ephemeral" }

в нужном блоке. Для чатов с длинной системной инструкцией экономия — реальные 90%.

Когда какая модель оправдана по деньгам

Простое правило: если задача стоит $0.01 пользователю — Sonnet ОК. Если $0.001 — лучше Haiku. Opus оправдан когда плохой ответ стоит дороже самого запроса (например архитектурное решение которое потом разворачивать на проде). Для пользовательских интерфейсов с лимитом — почти всегда Sonnet. Haiku хорош для огромных батч-задач (модерация контента, классификация).

примерjavascript
// === Считаем стоимость запроса ===
function priceUSD(model, inputTokens, outputTokens) {
  const PRICES = {
    'claude-opus-4-7':    { in: 15.00, out: 75.00 },
    'claude-sonnet-4-6':  { in:  3.00, out: 15.00 },
    'claude-haiku-4-5':   { in:  0.25, out:  1.25 },
  };
  const p = PRICES[model];
  return (inputTokens * p.in + outputTokens * p.out) / 1_000_000;
}

// Запрос к Sonnet: 2000 промпт + 500 ответ
console.log(priceUSD('claude-sonnet-4-6', 2000, 500));
// → 0.0135  (1.35 цента)

// Запрос к Opus: 2000 промпт + 500 ответ
console.log(priceUSD('claude-opus-4-7', 2000, 500));
// → 0.0675  (5x дороже за тот же запрос)

// === PROMPT CACHING — экономия 90% при длинной системке ===
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();

// Длинная инструкция-системка которая идёт в КАЖДЫЙ запрос
const SYSTEM_PROMPT = `Ты помощник по нашему API...
[сюда 5000 токенов документации, примеров, правил]`;

const r = await client.messages.create({
  model: 'claude-sonnet-4-6',
  max_tokens: 1024,
  system: [
    {
      type: 'text',
      text: SYSTEM_PROMPT,
      cache_control: { type: 'ephemeral' },   // ← кешируем этот блок
    },
  ],
  messages: [{ role: 'user', content: 'Как сделать X?' }],
});

// Первый запрос: платим полную цену + бонус 25% за запись в кеш
// Все следующие за 5 минут: input для этого блока считается в 0.1×
// Если 5000 токенов системы и 100 запросов в час:
//   Без кеша: 5000 × 100 × $3/1M = $1.50
//   С кешем:  5000 × $3/1M (первый) + 5000 × 99 × $0.30/1M = $0.16
// Экономия — почти 10x.

Подсчёт стоимости вручную и пример prompt caching

главное
  • 01Токен ≈ 1.3 английских слова или 0.4 русских — русский «дороже»
  • 02Output tokens обычно в 5× дороже input — выгодно делать промпты длиннее, ответы короче
  • 03Считать стоимость заранее: (in × $price_in + out × $price_out) / 1_000_000
  • 04Prompt caching экономит до 90% когда есть длинный повторяющийся префикс (системка, документация)
  • 05Кеш живёт 5 минут — для долгих сессий держите запросы плотно
  • 06Haiku в 12× дешевле Sonnet — для простых массовых задач это решает
  • 07client.tokens.count(...) — точный токенизатор Anthropic, можно посчитать ДО отправки
проверь себя
01Запрос к Sonnet: 1500 input токенов и 800 output. Сколько стоит?
02Когда prompt caching реально экономит?
03У вас простая задача: классифицировать тональность 50 000 коротких отзывов. Что выбрать?
следующий урок: Tool use — учим Claude вызывать функции