3,583 papers
arXiv:2510.07499 82 8 окт. 2025 г. FREE

Thought Templates: база переиспользуемых паттернов рассуждений для LLM

КЛЮЧЕВАЯ СУТЬ
Парадокс: Claude держит 500k токенов в памяти, но теряет нить уже на третьем шаге рассуждений. Проблема не в объёме контекста — проблема в отсутствии структуры. Загружаешь 800 документов, просишь связать факты — модель видит данные, но не знает как их соединить. Thought Templates позволяет структурировать многошаговые рассуждения через базу переиспользуемых паттернов. Разделяешь "что знать" (документы) и "как думать" (шаблоны). Вместо "разберись сам в 800 документах" даёшь готовые паттерны: "как найти автора", "как связать человека с местом", "как сопоставить два события". Модель сама выбирает 2-4 нужных шаблона и композирует цепочку рассуждений.
Адаптировать под запрос

TL;DR

Thought Templates — техника для long-context моделей, которая разделяет "как думать" (шаблоны рассуждений) и "что знать" (документы с фактами). Вместо того чтобы просто загружать тысячи документов в промпт и надеяться что модель сама разберётся, вы даёте ей готовые паттерны как связывать факты между собой. Модель сама выбирает нужные шаблоны и комбинирует их под конкретный вопрос.

Long-context модели (Claude, Gemini, GPT) могут держать в памяти сотни тысяч токенов, но плохо справляются с многошаговыми рассуждениями. Проблема не в объёме контекста — проблема в отсутствии структуры. Когда в промпт загружают 800 документов, модель видит факты, но не знает как их связать: сначала найти автора → потом место смерти → потом событие в этом месте. Она теряет нить рассуждений между шагами.

Метод работает так: вы создаёте базу шаблонов (10-50 штук) из примеров задач. Каждый шаблон — это описание типового паттерна: "как найти автора произведения", "как связать человека с местом", "как сопоставить два события". При запросе модель получает вопрос + шаблоны + документы, сама определяет какие шаблоны применимы и композирует их в цепочку рассуждений. Шаблоны можно итеративно улучшать через текстовый feedback — модель анализирует ошибки и переписывает слабые шаблоны.

🔬

Схема метода

Этап 1: Создание базы шаблонов (один раз)

  • Берёте 10-50 примеров вопросов с ответами из вашей области
  • Просите LLM создать шаблоны рассуждений: название + описание + шаги
  • Сохраняете в "базу шаблонов"

Этап 2: Применение (каждый запрос)

  • Подставляете в промпт: вопрос + ВСЕ шаблоны + документы
  • Модель сама выбирает 2-4 нужных шаблона
  • Применяет их последовательно, связывая факты
  • Выдаёт ответ с указанием какие шаблоны использовала

Этап 3: Улучшение шаблонов (периодически, опционально)

  • Собираете ошибки модели
  • Просите другую LLM проанализировать что не так с шаблоном
  • Получаете feedback на естественном языке
  • Обновляете слабые шаблоны
🚀

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

Задача: Помочь юристу проанализировать сложный кейс с жильём в Москве. Клиент купил квартиру в 2020, оказалась долевая — теперь жалуется сосед что ремонт нарушает его права. Нужно связать Жилищный Кодекс + судебную практику + локальные постановления Москвы.

Промпт:

Вопрос: Имеет ли сосед право запретить ремонт в долевой собственности если работы не затрагивают общее имущество но создают шум в дневное время?

База шаблонов рассуждений:

Шаблон 1: Поиск применимой нормы закона
Описание: Найти статью закона которая регулирует конкретную ситуацию
Шаги: 
1. Определить область права (гражданское, жилищное, административное)
2. Найти соответствующий кодекс
3. Определить ключевые термины из ситуации
4. Сопоставить с формулировками статей

Шаблон 2: Связь нормы с правоприменительной практикой 
Описание: Понять как норма работает на практике через судебные решения
Шаги:
1. Взять найденную статью закона
2. Найти релевантные судебные дела
3. Выделить как суды трактуют эту норму
4. Определить есть ли исключения или особые условия

