3,583 papers
arXiv:2511.20683 73 17 нояб. 2025 г. FREE

Dynamic Template Selection: адаптивный выбор детальности ответа для экономии токенов

КЛЮЧЕВАЯ СУТЬ
Универсальный промпт для всех запросов = переплата за токены. Простой вопрос "Столица Франции?" получает такой же развёрнутый шаблон как задача про квантовую физику — модель выдаёт 300 слов вместо 10. Output токены стоят в 4-8 раз дороже input токенов, на миллионе запросов это тысячи долларов. Dynamic Template Selection позволяет адаптивно выбирать детальность ответа под сложность запроса. Вместо одного verbose промпта система выбирает из пяти шаблонов — от minimal (50 токенов) до verbose (500 токенов). Фишка: два слоя контроля одновременно — мягкие инструкции в промпте ("ответь кратко") + жёсткие лимиты через параметр max_tokens в API. Модель не может превысить лимит даже если игнорирует инструкцию. Экономия output токенов — 32.6-33.9%.
Адаптировать под запрос

TL;DR

Dynamic Template Selection (DTS) — метод адаптивного выбора шаблона промпта под сложность запроса. Вместо одного универсального verbose промпта для всех задач, система выбирает один из пяти шаблонов — от минимального (50 токенов) до развернутого (500 токенов). Контроль работает на двух уровнях: мягкие инструкции в промпте ("ответь кратко") и жёсткие лимиты через параметр max_tokens в API.

LLM генерирует избыточные ответы когда получает универсальный промпт. Простой вопрос "Столица Франции?" получает такой же развернутый шаблон как сложная задача про квантовую физику. Результат — переплата за output токены, которые стоят в 4-8 раз дороже input токенов у всех провайдеров. На миллионе запросов разница между 500 и 50 токенами в ответе = тысячи долларов.

Исследование проверило два роутера: простой MLP на эмбеддингах (90.5% точность) и fine-tuned RoBERTa трансформер (89.5%). Оба показали одинаковую точность выбора шаблона на всех трёх провайдерах — OpenAI, Gemini, Claude. Экономия output токенов составила 32.6-33.9% в зависимости от провайдера. Ключевая находка: решения роутера provider-agnostic — паттерны выбора шаблона универсальны, хотя сама генерация отличается.


🔬

Схема метода (исследовательская)

ОБУЧЕНИЕ РОУТЕРА (один раз):
1. Собрать датасет запросов → разметить каждый нужным типом шаблона
2. Обучить классификатор (MLP или трансформер)
   → выход: вероятности для 5 типов шаблонов

ПРИМЕНЕНИЕ (каждый запрос):
1. Запрос → роутер → выбор шаблона (minimal/standard/verbose/technical/executive)
2. Применить dual-layer control:
   - Soft: системная инструкция стиля ответа
   - Hard: max_tokens в API (50/200/500/400/150)
3. LLM генерирует ответ → экономия output токенов

Важно: ML-роутер требует код и обучение. Читателю доступны принципы метода для ручного применения.


📌

Ключевые принципы для применения

📌

1. Dual-Layer Token Control

Проблема: Инструкция "ответь кратко" работает непредсказуемо — модель может выдать 20 или 200 токенов.

Решение из DTS: Два уровня контроля одновременно:

Мягкий слой (soft prompting) — инструкции в промпте: - Minimal: "Ответь кратко и прямо, одно-два предложения" - Standard: "Дай чёткий структурированный ответ" - Verbose: "Дай развёрнутое объяснение с примерами и контекстом"

Жёсткий слой (hard caps) — лимиты в API: - Через параметр max_tokens в API - Minimal: 50, Standard: 200, Verbose: 500 - Гарантия: модель не превысит лимит даже если игнорирует инструкцию

Применимо в чате: Мягкий слой — да, сразу. Жёсткий слой — если есть доступ к API.

📌

2. Multi-Template Approach

Проблема: Один промпт для всего = переплата за простые запросы.

