4 4
5# Как Claude Code использует prompt caching5# Как Claude Code использует prompt caching
6 6
7> Claude Code управляет prompt caching автоматически. Узнайте, почему переключение модели вызывает медленный ход без кэша, какова стоимость `/compact`, почему изменения CLAUDE.md не применяются в середине сеанса и как проверить коэффициент попаданий в кэш.7> Claude Code управляет prompt caching автоматически. Узнайте, почему переключение модели вызывает медленный ход без кэша, что стоит `/compact`, почему изменения CLAUDE.md не применяются во время сеанса и как проверить коэффициент попадания в кэш.
8 8
9Prompt caching делает Claude Code быстрее и экономнее. Без кэширования API переобрабатывал бы вашу полную историю при каждом ходе. С кэшированием он повторно использует то, что уже обработал, и выполняет новую работу только для того, что изменилось.9Prompt caching делает Claude Code быстрее и экономичнее. Без кэширования API переобрабатывал бы вашу полную историю на каждом ходу. С кэшированием он повторно использует то, что уже обработал, выставляет счет за повторное чтение по [кэшированному тарифу токенов](https://platform.claude.com/docs/en/about-claude/pricing) и полностью обрабатывает только то, что изменилось.
10 10
11Claude Code управляет prompt caching для вас, если вы не [отключите его](#disable-prompt-caching). Тем не менее полезно знать, как работает prompt caching, потому что некоторые действия инвалидируют кэш и делают следующий ответ медленнее и дороже, пока он перестраивается. На этой странице рассматривается, какие действия это делают, почему некоторые параметры ждут перезагрузки для применения и как проверить производительность кэша, когда использование выглядит высоким.11Claude Code управляет prompt caching для вас, если вы его не [отключите](#disable-prompt-caching). Тем не менее полезно знать, как работает prompt caching, потому что некоторые действия инвалидируют кэш и делают следующий ответ медленнее и дороже, пока он перестраивается. На этой странице рассматривается, какие действия это делают, почему некоторые параметры ждут перезагрузки для применения и как проверить производительность кэша, когда использование выглядит высоким.
12 12
13<h2 id="how-the-cache-is-organized">13<h2 id="how-the-cache-is-organized">
14 Как организован кэш14 Как организован кэш
15</h2>15</h2>
16 16
17Каждый раз, когда вы отправляете сообщение в Claude Code, он делает новый запрос API. Модель ничего не помнит между запросами, поэтому Claude Code повторно отправляет полный контекст: системный запрос, контекст вашего проекта, каждое предыдущее сообщение и результат инструмента, а также ваше новое сообщение. Новое содержимое добавляется в конец, что означает, что большая часть каждого запроса идентична предыдущему. Prompt caching — это то, как API избегает переобработки части, которая не изменилась.17Каждый раз, когда вы отправляете сообщение в Claude Code, он делает новый запрос API. Модель ничего не помнит между запросами, поэтому Claude Code повторно отправляет полный контекст: системный промпт, контекст вашего проекта, все предыдущие сообщения и результаты инструментов, а также ваше новое сообщение. Новое содержимое добавляется в конец, что означает, что большая часть каждого запроса идентична предыдущему. Prompt caching — это то, как API избегает переобработки части, которая не изменилась.
18 18
19API кэширует путем сопоставления начала каждого запроса, называемого префиксом, с содержимым, которое он недавно обработал. При обычном ходе префикс — это весь предыдущий запрос, и только последний обмен новый. Совпадение точное, поэтому изменение где-либо в префиксе пересчитывает всё после него. Нет кэширования по файлам или по сегментам. См. [как работает prompt caching](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#how-prompt-caching-works) в справочнике API для базового механизма.19API кэширует, сопоставляя начало каждого запроса, называемое префиксом, с содержимым, которое он недавно обработал. На обычном ходу префикс — это весь предыдущий запрос, и только последний обмен является новым. Сопоставление точное, поэтому изменение где-либо в префиксе пересчитывает всё после него. Нет кэширования по отдельным файлам или сегментам. Подробнее о механизме см. в разделе [как работает prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#how-prompt-caching-works) в справочнике API.
20 20
21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и только новый обмен обрабатывается. На ходе четыре системный запрос изменился, поэтому префикс больше не совпадает, и весь запрос переобрабатывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и обрабатывается только новый обмен. На ходе четыре системный промпт изменился, поэтому префикс больше не совпадает, и весь запрос пересчитывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />
22 22
23<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/prompt-caching-prefix-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=297dc1c639f0915cae858d0c4b6f3be5" className="hidden dark:block" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и только новый обмен обрабатывается. На ходе четыре системный запрос изменился, поэтому префикс больше не совпадает, и весь запрос переобрабатывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix-dark.svg" />23<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/prompt-caching-prefix-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=297dc1c639f0915cae858d0c4b6f3be5" className="hidden dark:block" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и обрабатывается только новый обмен. На ходе четыре системный промпт изменился, поэтому префикс больше не совпадает, и весь запрос пересчитывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix-dark.svg" />
24 24
25Чтобы максимально использовать сопоставление префиксов, Claude Code упорядочивает каждый запрос так, чтобы содержимое, которое редко изменяется между ходами, шло первым:25Чтобы максимально использовать сопоставление префиксов, Claude Code упорядочивает каждый запрос так, чтобы содержимое, которое редко изменяется между ходами, шло первым:
26 26
27| Слой | Содержимое | Изменяется когда |27| Слой | Содержимое | Изменяется когда |
28| ---------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------- |28| ---------------- | --------------------------------------------------------------- | ----------------------------------------------------- |
29| Системный запрос | Основные инструкции, определения инструментов, стиль вывода | Набор загруженных определений инструментов изменяется, или Claude Code обновляется |29| Системный промпт | Основные инструкции, определения инструментов | Набор загруженных определений инструментов изменяется |
30| Контекст проекта | CLAUDE.md, автоматическая память, правила без области действия | Сеанс начинается, или после `/clear` или `/compact` |30| Контекст проекта | CLAUDE.md, автоматическая память, правила без области видимости | Сеанс начинается или после `/clear` или `/compact` |
31| Разговор | Ваши сообщения, ответы Claude, результаты инструментов | При каждом ходе |31| Разговор | Ваши сообщения, ответы Claude, результаты инструментов | Каждый ход |
32 32
33Изменение слоя разговора оставляет системный запрос и контекст проекта кэшированными. Изменение системного запроса инвалидирует всё, потому что всё последующее содержимое теперь находится за другим префиксом. Третий столбец даёт общие триггеры, а не исчерпывающий список, и разделы ниже охватывают полный набор, включая содержимое, такое как стиль вывода, который фиксируется в начале сеанса.33Изменение слоя разговора оставляет системный промпт и контекст проекта в кэше. Изменение системного промпта делает недействительным всё, потому что всё последующее содержимое теперь находится за другим префиксом. Третий столбец приводит распространённые триггеры, а не исчерпывающий список, и разделы ниже охватывают полный набор.
34 34
35Правило сопоставления префиксов объясняет большинство поведений на этой странице. [Plan mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) и [загрузка skills](/docs/ru/skills), например, добавляют свои инструкции как сообщения разговора, поэтому кэшированный префикс остаётся нетронутым.35Правило сопоставления префиксов объясняет большинство поведений на этой странице. [Plan Mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) и [загрузка skills](/docs/ru/skills), например, добавляют свои инструкции как сообщения разговора, поэтому кэшированный префикс остаётся нетронутым.
36 36
37Два параметра вообще не являются частью текста запроса, поэтому они не отображаются в таблице слоёв, но оба являются частью ключа кэша:37Два параметра не отображаются в таблице слоёв, но всё ещё влияют на то, что остаётся в кэше:
38 38
39* **Model**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос даже когда содержимое идентично. См. [Переключение моделей](#switching-models) ниже.39* **Model**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос даже когда содержимое идентично. Подробнее см. в разделе [Переключение моделей](#switching-models) ниже.
40* **Effort level**: каждый уровень усилий имеет свой кэш для одной и той же модели. Изменение его в середине сеанса пересчитывает весь запрос, и Claude Code просит вас подтвердить перед применением изменения. См. [Изменение уровня усилий](#changing-effort-level) ниже.40* **Effort level**: на большинстве моделей каждый уровень усилий имеет свой кэш, поэтому изменение усилий во время сеанса пересчитывает весь запрос. На Fable 5.1 с API ключом или подпиской Claude кэш по умолчанию остаётся нетронутым. Подробнее см. в разделе [Изменение уровня усилий](#changing-effort-level) ниже.
41 41
42<Tip>42<Tip>
43 Выберите вашу модель и уровень усилий в начале сеанса, затем сохраните `/compact` для естественных перерывов между задачами. Чем меньше изменений вы делаете в середине задачи, тем выше коэффициент попаданий в кэш.43 Выберите вашу модель и уровень усилий в начале сеанса, затем сохраните `/compact` для естественных перерывов между задачами. Чем меньше изменений вы делаете во время задачи, тем выше ваш процент попаданий в кэш.
44</Tip>44</Tip>
45 45
46<h3 id="where-the-cache-lives">46<h3 id="where-the-cache-lives">
47 Где находится кэш47 Где находится кэш
48</h3>48</h3>
49 49
50Кэширование происходит на стороне сервера в инфраструктуре, которая обслуживает вашу модель. Где это находится, зависит от того, как вы аутентифицируетесь:50Кэширование происходит на стороне сервера в инфраструктуре, которая обслуживает вашу модель. Где именно это находится, зависит от того, как вы аутентифицируетесь:
51 51
52* **API ключ, подписка Claude или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)**: кэш находится в инфраструктуре Anthropic, доступ через [Claude API](https://platform.claude.com/docs)52* **API ключ, подписка Claude или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)**: кэш находится в инфраструктуре Anthropic, доступ через [Claude API](https://platform.claude.com/docs)
53* **Amazon Bedrock или Google Cloud's Agent Platform**: кэш находится в инфраструктуре обслуживания вашего облачного провайдера53* **Amazon Bedrock или Agent Platform Google Cloud**: кэш находится в инфраструктуре обслуживания вашего облачного провайдера
54* **Microsoft Foundry**: запросы маршрутизируются в инфраструктуру Anthropic54* **Microsoft Foundry**: зависит от [опции хостинга](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) развёртывания. Развёртывания, размещённые на Azure, обслуживаются на инфраструктуре Azure; развёртывания, размещённые на Anthropic, обслуживаются на инфраструктуре Anthropic
55* **Пользовательский `ANTHROPIC_BASE_URL` или [LLM gateway](/docs/ru/llm-gateway)**: кэш находится там, где перенаправляются ваши запросы, и работает ли кэширование, зависит от шлюза55* **Пользовательский `ANTHROPIC_BASE_URL` или [LLM gateway](/docs/ru/llm-gateway)**: кэш находится там, куда перенаправляются ваши запросы, и работает ли кэширование, зависит от шлюза
56 56
57Для информации о том, что хранит и обрабатывает каждый провайдер, см. [использование данных](/docs/ru/data-usage). Где бы ни находился кэш, записи истекают после периода неактивности, и [Время жизни кэша](#cache-lifetime) ниже охватывает TTL и как его продлить.57Claude Code также добавляет системный контекст во время разговора, такой как уведомления об изменении файлов, и отмечает этот блок для кэширования на каждом провайдере и соединении, если вы не установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), в этом случае этот блок отправляется без кэширования.
58
59На собственной конечной точке провайдера, Amazon Bedrock и его [конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), Agent Platform Google Cloud и Microsoft Foundry кэшируют блок так же, как это делает Claude API.
60
61Когда ваши запросы проходят через [LLM gateway](/docs/ru/llm-gateway), пользовательский `ANTHROPIC_BASE_URL` или переопределение базового URL облачного провайдера, такое как [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/ru/env-vars), то, что остаётся в кэше, зависит от того, как шлюз обрабатывает [маркеры `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints), которые отправляет Claude Code:
62
63* **Перенаправляет их без изменений**: блок и ваш разговор кэшируются так же, как на собственной конечной точке провайдера.
64* **Отклоняет отмеченный запрос с ошибкой `400`, указывающей на `cache_control`**: Claude Code повторно отправляет запрос с маркером, перемещённым с блока на ваше последнее сообщение разговора, и сохраняет его там для остальной части разговора. Блок выставляется счётом как некэшированный ввод; ваш разговор остаётся в кэше.
65* **Удаляет маркеры при возврате успеха**: вся история вашего разговора выставляется счётом как некэшированный ввод на каждом ходу. Шлюз, который преобразует системное содержимое в форме блока в простую строку, удаляет маркер так же.
66
67Для информации о том, что хранит и обрабатывает каждый провайдер, см. [использование данных](/docs/ru/data-usage). Где бы ни находился кэш, записи истекают после периода неактивности, и раздел [Время жизни кэша](#cache-lifetime) ниже охватывает TTL и способы его продления.
58 68
59<h2 id="actions-that-invalidate-the-cache">69<h2 id="actions-that-invalidate-the-cache">
60 Действия, которые инвалидируют кэш70 Действия, которые инвалидируют кэш
61</h2>71</h2>
62 72
63Эти действия вызывают пропуск части или всего кэша в следующем запросе. Вы видите один раз медленный, более дорогой ход, после чего новый префикс кэшируется. Большинство из них можно избежать в середине задачи, как только вы узнаете, что они имеют стоимость. Переключение модели может казаться бесплатным, пока вы не заметите медленный ход, который следует.73Эти действия приводят к тому, что следующий запрос пропускает часть или весь кэш. Вы видите одноразовый более медленный и дорогостоящий ход, после чего новый префикс кэшируется. Большинство из них можно избежать во время выполнения задачи, если вы знаете, что они имеют стоимость. Переключение модели может казаться бесплатным, пока вы не заметите более медленный ход, который следует за ним.
64 74
65* [Переключение моделей](#switching-models)75* [Switching models](#switching-models)
66* [Изменение уровня усилий](#changing-effort-level)76* [Changing effort level](#changing-effort-level)
67* [Включение быстрого режима](#turning-on-fast-mode)77* [Turning on fast mode](#turning-on-fast-mode)
68* [Подключение или отключение MCP сервера](#connecting-or-disconnecting-an-mcp-server)78* [Connecting or disconnecting an MCP server](#connecting-or-disconnecting-an-mcp-server)
69* [Включение или отключение плагина](#enabling-or-disabling-a-plugin)79* [Enabling or disabling a plugin](#enabling-or-disabling-a-plugin)
70* [Отказ от всего инструмента](#denying-an-entire-tool)80* [Denying an entire tool](#denying-an-entire-tool)
71* [Сжатие разговора](#compacting-the-conversation)81* [Compacting the conversation](#compacting-the-conversation)
72* [Обновление Claude Code](#upgrading-claude-code)82* [Accumulating many images](#accumulating-many-images)
83* [Upgrading Claude Code](#upgrading-claude-code)
73 84
74<h3 id="switching-models">85<h3 id="switching-models">
75 Переключение моделей86 Switching models
76</h3>87</h3>
77 88
78Каждая модель имеет свой кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю разговора без попаданий в кэш, даже если содержимое идентично.89Каждая модель имеет свой собственный кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю разговора без попаданий в кэш, даже если содержимое идентично.
90
91Когда вы запускаете `/model` в терминале, Claude Code просит вас подтвердить переключение только пока кэш еще теплый. Кэш остается теплым в течение одного [cache TTL](#cache-lifetime) после того, как Claude Code в последний раз отправил запрос в этом разговоре или Claude в последний раз ответил. После истечения этого времени кэш истекает, поэтому Claude Code переключается без запроса.
92
93До версии v2.1.238 Claude Code не проверял cache TTL и спрашивал даже после истечения кэша.
94
95Вы также можете требовать это подтверждение или пропустить его с помощью [PreModelSwitch hook](/docs/ru/hooks#premodelswitch-decision-control).
79 96
80Параметр модели [`opusplan`](/docs/ru/model-config#opusplan-model-setting) разрешается в Opus во время режима плана и Sonnet во время выполнения, поэтому каждое переключение режима плана — это переключение модели и запускает свежий кэш.97Параметр модели [`opusplan`](/docs/ru/model-config#opusplan-model-setting) разрешается в Opus во время режима плана и Sonnet во время выполнения, поэтому каждое переключение режима плана является переключением модели и запускает свежий кэш.
81 98
82[Автоматический откат модели](/docs/ru/model-config#automatic-model-fallback) на Fable 5 также является переключением модели. Когда классификатор безопасности помечает запрос, Claude Code повторно запускает его на модели Opus по умолчанию и сеанс продолжается там.99[Automatic model fallback](/docs/ru/model-config#automatic-model-fallback) на моделях Fable и Opus 5 также является переключением модели. Когда классификатор безопасности помечает запрос в категории, которая имеет резервную модель, Claude Code повторно запускает запрос на этой модели и сеанс продолжается там.
100
101Когда frontmatter навыка или команды указывает [`model`](/docs/ru/skills#frontmatter-reference), отличный от текущей модели сеанса, этот ход также является переключением модели: следующий запрос читает всю историю разговора без попаданий в кэш. Модель сеанса возобновляется при вашем следующем запросе. Навык `context: fork` устанавливает [модель разветвленного подагента](/docs/ru/skills#run-skills-in-a-subagent) вместо этого.
83 102
84<h3 id="changing-effort-level">103<h3 id="changing-effort-level">
85 Изменение уровня усилий104 Changing effort level
86</h3>105</h3>
87 106
88Кэш индексируется по [уровню усилий](/docs/ru/model-config#adjust-effort-level), а также по модели, поэтому переключение с помощью `/effort` означает, что следующий запрос читает всю историю разговора без попаданий в кэш. После начала разговора Claude Code показывает диалог подтверждения перед применением изменения усилий, которое инвалидировало бы кэш. Изменение, которое разрешается на тот же уровень, уже действующий, например явное установление значения по умолчанию модели, пропускает диалог и сохраняет кэш.107На большинстве моделей изменение [уровня усилий](/docs/ru/model-config#adjust-effort-level) в середине сеанса означает, что следующий запрос читает всю историю разговора без попаданий в кэш. Пока кэш еще теплый, Claude Code просит вас сначала подтвердить изменение.
108
109На Fable 5.1 с ключом API или подпиской Claude изменение усилий сохраняет кэш, и Claude Code применяет новый уровень без запроса. Это не применяется на Amazon Bedrock, платформе Google Cloud Agent Platform или [Claude apps gateway](/docs/ru/claude-apps-gateway), или когда вы установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) или ваша организация имеет конфигурацию HIPAA.
110
111До версии v2.1.260 изменение усилий на Fable 5.1 с ключом API или подпиской Claude также инвалидировало кэш.
89 112
90<h3 id="turning-on-fast-mode">113<h3 id="turning-on-fast-mode">
91 Включение быстрого режима114 Turning on fast mode
92</h3>115</h3>
93 116
94Включение [быстрого режима](/docs/ru/fast-mode) добавляет заголовок запроса, который является частью ключа кэша, поэтому следующий запрос читает всю историю разговора без попаданий в кэш. Эти некэшированные входные токены выставляются по [тарифам быстрого режима](/docs/ru/fast-mode#understand-the-cost-tradeoff), поэтому включение его в начале сеанса стоит дешевле, чем включение его глубоко в длинный сеанс. Включение быстрого режима из модели, отличной от Opus, также [переключает вашу модель](#switching-models), что само по себе запускает свежий кэш.117Включение [fast mode](/docs/ru/fast-mode) добавляет заголовок запроса, который является частью ключа кэша, поэтому первый запрос, который Claude Code отправляет с включенным fast mode, читает всю историю разговора без попаданий в кэш. Claude Code устанавливает этот заголовок один раз при запуске хода и сохраняет его для всего хода, поэтому когда вы включаете fast mode во время работы Claude, пропуск кэша из заголовка происходит при первом запросе вашего следующего хода. Эти некэшированные входные токены выставляются по [fast mode rates](/docs/ru/fast-mode#understand-the-cost-tradeoff), поэтому включение его в начале сеанса стоит меньше, чем включение его глубоко в длинный сеанс. Если ваша текущая модель не поддерживает fast mode, включение fast mode также [переключает вашу модель](#switching-models), и это переключение запускает свежий кэш самостоятельно с следующего запроса в текущем ходе.
95 118
96Стоимость применяется один раз за разговор. После первого хода в быстром режиме Claude Code продолжает отправлять заголовок и варьирует только параметр скорости запроса, который не является частью ключа кэша. Отключение быстрого режима, [автоматический откат к стандартной скорости](/docs/ru/fast-mode#handle-rate-limits) после ограничения скорости и повторное включение позже все сохраняют кэш. `/clear` и `/compact` сбрасывают это, поскольку они перестраивают кэш в этих точках в любом случае.119Стоимость применяется один раз за разговор. После первого хода fast mode Claude Code продолжает отправлять заголовок и варьирует только параметр скорости запроса, который не является частью ключа кэша. Отключение fast mode, [автоматический откат к стандартной скорости](/docs/ru/fast-mode#handle-rate-limits) после ограничения скорости и повторное включение позже все сохраняют кэш. Если вы [исчерпаете кредиты использования](/docs/ru/fast-mode#handle-rate-limits) в середине сеанса, Claude Code повторяет каждый отклоненный запрос fast mode на стандартной скорости таким же образом, поэтому этот откат также сохраняет кэш. `/clear` и `/compact` сбрасывают это, так как они все равно перестраивают кэш в этих точках.
97 120
98<h3 id="connecting-or-disconnecting-an-mcp-server">121<h3 id="connecting-or-disconnecting-an-mcp-server">
99 Подключение или отключение MCP сервера122 Connecting or disconnecting an MCP server
100</h3>123</h3>
101 124
102Определения инструментов находятся в слое системного запроса, поэтому кэш инвалидируется, когда набор определений инструментов в запросе изменяется между ходами. Переключение [инструмента advisor](/docs/ru/advisor) является исключением: его определение находится после точки разрыва кэша, поэтому включение или отключение `/advisor` сохраняет кэшированный префикс нетронутым. Зависит ли [изменение MCP сервера](/docs/ru/mcp) от этого, зависит от того, отложены ли его инструменты [поиском инструментов](/docs/ru/mcp#scale-with-mcp-tool-search) или загружены в префикс:125Определения инструментов находятся в слое системной подсказки, поэтому кэш инвалидируется, когда набор определений инструментов в запросе изменяется между ходами. Переключение [advisor tool](/docs/ru/advisor) является исключением: его определение находится после точки разрыва кэша, поэтому включение или отключение `/advisor` сохраняет кэшированный префикс нетронутым. Зависит ли изменение [MCP server](/docs/ru/mcp) от этого от того, отложены ли его инструменты [tool search](/docs/ru/mcp#scale-with-mcp-tool-search) или загружены в префикс:
103 126
104* **Отложенные инструменты**, по умолчанию на поддерживаемых моделях: подключение, отключение сервера или изменение его списка инструментов только добавляет новое содержимое и не нарушает ничего, что уже кэшировано.127* **Deferred tools**, по умолчанию на поддерживаемых моделях: подключение, отключение сервера или изменение его списка инструментов только добавляет новое содержимое и не нарушает ничего уже кэшированного.
105* **Инструменты, загруженные в префикс**: любое изменение их инвалидирует кэш. Это происходит, когда [поиск инструментов недоступен или отключен](/docs/ru/mcp#configure-tool-search), например на Google Cloud's Agent Platform или с пользовательским шлюзом `ANTHROPIC_BASE_URL`. Это также происходит для сервера или инструмента, отмеченного [`alwaysLoad`](/docs/ru/mcp#exempt-a-server-from-deferral), и для определений, сохраняемых впереди [загрузкой на основе порога](/docs/ru/mcp#configure-tool-search).128* **Tools loaded into the prefix**: любое изменение их инвалидирует кэш. Это происходит, когда [tool search недоступен или отключен](/docs/ru/mcp#configure-tool-search), например на моделях Google Cloud Agent Platform более ранних, чем поколение Claude 4.5, с пользовательским шлюзом `ANTHROPIC_BASE_URL` или на развертывании Microsoft Foundry [размещенном на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) после того, как Claude Code обнаружит, что развертывание отклоняет tool search. Это также происходит для сервера или инструмента, отмеченного [`alwaysLoad`](/docs/ru/mcp#exempt-a-server-from-deferral), и для определений, сохраняемых впереди [threshold-based loading](/docs/ru/mcp#configure-tool-search).
106 129
107Когда инструменты загружаются в префикс, наиболее частая причина инвалидации — это подключение или отключение сервера в середине сеанса, что может произойти без каких-либо действий с вашей стороны: процесс stdio сервера выходит, сеанс HTTP истекает, или сервер [автоматически переподключается после временного сбоя](/docs/ru/mcp#automatic-reconnection). Подключённый сервер также может отправить [динамическое обновление инструмента](/docs/ru/mcp#dynamic-tool-updates), которое изменяет его список инструментов.130Когда инструменты загружаются в префикс, наиболее частой причиной инвалидации является подключение или отключение сервера в середине сеанса, что может произойти без каких-либо действий с вашей стороны: процесс stdio сервера завершается, сеанс HTTP истекает или сервер [автоматически переподключается после временного сбоя](/docs/ru/mcp#automatic-reconnection). Подключенный сервер также может отправить [dynamic tool update](/docs/ru/mcp#dynamic-tool-updates), который изменяет его список инструментов.
108 131
109Редактирование конфигурации MCP само по себе не изменяет кэш. Новая конфигурация вступает в силу только после перезагрузки, когда сервер подключается или отключается.132Редактирование конфигурации MCP само по себе не изменяет кэш. Новая конфигурация вступает в силу только после перезагрузки, когда сервер подключается или отключается.
110 133
111<h3 id="enabling-or-disabling-a-plugin">134<h3 id="enabling-or-disabling-a-plugin">
112 Включение или отключение плагина135 Enabling or disabling a plugin
113</h3>136</h3>
114 137
115[Плагины](/docs/ru/plugins) объединяют несколько типов компонентов, и стоимость изменения зависит от того, какие компоненты предоставляет плагин. Skills, команды, агенты, hooks, LSP серверы, мониторы и темы никогда не инвалидируют кэш: все, что они добавляют в запрос, добавляется после существующего разговора, поэтому следующий запрос платит за новое содержимое, но все еще читает все, что было до него, из кэша.138Когда вы включаете или отключаете [plugin](/docs/ru/plugins), стоимость изменения зависит от того, какие типы компонентов предоставляет плагин. Случаи ниже охватывают каждый тип компонента, когда Claude Code применяет изменение и что происходит, когда вы отключаете плагин снова в том же сеансе.
139
140<h4 id="plugin-components-that-keep-the-cache">
141 Plugin components that keep the cache
142</h4>
143
144Claude Code никогда не инвалидирует кэш для навыков, команд, агентов, hooks, мониторов или тем плагина. Он добавляет их содержимое после существующего разговора, поэтому следующий запрос платит за это содержимое и все еще читает все, что было до него, из кэша.
145
146<h4 id="plugins-that-provide-mcp-servers">
147 Plugins that provide MCP servers
148</h4>
149
150Когда вы включаете или отключаете плагин, который предоставляет [MCP servers](/docs/ru/plugins-reference#mcp-servers), Claude Code следует тем же правилам, что и при [подключении или отключении MCP server](#connecting-or-disconnecting-an-mcp-server):
116 151
117Исключение — это плагин, который предоставляет [MCP серверы](/docs/ru/plugins-reference#mcp-servers). Включение или отключение одного следует тем же правилам, что и [подключение или отключение MCP сервера](#connecting-or-disconnecting-an-mcp-server): кэш сохраняется, когда инструменты сервера отложены, и следующий запрос повторно читает весь разговор, когда они загружаются в префикс.152* Если Claude Code откладывает инструменты сервера, он сохраняет кэш.
153* Если Claude Code загружает их в префикс, следующий запрос повторно читает весь разговор.
118 154
119Изменения плагина применяются при запуске [`/reload-plugins`](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) или при запуске нового сеанса. Стоимость, будь то добавленные объявления или полное повторное чтение, отображается на первом ходе после перезагрузки, а не когда вы запускаете `/plugin install`, `/plugin enable` или `/plugin disable`. Начиная с v2.1.163, когда перезагрузка вызовет полное повторное чтение, `/reload-plugins` показывает предупреждение и не применяет перезагрузку. Передайте `--force` для применения в любом случае.155<h4 id="code-intelligence-plugins">
156 Code intelligence plugins
157</h4>
120 158
121Отключение плагина, который вы включили ранее в сеансе, восстанавливает предыдущую форму запроса. Если этот префикс все еще находится в пределах своего [времени жизни кэша](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестроения.159Когда вы включаете [code intelligence plugin](/docs/ru/discover-plugins#code-intelligence), Claude получает [LSP tool](/docs/ru/tools-reference#lsp-tool-behavior).
160
161<h4 id="when-plugin-changes-apply">
162 When plugin changes apply
163</h4>
164
165Изменение, которое вы вносите в меню `/plugin`, проходит через [`/reload-plugins`](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting), которое Claude Code запускает для вас при закрытии меню. Вы платите стоимость, будь то добавленные объявления или полное повторное чтение, при первом ходе после применения изменения. Claude Code также может применить изменение самостоятельно:
166
167* Для плагина с источником `command` Claude Code [может перезагрузить плагин самостоятельно](/docs/ru/plugin-marketplaces#when-claude-code-re-runs-the-command).
168* Когда вы [устанавливаете плагин из интерфейса `/plugin`](/docs/ru/discover-plugins#install-plugins), Claude Code может активировать его во время установки. Сводка установки сообщит вам, сделал ли он это.
169* Когда вы [перемещаете сеанс с помощью `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на v2.1.246 или позже, Claude Code применяет плагины, которые включают параметры нового каталога, как часть перемещения, без полного предупреждения повторного чтения, которое удерживает `/reload-plugins`.
170* В интерактивных сеансах, когда вы добавляете или удаляете плагин в [folder of plugins](/docs/ru/plugins#test-your-plugins-locally), который вы передали с `--plugin-dir`, изменение применяется сразу же. Если применение его вызовет полное повторное чтение, Claude Code удерживает изменение и показывает уведомление для запуска `/reload-plugins`. Требует Claude Code v2.1.265 или позже.
171
172Когда `/reload-plugins` запускается и перезагрузка вызовет полное повторное чтение, Claude Code показывает предупреждение и не применяет перезагрузку. Запустите `/reload-plugins --force` для применения в любом случае.
173
174`/reload-plugins` также запускается в сеансах без интерактивного терминала, таких как настольное приложение, Agent SDK и [non-interactive mode](/docs/ru/headless) с `-p`, когда вы вводите его непосредственно в сеанс. Требует Claude Code v2.1.260 или позже.
175
176В этих сеансах перезагрузка применяет все, кроме изменений MCP сервера плагина, которые [вступают в силу в вашем следующем сеансе](/docs/ru/discover-plugins#apply-plugin-changes-without-restarting) и поэтому никогда не стоят полного повторного чтения в середине сеанса.
177
178<h4 id="plugins-you-enable-and-then-disable-in-one-session">
179 Plugins you enable and then disable in one session
180</h4>
181
182Когда вы отключаете плагин, который вы включили ранее в сеансе, Claude Code восстанавливает предыдущую форму запроса. Если этот префикс все еще находится в пределах его [cache lifetime](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестройки.
122 183
123<h3 id="denying-an-entire-tool">184<h3 id="denying-an-entire-tool">
124 Отказ от всего инструмента185 Denying an entire tool
125</h3>186</h3>
126 187
127Добавление простого имени инструмента, такого как `Bash` или `WebFetch`, в качестве [правила отказа](/docs/ru/permissions#manage-permissions) удаляет этот инструмент из контекста Claude полностью. Встроенные определения инструментов загружаются в слой системного запроса, поэтому добавление или удаление одного из этих правил в середине сеанса инвалидирует кэш. Изменение вступает в силу в следующем ходе, добавляете ли вы его через `/permissions` или путём [прямого редактирования файла параметров](/docs/ru/settings#when-edits-take-effect).188Добавление простого имени инструмента, такого как `Bash` или `WebFetch`, как [deny rule](/docs/ru/permissions#manage-permissions) удаляет этот инструмент из контекста Claude полностью. Claude Code загружает определения встроенных инструментов в слой системной подсказки, поэтому добавление или удаление одного из этих правил в середине сеанса инвалидирует кэш. Claude Code применяет изменение при следующем запросе, независимо от того, добавляете ли вы правило через `/permissions` или путем [редактирования файла параметров напрямую](/docs/ru/settings#when-edits-take-effect). Это включает правило, которое вы добавляете через `/permissions` в середине хода.
128 189
129Только правило отказа, которое совпадает в позиции имени инструмента, имеет этот эффект: простое имя инструмента, эквивалентная форма `Bash(*)` или [глоб имени инструмента](/docs/ru/permissions#tool-name-wildcards) как `"*"`. Глоб, который совпадает только с инструментами MCP, такой как `"mcp__*"`, удаляет эти инструменты так же, но оставляет кэш нетронутым, когда совпадающие инструменты [отложены](#connecting-or-disconnecting-an-mcp-server), по умолчанию, поскольку отложенные определения никогда не были в кэшированном префиксе. Правила отказа с областью действия, такие как `Bash(rm *)`, и все правила разрешения и запроса, не изменяют, какие инструменты видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.190Только правило отрицания, которое совпадает в позиции имени инструмента, имеет этот эффект: простое имя инструмента, эквивалентная форма `Bash(*)` или [tool-name glob](/docs/ru/permissions#tool-name-wildcards) как `"*"`. Glob, который совпадает только с инструментами MCP, такой как `"mcp__*"`, удаляет эти инструменты таким же образом, но оставляет кэш нетронутым, когда совпадающие инструменты [отложены](#connecting-or-disconnecting-an-mcp-server), по умолчанию, так как отложенные определения никогда не были в кэшированном префиксе. Правила отрицания с областью действия, такие как `Bash(rm *)`, и все правила разрешения и запроса не изменяют, какие инструменты видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.
130 191
131<h3 id="compacting-the-conversation">192<h3 id="compacting-the-conversation">
132 Сжатие разговора193 Compacting the conversation
133</h3>194</h3>
134 195
135[Сжатие](/docs/ru/context-window#what-survives-compaction) заменяет историю ваших сообщений резюме. По замыслу, это инвалидирует слой разговора, поскольку следующий запрос имеет новую, более короткую историю, которая не совпадает с префиксом старой. Claude Code повторно использует слой системного запроса и перезагружает контекст проекта с диска, который кэш-попадает только если CLAUDE.md и память не изменились с начала сеанса.196[Compaction](/docs/ru/context-window#what-survives-compaction) заменяет историю ваших сообщений на сводку. По замыслу, это инвалидирует слой разговора, так как следующий запрос имеет новую, более короткую историю, которая не делит префикс со старой. Claude Code повторно использует слой системной подсказки, если разговор не был [возобновлен при сохранении системной подсказки, которая иначе изменилась бы](#resuming-a-session); в этом случае первая компактизация переключается на текущую подсказку и этот слой перестраивается один раз. Он перезагружает контекст проекта с диска, который кэшируется только если CLAUDE.md и память не изменились с начала сеанса.
197
198Для создания сводки Claude Code отправляет отдельный запрос с той же системной подсказкой, инструментами и историей, что и ваш разговор, плюс инструкция суммирования, добавленная как финальное сообщение пользователя. Пока кэш теплый, этот запрос читает ваш префикс из кэша, поэтому `/compact` в середине сеанса стоит часть того, что предполагает размер контекста, и тратит большую часть времени на создание сводки.
136 199
137Чтобы создать резюме, Claude Code отправляет одноразовый запрос с тем же системным запросом, инструментами и историей, что и ваш разговор, плюс инструкция суммирования, добавленная как финальное сообщение пользователя. Поскольку он совпадает с вашим префиксом, этот запрос читает существующий кэш, а не переобрабатывает полную историю. Большая часть времени сжатия идёт на создание резюме, а не на пропуск кэша. Ход, который следует, перестраивает кэш разговора только для намного более короткого резюме, поэтому ход после сжатия — это не медленная часть.200После перерыва, превышающего [cache lifetime](#cache-lifetime), кэша не осталось для чтения, поэтому запрос суммирования повторно обрабатывает полную историю как некэшированный ввод. Вот почему `/compact` стоит больше всего, когда вы [возобновляете старый сеанс](/docs/ru/sessions#resume-from-a-summary). В обоих случаях, теплом и холодном, ход после компактизации перестраивает кэш разговора только для намного более короткой сводки, поэтому этот ход не является медленной частью.
138 201
139<Tip>202<Tip>
140 Сжатие работает в вашу пользу, когда контекст, который вы отбрасываете, — это содержимое, которое вам больше не нужно. Чтобы выбрать, когда его накладные расходы происходят, запустите `/compact` в естественном перерыве в вашей работе, например между задачами, вместо того чтобы ждать, пока автоматическое сжатие сработает в середине задачи. Если вы пошли по пути, который хотите полностью отказать, используйте [`/rewind`](#rewinding-the-conversation) к более раннему ходу вместо этого. Перемотка усекает назад к префиксу, который уже кэширован, а не строит новый, как это делает сжатие.203 Компактизация работает в вашу пользу, когда контекст, который вы отбрасываете, это содержимое, которое вам больше не нужно. Чтобы выбрать, когда происходит его накладные расходы, запустите `/compact` в естественном перерыве в вашей работе, например между задачами, вместо того чтобы ждать, пока автоматическая компактизация сработает в середине задачи. Если вы пошли по пути, который вы хотите полностью отказать, [`/rewind`](#rewinding-the-conversation) к более раннему ходу вместо этого. Перемотка усекает назад к префиксу, который уже кэширован, а не строит новый, как это делает компактизация.
141</Tip>204</Tip>
142 205
206<h3 id="accumulating-many-images">
207 Accumulating many images
208</h3>
209
210API ограничивает количество изображений и PDF-файлов, которые может содержать каждый запрос. Для текущих чисел см. [Request limits](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) в документации API. Claude Code также ограничивает общий размер изображений и PDF-файлов в запросе, поэтому большие снимки экрана достигают лимита с меньшим количеством изображений, чем маленькие.
211
212Когда следующий запрос превысит любой лимит, Claude Code удаляет партию самых старых изображений и PDF-файлов из того, что он отправляет, что освобождает место для большего количества, прежде чем ему нужно удалять снова. Claude больше не может видеть удаленные изображения. Если Claude нужно одно из них снова, поделитесь им снова.
213
214Удаление изображений изменяет сообщения, которые их содержали, поэтому следующий запрос повторно обрабатывает разговор с самого раннего из этих сообщений. Поскольку Claude Code удаляет партию за раз, вы видите один более медленный ход за партию, а не один с каждым новым снимком экрана.
215
143<h3 id="upgrading-claude-code">216<h3 id="upgrading-claude-code">
144 Обновление Claude Code217 Upgrading Claude Code
145</h3>218</h3>
146 219
147Новая версия Claude Code обычно обновляет системный запрос или определения инструментов, поэтому первый запрос после обновления перестраивает кэш с начала. [Auto-update](/docs/ru/setup#auto-updates) загружает новые версии в фоне, но применяет их при следующем запуске, никогда в середине сеанса, поэтому вы видите это как первый ход без кэша после перезагрузки, а не как сюрприз во время сеанса. Установите `DISABLE_AUTOUPDATER=1` для управления тем, когда применяются обновления.220Новая версия Claude Code обычно обновляет системную подсказку или определения инструментов, поэтому первый разговор, который вы начинаете после обновления, строит свой кэш с нуля. [Auto-update](/docs/ru/setup#auto-updates) загружает новые версии в фоновом режиме, но применяет их при следующем запуске, никогда в середине сеанса, поэтому вы видите это как некэшированный первый ход после перезагрузки, а не сюрприз во время сеанса. Установите `DISABLE_AUTOUPDATER=1` для управления тем, когда применяются обновления.
148 221
149<Note>222<Note>
150 [Возобновление сеанса](/docs/ru/sessions#resume-a-session) после обновления переобрабатывает всю историю разговора без попаданий в кэш, поскольку история теперь находится за другим системным запросом. Стоимость масштабируется с тем, как долго возобновляемый разговор, поэтому первый ход обратно в длинный сеанс может быть самым дорогим запросом, который вы отправляете.223 Для того, что стоит возобновить разговор, который вы начали до обновления, см. [Resuming a session](#resuming-a-session).
151</Note>224</Note>
152 225
153<h2 id="actions-that-keep-the-cache">226<h2 id="actions-that-keep-the-cache">
154 Действия, которые сохраняют кэш227 Действия, которые сохраняют кэш
155</h2>228</h2>
156 229
157Эти действия либо добавляют в конец разговора, либо вообще не трогают запрос. Некоторые из них, такие как редактирование CLAUDE.md или изменение стиля вывода, также являются причиной того, почему изменение параметра ждёт перезагрузки для применения.230Эти действия либо добавляют информацию в конец разговора, либо вообще не трогают запрос. Некоторые из них, такие как редактирование CLAUDE.md, сохраняют кэш по той же причине, по которой изменение не достигает запущенной сессии до `/clear`, `/compact` или перезагрузки.
158 231
159* [Редактирование файлов в вашем репозитории](#editing-files-in-your-repository)232* [Редактирование файлов в вашем репозитории](#editing-files-in-your-repository)
160* [Редактирование CLAUDE.md в середине сеанса](#editing-claude-md-mid-session)233* [Редактирование CLAUDE.md во время сессии](#editing-claude-md-mid-session)
161* [Изменение стиля вывода](#changing-output-style)
162* [Изменение режима разрешений](#changing-permission-mode)234* [Изменение режима разрешений](#changing-permission-mode)
235* [Изменение стиля вывода](#changing-output-style)
163* [Вызов skills и команд](#invoking-skills-and-commands)236* [Вызов skills и команд](#invoking-skills-and-commands)
164* [Запуск `/recap`](#running-%2Frecap)237* [Запуск `/recap`](#running-%2Frecap)
165* [Перемотка разговора](#rewinding-the-conversation)238* [Откат разговора](#rewinding-the-conversation)
166* [Создание подагента](#subagents-and-the-cache)239* [Создание подагента](#subagents-and-the-cache)
167 240
168<h3 id="editing-files-in-your-repository">241<h3 id="editing-files-in-your-repository">
169 Редактирование файлов в вашем репозитории242 Редактирование файлов в вашем репозитории
170</h3>243</h3>
171 244
172Содержимое файлов входит в контекст только когда Claude их читает, и чтения добавляются в разговор. Редактирование файла, который Claude ранее читал, не ретроактивно изменяет более раннее чтение в истории. Вместо этого Claude Code добавляет `<system-reminder>`, отмечая, что файл изменился, и Claude повторно читает его, если необходимо.245Содержимое файлов попадает в контекст только когда Claude их читает, а чтения добавляются в разговор. Редактирование файла, который Claude ранее прочитал, не изменяет ретроактивно более раннее чтение в истории. Вместо этого Claude Code добавляет `<system-reminder>`, отмечая, что файл изменился, и Claude перечитывает его при необходимости.
173 246
174<h3 id="editing-claude-md-mid-session">247<h3 id="editing-claude-md-mid-session">
175 Редактирование CLAUDE.md в середине сеанса248 Редактирование CLAUDE.md во время сессии
176</h3>249</h3>
177 250
178Ваши файлы CLAUDE.md на уровне корня проекта и пользователя читаются один раз в начале сеанса и хранятся в памяти. Редактирование их в середине сеанса не инвалидирует кэш, но редактирование также не применяется. Claude продолжает работать с версией, которая была загружена в начале сеанса. Новое содержимое загружается при следующем `/clear`, `/compact` или перезагрузке.251Ваши файлы CLAUDE.md на уровне корня проекта и пользователя читаются один раз при запуске сессии и хранятся в памяти. Редактирование их во время сессии не инвалидирует кэш, но редактирование также не применяется. Claude продолжает работать с версией, которая была загружена при запуске сессии. Новое содержимое загружается при следующем `/clear`, `/compact` или перезагрузке.
179 252
180[Вложенные файлы CLAUDE.md в подкаталогах](/docs/ru/memory) и [правила с frontmatter `paths:`](/docs/ru/memory#path-specific-rules) загружаются позже, когда Claude впервые читает совпадающий файл. Редактирование одного до его загрузки вступает в силу. После загрузки содержимое является частью истории разговора, поэтому редактирование в середине сеанса не ретроактивно его изменяет.253[Вложенные файлы CLAUDE.md в подпапках](/docs/ru/memory) и [правила с фронтматтером `paths:`](/docs/ru/memory#path-specific-rules) загружаются позже, когда Claude впервые читает соответствующий файл. Редактирование одного до его загрузки действительно вступает в силу. После загрузки содержимое становится частью истории разговора, поэтому редактирование во время сессии не изменяет его ретроактивно.
181 254
182<h3 id="changing-output-style">255<h3 id="changing-permission-mode">
183 Изменение стиля вывода256 Изменение режима разрешений
184</h3>257</h3>
185 258
186[Стиль вывода](/docs/ru/output-styles) является частью системного запроса, который Claude Code читает один раз в начале сеанса. Изменение его через `/config` или параметр `outputStyle` в середине сеанса не инвалидирует кэш, но изменение также не применяется. Claude продолжает использовать стиль, который был загружен в начале сеанса. Новый стиль загружается при следующем `/clear` или перезагрузке.259Переключение между [режимами разрешений](/docs/ru/permission-modes), например с Manual на принятие редактирования, не изменяет системный запрос или определения инструментов, поэтому изменения режима безопасны для кэша. Исключением является режим плана с параметром модели [`opusplan`](/docs/ru/model-config#opusplan-model-setting), который переключает модель между Opus и Sonnet при входе или выходе из режима плана. Это делает переключение режима [переключением модели](#switching-models).
187 260
188<h3 id="changing-permission-mode">261<h3 id="changing-output-style">
189 Изменение режима разрешений262 Изменение стиля вывода
190</h3>263</h3>
191 264
192Переключение между [режимами разрешений](/docs/ru/permission-modes), например с по умолчанию на принятие редактирований, не изменяет системный запрос или определения инструментов, поэтому изменения режима безопасны для кэша. Исключение — режим плана с параметром модели [`opusplan`](/docs/ru/model-config#opusplan-model-setting), который переключает модель между Opus и Sonnet при входе или выходе из режима плана. Это делает переключение режима [переключением модели](#switching-models).265Когда вы переключаете [стили вывода](/docs/ru/output-styles) во время сессии с помощью `/config` или параметра `outputStyle`, Claude использует новый стиль начиная со следующего сообщения. Claude Code доставляет инструкции нового стиля как сообщение в разговоре, поэтому этот запрос по-прежнему читает системный запрос и более ранний разговор из кэша.
266
267До версии 2.1.251 переключение стиля во время сессии сохраняло кэш, но не применялось до запуска `/clear` или начала новой сессии.
193 268
194<h3 id="invoking-skills-and-commands">269<h3 id="invoking-skills-and-commands">
195 Вызов skills и команд270 Вызов skills и команд
196</h3>271</h3>
197 272
198[Skills](/docs/ru/skills) и [команды](/docs/ru/commands) вводят свои инструкции как сообщения пользователя в точке вызова. Ничего более раннего в разговоре не изменяется.273[Skills](/docs/ru/skills) и [команды](/docs/ru/commands) вводят свои инструкции как пользовательские сообщения в точке вызова. Ничего более раннего в разговоре не изменяется. Skill или команда, чей фронтматтер называет `model`, может быть [переключением модели](#switching-models) для этого хода.
199 274
200<h3 id="running-/recap">275<h3 id="running-/recap">
201 Запуск `/recap`276 Запуск `/recap`
202</h3>277</h3>
203 278
204[`/recap`](/docs/ru/interactive-mode#session-recap) создаёт резюме для отображения в вашем терминале. В отличие от `/compact`, оно добавляет резюме как вывод команды, а не заменяет историю ваших сообщений, поэтому кэшированный префикс остаётся нетронутым.279[`/recap`](/docs/ru/interactive-mode#session-recap) генерирует сводку для отображения в вашем терминале. В отличие от `/compact`, она добавляет сводку как вывод команды, а не заменяет историю ваших сообщений, поэтому кэшированный префикс остается нетронутым.
205 280
206<h3 id="rewinding-the-conversation">281<h3 id="rewinding-the-conversation">
207 Перемотка разговора282 Откат разговора
208</h3>283</h3>
209 284
210[`/rewind`](/docs/ru/checkpointing) усекает ваш разговор назад к более раннему ходу. Оставшаяся история — это то же содержимое, из которого кэш был построен в то время, и слои системного запроса и контекста проекта не изменены, поэтому следующий запрос попадает в более раннюю запись кэша. Каждый ход с тех пор читал через этот префикс, который держал запись в тепле, даже если исходный ход был давно, чем TTL.285[`/rewind`](/docs/ru/checkpointing) усекает ваш разговор до более раннего хода. Оставшаяся история — это то же содержимое, из которого был построен кэш в этот момент, и системный запрос и слои контекста проекта не изменяются, поэтому следующий запрос попадает на более раннюю запись кэша. Каждый ход с тех пор читал через этот префикс, что держал запись в тепле даже если исходный ход был давно, чем TTL.
286
287Восстановление контрольных точек файлов вместе с разговором не имеет отдельного эффекта на кэш. Содержимое файлов попадает в контекст только когда Claude их читает, так же как [редактирование файлов в вашем репозитории](#editing-files-in-your-repository).
288
289<h2 id="resuming-a-session">
290 Возобновление сеанса
291</h2>
292
293Когда вы [возобновляете сеанс](/docs/ru/sessions#resume-a-session), Claude Code отправляет всю беседу снова, и запрос читает из кэша ту часть своего префикса, которая не изменилась и все еще находится в пределах [времени жизни кэша](#cache-lifetime). Таблица слоев в верхней части этой страницы показывает, что изменяется в каждом слое.
211 294
212Восстановление контрольных точек файлов вместе с разговором не имеет отдельного эффекта на кэш. Содержимое файлов входит в контекст только когда Claude их читает, то же самое, что [редактирование файлов в вашем репозитории](#editing-files-in-your-repository).295Системный запрос изменится после [обновления Claude Code](#upgrading-claude-code) или с другим текстом [`--append-system-prompt`](/docs/ru/cli-reference#system-prompt-flags) при возобновлении. По умолчанию возобновленная беседа сохраняет системный запрос, с которого она началась, поэтому его история по-прежнему находится за тем же запросом, и изменение вступает в силу после компактификации беседы или в новой беседе. [Флаги системного запроса в возобновленных беседах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations) охватывает `--system-prompt-snapshot off` и режим bare, где это не применяется.
213 296
214<h2 id="cache-lifetime">297<h2 id="cache-lifetime">
215 Время жизни кэша298 Время жизни кэша
216</h2>299</h2>
217 300
218Кэшированные префиксы истекают после периода неактивности. Каждый запрос, который попадает в кэш, сбрасывает таймер, поэтому кэш остаётся в тепле, пока вы продолжаете работать. После достаточно длительного перерыва следующий запрос пересчитывает полный ввод и повторно устанавливает кэш, что является причиной того, почему первый ход после отсутствия может быть заметно медленнее.301Кэшированные префиксы истекают после периода неактивности. Каждый запрос, который попадает в кэш, сбрасывает таймер, поэтому кэш остаётся активным, пока вы продолжаете работать. После достаточно длительного перерыва следующий запрос пересчитывает полный ввод и переустанавливает кэш, поэтому первый ход после перерыва может быть заметно медленнее.
302
303В плане Pro или Max, когда вы возобновляете большую сессию после длительного перерыва, Claude Code [предлагает возобновить работу из сводки](/docs/ru/sessions#resume-from-a-summary), чтобы последующие запросы не несли полную историю.
219 304
220Время жизни (TTL) контролирует, как долго перерыв кэш выживает. API предлагает два: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#1-hour-cache-duration), который держит кэш в тепле через более длительные перерывы, но [выставляет счёт за записи кэша по более высокой ставке](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#pricing). Claude Code выбирает TTL для вас на основе того, как вы аутентифицируетесь, и вы можете переопределить его переменными окружения.305Время жизни (TTL) контролирует, как долго кэш может пережить перерыв. API предлагает два варианта: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration), который поддерживает кэш в активном состоянии во время более длительных перерывов, но [выставляет счета за записи в кэш по более высокому тарифу](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Более длительный TTL помогает, когда вы оставляете сессию неактивной и возвращаетесь к ней, потому что вы избегаете переобработки, которая стоит истекшему префиксу. Это стоит дороже при коротких всплесках работы, которые никогда не простаивают более пяти минут, где применяется более высокий тариф записи и более длительное время жизни кэша остаётся неиспользованным.
221 306
222<h3 id="on-a-claude-subscription">307<h3 id="which-ttl-each-request-gets">
223 На подписке Claude308 Какой TTL получает каждый запрос
224</h3>309</h3>
225 310
226На подписке Claude, Claude Code автоматически запрашивает одночасовой TTL. Использование включено в ваш план, а не выставляется счётом за токен, поэтому более длительный TTL не стоит вам ничего дополнительного и только влияет на то, как долго ваш кэш остаётся в тепле.311Claude Code определяет TTL для каждого запроса, и каждый запрос попадает в один из двух фиксированных наборов:
227 312
228Если вы превысили лимит использования вашего плана и Claude Code использует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), вам выставляется счёт за это использование, поэтому Claude Code автоматически снижает TTL до пяти минут.313* **Основной разговор**: ваши интерактивные ходы, неинтерактивные запуски `-p` и ходы Agent SDK, плюс помощники, которые Claude Code запускает встроенно с ними
314* **Всё остальное**: запросы, которые Claude Code делает вне этого разговора, такие как [подагенты](/docs/ru/sub-agents), [рабочие процессы](/docs/ru/workflows), встроенные [товарищи по команде](/docs/ru/agent-teams), форки, компактизация и названия сессий
229 315
230<h3 id="on-an-api-key-or-third-party-provider">316Если вы не выбираете TTL самостоятельно, Claude Code запрашивает одночасовой TTL только в подписке Claude в рамках включённого использования вашего плана. Там он запрашивает час для основного разговора, плюс небольшой набор вспомогательных запросов, которые Anthropic контролирует на стороне сервера. Эта таблица показывает стандартный TTL каждого набора при обоих видах выставления счётов.
231 На API ключе или стороннем провайдере
232</h3>
233 317
234На API ключе, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform on AWS, вы платите по ставкам за токен, поэтому TTL остаётся по умолчанию дешевле пять минут. Чтобы выбрать [одночасовой TTL](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#1-hour-cache-duration), установите `ENABLE_PROMPT_CACHING_1H=1`.318| Набор запросов | Подписка Claude, в рамках использования плана | Кредиты использования, API ключ или облачный провайдер |
319| ----------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
320| Основной разговор | Один час | Пять минут |
321| Всё остальное | Пять минут, кроме контролируемых сервером вспомогательных запросов, которые получают один час | Пять минут |
235 322
236На Amazon Bedrock, поддержка prompt caching, минимальная длина кэшируемого префикса и доступность одночасового TTL варьируются по модели. Если счётчики токенов кэша остаются на нуле, проверьте [поддерживаемые модели, регионы и лимиты](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) в документации Amazon Bedrock.323Как только вы превышаете лимит использования вашего плана и Claude Code использует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), вам выставляется счёт за это использование, поэтому Claude Code переводит основной разговор на более дешёвый пятиминутный TTL. Чтобы сохранить одночасовой TTL там, [выберите TTL самостоятельно](#choose-the-ttl-yourself).
237 324
238<h3 id="override-the-ttl">325<h3 id="choose-the-ttl-yourself">
239 Переопределить TTL326 Выберите TTL самостоятельно
240</h3>327</h3>
241 328
242Установите `FORCE_PROMPT_CACHING_5M=1` для принудительного пятиминутного TTL независимо от аутентификации. Это полезно, когда вы отлаживаете поведение кэша, сравниваете два TTL или переопределяете `ENABLE_PROMPT_CACHING_1H`, установленный в [управляемых параметрах](/docs/ru/settings#settings-files).329Вы можете установить TTL для любого набора. Каждый элемент управления принимает `5m` или `1h`, и Claude Code игнорирует любое другое значение.
330
331* **Основной разговор**: параметр [`promptCacheTtl`](/docs/ru/settings-reference#promptcachettl) или переменная окружения `CLAUDE_CODE_PROMPT_CACHE_TTL` [environment variable](/docs/ru/env-vars)
332* **Всё остальное**: параметр [`subagentPromptCacheTtl`](/docs/ru/settings-reference#subagentpromptcachettl) или переменная окружения `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`
333
334Оба параметра и обе переменные окружения требуют Claude Code v2.1.242 или более поздней версии. Если вы входите с помощью API ключа или используете облачного провайдера, установите `promptCacheTtl` на `1h`, чтобы дать основному разговору кэш на один час. Запросы вне его сохраняют пятиминутное значение по умолчанию, пока вы не выберете TTL для этого набора тоже.
335
336Когда применяется более одного элемента управления, Claude Code берёт первое совпадение в этом порядке:
337
3381. `FORCE_PROMPT_CACHING_5M=1`, который принудительно устанавливает пять минут для обоих наборов
3392. Переменная окружения набора
3403. Параметр набора
3414. Для запросов подагента значение `cacheTtl` в поле frontmatter [`experimental`](/docs/ru/sub-agents#supported-frontmatter-fields) подагента, которое требует Claude Code v2.1.248 или более поздней версии. Claude Code игнорирует `1h` там, пока ваша подписка Claude использует кредиты использования
3425. `ENABLE_PROMPT_CACHING_1H=1`, который запрашивает один час для обоих наборов
3436. [Значение по умолчанию для набора запроса](#which-ttl-each-request-gets)
344
345Установите `FORCE_PROMPT_CACHING_5M=1`, когда вы отлаживаете поведение кэша, сравниваете два TTL или переопределяете более длительный TTL, установленный в [управляемых параметрах](/docs/ru/managed-settings).
346
347Чтобы подтвердить, какой TTL использовали записи в кэш вашего основного разговора, запустите `claude -p "hello" --output-format json` и прочитайте `usage.cache_creation` в результате. Claude Code сообщает одночасовые записи в кэш под `ephemeral_1h_input_tokens` и пятиминутные записи в кэш под `ephemeral_5m_input_tokens`.
348
349Через шлюз LLM, который вы установили с помощью `ANTHROPIC_BASE_URL`, часть одночасового запроса проходит в заголовке `anthropic-beta`, поэтому настройте шлюз на [пересылку этого заголовка без изменений](/docs/ru/llm-gateway-protocol#request-headers). Одночасовой TTL недоступен через [шлюз приложений Claude](/docs/ru/claude-apps-gateway#availability-and-limitations). На Amazon Bedrock поддержка кэширования подсказок, минимальная длина кэшируемого префикса и доступность одночасового TTL варьируются в зависимости от модели. Если счётчики токенов кэша остаются на нуле, проверьте [поддерживаемые модели, регионы и ограничения](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models) в документации Amazon Bedrock.
243 350
244<h2 id="cache-scope">351<h2 id="cache-scope">
245 Область действия кэша352 Область действия кэша
246</h2>353</h2>
247 354
248В Claude Code кэш эффективно ограничен одной машиной и каталогом. Системный запрос встраивает рабочий каталог, платформу, оболочку, версию ОС и пути автоматической памяти, поэтому два сеанса в разных каталогах строят разные префиксы и пропускают кэш друг друга. Это включает worktrees одного и того же репозитория, поскольку каждый worktree имеет свой рабочий каталог.355В Claude Code кэш фактически ограничен одной машиной и директорией. Каждый разговор содержит рабочую директорию, платформу, оболочку и версию ОС, а системный запрос называет пути вашей автоматической памяти, поэтому две сессии в разных директориях создают разные префиксы и не попадают в кэш друг друга. Это включает worktrees одного и того же репозитория, поскольку каждый worktree имеет свою собственную рабочую директорию.
249 356
250Сеансы, которые вы запускаете параллельно в одном каталоге, строят совпадающие префиксы и читают кэш друг друга. Последовательные сеансы совпадают с префиксом только когда снимок статуса git при запуске совпадает, поскольку системный запрос также захватывает ветвь и недавние коммиты.357Сессии, которые вы запускаете параллельно в одной директории, создают совпадающие префиксы и читают кэш друг друга. Последовательные сессии совместно используют префикс только когда снимок состояния git, сделанный при запуске, совпадает, поскольку каждый разговор также содержит ветку и недавние коммиты из этого снимка.
251 358
252Базовый кэш API шире. Кэши изолированы между организациями и на некоторых провайдерах [между рабочими пространствами в организации](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#cache-storage-and-sharing). В этих границах любые два запроса с одной и той же моделью и префиксом читают один и тот же кэш. Для вызывающих Agent SDK, запускающих флоты автоматизированных процессов, см. [улучшение prompt caching между пользователями и машинами](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) для подавления разделов системного запроса для каждой машины и совместного использования кэша между машинами.359Базовый кэш API шире. Кэши изолированы между организациями и на некоторых поставщиках, [между рабочими пространствами в организации](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). В этих границах любые два запроса с одной и той же моделью и префиксом читают один и тот же кэш. Для вызывающих Agent SDK, запускающих флоты автоматизированных процессов, см. [улучшение кэширования запросов для нескольких пользователей и машин](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines), чтобы подавить разделы системного запроса для каждой машины и совместно использовать кэш на разных машинах.
253 360
254<h2 id="check-cache-performance">361<h2 id="check-cache-performance">
255 Проверка производительности кэша362 Проверка производительности кэша
256</h2>363</h2>
257 364
258Производительность кэша отображается как два счётчика токенов, которые API сообщает при каждом ответе. Наиболее прямой способ наблюдать их в реальном времени — это [скрипт строки состояния](/docs/ru/statusline), который читает объект `current_usage`:365Производительность кэша отображается в виде двух подсчётов токенов, которые API сообщает в каждом ответе. Наиболее прямой способ отслеживать их в реальном времени — это [скрипт строки состояния](/docs/ru/statusline), который читает объект `current_usage`:
259 366
260| Поле | Значение |367| Поле | Значение |
261| ----------------------------- | ----------------------------------------------------------------------------------------------------------- |368| ----------------------------- | --------------------------------------------------------------------------------------------------- |
262| `cache_creation_input_tokens` | Токены, записанные в кэш при этом ходе, выставленные счётом по ставке записи кэша |369| `cache_creation_input_tokens` | Токены, записанные в кэш на этом ходу, выставляются по ставке записи в кэш |
263| `cache_read_input_tokens` | Токены, обслуживаемые из кэша при этом ходе, выставленные счётом примерно в 10% от стандартной ставки ввода |370| `cache_read_input_tokens` | Токены, обслуживаемые из кэша на этом ходу, выставляются примерно в 10% от стандартной ставки ввода |
371
372Высокое соотношение чтения к созданию означает, что кэширование работает хорошо. Если создание остаётся высоким ход за ходом, что-то меняется в вашем префиксе. В разделе [действия, которые инвалидируют кэш](#actions-that-invalidate-the-cache) перечислены обычные причины.
264 373
265Высокое соотношение чтения к созданию означает, что кэширование работает хорошо. Если создание остаётся высоким ход за ходом, что-то изменяется в вашем префиксе. Раздел [действия, которые инвалидируют кэш](#actions-that-invalidate-the-cache) перечисляет обычные причины.374Для сводки по сеансу запустите `/usage`. После первого ответа основного разговора Claude Code добавляет строку [`Prompt cache (main)`](/docs/ru/costs#prompt-cache-statistics) в блок сеанса, показывающую коэффициент попаданий сеанса, количество промахов и то, горячий ли кэш прямо сейчас. Скрипт строки состояния может читать те же числа из [объекта `prompt_cache`](/docs/ru/statusline#prompt-cache-fields). Оба требуют Claude Code v2.1.251 или позже.
266 375
267Для видимости по организации, экспортер OpenTelemetry сообщает токены чтения и создания кэша на пользователя и сеанс. См. [Мониторинг использования](/docs/ru/monitoring-usage) для справочника метрик и атрибутов событий.376Строка `Prompt cache (main)` также называет вероятную причину последнего промаха, когда Claude Code может её определить, например `likely cause: tool definitions changed`. Текст вероятной причины требует Claude Code v2.1.260 или позже.
377
378Для видимости в масштабах организации экспортер OpenTelemetry сообщает токены чтения и создания кэша для каждого пользователя и сеанса. Справку по метрикам и атрибутам событий см. в разделе [Мониторинг использования](/docs/ru/monitoring-usage).
268 379
269<h2 id="subagents-and-the-cache">380<h2 id="subagents-and-the-cache">
270 Подагенты и кэш381 Подагенты и кэш
271</h2>382</h2>
272 383
273[Подагент](/docs/ru/sub-agents) начинает свой собственный разговор со своим собственным системным запросом и набором инструментов, отдельно от родительского. Он строит свой собственный кэш, начиная без попаданий в кэш при первом вызове и прогреваясь через свои собственные ходы. Подагенты используют пятиминутный TTL даже на подписке, поскольку автоматический одночасовой TTL применяется к основному разговору.384[Подагент](/docs/ru/sub-agents) начинает свой собственный разговор со своим собственным системным приглашением и набором инструментов, отдельно от родительского. Его первый запрос не читает кэш родителя, потому что два префикса отличаются, и он прогревает свой собственный кэш на протяжении своих ходов. Подагенты находятся вне основного разговора [TTL bucket](#which-ttl-each-request-gets), поэтому они получают пять минут даже по подписке, пока вы не [выберете более длительный](#choose-the-ttl-yourself).
385
386Кэш родителя не затронут. Со стороны родителя, вызов подагента и результат добавляются к разговору, оставляя префикс родителя нетронутым.
387
388[Ветвь](/docs/ru/sub-agents#fork-the-current-conversation), напротив, наследует системное приглашение родителя, инструменты и историю разговора точно, поэтому её первый запрос читает кэш родителя.
274 389
275Кэш родителя не затронут. Со стороны родителя, вызов подагента и результат добавляются в разговор, оставляя префикс родителя нетронутым.390Другие запросы также могут читать префикс, который более ранний запрос поместил в кэш:
276 391
277[Ветвление](/docs/ru/sub-agents#fork-the-current-conversation), напротив, наследует системный запрос родителя, инструменты и историю разговора точно, поэтому его первый запрос читает кэш родителя. Вызов суммирования сжатия, описанный в [Сжатие разговора](#compacting-the-conversation), использует тот же подход совпадения префиксов.392* **Копии сеанса**: сеанс, который вы [копируете с помощью `/fork`](/docs/ru/agent-view#copy-the-session-with-%2Ffork), получает свою инструкцию изоляции как сообщение в конце скопированного разговора, поэтому кэш, который построил исходный разговор, остаётся нетронутым.
393* **Компактизация**: вызов суммаризации, описанный в [Компактизация разговора](#compacting-the-conversation), использует тот же подход совместного использования префикса.
394* **Возобновленные подагенты**: когда Claude [возобновляет подагента](/docs/ru/sub-agents#resume-subagents), первый запрос возобновленного запуска может читать кэш, который прогрел исходный запуск.
395* **Развертывания рабочего процесса**: в [развертывании рабочего процесса](/docs/ru/workflows#prompt-caching-in-a-fan-out) агентов с одинаковым префиксом Claude Code удерживает все, кроме первого, до 5 секунд по умолчанию, поэтому их первые запросы могут читать префикс, который поместил в кэш первый агент.
278 396
279<h2 id="disable-prompt-caching">397<h2 id="disable-prompt-caching">
280 Отключение prompt caching398 Отключение prompt caching
281</h2>399</h2>
282 400
283Отключение кэширования иногда полезно при отладке поведения кэширования с конкретной моделью или провайдером. Чтобы отключить его, установите одну из этих переменных окружения на `1`:401Отключение кеширования иногда полезно при отладке поведения кеширования с конкретной моделью или провайдером. Чтобы отключить его, установите одну из этих переменных окружения на `1`:
284 402
285| Переменная | Эффект |403| Переменная | Эффект |
286| ------------------------------- | --------------------------- |404| ------------------------------- | --------------------------- |
287| `DISABLE_PROMPT_CACHING` | Отключить для всех моделей |405| `DISABLE_PROMPT_CACHING` | Отключить для всех моделей |
288| `DISABLE_PROMPT_CACHING_HAIKU` | Отключить для Haiku только |406| `DISABLE_PROMPT_CACHING_HAIKU` | Отключить только для Haiku |
289| `DISABLE_PROMPT_CACHING_SONNET` | Отключить для Sonnet только |407| `DISABLE_PROMPT_CACHING_SONNET` | Отключить только для Sonnet |
290| `DISABLE_PROMPT_CACHING_OPUS` | Отключить для Opus только |408| `DISABLE_PROMPT_CACHING_OPUS` | Отключить только для Opus |
291| `DISABLE_PROMPT_CACHING_FABLE` | Отключить для Fable только |409| `DISABLE_PROMPT_CACHING_FABLE` | Отключить только для Fable |
292 410
293Чтобы установить политику кэширования по организации, поместите любую из этих или [переменных TTL](#cache-lifetime) в блок `env` [управляемых параметров](/docs/ru/settings#settings-files). Для нормального использования оставьте кэширование включённым.411Чтобы установить политику кеширования в масштабах организации, поместите любую из этих переменных или [переменные TTL](#cache-lifetime) в блок `env` [управляемых параметров](/docs/ru/managed-settings). Для обычного использования оставьте кеширование включенным.
294 412
295<h2 id="related-resources">413<h2 id="related-resources">
296 Связанные ресурсы414 Связанные ресурсы