Шаблон 3: Применение локальных уточнений
Описание: Учесть региональные правила которые дополняют федеральный закон
Шаги:
1. Определить регион (город, область)
2. Найти местные постановления по теме
3. Проверить не противоречат ли они федеральному закону
4. Включить дополнительные требования

Документы:
[Жилищный Кодекс РФ]
[3 судебных решения по долевой собственности]
[Постановление Правительства Москвы о ремонте]

Задача: Примени нужные шаблоны последовательно. Для каждого шага укажи:
- Какой шаблон используешь (номер + название)
- Что делаешь на этом шаге
- Какой промежуточный результат

Финальный ответ: краткий вывод с обоснованием.

Результат: Модель покажет 3 шага с явными ссылками на шаблоны:

  1. Шаблон 1 → находит ст. 30 ЖК РФ о пользовании жилым помещением
  2. Шаблон 2 → ссылается на дело №33-2451/2019 где суд разделил "общее имущество" и "личное пространство"
  3. Шаблон 3 → применяет постановление Москвы о "тихих часах"

Финальный ответ будет структурированным: "Сосед НЕ может запретить, но может требовать соблюдения графика. Основание: ЖК РФ + практика + постановление Москвы."

🧠

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

Слабость LLM: Модели плохо справляются с неявной многошаговой логикой. Когда нужно связать факт A → вывод B → факт C → финальный ответ, они часто "теряют нить" или пропускают промежуточные шаги. В long-context это усугубляется — чем больше документов, тем сложнее понять КАК их связывать.

Сильная сторона LLM: Модели отлично следуют явным структурированным инструкциям. Если дать чёткий паттерн "сначала сделай X, потом Y, используя результат X", они выполнят точно. Проблема в том что обычно мы НЕ даём таких паттернов — мы просто говорим "вот документы, подумай сам".

Как метод использует сильную сторону: Thought Templates превращают неявное рассуждение в явное. Вместо "разберись сам в 800 документах" вы даёте готовые паттерны: "если нужно найти автора — шаблон 1, если связать с местом — шаблон 2". Модель сама композирует нужную цепочку, но следует чёткой структуре.

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

  1. Количество шаблонов: Начните с 5-10 базовых → добавляйте по мере роста сложности задач. Исследование показало что даже 25% шаблонов дают 80% эффекта.
  2. Композиционность: Разбивайте сложные паттерны на простые sub-шаблоны. Вместо одного "Полный анализ конкурента" сделайте 3: "Найти продукт" + "Найти цену" + "Сравнить с нашим". Это даёт гибкость.
  3. Явность инструкций: Если хотите видеть процесс рассуждений — добавьте "Для каждого шага объясни что делаешь". Если нужен только ответ — "Используй шаблоны молча, дай финальный результат".
  4. Feedback-цикл: После применения соберите ошибки → попросите другую сессию LLM: "Вот шаблон, вот ошибка, как его улучшить?" → обновите шаблон в базе.
📋

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

Задача: {описание задачи требующей многошагового рассуждения}

Переиспользуемые шаблоны рассуждений:

ШАБЛОН_{номер}: {Название шаблона}
Описание: {Что делает этот паттерн рассуждений}
Применимо когда: {В каких ситуациях использовать}
Шаги:
1. {Первый шаг}
2. {Второй шаг}
3. {Третий шаг}
Пример: Вопрос "{пример}" → "{как решить}"

[Повторить для каждого шаблона в базе]

Документы/контекст:
{все релевантные документы, данные, факты}

Инструкции:
1. Определи какие шаблоны из базы применимы к задаче
2. Примени их последовательно или композиционно
3. Для каждого использованного шаблона укажи:
 - ШАБЛОН_{номер} | {Название}
 - Что делаешь на этом шаге
 - Промежуточный результат
4. Дай финальный ответ с обоснованием

Финальный ответ: {формат ответа}

