3,583 papers
arXiv:2511.04108 90 6 нояб. 2025 г. FREE

Batch Prompting: подавление избыточного мышления через группировку вопросов

КЛЮЧЕВАЯ СУТЬ
Парадокс: Модели рассуждения (o1, DeepSeek-R1) застревают в бесконечных самопроверках — на простой вопрос выдают 3000 токенов reasoning с «wait, let me reconsider». Метод Batch Prompting позволяет получать компактные и точные ответы без зависания — группируя несколько вопросов в один промпт. Фишка: модель распределяет внимание между задачами — как человек под дедлайном, который не тратит час на первый вопрос из пяти. Результат: −74% токенов reasoning (2988→769), а точность растёт с 86.2% до 87.7%.
Адаптировать под запрос

TL;DR

Batch prompting (батчинг) — техника, когда несколько вопросов подаются модели в одном промпте вместо отдельных запросов. Изначально придумали для экономии токенов (один запрос вместо пяти), но обнаружили неожиданный эффект: батчинг подавляет overthinking — избыточное размышление, когда модель "пережёвывает" даже простые задачи тысячами токенов.

Large Reasoning Models (o1, DeepSeek-R1) склонны к overthinking: на вопрос "соедини последние буквы слов Clinton, Yanira, Barbara, Betsy" модель может зациклиться в бесконечных самопроверках ("wait, let me double-check, hold on...") и не дать ответа, или потратить 3000 токенов там, где достаточно 150. Батчинг создаёт мягкое ограничение: когда в промпте пять вопросов, модель должна распределить внимание между ними — как человек под давлением времени, который не застревает в деталях каждой задачи.

Исследование на 13 бенчмарках показало: батчинг снижает расход токенов на 74% (с 2988 до 769 в среднем), при этом точность не падает, а растёт (86.2% → 87.7%). Модель генерирует меньше "wait", "let me check", отвечает решительнее, а ещё — учится на паттернах из предыдущих примеров в батче и применяет их к следующим.


🔬

Схема метода

Обычный подход:
Запрос 1 → Ответ 1 (3000 токенов reasoning)
Запрос 2 → Ответ 2 (3000 токенов reasoning)
...

Batch prompting (один запрос):
[Инструкция]
Вопрос 1: [текст]
Вопрос 2: [текст]
...
Вопрос N: [текст]

→ Модель обрабатывает всё за один проход
→ Ответы на все вопросы (150-200 токенов reasoning на вопрос)

Всё происходит в одном промпте, один запрос к модели.


🚀

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

Задача: Быстро оценить несколько идей для новых сервисов — понять потенциал, риски, первые шаги. Батчинг даст компактные и точные оценки вместо "растеканий мыслью по древу" на каждую идею.

Промпт:

Оцени каждую бизнес-идею по трём критериям: потенциал рынка (1-10), сложность запуска (1-10), главный риск. Дай компактный вывод по каждой.

Идея 1: Доставка готовой еды для офисов в Екатеринбурге. Договоры с кафе, курьеры, заказы через Telegram-бот. Средний чек 350₽, комиссия 25%.

Идея 2: Telegram-бот для записи к врачам в поликлиниках. Парсим расписание с сайтов поликлиник, отправляем напоминания. Монетизация — подписка 199₽/мес.

Идея 3: Маркетплейс услуг репетиторов для подготовки к ЕГЭ. Репетиторы размещают анкеты, ученики выбирают. Комиссия 15% с каждого занятия.

Идея 4: Сервис аренды электросамокатов в спальных районах Москвы. Самокаты у станций метро, оплата через приложение. Аренда 5₽/мин.

Идея 5: Приложение для поиска попутчиков на дальние поездки между городами. Водители и пассажиры, рейтинги, чат. Комиссия 10% с поездки.

Результат:

Модель выдаст пять компактных оценок — по каждой идее отдельный блок с оценками, главным риском и выводом. Reasoning будет видимым, но сжатым — без бесконечных "подождите, давайте ещё раз проверим", "с одной стороны... с другой стороны...". Каждая оценка займёт 100-200 токенов reasoning вместо 2000-3000.