Решение из DTS: Пять архетипов под разные задачи: - Minimal — факты, определения, да/нет - Standard — объяснения, инструкции - Verbose — обучение, глубокий анализ - Technical — код, формулы, спецификации - Executive — краткие выводы, саммари

Применимо в чате: Создай 3-5 заготовок промптов. Выбирай вручную или попроси LLM самостоятельно определить нужный уровень.

📌

3. Cost-Aware Prompting

Инсайт: Output токены стоят в 4-8 раз дороже input токенов у всех провайдеров. Экономия 450 output токенов на один запрос = $0.0045 на Gemini 2.5 Pro. На миллионе запросов = $4,500.

Применимо: Всегда думай "какая длина ответа нужна". Явно указывай в промпте целевую длину.


🚀

Пример применения

Задача: Подготовка ответов для FAQ-бота интернет-магазина "Озон Маркет". Разные вопросы требуют разной детальности — от "Есть ли доставка в Владивосток?" до "Как работает программа лояльности?"

Промпт (minimal template для простых вопросов):

Ты — ассистент поддержки Озон Маркет. 

ИНСТРУКЦИЯ: Ответь кратко и прямо, 1-2 предложения максимум. 
Без лишних слов и вступлений.

ВОПРОС: Есть ли доставка в Владивосток?

Промпт (verbose template для сложных вопросов):

Ты — ассистент поддержки Озон Маркет.

ИНСТРУКЦИЯ: Дай развёрнутое объяснение с примерами, этапами и контекстом.
Структурируй ответ по пунктам где нужно.

ВОПРОС: Как работает программа лояльности и что даёт статус "Премиум"?

Результат: - Minimal промпт выдаст 10-15 слов: "Да, доставляем во Владивосток. Срок 7-10 дней, стоимость от 300₽." - Verbose промпт выдаст 100-150 слов: объяснение программы, условия получения статусов, список привилегий, пример расчёта кэшбэка

Экономия токенов на простых вопросах — до 90%. На 1000 запросов в день разница между "всегда verbose" и "адаптивно" = экономия 150,000 output токенов/месяц.


🧠

Почему это работает

LLM не умеет контролировать длину абстрактно. Инструкция "кратко" размыта — модель может выдать 20 или 200 токенов, потому что нет чёткого счётчика. Это особенность архитектуры: модель генерирует токен за токеном, не видя финальную длину заранее.

LLM хорошо следует конкретным паттернам и ограничениям. Когда промпт задаёт чёткую структуру ("1-2 предложения") + есть внешний лимит (max_tokens=50), модель генерирует компактно. Dual-layer control работает как направляющие рельсы: мягкие инструкции задают стиль, жёсткие лимиты гарантируют границы.

Provider-agnostic эффект: Паттерны выбора шаблона универсальны — все модели одинаково реагируют на контраст "простой вопрос vs сложный". Роутер обученный на одной модели работает на других без переобучения. Но сама генерация отличается — Gemini более "болтливый" (+1.3% токенов vs Claude), поэтому лимиты критичны.

Рычаги управления: - Числовые лимиты (max_tokens) — уменьши для экономии, увеличь для полноты - Инструкции стиля ("кратко"/"развёрнуто") — меняй формулировку под тон - Число шаблонов — начни с 3 (minimal/standard/verbose), масштабируй до 5 - Пороги выбора — для сомнительных случаев дефолт на verbose (безопаснее)


📌

Шаблонный подход (адаптация для чата)

Оригинальный DTS требует ML-роутер, но принцип multi-template применим вручную. Создай набор заготовок, выбирай под задачу:

📌

Вариант 1: Ручной выбор (самый простой)

Подготовь 3 промпта под разные типы задач:

Minimal Template:

{роль и контекст}

ИНСТРУКЦИЯ: Ответь максимально кратко, 1-2 предложения. 
Только суть, без деталей.

ВОПРОС: {твой вопрос}

Standard Template:

{роль и контекст}

