March 9, 2026
При анализе стоимости агентских сессий в Cursor закономерно выделяется одна статья расходов — cache reads. Ниже разбирается её природа, механизм накопления и практические следствия.
Агент не делает один запрос на всю задачу. Каждый вызов инструмента (чтение файла, поиск, запуск команды в терминале) — это отдельный API-запрос: модель решает, какой инструмент вызвать, Cursor выполняет его и дописывает результат в контекст, после чего отправляется следующий запрос — уже с этим результатом внутри. На задачу средней сложности таких итераций набирается 15–25, и каждая из них передаёт полный контекст с начала сессии.
Чтобы не платить за повторную обработку одного и того же контекста, Anthropic поддерживает Prompt Caching: если в запросе есть длинный префикс, который API уже обрабатывал недавно, он не обрабатывается повторно — берётся из кэша. Стоимость такого обращения значительно ниже обычного input.
Актуальные цены для Claude Sonnet 4.6:
| Тип токенов | Цена за 1M токенов |
|---|---|
| Cache write | $3.75 |
| Cache read | $0.30 |
| Обычный input | $3.00 |
| Output | $15.00 |
Cache read в 10 раз дешевле обычного input — это существенная экономия. Именно поэтому Cursor агрессивно кэширует контекст: без этого агентский кодинг был бы экономически неприемлемым. Однако из-за структуры агентского цикла объём cache read токенов всё равно накапливается быстро.
Рассмотрим типичную сессию: задача с 20 итерациями, контекст включает системный промпт, правила из .cursor/rules, несколько открытых файлов и накопленную историю переписки. Средний контекст на итерацию — 80 000 токенов; output на каждом шаге относительно мал, поскольку агент преимущественно вызывает инструменты, — примем 500 токенов.
Расчёт:
| Статья | Объём | Стоимость |
|---|---|---|
| Cache reads | 20 × 80 000 = 1.6M | $0.48 |
| Cache writes | ~80 000 | $0.30 |
| Output | 20 × 500 = 10 000 | $0.15 |
| Итого | ~$0.93 |
Cache reads составляют более половины счёта — и это при умеренном сценарии с небольшим контекстом.
Рассмотрим второй сценарий: в сессии уже накоплено 80 000 токенов контекста, и на его фоне выполняется запрос средней сложности — ещё 15 итераций.
Накопленные 80 000 токенов присутствуют как cache read в каждой из 15 новых итераций.
| Статья | Объём | Стоимость |
|---|---|---|
| Cache reads (старый контекст) | 15 × 80 000 = 1.2M | $0.36 |
| Cache reads (новый контекст) | 15 × ~8 000 = 120k | $0.04 |
| Cache writes | ~15 000 | $0.06 |
| Output | 15 × 500 = 7 500 | $0.11 |
| Итого | ~$0.57 |
Та же задача в чистой сессии обошлась бы ~$0.19 — разница в три раза, обусловленная исключительно накопленным контекстом. Каждый токен предыдущей истории умножается на все оставшиеся итерации новой задачи.
Ключевая особенность — рост стоимости нелинейный. В начале сессии контекст невелик: системный промпт и несколько сообщений. Но с каждой итерацией в него добавляются результаты инструментов, ответы модели, последующие запросы. К двадцатой итерации объём диалоговой истории и набор прочитанных файлов значительно возрастают — и каждый дополнительный токен контекста умножается на все оставшиеся итерации. Длинная сессия обходится непропорционально дороже короткой.
Для сравнения: без кэширования те же 1.6M токенов на input стоили бы 0.48. Кэширование существенно снижает стоимость, но не устраняет проблему объёма — оно уменьшает цену за токен, не их количество.
Крупные задачи целесообразно разбивать на короткие сессии. Одна сессия на 40 итераций обходится значительно дороже четырёх сессий по 10 — в конце длинной сессии контекст велик и дорого обходится на каждой итерации. Оптимальная стратегия — начинать новый чат после завершения каждой подзадачи.
При выборе модели для агентского кодинга цена cache read имеет приоритетное значение. Output-токенов у агента относительно мало, входящий контекст записывается в кэш единожды — тогда как cache reads накапливаются сотнями тысяч за каждую сессию. Разница в цене cache read между моделями влияет на итоговый счёт сильнее, чем разница в цене обычного input или output.