Компакция в Claude Messages API: два беты, подписанный блок и учёт биллинга
компакция — это лишняя выборка и не автоматически дешевле
2026-02-05 Anthropic вывела compaction API в бета (сводка по достижении порога), а 2026-09-14 добавила компакцию по требованию: верхнеуровневый параметр compaction возвращает подписанный блок compaction. Оба пути нельзя совмещать в одном запросе; подписанный блок должен идти первым в messages, и вендор прямо пишет, что оставленные перед ним суммированные сообщения дают 400; usage.iterations определяет реальный расход запроса; вендор также показывает, как compaction сочетается с prompt caching.
Обновлено 2026-10-20
Claude, GPT и китайские модели по одному ключу, оплата по токенам; доступные модели — на /models.
- Оплата по токенам — актуальные цены на /models
- Оплата через СБП, российскими картами, картами Visa / Mastercard или криптовалютой
- Самообслуживание: после пополнения тариф активируется мгновенно
Четыре ключевых пункта
Разные beta-заголовки
Пороговая компакция идёт с compact-2026-01-12 и настраивается внутри context_management.edits с типом compact_20260112; по требованию — compact-2026-09-04 и верхнеуровневый compaction. Вендер пишет, что compaction и context_management нельзя отправлять в одном запросе.
Порог срабатывания по умолчанию
Таблица параметров: trigger по умолчанию {"type": "input_tokens", "value": 150000}, input_tokens — единственный поддерживаемый тип, value не меньше 50 000 токенов. После срабатывания API делает сводку, кладёт её в блок compaction и продолжает ответ уже на сжатом контексте.
Блок не на своём месте — 400
Компакция по требованию возвращает один подписанный блок. Если суммированные сообщения остались перед блоком, запрос вернёт 400 с кодом compaction_block_misplaced. Блок ставится первым в messages вместо тех сообщений, которые он суммирует, и его надо вернуть без изменений, вместе с signature. Пороговый блок, наоборот, идёт после того, что он суммировал.
Почему это тарифицируется отдельно
Формулировка вендора: компакция добавляет ещё одну выборку, и эта выборка попадает в rate limit и в биллинг. В usage.iterations появляется запись типа compaction; верхнеуровневые input_tokens и output_tokens её не включают, поэтому реальный расход — сумма по iterations.
Что это
Серверная компакция: когда запрос доходит до настроенного порога, Claude сам пишет сводку разговора и возвращает её в блоке compaction; в следующих запросах API сам отбрасывает все блоки до этого блока и продолжает от сводки. Вендор позиционирует это как замену клиентскому коду суммаризации: сводку пишет сервер, собственный код для неё не нужен. Два сценария, названных в документации: долгий многоходовой чат, которым пользователи пользуются долго, и задачи с большим количеством продолжений (обычно вызовов инструментов), которые могут не влезть в контекстное окно.
Что произошло
Обе даты читаются дословно в официальных API release notes. 2026-02-05: compaction API вышел в бета с серверной сводкой контекста для практически бесконечных диалогов, и в записи сказано, что тогда он был доступен на Opus 4.6. 2026-09-14: Messages API научился сжимать диалог по требованию, тоже в бета, с beta-заголовком compact-2026-09-04; верхнеуровневый параметр compaction возвращает подписанный блок compaction, а в следующих запросах этот блок отправляют вместо исходных сообщений. Запрос по требованию отдаёт один подписанный блок и не даёт ответа (stop_reason — compaction); он может идти в фоне, пока диалог продолжается на полной истории, а последние реплики можно сохранить дословно после сводки.
Хронология
2026-02-05: в официальных release notes — compaction API выходит в бета с серверной сводкой контекста для практически бесконечных диалогов, и в записи сказано, что тогда он был доступен на Opus 4.6; это первое появление серверной компакции в бете.
2026-09-14: там же появляется компакция по требованию (beta-заголовок compact-2026-09-04): верхнеуровневый compaction, подписанный блок, фоновая сводка и дословно сохраняемые последние реплики.
Страницы официальной документации по обзору компакции, пороговому и по требованию вариантам сверены в этот день, как и API release notes, и каждый параметр, значение по умолчанию и код ошибки сверены дословно; в официальном списке для варианта по требованию есть Google Cloud и нет Amazon Bedrock, а в списке для порогового пути указан ещё и Amazon Bedrock.
Подтверждено vs осторожно
Подтверждено документацией
Дословно в официальных страницах: значение trigger по умолчанию 150000, value не менее 50 000, тип триггера только input_tokens. Непустые instructions полностью заменяют стандартный промпт сводки (для compaction — до 16 384 символов). pause_after_compaction по умолчанию false. Компакция добавляет ещё одну выборку, и она попадает в rate limit и в биллинг. Верхнеуровневый usage не включает итерацию compaction — суммируйте iterations. Если суммированные сообщения остались перед подписанным блоком, приходит 400 с кодом compaction_block_misplaced. compaction и context_management нельзя в одном запросе. Endpoint подсчёта токенов игнорирует compaction. Изображения, документы, блоки container_upload и загруженные URL из суммированной части исчезают вместе с заменой.
⚠️ Осторожно
Расхожее «чем больше жмёшь, тем дороже» как факт писать нельзя. Вендор говорит и про лишнюю платную выборку, и — в разделе Prompt caching — что compaction хорошо сочетается с prompt caching; там показан breakpoint cache_control на блоке и совет ставить breakpoint в конце системного промпта, чтобы его кэш оставался действительным; плюс повторное применение прежнего блока compaction дополнительно не тарифицируется. Точная формулировка: у компакции есть цена, и выгодна ли она, зависит от расстановки breakpoint. Ещё: всё в бете; при неудачной сводке ответ всё равно 200 с пустым content, и вызов тарифицируется и виден в iterations; временный сбой сервера даёт retryable 529 overloaded_error с error.details.error_code compaction_unavailable; поле remaining бюджета задачи вместе с compaction отправлять нельзя — это 400.
Общее и различия
Общее
Сводка делается на сервере, возвращается блок compaction, пишет её та же модель, что указана в запросе (в Current limitations прямо сказано: нельзя взять другую, например более дешёвую), добавляется выборка, идущая в rate limit и биллинг, и всё это ещё бета.
Различия
Разное в запуске: пороговый путь срабатывает посреди запроса и сжимает на месте, за один запрос он может сработать несколько раз (с server tools порог проверяется в начале каждой итерации), а компакция по требованию — это отдельный запрос, который вы тратите на сводку и который не даёт ответа. Разное в расположении: пороговый блок идёт после суммированного, подписанный — вместо него. Разные и платформы: в официальном списке для варианта по требованию есть Google Cloud и нет Amazon Bedrock, а в списке для порогового пути указан ещё и Amazon Bedrock.
Как пользоваться
Пять шагов. 1) Выбрать путь: пороговый — если контекстом должен управлять API внутри обычных запросов; по требованию — если момент сжатия нужен под вашим контролем, нельзя останавливаться на время сводки или надо сохранить последние реплики и их размышления. 2) Заголовок: compact-2026-09-04 обязателен и на запросе со сводкой, и на каждом последующем с подписанным блоком; на запросе со сводкой без него приходит 400 с указанием на недостающий beta-заголовок, а на запросе с блоком без него — проверочная ошибка о том, что compaction не входит в ожидаемые типы блоков, и вендор пишет, что в таком тексте заголовок не упоминается. 3) Вернуть блок: поставить его первым в messages, суммированные сообщения убрать. 4) Учёт расходов: суммировать usage.iterations, а не смотреть два верхнеуровневых поля. 5) Если сводки нет: с tools модель иногда вызывает инструмент вместо сводки — тогда в блоке content: null; лечится instructions, прямо запрещающими вызов инструментов.
На QCode
Компакция — это параметр Messages API и beta-заголовок, а не переключатель на нашей стороне. Параметр трактует Anthropic, и мы ничего не обещаем от его имени. Модели из официального списка поддержки беты — claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 и claude-sonnet-4-6 — есть в публичном списке /models (проверка 2026-10-20); в официальном списке поддержки есть также claude-mythos-5 и claude-mythos-5-1. Поддержку сжатия для конкретной модели стоит проверять по официальным спискам Compatibility, которые вендор ведёт отдельно для каждого beta-заголовка. Оплата по токенам, цены каждой модели — на странице моделей.
Частые вопросы
Можно включить обе беты сразу?
Нельзя. Вендер прямо пишет, что compaction и context_management нельзя отправлять в одном запросе, и добавляет, что пороговая компакция (compact_20260112) не работает на запросе с подписанным блоком. Выбирайте один путь.
Компакция экономит деньги?
Сама по себе — нет. Вендор говорит, что компакция требует лишнюю выборку, влияющую на лимиты и биллинг, и что верхнеуровневые input_tokens / output_tokens её не включают: надо суммировать usage.iterations. Меньше становится контекст последующих запросов; итог зависит от расстановки cache breakpoint и от того, что повторный прежний блок тарифицируется дополнительно в ноль.
Куда класть подписанный блок?
Первым в messages, удалив суммированные сообщения, и сохранив блок ровно как полученный — вместе с signature. Вендер пишет, что если суммированные сообщения остались перед подписанным блоком, запрос вернёт 400 с кодом compaction_block_misplaced. И на всех последующих запросах с блоком нужен compact-2026-09-04.
Почему блок пришёл пустой?
Чаще всего из-за инструментов: в Current limitations сказано, что при наличии tools модель иногда вызывает инструмент вместо сводки, и тогда у compaction-блока content: null. Лечение — instructions, явно запрещающие вызов инструментов и требующие текст. Учтите: неудачная сводка — это всё равно 200 с пустым content, вызов тарифицируется и попадает в usage.iterations.
Где смотреть, какие модели поддерживают сжатие? Какие модели можно попробовать на QCode?
Вендор ведёт официальные списки Compatibility отдельно для каждого beta-заголовка: один для варианта по требованию, один для порогового пути, с идентификаторами моделей в том виде, в каком их надо отправлять. Модели из официального списка поддержки беты — claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 и claude-sonnet-4-6 — есть в публичном списке /models (проверка 2026-10-20); в официальном списке поддержки есть также claude-mythos-5 и claude-mythos-5-1. Компакция — параметр API, мы его не включаем за вас; бета может измениться, и долгосрочной поддержки ни одного из вариантов мы не обещаем.
Можно поручить сводку более дешёвой модели?
Нет. Вендер пишет, что сводку пишет модель, указанная в запросе, и опции использовать другую (например, более дешёвую) модель для сводки нет. Менять можно только instructions (собственный промпт сводки, полностью заменяющий стандартный) и порог trigger. Полный контроль — это отключить серверную компакцию и суммировать на клиенте, а это другой дизайн.
Источники
Официальные страницы Anthropic о компакции: обзор https://platform.claude.com/docs/en/build-with-claude/compaction (таблица Choose how to compact и указатель подстраниц), пороговый вариант https://platform.claude.com/docs/en/build-with-claude/compaction-threshold (разделы Parameters / Understanding usage / Prompt caching / Current limitations), вариант по требованию https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand (разделы Request a summary / Errors / Count compaction usage), а также API release notes https://platform.claude.com/docs/en/release-notes/api (дословно процитированы записи от 2026-02-05 и September 14, 2026; в тот же день получено в официальном .md-виде, HTTP 200).
Сначала почините учёт расхода
Заголовки, расположение блока и формулировки биллинга соответствуют официальным документам, сверенным 2026-10-20; параметр трактует Anthropic, и от своего имени мы ничего не обещаем. Квота закончилась? Не ждите сброса: с действующим личным тарифом купите бустер-пакет, без тарифа — «Разовые пакеты» от $4 за разовую квоту, которую используете в течение 7 дней (пополнение от $5). Цены — на /pricing, каталог — на /models.
Связанное
Полное руководство по Context Engineering 2026
Компакция — один из приёмов инженерии контекста; там методология, без параметров API.
Добавление и удаление инструментов посреди разговора
Как инструкции и смена инструментов в середине диалога переживают сводку — там.
effort is not supported when thinking is disabled
Семейство ошибок про блоки размышлений и изменение истории: сохранённым репликам тоже нужна согласованность.
Оплата криптовалютой
Девять монет, 56 сетей, нулевая комиссия платформы за кредиты AI-кодинга.
Страница пересказывает открытую документацию Anthropic и не связана с компанией. Имена параметров, значения по умолчанию, коды ошибок и цитаты — по версии, сверенной 2026-10-20; beta-интерфейсы меняются без предупреждения. Выгодна ли компакция, решают цена дополнительной выборки и расстановка cache-контрольных точек: вендор пишет только об этом. QCode предоставляет доступ к API и не меняет beta-статус интерфейсов Anthropic.