kimik3.io/Цены/Кэширование промптов

Кэширование промптов в Kimi K3

Вход из кэша стоит $0.30 за 1 млн против $3.00 при промахе — разница в 10 раз на одних и тех же токенах. Moonshot почти не документирует, как кэш срабатывает, поэтому мы замерили это сами.

K3 кэширует автоматически по повторённому префиксу — никакой параметр не нужен. Отправьте одинаковый префикс дважды — и во втором вызове повторённая часть тарифицируется по $0.30 за 1 млн вместо $3.00. Три вещи, о которых молчит документация, — все замерены: попадания начисляются блоками по 256 токенов, а хвост остаётся вне кэша; холодный вызов никогда не кэшируется частично (первый контакт всегда по полной цене); prompt_cache_key не дал измеримой разницы.

Замерено на api.moonshot.ai с моделью kimi-k3 2026-07-16 — как мы замеряли.

Кэш срабатывает автоматически: первый вызов всегда по полной цене

Кэш не нужно включать — параметров для этого нет: он срабатывает, когда начало запроса (префикс) в точности повторяет один из предыдущих. Сколько токенов пришло из кэша, видно в поле usage.prompt_tokens_details.cached_tokens.

Мы сгенерировали совершенно новые случайные префиксы, которые никогда прежде не отправлялись в Moonshot, — значит, кэша для них существовать не могло (первый такой вызов ниже называем «холодным», повторный — «тёплым») — и отправили каждый префикс дважды:

// first call, fresh 12,504-token prefix
"usage": {
  "prompt_tokens": 12504,
  "completion_tokens": 32
  // no cached_tokens field at all
}

// second call, byte-identical prefix, ~2s later
"usage": {
  "prompt_tokens": 12504,
  "completion_tokens": 32,
  "prompt_tokens_details": {"cached_tokens": 12288}   // 96 blocks of 256
}

На всех протестированных префиксах, от 1,3 тыс. до 29 тыс. токенов, холодный вызов кэшировал ровно ноль. Частичного зачёта при первом контакте не бывает. Скидка существует только со второго запроса — а значит, нагрузка, в которой префикс никогда не повторяется, не выиграет ничего, какими бы большими ни были её промпты.

Размер блока — 256 токенов

Попадания в кэш начисляются не по токенам. В девяти тестах cached_tokens каждый раз возвращался строго кратным 256, оставляя вне кэша остаток до 255 токенов:

Уникальные, никогда прежде не отправлявшиеся префиксы: холодный вызов, затем тёплый. kimi-k3, 2026-07-16.
prompt_tokens Холодный: из кэша Тёплый: из кэша Хвост вне кэша Блоки (÷256)
1 32401 280445
2 51102 3042079
5 06104 86419719
7 22807 1686028
10 09509 98411139
12 504012 28821648
14 428014 3369256
20 056019 9688878
28 986028 92858113

Хвост вне кэша никогда не дотягивает до одного блока

Токены вне кэша на каждом тёплом префиксе · девять префиксов, 1,3–29 тыс. · замерено 2026-07-16

256 = один блок кэша 0 128 256 Префикс 1 324 токена — 44 вне кэша Префикс 2 511 токенов — 207 вне кэша Префикс 5 061 токен — 197 вне кэша Префикс 7 228 токенов — 60 вне кэша Префикс 10 095 токенов — 111 вне кэша Префикс 12 504 токена — 216 вне кэша Префикс 14 428 токенов — 92 вне кэша Префикс 20 056 токенов — 88 вне кэша Префикс 28 986 токенов — 58 вне кэша 44 207 197 60 111 216 92 88 58 1,3 тыс. 2,5 тыс. 5 тыс. 7,2 тыс. 10 тыс. 12,5 тыс. 14,4 тыс. 20 тыс. 29 тыс. размер префикса (токены)
Всё, что выше хвоста, отдано из кэша по $0.30/1M. Хвост ограничен размером блока в 256 токенов: на префиксе в 29 тыс. это погрешность округления, на маленьком — большая часть промпта.

Практический вывод: кэширование окупается пропорционально размеру префикса. У префикса в 300 токенов — максимум один кэшируемый блок и до 255 токенов некэшируемого хвоста: большая часть промпта по полной цене. У префикса в 50 тыс. — почти 200 блоков, и хвост превращается в погрешность округления. Не тратьте силы на выбивание попаданий в кэш на маленьких промптах.

prompt_cache_key не дал ничего измеримого

