3,583 papers
arXiv:2512.04923 74 4 дек. 2025 г. FREE

Algorithmic Thinking Theory: синтез решений вместо выбора лучшего

КЛЮЧЕВАЯ СУТЬ
Модель в 32 попытках даёт правильный ответ в 40% случаев (pass@32 на олимпиадной математике). Логика говорит: просто выбери лучший из 32. Но работает только в 38%. Algorithmic Thinking Theory решает парадокс: способность модели распределена между попытками – одна содержит правильную логику, другая факты, третья структуру. Фишка: показываешь модели 2-3 предыдущих решения → она извлекает паттерны и комбинирует сильные стороны → новое решение мощнее любого исходного. Синтез (объединение идей) даёт до 85.7% против 38% при селекции (выборе лучшего).
Адаптировать под запрос

TL;DR

Algorithmic Thinking Theory — теоретическая работа, которая формализует принципы итеративного улучшения решений в LLM. Исследователи из Google и ETH Zurich доказывают математически, что синтез (объединение идей из нескольких попыток) работает лучше, чем селекция (выбор лучшего из множества вариантов). Вместо "сгенерируй 32 решения, выбери лучшее" — "сгенерируй несколько решений, объедини их сильные стороны, повтори процесс".

Модель плохо использует latent-способности при одиночной генерации. Парадокс: на сложных задачах (например, олимпиадная математика) pass@1 может быть 10%, pass@32 — 40%, но "best-of-32" (выбери лучший из 32) даёт только 31-38%. Способность модели распределена между несколькими попытками — каждая содержит частично правильные идеи, но ни одна не идеальна. Простой выбор не работает — нужно извлечь и скомбинировать полезное из разных вариантов.

Работа вводит концепцию reasoning oracle — функции, которая принимает контекст из предыдущих решений и генерирует новое, используя их качество. Формализует три алгоритма: Branching (объединяй решения слоями), Genetic (переиспользуй популяцию решений), Random Sampling (бери случайную выборку из всех предыдущих). Доказывает, что все три достигают оптимальной вероятности успеха при достаточном числе итераций.

🔬

Схема методов

Работа описывает три алгоритма. Все они применимы в обычном чате через последовательные запросы.

BRANCHING ALGORITHM (древовидный синтез):

Уровень 0: Генерируй k решений без контекста → s₁, s₂, ..., sₖ
Уровень 1: Объедини по группам (например, по 3) → новые решения
Уровень 2: Объедини решения из уровня 1 → ещё более сильное
...
Уровень L: Финальный синтез → итоговое решение

Каждый уровень работает с независимыми группами. Число вызовов растёт экспоненциально.

GENETIC ALGORITHM (популяционный синтез):

Популяция 0: Генерируй s₁ решений без контекста
Популяция 1: Для каждого из s₂ новых — возьми k₁ случайных из популяции 0
Популяция 2: Для каждого из s₃ новых — возьми k₂ случайных из популяции 1
...
Популяция L: Финальный синтез

Переиспользует решения → меньше вызовов, чем Branching.

RANDOM SAMPLING ALGORITHM (накопительный синтез):

Шаг 1: s₁ ← генерируй без контекста
Шаг 2: s₂ ← генерируй на основе случайных k из {s₁}
Шаг 3: s₃ ← генерируй на основе случайных k из {s₁, s₂}
...
Шаг n: sₙ ← генерируй на основе случайных k из всех предыдущих

На каждом шаге использует всю историю попыток.

🚀

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

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

Промпт (Genetic Algorithm):

Моя задача: выбрать бизнес-нишу в сфере [твоя сфера].

ЭТАП 1 (популяция стартовых идей):
Сгенерируй 5 разных подходов к выбору ниши. Каждый подход должен использовать 
свою логику: тренды, личные сильные стороны, низкую конкуренцию, быстрый выход 
на рынок, высокую маржинальность.

ЭТАП 2 (синтез первого уровня):
Возьми случайно 3 подхода из предыдущих. Объедини их сильные стороны в новый 
подход. Повтори 3 раза (получится 3 новых подхода).

