Cloudflare опубликовала инженерный разбор того, как компания снизила среднюю стоимость одного AI-ревью кода с $2,43 до $0,77, то есть на 68%, и сократила медианное время ревью с 4 минут 09 секунд до 1 минуты 32 секунд. Главный источник переплат оказался не в тарифах, а в механике prompt caching: первый запрос каждой сессии почти всегда записывал кеш, а не читал его. Починкой кэшируемого префикса, сменой моделей Anthropic и сокращением лишних вызовов команда одновременно удешевила и ускорила ревью, не потеряв в качестве.

image

Что произошло

Инженер Cloudflare Райан Скидмор (Ryan Skidmore) опубликовал пошаговый разбор оптимизации внутреннего AI-ревьюера — агента, который автоматически проверяет изменения в коде перед слиянием. Отправная точка: в начале августа все ревьюеры перешли на модели Anthropic, после чего стоимость одного джоба выросла с $1,38 до $2,03, а расход токенов на ревью — с 0,91 млн до 2,99 млн, то есть в 3,3 раза. Первую и главную причину переплат нашли в конфигурации кеша: OpenCode v1 ставил единственный cache breakpoint в конце блока, смешивавшего статичный промпт с динамическими данными репозитория, поэтому первый запрос каждой сессии почти всегда оплачивал запись кеша вместо его чтения — попадания были только в 14–26% случаев. После разделения блока и вынесения общего префикса между репозиториями hit rate первых запросов поднялся до 91–99,5%. Ещё порядка 60% экономии принесла смена моделей и уровней effort: Opus 5.5 вместо Opus 5 и Sonnet 5.5 вместо Sonnet 5 оказались на 47–62% дешевле за запуск при той же цене за токен, а сокращение лишних LLM-вызовов снизило, например, среднее число вызовов на проверке code quality с 6,2 до 1,7 на Sonnet 5.5 medium. Итог: средний чек одного ревью упал в 3,2 раза, до $0,77, а медианное время работы джоба — в 2,7 раза, до 1 минуты 32 секунд.

Контекст

Чтобы понять, откуда взялась экономия, полезно вспомнить механику prompt caching у провайдеров вроде Anthropic: чтение закэшированного префикса стоит в десять раз дешевле обычных токенов (0,1x), его первая запись — на четверть дороже (1,25x), а живёт кеш всего 5 минут. Из этого следует неочевидный практический вывод: порядок данных в промпте — денежный вопрос. Если в середину кэшируемого блока попадают меняющиеся поля вроде даты, рабочей директории или списка инструментов, префикс перестаёт совпадать, и каждая сессия заново оплачивает дорогую запись кеша вместо дешёвого чтения. Второй слой контекста — траектория развития агентных пайплайнов: ревьюер Cloudflare несколько месяцев наращивал функциональность, и расход токенов рос быстрее контроля над счётом; это типичная болезнь зреющих агентных систем, а не следствие одной ошибки. Третий слой — методология измерений: помимо стоимости и латентности команда следила за средним числом важных находок на ревью и за долей находок, по которым автор изменений действительно правил код; именно на эти метрики сверялись, чтобы оптимизация не сломала смысл инструмента.

Почему это важно для индустрии

Для индустрии кейс ценен тем, что это редкий публичный разбор unit-экономики агентного пайплайна с конкретными цифрами, подтверждённый рабочим продакшеном, а не демо: экономия достигнута одновременно с ростом среднего числа важных находок с 0,28 до 0,30 и с ростом доли находок, по которым автор реально менял код, с 34% до 59%. Главный вывод для команд, эксплуатирующих LLM-агентов: счёт за инференс — не фиксированный налог на цены моделей, а управляемая инженерная дисциплина. Структура кэшируемого префикса, роутинг между моделями и уровнями effort и сокращение числа вызовов влияют на маржинальность не меньше, чем выбор самой модели, — при этом главные переплаты сидели в конфигурации, а не в прайс-листе. Сигнал для агентных стартапов в том, что юнит-экономика становится продуктовой метрикой наравне с качеством и скоростью, а наблюдаемость вроде hit rate первого запроса, токенов на джобу и стоимости на единицу полезной работы — кандидат в стандартные элементы дашбордов агентных пайплайнов.

Почему это важно для пользователей

Владельцам собственных агентных систем кейс даёт чек-лист, который проверяется по логам токенов за один день и не требует нового деплоя. Сначала стоит убедиться, что первый запрос каждой сессии читает кеш, а не пишет его: низкий hit rate на первых запросах обычно означает неудачно размещённый или сломанный cache breakpoint. Затем имеет смысл вынести динамические данные — дату, рабочую директорию, список инструментов — из кэшируемого префикса, оставив впереди статичную часть промпта. Дальше работают более простые приёмы: читать файлы параллельно в первом ответе агента, пропускать лишних суб-ревьюеров на повторных ревью и останавливать процесс сразу после публикации результата вместо холостого дожёвывания задачи. Отдельно полезен урок про обновление моделей: при смене версии при той же цене за токен экономия пришла от того, что новая модель тратит меньше токенов на задачу, — это аргумент сравнивать версии по фактическому расходу токенов на свою нагрузку, а не только по прайсу.

Что пока неизвестно / ограничения

Оговорки существенны. Метрики качества в кейсе собраны той же командой, которая проводила оптимизацию: среднее число важных находок 0,30 против 0,28 может лежать в пределах шума, доля находок, по которым автор правил код, тоже самоотчётна, а независимой валидации этих оценок нет. Диапазоны hit rate и величины экономии получены на конкретной конфигурации Cloudflare, поэтому на других пайплайнах воспроизводятся скорее сами приёмы, чем точные цифры. Наконец, механика ценообразования кеша — дорогая запись, дешёвое чтение, TTL 5 минут — отражает прайсинг Anthropic на момент выхода поста и может измениться.

Источники

Автор

Look at AI, редакция