Что подставлять:

  • {описание задачи} — ваш конкретный вопрос
  • {номер} — порядковый номер шаблона (1, 2, 3...)
  • {Название}, {Описание}, {Шаги} — заполняется из вашей базы шаблонов
  • {документы} — весь контекст который нужен для ответа
  • {формат ответа} — что ожидаете получить (краткий вывод, развёрнутый анализ, список)

🚀 Быстрый старт — вставь в чат:

Мне нужно создать базу шаблонов рассуждений для задач типа: {опиши свою область}.

Вот 3-5 примеров типовых вопросов которые я решаю:
1. {пример вопроса 1}
2. {пример вопроса 2}
3. {пример вопроса 3}

Создай для меня 5-10 переиспользуемых шаблонов рассуждений в формате:
ШАБЛОН_N: Название
Описание: что делает
Применимо когда: в каких ситуациях
Шаги: [пронумерованный список]
Пример: вопрос → как решить

Сделай шаблоны композиционными — лучше 10 простых чем 3 сложных.

LLM проанализирует ваши примеры, выделит повторяющиеся паттерны рассуждений (поиск по категории, сравнение двух объектов, проверка условия и т.д.) и создаст готовую базу. Вы получите структурированный набор шаблонов который сразу можно использовать.

⚠️

Ограничения

⚠️ Оверхед для простых задач: Если вопрос решается в один шаг ("Столица Франции?"), загрузка 15 шаблонов в промпт — избыточная трата токенов. Метод окупается на multi-hop рассуждениях где нужно связать 3+ факта.

⚠️ Требует создания базы: Перед применением нужно потратить время на создание 10-50 шаблонов. Для новой области придётся либо создавать с нуля, либо адаптировать существующие. Хотя это можно делегировать LLM (дать примеры → попросить создать шаблоны), первичная подготовка неизбежна.

⚠️ Токены на шаблоны: Каждый шаблон занимает 50-150 токенов. База из 30 шаблонов = ~3000 токенов в каждом запросе. На коротких контекстах это значимо, на long-context (128k+) — мелочь.

⚠️ Качество зависит от шаблонов: Если шаблоны плохо спроектированы (слишком абстрактные или слишком узкие), эффект слабый. Нужна итерация — создать → протестировать → улучшить.

🔍

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

Команда из KAIST, Amazon и University of Minnesota проверила метод на четырёх бенчмарках для multi-hop вопросов: MuSiQue (общие знания), CRAG (сложные нестандартные запросы), FanOutQA (длинные Wikipedia-статьи) и Housing QA (юридические вопросы по недвижимости). Тестировали на топовых моделях: Claude Sonnet 4, Gemini 2.5 Flash, GPT-4.1 и open-source DeepSeek-R1.

Сравнивали с четырьмя baseline: (1) просто вопрос без контекста, (2) Chain-of-Thought ("подумай пошагово"), (3) Corpus-in-Context (загрузить все документы в промпт), (4) CIC + CoT (комбо). Результат: Thought Templates обошли все варианты на 5-10 F1 points в зависимости от датасета. На MuSiQue улучшение с 63.87 до 73.30, на CRAG с 17.32 до 30.08.

Удивительный вывод: Шаблоны созданные для одной модели (GPT) работают на других (Claude, Gemini, DeepSeek) почти без потери качества. Это значит база шаблонов — переиспользуемый актив, не привязанный к конкретной модели. Более того, даже 25% лучших шаблонов дают конкурентный результат — не нужно создавать сотни, достаточно 10-15 качественных.

Логика результатов: модели уже умеют рассуждать пошагово (CoT это показывает), но не знают КАКИЕ шаги применить в multi-hop задачах. Шаблоны дают недостающую структуру. Причём чем сложнее задача (больше шагов, разнороднее документы), тем сильнее эффект — на Housing QA (юридические запросы с 3-5 шагами) прирост максимальный.

Инсайт для практики: Если работаете с long-context моделями и сложными вопросами — инвестиция 2-3 часа в создание базы шаблонов окупается стабильным +10-15% к качеству ответов. База переносится между моделями и задачами, это не одноразовая трата времени.

💡

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

💡 Адаптация для одношаговых задач (упрощённая версия):