ИНСТРУКЦИЯ: Дай структурированный ответ средней длины.
Покрой основные моменты, но не углубляйся в детали.

ВОПРОС: {твой вопрос}

Verbose Template:

{роль и контекст}

ИНСТРУКЦИЯ: Дай развёрнутое объяснение с примерами, 
контекстом и пояснениями. Структурируй по пунктам.

ВОПРОС: {твой вопрос}

Выбирай шаблон вручную в зависимости от сложности вопроса.


📌

Вариант 2: Авто-выбор через LLM (продвинутый)

Ты — умный роутер. Определи какой уровень детальности нужен для ответа:
- MINIMAL: простой факт, да/нет, определение (целевая длина: 1-2 предложения)
- STANDARD: объяснение, инструкция (целевая длина: 50-100 слов)
- VERBOSE: обучение, глубокий анализ (целевая длина: 150-300 слов)

ВОПРОС: {твой вопрос}

Выведи ТОЛЬКО одно слово: MINIMAL, STANDARD или VERBOSE

Затем используй выбранный шаблон из Варианта 1.


📌

Вариант 3: One-shot с самоопределением

Ты — ассистент который адаптирует детальность под запрос.

ПРАВИЛО: Сначала определи сложность (простой факт / стандарт / глубокий анализ), 
затем ответь соответствующей длиной:
- Простой → 1-2 предложения
- Стандарт → 50-100 слов
- Глубокий → 150-300 слов

ВОПРОС: {твой вопрос}

Формат ответа:
СЛОЖНОСТЬ: [твоя оценка]
ОТВЕТ: [твой ответ соответствующей длины]

Модель сама классифицирует и подстраивает длину в одном запросе.


🚀 Быстрый старт:

Если хочешь автоматизировать выбор шаблона — вставь в чат:

Вот три шаблона промптов для разных уровней детальности (minimal/standard/verbose).
Адаптируй их под мою задачу: {опиши свою задачу и типы вопросов}.

Предложи систему выбора — какие признаки вопроса должны триггерить каждый шаблон.

[вставить шаблоны из Варианта 1 выше]

LLM спросит про специфику твоих вопросов и предложит критерии выбора. Она возьмёт паттерн multi-template и адаптирует под твой контекст.


📌

Адаптации

📌

🔧 Техника: Явная длина в словах → больше предсказуемости

Dual-layer control из DTS использует токены (max_tokens). В чате без API доступа токены недоступны, но можно явно указать количество слов или предложений:

Ты — {роль}.

СТРОГОЕ ОГРАНИЧЕНИЕ: Ответ должен быть ровно {число} слов. 
Не больше, не меньше. Считай слова перед выводом.

ВОПРОС: {твой вопрос}

Пример для FAQ-бота:

СТРОГОЕ ОГРАНИЧЕНИЕ: Ответ ровно 15 слов. Считай перед выводом.

ВОПРОС: Сколько стоит доставка в регионы?

Модель выдаст максимально компактный ответ. Комбинируй с soft prompting ("деловой тон", "разговорный стиль") для контроля стиля.


📌

🔧 Техника: Пост-фильтрация через summarization

Если модель игнорирует лимиты длины — используй двухшаговый подход:

ШАГ 1: Дай полный ответ на вопрос.

ШАГ 2: Сократи ответ до {число} слов максимум, 
сохранив только критически важную информацию.

ВОПРОС: {твой вопрос}

Модель сначала генерирует полный ответ (хорошее качество), затем сжимает его (контролируемая длина). Двойная генерация = больше токенов, но гарантия результата.


⚠️

Ограничения

⚠️ Soft prompting без API лимитов: Инструкции "кратко"/"развёрнуто" работают, но модель может игнорировать. Без жёсткого max_tokens нет гарантии длины — можешь попросить 50 слов, получить 150. Hard caps из DTS требуют API доступ.

