Сколько стоит агент Claude Code: расчёт сессии с кэшем по шагам

Разбираем, из чего складывается счёт агента, считаем 30-шаговую сессию на Opus 5.5 и Sonnet 5 и показываем, где смотреть фактический расход и как поставить потолок.

7 мин · · агенты · экономия

«Сколько стоит агент Claude Code» — вопрос, на который нельзя ответить одной цифрой: счёт зависит от длины сессии, размера контекста и того, сколько входа приходит из кэша. Но его можно посчитать заранее и потом сверить с фактом. Ниже — пошаговый расчёт сессии на Claude Opus 5.5 и Claude Sonnet 5, где посмотреть реальный расход и как ограничить его лимитом ключа.

Из чего складывается счёт агента

Claude Code на каждом шаге отправляет модели весь накопленный контекст: системный промпт, описания инструментов, историю диалога, содержимое прочитанных файлов и вывод команд. Шаг — это один запрос к модели; на одну вашу просьбу агент может сделать десятки шагов.

Если бы весь этот контекст каждый раз оплачивался как новый вход, длинная сессия стоила бы дорого. Поэтому Claude Code использует кэш промптов: начало контекста, которое уже отправлялось, читается из кэша по низкой цене, а новая часть записывается в кэш. В ответе модели это видно по четырём счётчикам в usage:

  • input_tokens — свежий вход, не из кэша;
  • cache_read_input_tokens — прочитано из кэша;
  • cache_creation_input_tokens — записано в кэш;
  • output_tokens — выход модели.

Формула стоимости одного шага и всей сессии:

стоимость = свежий вход × цена входа + чтение кэша × цена чтения + запись кэша × цена записи + выход × цена выхода

Цены в Zukko на 6 октября 2026 года, $ за 1 млн токенов:

МодельВходВыходЧтение кэшаЗапись кэша
claude-opus-5-50.420.0380.425
claude-sonnet-50.21.0130.0250.25

Актуальный список и цены — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Важно: скидку за кэш для Claude даёт только Anthropic-формат (/v1/messages). Claude Code работает именно в нём, так что для него расчёт ниже применим. Если звать Claude через OpenAI-формат (/v1/chat/completions), весь вход идёт по цене входа.

Сколько стоит агент Claude Code: расчёт по шагам

Шаг 1. Задаём профиль сессии

Возьмём типичную рабочую сессию:

  • 30 шагов (запросов к модели);
  • на первом шаге контекст 20 000 токенов: системный промпт, инструменты, CLAUDE.md, ваш запрос;
  • на каждом шаге контекст растёт на 5 000 токенов: ответ модели плюс прочитанные файлы и вывод команд;
  • на каждом шаге 300 токенов свежего входа и 1 500 токенов выхода.

Контекст на шаге k: 20 000 + 5 000 × (k − 1). К шагу 30 он дорастает до 165 000 токенов.

Шаг 2. Считаем объёмы

  • Запись в кэш. На первом шаге в кэш записывается весь контекст — 20 000. На каждом следующем — только новая часть, 5 000. Итого: 20 000 + 29 × 5 000 = 165 000.
  • Чтение кэша. На шаге k читается контекст шага k − 1. Сумма по шагам 2…30 = 29 × 20 000 + 5 000 × (0 + 1 + … + 28) = 580 000 + 5 000 × 406 = 2 610 000.
  • Свежий вход: 30 × 300 = 9 000.
  • Выход: 30 × 1 500 = 45 000.

Обратите внимание на пропорцию: из кэша читается в 290 раз больше, чем приходит свежего входа. Поэтому цена чтения кэша здесь решает больше, чем цена входа.

Шаг 3. Умножаем на цены

Объёмы — в миллионах токенов, цены — за 1M.

СтатьяОбъёмOpus 5.5Sonnet 5
Свежий вход0.009× 0.4 = $0.0036× 0.2 = $0.0018
Чтение кэша2.61× 0.038 = $0.09918× 0.025 = $0.06525
Запись кэша0.165× 0.425 = $0.070125× 0.25 = $0.04125
Выход0.045× 2 = $0.09× 1.013 = $0.045585
Итого$0.262905$0.153885

Одна такая сессия стоит около 26 центов на Opus 5.5 и около 15 центов на Sonnet 5. Двадцать сессий в рабочий день — примерно $5.26 и $3.08 соответственно (20 × 0.262905 = 5.2581; 20 × 0.153885 = 3.0777).

Шаг 4. Учитываем паузы

Кэш живёт ограниченное время. По документации Claude Code, при работе через API-ключ срок жизни кэша по умолчанию — пять минут. Если вы ушли на обед и вернулись, первый запрос не найдёт кэш, и весь контекст запишется заново.

Пример: пауза перед шагом 30, когда контекст предыдущего шага — 160 000 токенов. Вместо чтения из кэша будет запись:

  • Opus 5.5: 0.16 × $0.425 = $0.068 вместо 0.16 × $0.038 = $0.00608, то есть на $0.06192 больше;
  • Sonnet 5: 0.16 × $0.25 = $0.04 вместо 0.16 × $0.025 = $0.004, на $0.036 больше.

Один промах почти равен четверти всей сессии на Opus 5.5. Если вы надолго отходите от задачи, дешевле начать новую сессию с коротким описанием, чем продолжать огромный контекст.

Для сравнения: без кэша

