Как сократить промпт ради экономии и случайно увеличить счёт на 40%

Как сократить промпт ради экономии и случайно увеличить счёт на 40%

Есть инженерные идеи, которые звучат так логично, что их хочется внедрить ещё до обеда.

Промпт большой? Сократим.Токенов станет меньше? Счёт снизится.Что тут может пойти не так?

Кэш.

Кэш в работе с языковыми моделями похож на скидку за повторное использование. Если у вас раз за разом повторяется большой кусок промпта: правила, описание инструментов, схема данных, инструкции, сервис считает его дешевле.

Но есть ловушка.

Если перед каждым запросом по-новому сокращать этот общий кусок, кэш перестаёт его узнавать. Для системы это уже новый текст. Скидка сгорает.

В итоге вы экономите токены на бумаге, а в конце месяца смотрите на счёт с выражением человека, который сам купил себе проблему.

Авторы свежего препринта проверили это на Sonnet 4.6. Они обнаружили, что кэш работает не идеально: около 3500 токенов есть заметный порог, а в серии повторных запросов кэш срабатывал примерно в 83% случаев, а не всегда.

Дальше стало веселее.

На публичном тесте самый «умный» вариант, где промпт отдельно сокращали под каждый конкретный запрос, оказался на 40,1% дороже обычного варианта без оптимизации.

То есть вы провели оптимизацию, написали о ней в отчёте, а потом заплатили больше. Очень технологично.

Авторы предлагают другой порядок:

  1. Отделить постоянную часть промпта от переменной.
  2. Один раз сократить постоянную часть: правила, схемы, описания инструментов.
  3. Не переписывать её под каждый запрос.
  4. Настроить кэш и только потом бороться за каждый токен.

В их тестах этот подход оказался самым дешёвым во всех 16 конфигурациях. Авторы заявляют среднюю экономию 49% против одного кэширования, 64% против сжатия под каждый запрос и 90% против варианта без оптимизаций.

Главная мысль скучная. А скучные мысли часто хорошо экономят деньги.

Перед тем как «оптимизировать промпты», проверьте:

  • какая часть текста повторяется в каждом запросе;
  • сколько раз кэш реально срабатывает;
  • не меняется ли общий префикс от запроса к запросу;
  • что происходит с итоговым счётом, а не только с числом токенов.

Потому что «мы сократили промпт» и «мы стали платить меньше» - две разные новости.

Это пока свежий препринт, не универсальный закон для всех моделей и провайдеров. Но направление ясное: сначала берегите кэш, потом героически режьте токены.

В Telegram-канале разбираю такие исследования до того, как из них сделают бодрый заголовок и дорогую рекомендацию для всей компании.

Источник: препринт на arXiv

2