⚠️ Субъективность "сложности": Роутер обучен на MMLU (академические вопросы). Для доменов где "сложность" определяется иначе (креатив, субъективные оценки, эмоциональный контент) — критерии выбора шаблона могут не работать. Потребуется адаптация или ручной выбор.

⚠️ Trade-off длина vs полнота: Агрессивное сокращение (minimal template везде) может обрезать важные нюансы. Исследование показало: routing accuracy 90% = в 10% случаев неправильный выбор. Дефолтный fallback на verbose для сомнительных случаев — обязателен.

⚠️ Provider-specific variations: Хотя routing decisions универсальны, разные провайдеры генерируют разную длину при одном промпте. Gemini +1.3% "болтливее" Claude при одинаковых инструкциях. Точная настройка требует тестирования на конкретном провайдере.


🔍

Как исследовали

Команда взяла 11,100 вопросов из MMLU (Massive Multitask Language Understanding) — академический бенчмарк с 57 предметами от биологии до права — и вручную разметила каждый вопрос одним из пяти типов шаблона (minimal/standard/verbose/technical/executive). Задача: научить модель автоматически выбирать правильный шаблон для любого запроса.

Проверили два подхода к роутингу: 1. MLP на эмбеддингах — простая нейросеть (3 слоя, 26K параметров), работает на готовых эмбеддингах от OpenAI (1536 измерений). Обучение ~1 минута на CPU. 2. Fine-tuned RoBERTa — полноценный трансформер (125M параметров), работает напрямую с текстом запроса. Обучение ~2.5 часа на GPU.

Ожидали что большой трансформер обойдёт простую MLP. Результат удивил: MLP показала 90.5% точности, RoBERTa — 89.5%. Простая модель на готовых эмбеддингах оказалась точнее сложной на 125 миллионов параметров. Почему? Information bottleneck theory: дополнительные слои трансформера могут терять информацию (data processing inequality), а эмбеддинги от OpenAI уже содержат всю семантику нужную для классификации. Больше параметров ≠ лучше для этой задачи.

Затем взяли 1,000 тестовых вопросов и прогнали через три провайдера (OpenAI GPT-4o-mini, Google Gemini 2.0 Flash Lite, Anthropic Claude 3 Haiku) — итого 9,000 реальных API вызовов ($0.87 стоимость эксперимента). Ключевая проверка: работает ли роутер provider-agnostic — одинаково на всех моделях без переобучения?

Результат подтвердил гипотезу: routing accuracy осталась 90.5% на всех трёх провайдерах — решения о выборе шаблона универсальны. Но токен savings варьировались (32.6% Claude, 33.0% OpenAI, 33.9% Gemini), потому что разные модели генерируют разную длину при одном промпте. Gemini оказался чуть более "болтливым" (+1.3%), Claude — самым компактным.

Измеряли через tiktoken (точный подсчёт токенов из реальных ответов API), не через теоретические оценки. Baseline — always-verbose (всегда самый длинный шаблон, ~498K токенов на 1000 вопросов). DTS сократил до ~323K токенов в среднем = экономия 33.2%.

Ablation study из шести вариантов показал: Logistic Regression (83.4%), Random Forest (78.7%), Ensemble RF+MLP (90.5% = как MLP solo, но сложнее), DistilBERT (89.0%). Вывод: нелинейность критична (MLP +7pp vs линейной регрессии), но сложность не помогает (MLP = Ensemble, MLP > трансформеры).

Экономический инсайт: Output tokens стоят в 4-8× дороже input у всех провайдеров. Роутинг 1M запросов с verbose (500 токенов) на minimal (50 токенов) экономит 450 output токенов × $0.01/1K = $4,500 на Gemini 2.5 Pro. Даже routing overhead ($0.40/1M для MLP embeddings или $65.75/1M для GPU inference) ничтожен на фоне экономии генерации.

Неожиданная находка: provider-agnostic routing — не предположение, а измеренный факт. Роутер обученный на одной модели работает на других без деградации точности. Это означает что паттерны "простой vs сложный вопрос" универсальны для всех современных LLM.