В документации API Moonshot есть параметр prompt_cache_key: он описан как средство сессионного кэширования и «рекомендован» для многоходовых диалогов. Читается как тот самый рычаг, за который положено дёргать. Это не так — по крайней мере для повторного использования префикса.

Мы провели чистый тест: совершенно новый префикс, первый вызов уже с явным prompt_cache_key, затем второй такой же вызов. Результат оказался неотличим от варианта без ключа:

Свежие префиксы, ~10 тыс. токенов каждый. 2026-07-16.
КонфигурацияВызов 1: из кэшаВызов 2: из кэша
Без prompt_cache_key09 984
С prompt_cache_key09 984

Тот же промах на холодном вызове, то же попадание на тёплом. Автоматическое кэширование префикса уже сделало всю работу. Для нагрузок с повторяющимся префиксом этот параметр не нужен — а если вы добавили его в расчёте на скидку, то скидка пришла не отсюда.

Экономит деньги, а не время

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

Один и тот же префикс: холодный вызов, затем тёплый, без стриминга. 2026-07-16.
prompt_tokensХолодныйТёплыйИзменение
1 3243,56 с3,80 смедленнее
2 5113,02 с4,29 смедленнее
7 2283,99 с3,54 сбыстрее
14 4284,38 с4,27 с≈ то же
28 9865,22 с3,78 сбыстрее

Разброс от прогона к прогону на этих размерах перекрывает любой эффект кэша — и не забывайте: K3 в любом случае тратит секунды на рассуждения при каждом вызове, и именно они доминируют в общем времени. Относитесь к кэшированию промптов как к оптимизации счёта, а не задержки. Если нужна скорость — смотрите наши замеры задержки.

Сколько тёплый префикс остаётся тёплым

Прогретый префикс всё ещё возвращал те же 12 032 токена из кэша спустя 210 секунд — без деградации на пробах через 30, 90 и 210 секунд.

Это нижняя граница, а не TTL — на этой отметке мы перестали пробовать. Moonshot не документирует ни TTL, ни минимальную длину префикса, ни то, берётся ли доплата за запись в кэш, поэтому выдумывать числа мы не будем. Что можно сказать уверенно: префикс, повторно использованный в течение нескольких минут, остаётся тёплым — а это покрывает самый важный сценарий, цикл агента.

Как стабильно получать цену из кэша

  • Стабильные байты — вперёд. Системный промпт, определения инструментов, длинные документы — в начало; меняющаяся реплика пользователя — в конец. Кэш сопоставляет префикс: одна ранняя правка обесценивает всё, что идёт после неё.
  • Не пускайте дрейф в префикс. Метка времени, ID запроса, пересериализованный JSON с переставленными ключами — любое из этого меняет байты и молча скидывает вас на $3.00 за 1 млн. Это самый частый способ потерять скидку и не заметить.
  • Пакуйте запросы под один префикс. Двадцати вопросам об одном документе нужен один тёплый префикс и двадцать коротких хвостов.
  • Не выстраивайте кэширование под маленькие промпты. До ~256 токенов кэшировать нечего; до ~1 тыс. хвост — большая часть вашего счёта.
  • Смиритесь с холодным вызовом. Первый запрос каждого холодного периода идёт по полной цене. Заложите его в бюджет вместо попыток спроектировать его исчезновение.
  • Следите за cached_tokens в проде. Это единственный способ убедиться, что процент попаданий такой, каким вы его считаете. Если поля нет — это был промах.

Сколько стоит эта разница

Агент с фиксированным префиксом в 50 000 токенов, обслуживающий 200 запросов в день, — 10 млн входных токенов ежедневно:

СценарийТарифВ деньЗа 30 дней
Каждый запрос — промах$3.00 / 1M$30.00$900.00
Префикс остаётся тёплым$0.30 / 1M$3.00$90.00
Разница$27.00$810.00

Арифметика по официальным тарифам от 2026-07-16, только вход. Дешёвая строка идеализирована: холодные вызовы тарифицируются по полной цене, а хвост не кэшируется никогда. Выход в любом случае стоит $15.00/1M, и токены рассуждений на такой нагрузке могут превысить весь ваш счёт за вход. Это потолок и пол, а не смета.

Проверьте собственный процент попаданий

Каждое число на этой странице воспроизводится за пару минут. EvoLink отдаёт kimi-k3 через OpenAI-совместимый эндпоинт: 10 бесплатных кредитов, регистрация из любой страны — китайский номер телефона не нужен.

Получить API-ключ EvoLink