Для простых задач где multi-hop избыточен, можно использовать мини-версию с 3-5 шаблонами только для своей узкой области:

Задача: {вопрос из узкой области — например, SEO-аудит}

Мини-база шаблонов (только для SEO):
1. Технический анализ → проверить скорость/мобильность/индексацию
2. Контент-анализ → оценить качество/уникальность/структуру
3. Бэклинк-анализ → профиль ссылок/качество/анкоры

Сайт: {URL или данные}

Примени ВСЕ три шаблона последовательно, дай сводку по каждому.

Здесь нет выбора шаблонов — модель применяет все 3 как чек-лист. Это проще чем полная TOTAL, но сохраняет структуру.


🔧 Техника: превратить шаблоны в "агентов" → острее специализация

В оригинале шаблоны — это безликие паттерны. Но можно дать им роли для усиления эффекта:

Задача: {анализ стартапа}

Команда экспертов-шаблонов:

АГЕНТ "Финансовый аналитик" (ШАБЛОН_1):
Описание: Оценить unit-экономику и burn rate
Шаги: ...

АГЕНТ "Продуктовый стратег" (ШАБЛОН_2):
Описание: Проверить product-market fit
Шаги: ...

АГЕНТ "Конкурентный аналитик" (ШАБЛОН_3):
Описание: Сравнить с аналогами на рынке
Шаги: ...

Данные: {питч-дек стартапа}

Задача: Каждый агент даёт своё заключение. Потом сведи в общий вердикт.

Называя шаблоны "агентами" с ролями, вы активируете role-play механизм в LLM — модель сильнее держит фокус каждого шаблона на своей зоне.


💡 Экстраполяция: комбинация с Tree-of-Thoughts для "ветвления" решений

Если задача допускает несколько путей решения, можно комбинировать Thought Templates с Tree-of-Thoughts:

Задача: {сложная дилемма — например, куда вложить бюджет: маркетинг vs продукт}

Шаг 1: Определи 2-3 применимых шаблона из базы
Шаг 2: Для КАЖДОГО шаблона сгенерируй 2 варианта решения
Шаг 3: Оцени каждый вариант по критериям {список}
Шаг 4: Выбери лучший путь

База шаблонов: [вставить]
Данные: [вставить]

Это создаёт дерево вариантов (шаблон A → решение A1, A2; шаблон B → решение B1, B2) и выбирает оптимальное. Полезно когда один шаблон не даёт однозначного ответа.

🔗

Ресурсы

  • "When Thoughts Meet Facts: Reusable Reasoning for Long-Context LMs"
  • Soyeong Jeong, Taehee Jung, Sung Ju Hwang (KAIST), Joo-Kyung Kim (Amazon), Dongyeop Kang (University of Minnesota)
  • Код: https://github.com/starsuzi/ToTAL
  • Бенчмарк LOFT для long-context evaluation

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

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

Парадокс: Claude держит 500k токенов в памяти, но теряет нить уже на третьем шаге рассуждений. Проблема не в объёме контекста — проблема в отсутствии структуры. Загружаешь 800 документов, просишь связать факты — модель видит данные, но не знает как их соединить. Thought Templates позволяет структурировать многошаговые рассуждения через базу переиспользуемых паттернов. Разделяешь "что знать" (документы) и "как думать" (шаблоны). Вместо "разберись сам в 800 документах" даёшь готовые паттерны: "как найти автора", "как связать человека с местом", "как сопоставить два события". Модель сама выбирает 2-4 нужных шаблона и композирует цепочку рассуждений.

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

Стандартный подход: грузишь документы кучей и надеешься что модель сама разберётся в логике. Модель теряется — не понимает КАК связывать факты между собой. Thought Templates разделяет "факты" и "паттерны мышления". Создаёшь базу из 10-50 шаблонов — каждый описывает типовой паттерн рассуждений. При запросе модель получает вопрос + ВСЕ шаблоны + документы. Сама определяет какие шаблоны применимы и строит цепочку: Шаблон 1 (найти автора) → Шаблон 2 (найти место смерти) → Шаблон 3 (событие в этом месте). Шаблоны переиспользуются — создал один раз для области, применяешь постоянно.

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

