Редактирование контекста
Редактирование контекста в настоящее время находится в бета-версии с поддержкой очистки результатов инструментов и очистки блоков мышления. Чтобы включить его, используйте бета-заголовок context-management-2025-06-27 в ваших запросах API.
Пожалуйста, поделитесь своим отзывом об этой функции через нашу форму обратной связи.
Обзор
Редактирование контекста позволяет вам автоматически управлять контекстом беседы по мере его роста, помогая вам оптимизировать затраты и оставаться в пределах лимитов контекстного окна. API предоставляет различные стратегии управления контекстом:
- Очистка результатов инструментов (
clear_tool_uses_20250919): Автоматически очищает пары использования инструментов/результатов, когда контекст беседы превышает установленный вами порог - Очистка блоков мышления (
clear_thinking_20251015): Управляет блоками мышления путем очистки старых блоков мышления из предыдущих ходов
Каждую стратегию можно настроить независимо и применять вместе для оптимизации вашего конкретного случая использования.
Стратегии редактирования контекста
Очистка результатов инструментов
Стратегия clear_tool_uses_20250919 очищает результаты инструментов, когда контекст беседы растет сверх установленного вами порога. При активации API автоматически очищает самые старые результаты инструментов в хронологическом порядке, заменяя их текстом-заполнителем, чтобы Claude знал, что результат инструмента был удален. По умолчанию очищаются только результаты инструментов. Вы можете дополнительно очистить как результаты инструментов, так и вызовы инструментов (параметры использования инструмента), установив clear_tool_inputs в значение true.
Очистка блоков мышления
Стратегия clear_thinking_20251015 управляет блоками thinking в беседах, когда включено расширенное мышление. Эта стратегия автоматически очищает старые блоки мышления из предыдущих ходов.
Поведение по умолчанию: Когда расширенное мышление включено без настройки стратегии clear_thinking_20251015, API автоматически сохраняет только блоки мышления из последнего хода ассистента (эквивалентно keep: {type: "thinking_turns", value: 1}).
Чтобы максимизировать попадания в кэш, сохраните все блоки мышления, установив keep: "all".
Ход беседы ассистента может включать несколько блоков контента (например, при использовании инструментов) и несколько блоков мышления (например, при чередующемся мышлении).
Редактирование контекста происходит на стороне сервера
Редактирование контекста применяется на стороне сервера перед тем, как подсказка достигает Claude. Ваше клиентское приложение сохраняет полную, неизмененную историю беседы — вам не нужно синхронизировать состояние вашего клиента с отредактированной версией. Продолжайте управлять полной историей беседы локально, как обычно.
Редактирование контекста и кэширование подсказок
Взаимодействие редактирования контекста с кэшированием подсказок варьируется в зависимости от стратегии:
-
Очистка результатов инструментов: Делает недействительными кэшированные префиксы подсказок при очистке контента. Чтобы учесть это, мы рекомендуем очищать достаточно токенов, чтобы сделать инвалидацию кэша стоящей. Используйте параметр
clear_at_least, чтобы гарантировать, что минимальное количество токенов будет очищено каждый раз. Вы будете нести расходы на запись в кэш каждый раз, когда контент очищается, но последующие запросы могут повторно использовать вновь кэшированный префикс. -
Очистка блоков мышления: Когда блоки мышления сохраняются в контексте (не очищаются), кэш подсказок сохраняется, обеспечивая попадания в кэш и снижая затраты на входные токены. Когда блоки мышления очищаются, кэш делается недействительным в точке, где происходит очистка. Настройте параметр
keepв зависимости от того, хотите ли вы приоритизировать производительность кэша или доступность контекстного окна.
Поддерживаемые модели
Редактирование контекста доступно на:
- Claude Opus 4.1 (
claude-opus-4-1-20250805) - Claude Opus 4 (
claude-opus-4-20250514) - Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Claude Sonnet 4 (
claude-sonnet-4-20250514) - Claude Haiku 4.5 (
claude-haiku-4-5-20251001)
Использование очистки результатов инструментов
Самый простой способ включить очистку результатов инструментов — указать только тип стратегии, так как все остальные параметры конфигурации будут использовать значения по умолчанию:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "anthropic-beta: context-management-2025-06-27" \
--data '{
"model": "claude-sonnet-4-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Search for recent developments in AI"
}
],
"tools": [
{
"type": "web_search_20250305",
"name": "web_search"
}
],
"context_management": {
"edits": [
{"type": "clear_tool_uses_20250919"}
]
}
}'response = client.beta.messages.create(
model="claude-sonnet-4-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Search for recent developments in AI"
}
],
tools=[
{
"type": "web_search_20250305",
"name": "web_search"
}
],
betas=["context-management-2025-06-27"],
context_management={
"edits": [
{"type": "clear_tool_uses_20250919"}
]
}
)import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const response = await anthropic.beta.messages.create({
model: "claude-sonnet-4-5",
max_tokens: 4096,
messages: [
{
role: "user",
content: "Search for recent developments in AI"
}
],
tools: [
{
type: "web_search_20250305",
name: "web_search"
}
],
context_management: {
edits: [
{ type: "clear_tool_uses_20250919" }
]
},
betas: ["context-management-2025-06-27"]
});Расширенная конфигурация
Вы можете настроить поведение очистки результатов инструментов с помощью дополнительных параметров:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "anthropic-beta: context-management-2025-06-27" \
--data '{
"model": "claude-sonnet-4-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Create a simple command line calculator app using Python"
}
],
"tools": [
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool",
"max_characters": 10000
},
{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": 3
}
],
"context_management": {
"edits": [
{
"type": "clear_tool_uses_20250919",
"trigger": {
"type": "input_tokens",
"value": 30000
},
"keep": {
"type": "tool_uses",
"value": 3
},
"clear_at_least": {
"type": "input_tokens",
"value": 5000
},
"exclude_tools": ["web_search"]
}
]
}
}'Использование очистки блоков мышления
Включите очистку блоков мышления для эффективного управления контекстом и кэшированием подсказок, когда включено расширенное мышление:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "anthropic-beta: context-management-2025-06-27" \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [...],
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"context_management": {
"edits": [
{
"type": "clear_thinking_20251015",
"keep": {
"type": "thinking_turns",
"value": 2
}
}
]
}
}'Параметры конфигурации для очистки блоков мышления
Стратегия clear_thinking_20251015 поддерживает следующую конфигурацию:
| Параметр конфигурации | По умолчанию | Описание |
|---|---|---|
keep | {type: "thinking_turns", value: 1} | Определяет, сколько последних ходов ассистента с блоками мышления сохранять. Используйте {type: "thinking_turns", value: N}, где N должно быть > 0, чтобы сохранить последние N ходов, или "all", чтобы сохранить все блоки мышления. |
Примеры конфигураций:
// Keep thinking blocks from the last 3 assistant turns
{
"type": "clear_thinking_20251015",
"keep": {
"type": "thinking_turns",
"value": 3
}
}
// Keep all thinking blocks (maximizes cache hits)
{
"type": "clear_thinking_20251015",
"keep": "all"
}Комбинирование стратегий
Вы можете использовать очистку блоков мышления и очистку результатов инструментов вместе:
При использовании нескольких стратегий стратегия clear_thinking_20251015 должна быть указана первой в массиве edits.
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[...],
thinking={
"type": "enabled",
"budget_tokens": 10000
},
tools=[...],
betas=["context-management-2025-06-27"],
context_management={
"edits": [
{
"type": "clear_thinking_20251015",
"keep": {
"type": "thinking_turns",
"value": 2
}
},
{
"type": "clear_tool_uses_20250919",
"trigger": {
"type": "input_tokens",
"value": 50000
},
"keep": {
"type": "tool_uses",
"value": 5
}
}
]
}
)Параметры конфигурации для очистки результатов инструментов
| Параметр конфигурации | По умолчанию | Описание |
|---|---|---|
trigger | 100 000 входных токенов | Определяет, когда активируется стратегия редактирования контекста. После того как подсказка превышает этот порог, начнется очистка. Вы можете указать это значение либо в input_tokens, либо в tool_uses. |
keep | 3 использования инструментов | Определяет, сколько последних пар использования инструментов/результатов сохранять после очистки. API сначала удаляет самые старые взаимодействия инструментов, сохраняя самые новые. |
clear_at_least | Нет | Гарантирует, что минимальное количество токенов будет очищено каждый раз, когда активируется стратегия. Если API не может очистить по крайней мере указанное количество, стратегия не будет применена. Это помогает определить, стоит ли очистка контекста нарушения кэша подсказок. |
exclude_tools | Нет | Список имен инструментов, использование и результаты которых никогда не должны быть очищены. Полезно для сохранения важного контекста. |
clear_tool_inputs | false | Контролирует, очищаются ли параметры вызова инструмента вместе с результатами инструментов. По умолчанию очищаются только результаты инструментов, а исходные вызовы инструментов Claude остаются видимыми. |
Ответ редактирования контекста
Вы можете увидеть, какие редактирования контекста были применены к вашему запросу, используя поле ответа context_management, а также полезную статистику об очищенном контенте и входных токенах.
{
"id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
"type": "message",
"role": "assistant",
"content": [...],
"usage": {...},
"context_management": {
"applied_edits": [
// When using `clear_thinking_20251015`
{
"type": "clear_thinking_20251015",
"cleared_thinking_turns": 3,
"cleared_input_tokens": 15000
},
// When using `clear_tool_uses_20250919`
{
"type": "clear_tool_uses_20250919",
"cleared_tool_uses": 8,
"cleared_input_tokens": 50000
}
]
}
}Для потоковых ответов редактирования контекста будут включены в финальное событие message_delta:
{
"type": "message_delta",
"delta": {
"stop_reason": "end_turn",
"stop_sequence": null
},
"usage": {
"output_tokens": 1024
},
"context_management": {
"applied_edits": [...]
}
}Подсчет токенов
Конечная точка подсчета токенов поддерживает управление контекстом, позволяя вам предварительно просмотреть, сколько токенов будет использовать ваша подсказка после применения редактирования контекста.
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "anthropic-beta: context-management-2025-06-27" \
--data '{
"model": "claude-sonnet-4-5",
"messages": [
{
"role": "user",
"content": "Continue our conversation..."
}
],
"tools": [...],
"context_management": {
"edits": [
{
"type": "clear_tool_uses_20250919",
"trigger": {
"type": "input_tokens",
"value": 30000
},
"keep": {
"type": "tool_uses",
"value": 5
}
}
]
}
}'{
"input_tokens": 25000,
"context_management": {
"original_input_tokens": 70000
}
}Ответ показывает как финальный подсчет токенов после применения управления контекстом (input_tokens), так и исходный подсчет токенов до любой очистки (original_input_tokens).
Использование с инструментом памяти
Редактирование контекста можно комбинировать с инструментом памяти. Когда контекст вашей беседы приближается к установленному порогу очистки, Claude получает автоматическое предупреждение о сохранении важной информации. Это позволяет Claude сохранять результаты инструментов или контекст в файлы памяти перед их очисткой из истории беседы.
Эта комбинация позволяет вам:
- Сохранять важный контекст: Claude может записывать важную информацию из результатов инструментов в файлы памяти перед очисткой этих результатов
- Поддерживать долгосрочные рабочие процессы: Включить агентские рабочие процессы, которые иначе превысили бы лимиты контекста, путем выгрузки информации в постоянное хранилище
- Получать доступ к информации по требованию: Claude может искать ранее очищенную информацию из файлов памяти при необходимости, вместо того чтобы хранить все в активном контекстном окне
Например, в рабочем процессе редактирования файлов, где Claude выполняет много операций, Claude может суммировать завершенные изменения в файлы памяти по мере роста контекста. Когда результаты инструментов очищаются, Claude сохраняет доступ к этой информации через свою систему памяти и может продолжать работать эффективно.
Чтобы использовать обе функции вместе, включите их в ваш запрос API:
response = client.beta.messages.create(
model="claude-sonnet-4-5",
max_tokens=4096,
messages=[...],
tools=[
{
"type": "memory_20250818",
"name": "memory"
},
# Your other tools
],
betas=["context-management-2025-06-27"],
context_management={
"edits": [
{"type": "clear_tool_uses_20250919"}
]
}
)