Если бы тот же контекст шёл без кэша, весь вход — 9 000 + 2 610 000 + 165 000 = 2 784 000 токенов — оплачивался бы по цене входа:

  • Opus 5.5: 2.784 × $0.4 + 0.045 × $2 = $1.1136 + $0.09 = $1.2036;
  • Sonnet 5: 2.784 × $0.2 + 0.045 × $1.013 = $0.5568 + $0.045585 = $0.602385.

Это разница между $0.26 и $1.20 на Opus 5.5 за одну и ту же работу.

Посчитать свой профиль

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

bash
PRICES = {  # $ за 1M: вход, выход, чтение кэша, запись кэша
    "claude-opus-5-5": (0.4, 2, 0.038, 0.425),
    "claude-sonnet-5": (0.2, 1.013, 0.025, 0.25),
}

def session_cost(model, steps, start_ctx, growth, fresh_per_step, out_per_step):
    ctx = [start_ctx + growth * k for k in range(steps)]
    read = sum(ctx[:-1])                      # шаг k читает контекст шага k - 1
    write = start_ctx + growth * (steps - 1)  # первый контекст + прирост на шагах 2..N
    fresh = fresh_per_step * steps
    out = out_per_step * steps
    p_in, p_out, p_read, p_write = PRICES[model]
    return (fresh * p_in + read * p_read + write * p_write + out * p_out) / 1_000_000

for m in PRICES:
    print(m, round(session_cost(m, 30, 20_000, 5_000, 300, 1_500), 6))

Скрипт выведет 0.262905 для Opus 5.5 и 0.153885 для Sonnet 5 — те же числа, что в таблице.

Реальные сессии отличаются от модели: Claude Code сжимает историю, подагенты ведут свои контексты, часть служебных запросов может идти на модель из слота Haiku. Поэтому расчёт — ориентир, а правду показывают списания.

Подключение Claude Code к Zukko

Минимальный блок в ~/.claude/settings.json:

bash
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.zukko.pro",
    "ANTHROPIC_AUTH_TOKEN": "fetch_...",
    "ANTHROPIC_MODEL": "claude-sonnet-5"
  }
}

Base URL — без /v1, Claude Code добавляет путь сам. Ключ передаётся именно через ANTHROPIC_AUTH_TOKEN. Полная настройка со слотами моделей — в документации по Claude Code.

Как посмотреть фактический расход

  1. Кабинет, страница «Использование». Откройте кабинет и перейдите в раздел «Использование»: там история списаний по запросам с моделью и стоимостью. Это и есть ваш реальный счёт.
  2. API истории списаний. GET https://api.zukko.pro/v1/usage возвращает те же записи: модель, токены и поле cost_cents — стоимость в центах с дробной частью (0.0546 означает $0.000546). В историю попадают все списания аккаунта, не только одного ключа. Подробности — в документации.
bash
curl -G https://api.zukko.pro/v1/usage \
  -H "Authorization: Bearer fetch_..." \
  --data-urlencode "limit=50"
  1. Команда /usage в Claude Code. Она показывает счётчики токенов сессии, включая чтение и запись кэша. Долларовую сумму Claude Code считает сам по прайс-листу Anthropic, поэтому с Zukko она не совпадёт со списаниями. Берите оттуда токены и подставляйте в формулу, а сумму сверяйте с кабинетом.

Как ограничить расход лимитом ключа

Заведите для Claude Code отдельный ключ в кабинете и задайте ему:

  • дневной лимит в долларах — например, $6, если по расчёту ваш день на Opus 5.5 стоит около $5.26: обычная работа проходит, а необычно дорогой день упрётся в потолок;
  • месячный лимит — общий потолок на месяц;
  • список разрешённых моделей — например, только claude-sonnet-5 и claude-opus-5-5, чтобы агент случайно не ушёл на более дорогую модель.

Как это работает, по документации о лимитах:

  • при исчерпании дневного лимита запросы получают 429 с кодом key_daily_limit_reached, месячного — 429 с key_monthly_limit_reached;
  • дневной расход обнуляется в 00:00 UTC, месячный — в начале месяца по UTC;
  • лимиты мягкие: перед запросом сравнивается уже списанная сумма, поэтому последний пропущенный запрос может немного превысить потолок;
  • лимит действует на ключ, остальные ключи аккаунта продолжают работать;
  • запрос к модели не из списка получает 403 model_not_allowed_for_key.

Частые вопросы

Почему Claude Code показывает одну сумму, а в кабинете другая?

Claude Code считает доллары локально по прайс-листу Anthropic. Списания идут по ценам Zukko, и правильная сумма — в кабинете, раздел «Использование».

Работает ли кэш, если подключить Claude Code к Zukko?

Да. Claude Code работает в Anthropic-формате, и шлюз видит чтение и запись кэша; они оплачиваются по своим ценам из таблицы.

Что дешевле для агента: Opus 5.5 или Sonnet 5?

По прайсу — Sonnet 5: в нашей сессии $0.153885 против $0.262905. Хватает ли его на ваших задачах, проверьте прогоном нескольких реальных задач на обеих моделях. Сравнение других вариантов для Claude Code — в статье о выборе модели для Claude Code по цене.

Что будет, если агент упрётся в дневной лимит?

Запросы с этого ключа начнут получать 429 key_daily_limit_reached до 00:00 UTC. Можно поднять лимит в кабинете или подождать.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.