Если идеи схожи по структуре (все про локальные сервисы), модель обучится на паттерне: оценив первую, применит похожую логику к остальным — консистентнее и точнее.


🧠

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

Слабость LRM: Модели рассуждения (o1, DeepSeek-R1) обучены генерировать развёрнутые цепочки мысли (Chain-of-Thought). Это даёт высокую точность на сложных задачах, но создаёт проблему: модель не умеет "притормозить" на простых вопросах. Она застревает в метакогнитивных циклах — "wait, let me reconsider", "hold on, I need to verify" — и генерирует тысячи токенов даже там, где достаточно одного предложения.

Сильная сторона LLM: Модели хорошо работают с контекстным обучением (in-context learning) и распределением внимания. Когда в промпте несколько задач, модель автоматически балансирует ресурсы между ними. Это как у человека: если нужно решить пять задач за час, ты не будешь тратить 50 минут на первую — интуитивно распределишь время.

Как батчинг использует это: Группируя вопросы в один промпт, мы создаём мягкое ограничение на глубину размышлений. Модель "чувствует", что в контексте ещё четыре задачи, и не уходит в бесконечные самопроверки на каждой. Это неявная регуляризация — модель сама сокращает reasoning, не теряя точности.

Дополнительный эффект: Батчинг включает pattern induction — модель обучается на структуре ранних примеров и применяет паттерн к следующим. Если первый вопрос решён в формате "шаг 1 → шаг 2 → вывод", остальные получат такую же структуру — ответы станут консистентнее.

Рычаги управления:

  • Размер батча (1 → 15): Больше вопросов = больше экономия токенов, но слишком много (>15) может снизить качество на сложных задачах. Для простых — смело 10-15, для глубоких — 3-5.

  • Однородность задач: Схожие вопросы (например, все про оценку идей) дают pattern induction — модель учится на первых, применяет ко всем. Разнородные (математика + стихи + факты) теряют этот эффект.

  • Формат инструкции: "Дай компактный вывод" или "одним абзацем" усилят эффект батчинга — модель ещё короче. Убери это — увидишь полные рассуждения (полезно для отладки).


📋

Шаблон промпта

{инструкция_общая}

Вопрос 1: {вопрос_1}
Вопрос 2: {вопрос_2}
Вопрос 3: {вопрос_3}
...
Вопрос N: {вопрос_N}

Плейсхолдеры: - {инструкция_общая} — что сделать со всеми вопросами (например: "Оцени каждую идею по критериям X, Y, Z") - {вопрос_1} ... {вопрос_N} — конкретные вопросы или задачи

Важно: Вопросы должны быть схожими по типу (все — оценка идей, все — решение задач, все — анализ текстов). Это усилит pattern induction и точность.


⚠️

Ограничения

⚠️ Разнородные задачи: Если в батче смешать математику, анализ текста и генерацию кода, модель потеряет фокус — pattern induction не сработает. Батчинг лучше всего для однотипных задач.

⚠️ Очень сложные задачи: На задачах, где нужна глубокая проработка каждой (например, написать развёрнутый бизнес-план), батчинг может снизить качество — модель не успеет "додумать" каждую. Для таких лучше по одной.

⚠️ Большие батчи (>15): Исследователи тестировали до 15 вопросов. Больше может привести к деградации качества — модель начнёт "забывать" ранние примеры из-за ограничений контекстного окна.

⚠️ Нет точного контроля: Батчинг — это мягкое ограничение, не жёсткое. Нельзя задать "ровно 100 токенов на вопрос" — модель сама решает, сколько reasoning нужно каждому.


🔍

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