ЭТАП 3 (финальный синтез):
Возьми 2 случайных подхода из предыдущего этапа. Создай финальную рекомендацию, 
которая объединяет лучшее из обоих.

Покажи результаты каждого этапа отдельно.

Результат: Модель выдаст структурированный вывод по этапам: - 5 стартовых подходов с разной логикой - 3 синтезированных подхода, где видно как объединяются принципы (например, "высокая маржинальность + тренды" → новая логика) - Финальную рекомендацию, которая глубже и устойчивее любого из стартовых вариантов

Вы увидите не просто "лучший вариант из пяти", а эволюцию мышления — как идеи перетекают и усиливают друг друга.

🧠

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

Слабость: LLM при одном вызове генерирует решение из одной "ветки" reasoning. Даже если вероятность правильного ответа где-то в reasoning space высокая, одна попытка может промахнуться. При температуре >0 разные вызовы исследуют разные части пространства решений — где-то правильная логика, где-то правильные факты, где-то правильная структура. Но всё это распределено.

Сильная сторона: LLM отлично синтезирует информацию из контекста. Если показать несколько попыток (даже с ошибками), модель извлекает паттерны, комбинирует правильные части, отбрасывает противоречия. Контекст работает как внешняя память reasoning — модель видит "я уже пробовала это, там была ошибка" или "в двух попытках повторяется одна идея — значит она сильная".

Механика: Алгоритмы используют контекст предыдущих решений для направления следующей генерации. Вместо "начни с нуля" модель получает "вот 3 попытки, объедини их". Это сужает reasoning space до пересечения сильных зон предыдущих попыток. Работа доказывает математически: такой подход гарантированно сходится к оптимальной вероятности успеха.

Ключевая находка: Есть оптимальный размер контекста. Слишком мало решений в контексте (k=1) — мало информации для синтеза. Слишком много (k→∞) — сигнал размывается, модель теряется в объёме. Исследователи доказывают существование sweet spot и показывают, что разные модели декрея (экспоненциальный, полиномиальный) требуют разных стратегий.

📌

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

Число решений в контексте (k): - Малое k (2-3) → быстрее, острее фокус, но может пропустить важное - Большое k (5-7) → медленнее, шире охват, но может размыть сигнал - Для сложных задач начни с k=3, для простых — k=2

Глубина синтеза (L): - L=1 → одно объединение, быстро - L=2-3 → мета-уровень, более глубокий инсайт - Больше не всегда лучше — diminishing returns после 3-4 уровней

Размер популяции (для Genetic): - Малая популяция (3-5) → экономия токенов, риск застрять в локальном оптимуме - Большая популяция (10-15) → лучше исследование пространства решений, дороже - Для продакшена: популяция 5, глубина 2 — баланс скорости и качества

Способ выбора из предыдущих: - Случайный выбор (как в алгоритмах) → хорошее исследование - Выбор "лучших" (если можешь оценить) → быстрее к результату, но может зациклить - Комбинация: случайный из топ-50% → баланс разнообразия и качества

📋

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

Даю шаблон Genetic Algorithm — он самый практичный (баланс качества и числа вызовов).

ЗАДАЧА: {твоя_задача}

ПОПУЛЯЦИЯ 0 (стартовые решения):
Сгенерируй {n_start} разных подходов к решению. Каждый должен использовать 
свою логику или фокус. Пронумеруй их.

ПОПУЛЯЦИЯ 1 (первый синтез):
Создай {n_level1} новых решений. Для каждого:
1. Выбери случайно {k1} решений из Популяции 0
2. Объедини их сильные стороны в новое решение
3. Укажи какие решения использовал

ПОПУЛЯЦИЯ 2 (второй синтез):
Создай {n_level2} новых решений. Для каждого:
1. Выбери случайно {k2} решений из Популяции 1  
2. Объедини их сильные стороны в новое решение
3. Укажи какие решения использовал

ФИНАЛЬНЫЙ СИНТЕЗ:
Возьми {k_final} случайных решений из Популяции 2.
Создай итоговое решение, которое объединяет лучшее из них.

---

Покажи результаты каждого этапа.