LLM катастрофически плохи в неявной многошаговой логике. Когда нужно связать факт A → вывод B → факт C → финальный ответ, модель "теряет нить" между шагами. Чем больше документов в контексте — тем сильнее эффект. Прикол: модели отлично следуют явным структурированным инструкциям. Если дать чёткий паттерн "сначала сделай X, потом Y, используя результат X" — выполнят точно. Thought Templates превращает неявное рассуждение в явное. Вместо "подумай сам" модель получает готовые паттерны как связывать факты. Исследование показало: 25% шаблонов дают 80% эффекта — не нужно описывать все возможные рассуждения, хватает базовых паттернов.

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

Анализ больших баз знаний → конкретно для задач требующих связать 3+ факта между собой (юридический анализ, медицинская диагностика, исследовательские запросы), особенно когда в контексте сотни документов и нужна многошаговая логика. НЕ подходит для простых одношаговых вопросов ("Столица Франции?") — оверхед на загрузку 15 шаблонов не окупается.

Мини-рецепт

Этап 1: Создание базы (один раз):
1. Собери примеры: 10-50 типовых вопросов из твоей области с ответами
2. Создай шаблоны: Попроси LLM выделить повторяющиеся паттерны рассуждений — каждый шаблон содержит название, описание, шаги, пример
3. Сохрани базу: Держи шаблоны в отдельном файле

Этап 2: Применение (каждый запрос):
1. Загрузи всё сразу: вопрос + ВСЕ шаблоны из базы + документы
2. Дай инструкцию: "Выбери нужные шаблоны, примени последовательно, для каждого шага укажи какой шаблон используешь"
3. Получи ответ: модель покажет цепочку ШАБЛОН_1 → ШАБЛОН_3 → финальный вывод

Этап 3: Улучшение (периодически, опционально):
1. Собери ошибки: где модель сбилась с пути
2. Попроси feedback: другая сессия LLM анализирует "Вот шаблон, вот ошибка, как улучшить?"
3. Обнови базу: перепиши слабые шаблоны

Примеры

[ПЛОХО] : Вот 800 документов по жилищному праву. Вопрос: Имеет ли сосед право запретить ремонт в долевой собственности? Проанализируй. (Модель видит факты, но не знает КАК их связывать — теряет нить между Жилищным Кодексом, судебной практикой и локальными постановлениями)
[ХОРОШО] : Вопрос: Имеет ли сосед право запретить ремонт в долевой собственности если шум в дневное время? База шаблонов: ШАБЛОН_1: Поиск применимой нормы закона Описание: Найти статью регулирующую ситуацию Шаги: 1) Определить область права 2) Найти кодекс 3) Сопоставить термины ШАБЛОН_2: Связь нормы с судебной практикой Описание: Понять как норма работает через суд Шаги: 1) Взять статью 2) Найти дела 3) Выделить трактовки ШАБЛОН_3: Применение локальных уточнений Описание: Учесть региональные правила Шаги: 1) Определить регион 2) Найти постановления 3) Включить требования Документы: [ЖК РФ] [3 судебных решения] [Постановление Москвы] Примени нужные шаблоны последовательно. Для каждого шага укажи: какой шаблон, что делаешь, промежуточный результат. (Модель строит явную цепочку: ШАБЛОН_1 → находит ст. 30 ЖК РФ → ШАБЛОН_2 → ссылается на дело №33-2451/2019 → ШАБЛОН_3 → применяет постановление Москвы → структурированный ответ с обоснованием)
Источник: When Thoughts Meet Facts: Reusable Reasoning for Long-Context LMs
ArXiv ID: 2510.07499 | Сгенерировано: 2026-01-11 23:48

Проблемы LLM

ПроблемаСутьКак обойти
Модель теряет нить в многошаговых рассужденияхНужно связать факт А вывод Б факт В ответ. Модель видит все факты. Но не знает КАК их связать. Пропускает промежуточные шаги. Особенно в длинном контексте: 800 документов — модель видит данные, но не понимает последовательность действийДай модели явную структуру рассуждений. Не "вот документы, думай сам". А "вот паттерны: сначала найди автора (шаблон 1), потом место (шаблон 2), потом событие (шаблон 3)". Модель выберет нужные и применит по порядку