Команда из George Mason University, Google и eBay проверила батчинг на 13 бенчмарках: математика (GSM8K, Math500, Game of 24), фактологические вопросы (GPQA, SciTab, StrategyQA), извлечение информации (ACE'05 Event Extraction), простые задачи (подсчёт объектов, последняя буква слова). Тестировали на DeepSeek-R1 (open-weight) и OpenAI o1 (закрытая модель). По 100 примеров из каждого датасета.

Дизайн: Сравнили single-query (batch size = 1) с батчами от 5 до 15 вопросов. Измеряли точность (exact match) и токены (reasoning tokens, output tokens, total tokens).

Результаты удивили: Батчинг не просто сэкономил токены (это ожидалось), а улучшил точность на многих задачах. Например, на GPQA (сложные научные вопросы) точность выросла с 79% до 86%, на Last Letter (склонность к зацикливанию) — с 95% до 98%. Средняя точность: 86.2% → 87.7%. При этом reasoning tokens упали с 2988 до 769 (почти в 4 раза!), а output tokens остались примерно на уровне.

Почему точность выросла? Исследователи проверили поведение модели. На задаче Last Letter DeepSeek-R1 в single-query генерировал 21 токен "wait" (бесконечные самопроверки) и иногда не давал ответа. В батче из 5 — всего 1 "wait" (только на самой сложной задаче), все ответы правильные. Батчинг подавляет hedging language — модель меньше сомневается, действует решительнее.

Pattern induction: В одном примере модель в single-query решила задачу правильно, но вывела "nn yo" (с пробелом) вместо "nnyo" — провал по exact match. В батче — все ответы форматированы одинаково и правильно. Модель увидела паттерн в первых примерах и применила ко всем.

Попытка контроля промптами: Исследователи пробовали добавить ограничения типа "Think for only 1 second" или "Use no more than 100 tokens". Не сработало — модель игнорировала или просто повторяла инструкцию в ответе ("Here is your answer within 100 tokens..."), но reasoning не сокращался. Батчинг оказался эффективнее явных инструкций.


📄

Оригинал из исследования

Исследователи описывают батчинг через формальную модель:

Single-query cost:

C(q) = T_fix + T_q + T_a

где: - T_fix — фиксированные токены промпта (system message, инструкция) - T_q — токены вопроса - T_a — токены ответа (включая reasoning)

Batch prompting:

P = [Instruction] || q_1 || q_2 || ... || q_b

C_batch = T_fix + Σ(T_qi + T_ai)

Effective per-query cost:
C_batch_per_query = T_fix/b + (1/b) * Σ(T_qi + T_ai)

Ключевой момент: Фиксированные токены промпта амортизируются как 1/b — чем больше батч, тем меньше overhead на каждый вопрос.

Регуляризация:

Авторы формализуют overthinking:

|R(q)|_single >> |R(q)|_optimal

E[|R(q)|_batch] < E[|R(q)|_single]

где R(q) — reasoning trace (цепочка мыслей). В single-query модель генерирует избыточно длинную цепь, особенно на простых задачах. Батчинг сокращает математическое ожидание длины reasoning.

Контекст: Это не императивный код, который модель "выполняет" — это описание механики через формулы. Модель не считает по этим формулам, но эффект проявляется за счёт архитектуры трансформера: attention распределяется между всеми токенами в контексте, и когда в контексте много задач, каждая получает "меньше внимания" — это и есть мягкое ограничение.


💡

Адаптации и экстраполяции

📌

💡 Адаптация: Батчинг для улучшения консистентности форматирования

Проблема: Модель генерирует ответы в разных форматах — то JSON, то markdown, то plain text — даже если инструкция одна.

Решение: Добавь в батч 1-2 примера нужного формата в начале. Модель подхватит паттерн и применит ко всем следующим вопросам.

Пример:

Извлеки название компании и сумму инвестиций из каждой новости. Формат ответа: "Компания: [название] | Сумма: [число]"

Новость 1: Яндекс инвестировал 500 млн рублей в стартап по доставке продуктов "Лавка".
Новость 2: Сбер вложил $10 млн в разработчика AI-ассистентов для бизнеса.
Новость 3: VK инвестировал 200 млн рублей в сервис онлайн-обучения Skillbox.
Новость 4: Ozon профинансировал маркетплейс услуг на 1 млрд рублей.
Новость 5: Тинькофф вложил 300 млн в fintech-стартап по кредитованию малого бизнеса.

Модель увидит паттерн в первых двух ответах и применит формат ко всем остальным — вместо хаотичного вывода получишь консистентную таблицу.


📌

🔧 Техника: Убрать "компактность" → видеть полные рассуждения

Когда нужно: Если хочешь понять логику модели (отладка, проверка) — убери давление на краткость.

Что изменить: Не указывай "дай компактный вывод" или "одним абзацем". Модель покажет развёрнутые рассуждения для каждого вопроса в батче — но всё равно короче, чем в single-query (эффект батчинга сохранится).

Пример:

Оцени каждую бизнес-идею: потенциал рынка, сложность запуска, главный риск. Покажи рассуждения.

Идея 1: [текст]
Идея 2: [текст]
...

Получишь "думалку" модели — как она пришла к оценке — но без бесконечных "wait, let me check".


📋

💡 Экстраполяция: Батчинг для A/B-тестирования промптов

Идея: Протестируй несколько вариантов формулировки задачи в одном запросе — модель обработает все, ты сравнишь результаты.

Пример:

Реши каждую задачу, используя указанный подход.

Задача 1 (Подход: пошаговый расчёт): У Маши было 15 яблок. Она отдала 1/3 Пете и 20% Оле. Сколько осталось?

Задача 2 (Подход: сначала найди все доли, потом вычти): У Маши было 15 яблок. Она отдала 1/3 Пете и 20% Оле. Сколько осталось?

Задача 3 (Подход: визуализируй через схему): У Маши было 15 яблок. Она отдала 1/3 Пете и 20% Оле. Сколько осталось?

Модель даст три решения — увидишь, какая формулировка даёт лучший результат. Батчинг сэкономит токены и даст pattern induction: если первый подход сработал хорошо, модель применит структуру к остальным.


🔗

Ресурсы

"Reasoning Under Constraint: How Batch Prompting Suppresses Overthinking in Reasoning Models"

Gaurav Singh, Abhishek Dey, Janit Bidhan, Tanu Kansal, Paras Kath, Saurabh Srivastava

George Mason University, Google, eBay

arXiv:2025 (точная ссылка не указана в тексте)

Связанные работы: - Cheng et al., 2023: "Batch Prompting: Efficient Inference with LLM APIs" (оригинальная работа про батчинг для экономии) - Chen et al., 2025: "Do Not Think That Much for 2+3=?" (исследование overthinking в o1-подобных моделях) - Huang et al., 2025: "Mitigating Overthinking via Manifold Steering" (альтернативный подход через модификацию активаций)


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

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

Парадокс: Модели рассуждения (o1, DeepSeek-R1) застревают в бесконечных самопроверках — на простой вопрос выдают 3000 токенов reasoning с «wait, let me reconsider». Метод Batch Prompting позволяет получать компактные и точные ответы без зависания — группируя несколько вопросов в один промпт. Фишка: модель распределяет внимание между задачами — как человек под дедлайном, который не тратит час на первый вопрос из пяти. Результат: −74% токенов reasoning (2988→769), а точность растёт с 86.2% до 87.7%.

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

Не подавай вопросы по одному — объединяй 3-10 похожих задач в один промпт. Модель перестаёт генерировать метакогнитивные циклы («hold on, I need to verify...») на каждом вопросе, потому что видит в контексте ещё четыре задачи и автоматически балансирует ресурсы. Это работает как неявная регуляризация — модель сама сокращает рассуждения, не теряя точности. Дополнительно: если вопросы схожи по структуре, включается pattern induction — модель обучается на первых примерах и применяет паттерн к остальным.

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

Large Reasoning Models обучены генерировать развёрнутые цепочки мысли — это даёт высокую точность на сложных задачах, но создаёт проблему: модель не умеет притормозить на простых. Она застревает в метакогнитивных циклах и тратит 3000 токенов там, где достаточно 150. Батчинг создаёт мягкое ограничение: когда в промпте пять вопросов, модель интуитивно распределяет глубину размышлений — как человек, решающий пять задач за час, не потратит 50 минут на первую. Тесты на 13 бенчмарках: экономия токенов 74%, точность не падает, а растёт на 1.5% — модель меньше зависает в деталях, отвечает решительнее.

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

Оценка множества вариантов → конкретно для бизнес-идей, резюме кандидатов, вариантов дизайна, текстов для A/B-тестов. Особенно когда задачи схожи по типу (все — оценка, все — анализ, все — генерация). Батчинг усилит консистентность через pattern induction. НЕ подходит для глубоких задач, где каждая требует развёрнутой проработки (бизнес-планы, сложные технические спецификации) — там лучше по одной.

Мини-рецепт

1. Собери 3-10 похожих вопросов: Все одного типа (например, все — оценка идей, или все — решение задач).
2. Оформи в один промпт: Дай общую инструкцию сверху, потом «Вопрос 1: ... Вопрос 2: ... Вопрос N: ...»
3. Добавь ограничитель формата (опционально): «Дай компактный вывод на каждый» или «одним абзацем» — это усилит сжатие reasoning.
4. Отправь одним запросом: Модель обработает все за один проход, выдаст ответы блоками.

Примеры

[ПЛОХО] : Отправляешь пять отдельных промптов Оцени идею доставки еды для офисов, Оцени идею бота для записи к врачам... — каждый ответ по 3000 токенов reasoning, модель зависает в самопроверках на каждом.
[ХОРОШО] : Оцени каждую бизнес-идею по трём критериям: потенциал рынка (1-10), сложность запуска (1-10), главный риск. Дай компактный вывод. Идея 1: Доставка готовой еды для офисов в Екатеринбурге. Договоры с кафе, курьеры, бот. Чек 350₽, комиссия 25%. Идея 2: Telegram-бот для записи к врачам. Парсим расписание поликлиник. Монетизация — подписка 199₽/мес. Идея 3: Маркетплейс репетиторов для ЕГЭ. Комиссия 15% с занятия. Идея 4: Аренда электросамокатов в спальных районах. 5₽/мин. Идея 5: Поиск попутчиков на дальние поездки. Комиссия 10%. → Модель выдаст пять компактных оценок, по 150-200 токенов reasoning на каждую, консистентные по структуре.
Источник: Batch Prompting Suppresses Overthinking in Reasoning Models
ArXiv ID: 2511.04108 | Сгенерировано: 2026-01-12 17:46

Проблемы LLM

ПроблемаСутьКак обойти
Модели рассуждения зацикливаются на простых задачахМодели o1, DeepSeek-R1 обучены генерировать длинные цепочки мысли. Это помогает на сложных задачах. Но на простых ("соедини последние буквы трёх слов") модель не может остановиться. Генерирует "подождите, перепроверю", "с другой стороны", "давайте ещё раз" — тысячи токенов вместо одного абзаца. Может вообще не дать ответ, застряв в проверкахГруппируй несколько вопросов в один промпт (batch prompting). Когда в запросе пять задач, модель чувствует давление контекста. Распределяет внимание между всеми. Не застревает в зацикливании на каждой. Даёт компактные ответы

Методы

МетодСуть
Группировка вопросов (batch prompting) — подавление зацикливанияВместо пяти отдельных запросов делай один со всеми вопросами. Формат: {общая инструкция} Вопрос 1: {текст} Вопрос 2: {текст} ... Вопрос N: {текст}. Почему работает: Несколько задач в контексте создают мягкое ограничение — модель не уходит в бесконечные самопроверки на каждой, распределяет reasoning между всеми. Как человек под давлением времени: не застревает в деталях одной задачи. Когда применять: простые-средние задачи, однотипные вопросы (все про оценку, все про анализ), нужна экономия токенов без потери точности. Оптимальный размер: 3-15 вопросов. Не работает: очень сложные задачи требующие глубокой проработки каждой, разнородные типы задач (математика + код + стихи)

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

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

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