Что подставлять: - {твоя_задача} — конкретная задача (чем сложнее, тем больше уровней) - {n_start} — стартовых решений (рекомендую 5-7) - {n_level1}, {n_level2} — размер популяций (рекомендую 3-5 на уровень) - {k1}, {k2}, {k_final} — сколько решений объединять (рекомендую 2-3)

Упрощённая версия (2 уровня):

{задача}

ШАГ 1: Дай 5 разных решений. Пронумеруй.

ШАГ 2: Возьми случайно 3 из них. Объедини в одно улучшенное решение.
📌

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

Если структура кажется сложной — используй саму LLM:

Вот шаблон Genetic Algorithm для синтеза решений через популяции. 
Адаптируй под мою задачу: [твоя задача]. 

Задай мне вопросы, чтобы правильно заполнить параметры:
- Сколько стартовых решений нужно?
- Сколько уровней синтеза (1, 2 или 3)?
- Сколько решений объединять на каждом уровне?

После этого создай готовый промпт.

[вставить шаблон выше]

LLM спросит про сложность задачи, доступные ресурсы (токены/время), нужна ли глубина проработки. Эти параметры определяют баланс между качеством (больше уровней, больше популяций) и скоростью (меньше вызовов). Она возьмёт паттерн из шаблона и адаптирует под твою задачу.

⚠️

Ограничения

⚠️ Задачи с субъективной оценкой: Вся теория построена на задачах с чётким критерием правильности (правильно/неправильно). Для креативных задач, где нет "правильного ответа" (написать слоган, придумать название), метод может зациклиться на усреднении вместо поиска яркой идеи.

⚠️ Рост числа токенов: Каждый уровень синтеза требует показывать модели предыдущие решения. На глубине L=3 с популяцией 5 на уровень — это десятки тысяч токенов. Для простых задач overhead не оправдан.

⚠️ Оптимальный размер контекста: Исследование показывает экспериментально — есть sweet spot. Слишком много решений в контексте (k>7) ухудшает результат почти во всех моделях. Но оптимальное k зависит от модели и задачи — нужно тестировать.

⚠️ Diminishing returns: После 2-3 уровней синтеза улучшение замедляется. Модели показывают polynomial decay — каждый следующий уровень даёт всё меньше прироста качества. Больше 4 уровней редко имеет смысл.

📌

Почему исследовали

Команда из Google и ETH Zurich столкнулась с парадоксом на олимпиадных задачах по математике (IMO 2025). Лучшие модели показывали pass@32 = 40% (в 32 попытках хотя бы одна правильная), но best-of-32 = 31-38% (выбери лучшую из 32). Логика подсказывает: если в 32 попытках есть правильная, просто найди её! Но не работало.

Идея была простой: способность модели распределена между попытками. Одна попытка содержит правильную логику, другая — правильные факты, третья — правильную структуру. Нужен синтез, не селекция. Они взяли пайплайн из работы Huang & Yang (2025), который через итеративную генерацию-проверку-улучшение достиг 85.7% на тех же задачах. И решили формализовать математически — почему это работает.

Построили теоретическую модель reasoning oracle — функции, которая генерирует решение на основе контекста из предыдущих. Ввели transfer function F — она определяет вероятность успеха нового решения в зависимости от качества контекста. Определили класс Decaying Models — модели, где слишком большой контекст вредит (соответствует экспериментам: 3 решения в контексте работают лучше чем 10).

Доказали математически: три алгоритма (Branching, Genetic, Random Sampling) гарантированно сходятся к оптимальной вероятности при достаточном числе итераций. Для Decaying Models вычислили точную скорость сходимости — сколько вызовов нужно для заданного прироста качества.

Что удивило: Random Sampling (самый простой — бери случайные из всех предыдущих) работает так же хорошо как сложные алгоритмы. Разница только в скорости сходимости. Для экспоненциального декрея (модель ухудшается экспоненциально с ростом контекста) Random Sampling быстрее. Для полиномиального — Genetic эффективнее.

Инсайт для практики: Не нужны сложные эвристики выбора контекста. Даже случайная выборка из истории попыток системно лучше одиночной генерации. Ключ — многоуровневость (используй результаты синтеза как вход для следующего синтеза) и ограничение размера контекста (2-4 решения эффективнее чем 10).