🔗

Ресурсы

Dynamic Template Selection for Output Token Generation Optimization: MLP-Based and Transformer Approaches (2025) Bharadwaj Yadavalli Ссылки на related work: Chain-of-Thought [Wei et al. 2022], MMLU benchmark [Hendrycks et al. 2021], Information Bottleneck Theory [Tishby et al. 2000]


📋 Дайджест исследования

Ключевая суть

Универсальный промпт для всех запросов = переплата за токены. Простой вопрос "Столица Франции?" получает такой же развёрнутый шаблон как задача про квантовую физику — модель выдаёт 300 слов вместо 10. Output токены стоят в 4-8 раз дороже input токенов, на миллионе запросов это тысячи долларов. Dynamic Template Selection позволяет адаптивно выбирать детальность ответа под сложность запроса. Вместо одного verbose промпта система выбирает из пяти шаблонов — от minimal (50 токенов) до verbose (500 токенов). Фишка: два слоя контроля одновременно — мягкие инструкции в промпте ("ответь кратко") + жёсткие лимиты через параметр max_tokens в API. Модель не может превысить лимит даже если игнорирует инструкцию. Экономия output токенов — 32.6-33.9%.

Принцип работы

LLM плохо понимает абстрактное "кратко" — может выдать 20 или 200 токенов. Решение: два слоя контроля работают как направляющие рельсы. Мягкий слой — инструкции стиля в промпте: - Minimal: "Ответь кратко, 1-2 предложения" - Standard: "Дай структурированный ответ" - Verbose: "Развёрнутое объяснение с примерами" Жёсткий слой — числовые лимиты через API: - Minimal: max_tokens=50 - Standard: max_tokens=200 - Verbose: max_tokens=500 Мягкий слой задаёт стиль и тон, жёсткий слой гарантирует границы длины. Вместе они заставляют модель генерировать компактно.

Почему работает

LLM не видит финальную длину заранее — генерирует токен за токеном без внутреннего счётчика. Инструкция "кратко" размыта, модель интерпретирует по-разному. Конкретные паттерны работают лучше абстракций: "1-2 предложения" + max_tokens=50 создают чёткие рамки, модель перестаёт импровизировать. Экономия реальная: на миллионе запросов разница между 500 и 50 токенами в ответе = $4,500 экономии на Gemini 2.5 Pro. Исследование показало 90.5% точность выбора шаблона, работает одинаково на всех провайдерах — OpenAI, Gemini, Claude. Провайдеры отличаются "болтливостью" (Gemini +1.3% длиннее Claude), но паттерны выбора шаблона универсальны. Роутер обученный на одной модели работает на других без переобучения.

Когда применять

Массовая генерация текстов где много простых запросов → конкретно для FAQ-ботов, customer support, API интеграций с LLM, особенно когда платишь за каждый output токен и бюджет критичен. Лучше всего работает: микс простых и сложных запросов (соотношение 70/30). Если все запросы сложные — выигрыш минимален, просто используй verbose везде. НЕ подходит: креативные задачи где длина = часть качества (написание статей, storytelling), или единичные запросы где экономия копеек не важна.

Мини-рецепт

1. Создай 3-5 шаблонов промптов под разные уровни детальности:
- Minimal: факты, да/нет, определения (целевая длина 1-2 предложения)
- Standard: объяснения, инструкции (50-100 слов)
- Verbose: обучение, глубокий анализ (150-300 слов)

2. Определи критерии выбора — какие признаки запроса триггерят каждый шаблон:
- Minimal: вопросы на факты ("Сколько?", "Когда?", "Есть ли?")
- Standard: вопросы с "как" и "почему" средней сложности
- Verbose: просьбы объяснить концепцию, обучить, дать глубокий анализ

3. Примени два слоя контроля:
- В промпт добавь чёткую инструкцию длины: ИНСТРУКЦИЯ: Ответ ровно 15 слов максимум
- Если есть API доступ — установи max_tokens соответствующий шаблону
- Для сомнительных случаев дефолт на verbose (безопаснее чем обрезать важное)

