Was this page helpful?
Определения инструментов и накопленные блоки tool_result потребляют ваше окно контекста. Долгоживущие агенты с множеством инструментов или множеством ходов могут исчерпать доступный контекст до завершения задачи. Четыре подхода решают эту проблему в разных точках конвейера.
Каждый подход нацелен на другой источник давления на контекст. Выберите тот, который соответствует тому, куда идут ваши токены.
| Подход | Что он сокращает | Когда он подходит | Узнать больше |
|---|---|---|---|
| Поиск инструментов | Определения инструментов, загруженные заранее | Большие наборы инструментов (20+ инструментов), где большинство инструментов не требуются каждый ход | Инструмент поиска инструментов |
| Программный вызов инструментов | Циклы tool_result | Цепочки вызовов инструментов, которые могут выполняться как один скрипт | Программный вызов инструментов |
| Кеширование подсказок | Стоимость токенов повторяющихся определений инструментов | Стабильные наборы инструментов в разных запросах | Использование инструментов с кешированием подсказок |
| Редактирование контекста | Старые блоки tool_result в истории | Длительные беседы, где ранние результаты больше не актуальны | Редактирование контекста |
Поиск инструментов держит определения инструментов вне окна контекста до тех пор, пока Claude их не запросит. Вместо отправки 50 схем инструментов заранее, вы отправляете один инструмент tool_search и позволяете Claude обнаруживать остальное по требованию. Это обменивает небольшое количество задержки (один дополнительный ход для поиска инструмента) на большое сокращение базового использования контекста.
Программный вызов инструментов сворачивает последовательность вызовов инструментов в один блок кода, который Claude пишет, а песочница выполнения кода Anthropic запускает. Вместо пяти циклов tool_use и tool_result, Claude выдает один скрипт, который вызывает все пять функций из песочницы. Промежуточные результаты никогда не попадают в историю беседы.
Кеширование подсказок не сокращает количество токенов в контексте, но снижает стоимость их использования при последующих запросах. Если ваши определения инструментов стабильны, кешируйте их один раз и повторно используйте кешированный префикс в тысячах запросов. Это правильный выбор, когда набор инструментов большой, но фиксированный.
Редактирование контекста удаляет старые блоки tool_result из истории беседы после того, как они выполнили свою функцию. Длительный цикл агента может создать сотни промежуточных результатов, которые были полезны в то время, но теперь являются мертвым грузом. Редактирование контекста позволяет вам их обрезать без перезагрузки беседы.
Эти подходы хорошо сочетаются. Долгоживущий агент может использовать поиск инструментов, чтобы держать набор инструментов в тонусе, кеширование подсказок для амортизации стоимости оставшихся определений и редактирование контекста для обрезания устаревших результатов по мере роста беседы. Каждый решает другую часть проблемы, поэтому нет конфликта в их совместном использовании.
Разумная отправная точка для высокопроизводительного агента:
Кешируйте определения инструментов в разных запросах, чтобы сократить затраты на токены.