📌

Адаптации

📌

🔧 Техника: убрать промежуточные этапы → быстрая версия

Если задача не слишком сложная, можно схлопнуть все уровни в один запрос:

{задача}

1. Дай 5 разных подходов (коротко, по 2-3 предложения)
2. Выбери случайно 3 из них
3. Объедини их сильные стороны в одно итоговое решение

Покажи только итоговое решение (без промежуточных шагов).

Экономия токенов, одна итерация вместо трёх. Но теряешь видимость процесса и возможность вмешаться.


📌

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

Вместо "выбери случайно 3" можно давать критерии отбора:

ПОПУЛЯЦИЯ 1:
Оцени каждое решение из Популяции 0 по критериям:
- Реалистичность (1-10)
- Оригинальность (1-10)

Для каждого нового решения:
1. Возьми 1 решение с высокой реалистичностью
2. Возьми 1 решение с высокой оригинальностью  
3. Возьми 1 случайное
4. Объедини их

Направляешь синтез в нужную сторону (баланс практичности и креатива), но теряешь исследование "диких" комбинаций.


📌

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

После синтеза добавляй "искажение" для исследования новых зон:

ФИНАЛЬНЫЙ СИНТЕЗ:
1. Объедини {k} случайных решений из Популяции 2
2. Создай вариацию: что если изменить одно ключевое допущение?
3. Выдай оба варианта (базовый синтез + вариация)

Генетическая мутация — иногда "ошибка" открывает прорывное решение.


🔗

Ресурсы

Algorithmic Thinking Theory — MohammadHossein Bateni, Silvio Lattanzi, Simon Meierhans, Vincent Cohen-Addad, Yuzhou Gu, Christopher Mohri. Google Research, ETH Zurich, NYU, Stanford. 2025.


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

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

Модель в 32 попытках даёт правильный ответ в 40% случаев (pass@32 на олимпиадной математике). Логика говорит: просто выбери лучший из 32. Но работает только в 38%. Algorithmic Thinking Theory решает парадокс: способность модели распределена между попытками – одна содержит правильную логику, другая факты, третья структуру. Фишка: показываешь модели 2-3 предыдущих решения → она извлекает паттерны и комбинирует сильные стороны → новое решение мощнее любого исходного. Синтез (объединение идей) даёт до 85.7% против 38% при селекции (выборе лучшего).

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

Генерируешь 5-7 стартовых решений с разной логикой. Берёшь случайно 2-3 из них и просишь модель объединить в новое решение. Повторяешь процесс с полученными – каждый уровень усиливает предыдущий. Не выбираешь "лучшее", а комбинируешь сильные стороны из разных веток. Модель видит контекст "здесь правильная идея, там ошибка в расчётах" → синтезирует новое решение без ошибок старых. Три алгоритма: Branching (древовидный), Genetic (популяционный), Random Sampling (накопительный) – все сходятся к оптимуму, разница только в скорости.

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

При одиночной генерации LLM исследует одну ветку пространства решений. При разных попытках (температура >0) модель попадает в разные зоны – где-то правильная логика, где-то факты, но всё распределено. Контекст работает как внешняя память рассуждений: модель видит "эта идея повторяется в двух попытках = сильная" или "там ошибка = избегаю". Ключевое: контекст сужает поиск до пересечения сильных зон всех попыток – синтез системно движется к оптимуму, селекция застревает на случайном выборе. Есть золотая середина по размеру контекста: 2-4 решения работают лучше чем 10+ (сигнал размывается в объёме).

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

Сложные задачи с глубокой проработкой → конкретно для стратегического планирования, выбора бизнес-ниш, анализа рисков, дизайна решений, особенно когда одиночная попытка даёт поверхностный или односторонний результат. НЕ подходит для простых задач с очевидным ответом (трата токенов) и креативных задач где важна яркая уникальная идея, а не усреднение подходов.

Мини-рецепт