Методы

МетодСуть
База переиспользуемых шаблонов рассужденийСоздай библиотеку типовых паттернов мышления для своей области. Каждый шаблон = название + описание + шаги. Примеры: "как найти автора произведения", "как связать человека с местом", "как сопоставить два события". При запросе подставь в промпт: вопрос + ВСЕ шаблоны + документы. Модель сама выберет нужные 2-4 шаблона и скомбинирует их. Почему работает: Разделяешь "как думать" (шаблоны) и "что знать" (документы). Модель получает готовые паттерны связывания фактов. Не придумывает логику с нуля — выбирает из проверенных. Формат шаблона: ШАБЛОН_1: Название / Описание: что делает / Применимо когда: ситуации / Шаги: 1. 2. 3. / Пример: вопрос решение. Когда применять: Задачи с 3+ шагами рассуждений. Нужно связать факты из разных источников. Есть повторяющиеся паттерны логики. Когда НЕ работает: Простые вопросы в один шаг. Уникальная задача без типовых паттернов

Тезисы

ТезисКомментарий
Модель сильна в явных инструкциях, слаба в неявной логикеLLM отлично следует чёткой структуре: "сделай X, потом Y, используя результат X". Плохо справляется когда нужно самой придумать последовательность шагов. Проблема не в способности рассуждать — проблема в отсутствии структуры. Механика: Когда даёшь явный паттерн, модель не тратит "усилия" на поиск подхода. Фокусируется на применении. Применяй: Для сложных задач не полагайся на "модель сама разберётся". Дай готовую структуру: шаблоны, чек-листы, пошаговые алгоритмы
📖 Простыми словами

Thought Templates: база переиспользуемых паттернов рассуждений для LLM

arXiv: 2510.07499

Современные нейронки с огромным контекстом — это как гениальный профессор с дырявой памятью: он прочитал библиотеку, но не знает, с какой полки начать. Проблема не в том, что модель чего-то не видит в куче документов, а в том, что она не понимает, как связать факт А с фактом Б, если между ними пять тысяч страниц текста. Thought Templates решают эту проблему в лоб: они отделяют логику рассуждения от голых фактов. Вместо того чтобы просто закидывать в модель тонну данных и надеяться на чудо, мы даем ей готовые рельсы для мышления, по которым она катится к правильному ответу.

Это как если бы ты дал стажеру-юристу гору папок с делом и сказал: «Разбирайся». Скорее всего, он утонет в деталях и пропустит главное. Но если ты дашь ему протокол анализа — сначала проверь сроки давности, потом найди пересечения в праве собственности, затем сверься с практикой Верховного суда — он выдаст результат в разы быстрее и точнее. Шаблоны мыслей — это и есть такой протокол, который модель достает из кармана, когда видит сложную задачу. Формально она всё еще читает документы, но теперь она знает, на какие «крючки» их вешать.

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

Принцип универсален и выходит далеко за рамки юриспруденции. Тестировали на документах, но это сработает в медицине, аудите или при анализе кода — везде, где нужно не просто найти цитату, а выстроить доказательную базу. Модели типа ChatGPT или Gemini часто «теряют нить» в длинных текстах, потому что их логика размывается объемом данных. Thought Templates возвращают им фокус, заставляя работать не как поисковик, а как аналитик с четким планом действий.

Главный вывод: эпоха «просто засунь всё в контекст» заканчивается, наступает эра управляемого рассуждения. Если хочешь, чтобы AI не галлюцинировал и не тупил на больших объемах, перестань кормить его сырыми данными — дай ему алгоритм мышления. Это снижает риск того, что модель пропустит важную деталь, и превращает её из читалки в полноценного эксперта. Кто научится разделять факты и шаблоны, тот и получит от LLM вменяемые ответы, а не невнятное бормотание по мотивам прочитанного.

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

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

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