Примеры

[ПЛОХО]: `Ты — ассистент поддержки интернет-магазина. Ответь на вопрос клиента: Есть ли доставка в Владивосток?` (универсальный промпт выдаст 100-150 слов с подробностями про все регионы, условия, сроки — переплата за 130+ ненужных токенов) [ХОРОШО - Minimal template]: `Ты — ассистент поддержки Озон Маркет. ИНСТРУКЦИЯ: Ответь максимально кратко, 1-2 предложения. Только суть, без деталей. ВОПРОС: Есть ли доставка в Владивосток?` → Модель выдаст 10-15 слов: "Да, доставляем во Владивосток. Срок 7-10 дней, стоимость от 300₽." Экономия 90% output токенов на простых вопросах. [ХОРОШО - Verbose template для сложного]: `Ты — ассистент поддержки Озон Маркет. ИНСТРУКЦИЯ: Дай развёрнутое объяснение с примерами, этапами и контекстом. Структурируй по пунктам. ВОПРОС: Как работает программа лояльности и что даёт статус Премиум?` → Модель выдаст 100-150 слов с полным объяснением условий, привилегий, примером расчёта кэшбэка.
Источник: Dynamic Template Selection for Output Token Generation Optimization: MLP-Based and Transformer Approaches
ArXiv ID: 2511.20683 | Сгенерировано: 2026-01-12 18:29

Концепты не выделены.

📖 Простыми словами

Суть в том, что мы по привычке кормим нейронки жирными промптами в духе "объясни подробно, с примерами и по шагам". Это безопасно, но тупо: когда ты спрашиваешь у GPT «столица Франции?», она вываливает лекцию по истории Парижа, хотя тебе нужно одно слово. Проблема в деньгах: output-токены стоят в 4-8 раз дороже входных, и мы буквально сжигаем бюджет на вежливую болтовню модели. Dynamic Template Selection (DTS) решает это через автоматический выбор «режима» ответа под конкретный вопрос.

Это как если бы у тебя был платный консультант, который берет деньги за каждое сказанное слово. Если ты спросишь его «который час?», а он начнет рассказывать устройство часового механизма и историю Гринвича — это полный провал. Ты хочешь, чтобы он просто глянул на часы. Так и тут: система понимает, когда нужно выдать короткую справку, а когда — реально расписать теорию струн, экономя тебе 33% бюджета на ровном месте.

Что реально работает: связка soft prompting (инструкция «отвечай кратко») и hard token caps (жесткий лимит max_tokens в настройках API). Если просто попросить модель быть краткой, она может забить, но если ты выставишь лимит в 50 токенов — она физически не сможет транжирить твои деньги. Все это рулится через MLP-роутер — крошечную нейронку, которая за 5 миллисекунд понимает сложность вопроса. Причем ирония в том, что простая модель на 26 тысяч параметров работает точнее, чем тяжелый трансформер RoBERTa, который в тысячи раз больше.

Тестировали это на суровых академических тестах MMLU, но принцип универсален. Это маст-хэв для любого чат-бота, техподдержки или образовательной платформы. Если у тебя больше 100 тысяч запросов в месяц, ты просто обязан внедрить такую сортировку. SEO умирает, GEO рождается, а экономика LLM-проектов теперь строится на том, насколько эффективно ты затыкаешь модели рот, когда она начинает нести лишнее.

Короче: хватит использовать один шаблон на все случаи жизни — это прямой путь к кассовому разрыву. 66 баллов из 100 в рейтинге полезности только из-за того, что придется потратить пару часов на разметку данных и обучение роутера. Но если ты это сделаешь, то получишь 33% экономии без потери качества. Кто первый внедрит адаптивные шаблоны, тот выживет в эпоху дорогих API, остальные будут и дальше платить за воздух.

Сгенерировано: 21.12.2025 16:57 | ArXiv Data Collector

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с