1. Стартовая популяция: Генерируешь 5-7 решений с разной логикой. Просишь использовать разные фокусы: тренды, риски, быстрая реализация, маржинальность, личные сильные стороны.

2. Первый синтез: Создаёшь 3-5 новых решений. Для каждого берёшь случайно 2-3 из стартовых и объединяешь их сильные стороны. Просишь указать какие именно решения использовала.

3. Второй синтез: Создаёшь 2-3 новых решения. Для каждого берёшь случайно 2-3 из первого синтеза и объединяешь.

4. Финал: Берёшь 2 случайных из второго синтеза и создаёшь итоговое решение, которое вбирает лучшее из обоих.

5. Опционально: Добавь "мутацию" – попроси создать вариацию финального решения с изменённым ключевым допущением (иногда "ошибка" открывает прорыв).

Примеры

[ПЛОХО] : Дай лучшее решение для выбора бизнес-ниши в edtech
[ХОРОШО] : Задача: выбрать нишу в edtech. ШАГ 1: Дай 5 подходов с разной логикой: - Тренды (что растёт) - Низкая конкуренция (где пусто) - Быстрый выход (MVP за месяц) - Высокая маржа (готовность платить) - Личные сильные стороны ШАГ 2: Возьми случайно 3 подхода. Объедини их сильные стороны в новый подход. Повтори 3 раза (получится 3 синтезированных). ШАГ 3: Возьми 2 случайных из предыдущего. Создай финальную рекомендацию. Покажи результаты каждого этапа.
Источник: Algorithmic Thinking Theory
ArXiv ID: 2512.04923 | Сгенерировано: 2026-01-08 23:35

Проблемы LLM

ПроблемаСутьКак обойти
LLM не использует все способности при одиночной генерации — способность распределена между попыткамиОдна генерация исследует одну ветку reasoning space; правильная логика может быть в попытке 1, правильные факты в попытке 2, правильная структура в попытке 3; pass@1 = 10%, pass@32 = 40% — но "выбери лучшую из 32" даёт только 31-38%Вместо "сгенерируй 32, выбери лучший" "сгенерируй несколько, объедини сильные стороны, повтори процесс"
Слишком большой контекст размывает синтез — больше 7 решений в контексте ухудшают результатКонтекст k>7 — модель теряется в объёме, сигнал размывается; есть sweet spot (обычно k=2-4) где синтез работает лучше всегоОграничивай контекст 2-4 решениями на каждый шаг синтеза; не показывай все предыдущие попытки сразу

Методы

МетодСуть
Branching — древовидный синтез решений слоямиГенерируй k решений без контекста объедини по группам (по 2-3) объедини результаты групп повтори. Каждый уровень сужает reasoning space до пересечения сильных зон предыдущих. Промпт: "Уровень 1: дай 6 решений. Уровень 2: объедини по парам (1+2, 3+4, 5+6). Уровень 3: объедини результаты". Diminishing returns после 2-3 уровней. Для: сложные задачи где нужна глубина. НЕ для: простые задачи (overhead токенов не оправдан)
Genetic — популяционный синтез с переиспользованием решенийПопуляция 0: генерируй 5-7 решений без контекста. Популяция 1: для каждого из 3-5 новых возьми 2-3 случайных из популяции 0, объедини. Популяция 2+: повтори процесс. Переиспользование снижает число вызовов vs Branching. Для полиномиального декрея эффективнее Random Sampling. Промпт: Популяция 0: дай 5 подходов. Популяция 1: создай 3 новых — каждый из случайных 3 предыдущих. Финал: объедини 2 из популяции 1. Для: баланс качества и скорости
Random Sampling — накопительный синтез из всей истории попытокШаг 1: генерируй решение без контекста. Шаг 2: генерируй новое на основе случайных k (2-3) из шага 1. Шаг n: генерируй на основе случайных k из всех предыдущих шагов. Простейший алгоритм, работает так же хорошо как сложные. Для экспоненциального декрея быстрее других. Промпт: Дай решение. Теперь возьми его + предыдущие, выбери случайно 2-3, объедини. Повтори 3 раза. Для: когда нужна простота реализации

Тезисы

