DEV Community на русском
Подписаться
Кэширование промптов Клода: почему агентные циклы упускают 20-блочный просмотр назад
Кэширование промптов Claude затруднено из-за окна просмотра на 20 блоков для записей кэша. Агентские ходы с несколькими вызовами инструментов могут быстро превысить этот лимит, вызывая промахи кэша и дорогостоящие полные перезаписи промптов. Чтобы сохранить кэширование, размещайте скользящие точки останова примерно каждые 15 блоков, а не одну метку в конце. У вас есть бюджет из четырех точек останова на запрос, одна из которых зарезервирована для системы и инструментов. Убедитесь, что устаревшие точки останова очищаются перед каждым новым запросом. Блоки мышления не могут служить якорями кэша, поэтому выбирайте кэшируемые типы контента. Инвалидация кэша имеет уровни, затрагивая только измененный уровень и последующие, за исключением изменений в определении инструментов и переключений моделей, которые инвалидируют все. Добавление системных сообщений в список сообщений вместо редактирования системного промпта верхнего уровня сохраняет кэш. Регистрируйте все три поля использования — input_tokens, cache_creation_input_tokens и cache_read_input_tokens — для точной диагностики производительности кэша. При параллельных запросах инициируйте последующие запросы только после того, как первый начнет потоковую передачу, чтобы использовать его запись в кэше. Задержка вызова инструмента, превышающая пять минут, может привести к истечению срока действия записей кэша, что потребует более длительного TTL. Минимальная длина кэшируемого префикса зависит от модели, поэтому меньшие префиксы могут вообще не кэшироваться.