ТезисКомментарий
Синтез решений работает лучше селекции — объединяй идеи вместо выбора лучшегоСпособность LLM распределена между попытками: одна попытка содержит правильную логику, другая правильные факты, третья правильную структуру. Best-of-32 (выбери лучшую) = 31-38%, синтез (объединяй сильные стороны) = 85.7% на олимпиадной математике. Применяй: вместо "сгенерируй N вариантов, выбери лучший" "сгенерируй несколько, объедини их сильные стороны, повтори"
Есть оптимальный размер контекста для синтеза — обычно 2-4 решенияСлишком мало (k=1) — мало информации для синтеза, слишком много (k>7) — сигнал размывается. Sweet spot зависит от модели и задачи, но обычно 2-4. Применяй: для синтеза показывай модели 2-4 предыдущих решения в контексте, не больше
Случайный выбор из истории работает так же хорошо как сложные эвристики отбораRandom sampling vs генетические алгоритмы — одинаковая сходимость к оптимуму, отличие только в скорости. Для экспоненциального декрея (контекст вредит быстро) Random Sampling даже быстрее. Применяй: не усложняй стратегию выбора контекста, случайная выборка из предыдущих попыток достаточна
📖 Простыми словами

Algorithmic Thinking Theory: синтез решений вместо выбора лучшего

arXiv: 2512.04923

Суть Algorithmic Thinking Theory в том, что современные нейронки — это не магические оракулы, а скорее очень быстрые, но рассеянные мыслители. Когда ты просишь LLM решить задачу за один присест, она идет по одной случайной ветке логики. Если ветка тупиковая — ответ будет херней. Математика доказывает: знания и правильные куски логики размазаны по разным попыткам генерации. Чтобы получить идеальный результат, нужно не просто выбирать «лучший» вариант из кучи мусора, а заниматься синтезом — вытаскивать рабочие детали из каждой попытки и склеивать их в одно сверхрешение.

Это как если бы ты собирал шкаф из Икеи с пятью друзьями, у каждого из которых есть только фрагмент инструкции. Если ты просто выберешь одного «самого умного» друга и заставишь его собирать в одиночку, он неизбежно накосячит, потому что у него нет всей картины. Формально он будет стараться, но шкаф развалится. Правильный подход — собрать всех в круг, выписать удачные шаги из каждой инструкции и составить один эталонный план. В этом и есть фундаментальный сдвиг: мы переходим от тупого перебора вариантов к итеративному конструированию истины.

Исследователи из Google и ETH Zurich на цифрах показали, что стратегия «сгенерируй и объедини» на голову разбивает классическую селекцию. Вместо того чтобы плодить 32 независимых решения и надеяться, что одно из них «выстрелит», нужно заставить модель посмотреть на свои предыдущие черновики, найти в них сильные стороны и выдать новую версию. Работают конкретные методы: итеративное уточнение (когда модель правит сама себя), кросс-анализ (сравнение разных путей решения) и интеграция контекста. Математика подтверждает: синтез идей из разных «галлюцинаций» модели в итоге дает твердый, логически выверенный результат.

Этот принцип универсален и применим везде, где нужно не просто «напиши текстик», а глубокая проработка. Будь то выбор бизнес-ниши, написание сложного кода или планирование маркетинговой стратегии — одна генерация всегда будет слабее, чем цикл из трех-четырех итераций синтеза. SEO для смыслов уходит в прошлое, на смену приходит алгоритмическое конструирование ответов. Если ты просто просишь ChatGPT «дай идею», ты используешь 5% её потенциала. Если заставляешь её синтезировать ответ из пяти разных подходов — ты получаешь интеллектуальный продукт промышленного качества.

Короче: забудь про поиск «того самого» идеального промпта, который выдаст чудо с первой попытки. Это математически невыгодно. Будущее за алгоритмическим мышлением, где ты используешь LLM как конвейер по сборке смыслов из запчастей. Синтез побеждает селекцию, и это не просто мнение, а доказанная теорема. Кто продолжит играть в лотерею с одной попыткой, тот будет получать посредственный результат, пока остальные строят сложные итеративные системы, которые просто не умеют ошибаться.

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

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

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