TL;DR
TORSO (Template-Oriented Reasoning) — техника, которая заставляет модель рассуждать через принудительную вставку токенов-маркеров во время генерации ответа. Модель сначала думает (генерирует блок <reasoning>), потом отвечает (блок <answer>) — эта структура активируется автоматически, без промпта.
Исследователи обнаружили парадокс few-shot промптов: примеры Chain-of-Thought не активируют рассуждения, а ограничивают их. Модель слепо имитирует шаблон из промпта вместо использования собственной способности мыслить. На бенчмарке GSM8K (математика) CoT с 5 примерами дал 77.3%, а TORSO без единого примера — 82.7%. Модель уже умеет рассуждать — few-shot примеры мешают.
Метод работает в два шага во время генерации: (1) На первом токене принудительно вставляется <reasoning> — модель начинает генерировать рассуждение. (2) Когда модель готова завершить, вставляется </reasoning> и <answer> — модель формулирует финальный ответ. Никаких few-shot примеров, никакого обучения — только два служебных токена активируют внутреннюю способность к рассуждениям.
Схема метода
Технически (через API с logit manipulation):
ГЕНЕРАЦИЯ НАЧИНАЕТСЯ → принудительная вставка <reasoning>
↓
Модель генерирует рассуждение
↓
Модель готова закончить (EOS сигнал)
↓
Принудительная вставка </reasoning><answer>
↓
Модель генерирует финальный ответ → </answer> → EOS
Адаптация для чата (без API):
ШАГ 1: Явно требуй структуру в промпте
"Сначала <reasoning>, потом <answer>"
ШАГ 2: Генерация в одном запросе
Модель следует структуре самостоятельно
Пример применения
⚠️ Ограничения метода: Оригинальная техника требует API с возможностью манипуляции logits (вероятностями токенов). В обычном чате нельзя принудительно вставить токены. НО: Принципы метода (структурное разделение мышления и ответа через явные маркеры) можно применить через промпт.
Задача: Антон Степанов обещает прибыль 30% годовых на вклад в криптовалютный фонд. Минимальная сумма — 500 тысяч рублей. Он говорит: "Мы инвестируем в DeFi-протоколы, риски минимальны". Стоит ли вкладывать деньги в пенсионные накопления?
Промпт (адаптация для чата):
Оцени предложение Антона Степанова.
Обязательно следуй структуре:
<reasoning>
Проанализируй каждый красный флаг, сравни с признаками финансовой пирамиды,
оцени реалистичность обещанной доходности
</reasoning>
<answer>
Финальная рекомендация: вкладывать или нет
</answer>
Результат:
Модель выдаст два чётких блока:
<reasoning>: Пошаговый анализ — 30% годовых vs средняя доходность инвестиций (~7-10%), высокий порог входа как признак пирамиды, DeFi-риски (взломы, волатильность), отсутствие регулирования. Несколько абзацев логического разбора.<answer>: Краткий вердикт на основе рассуждений — "Не вкладывать. Все признаки финансовой пирамиды."
В отличие от обычного промпта, где модель может сразу выдать вердикт или смешать рассуждения с выводом, явные маркеры заставляют сначала думать, потом решать.
Почему это работает
Слабость LLM: Модели генерируют текст авторегрессивно — каждое следующее слово зависит от предыдущих. Если модель сразу начнёт с ответа ("Не вкладывать"), она уже не сможет откатиться к рассуждению — токены не редактируются. Рассуждение после ответа — это самообман, не процесс мышления.
Сильная сторона LLM: Модели обучены на огромных объёмах текста, включая научные статьи, доказательства, пошаговые объяснения. Способность рассуждать уже встроена — её просто нужно активировать.
Как TORSO использует это: Принудительная вставка <reasoning> блокирует преждевременный ответ. Модель вынуждена сначала генерировать рассуждение — и делает это качественно, потому что способность есть. Маркер <answer> потом сигнализирует: "Теперь упакуй рассуждение в короткий вывод".
Парадокс few-shot: Когда мы даём модели 5 примеров CoT, она имитирует формат примеров вместо использования собственной логики. Если примеры короткие — модель рассуждает поверхностно. Если длинные — раздувает текст. TORSO даёт только структуру (два маркера), не шаблон рассуждений — модель мыслит своими словами.
Рычаги управления:
- Замена маркеров (
<think>,<solution>вместо<reasoning>) — работает, если семантически похоже. Случайные токены (<xyz>) — ломают метод. - Инструкции внутри блоков — можно добавить "максимум 3 абзаца в
<reasoning>" или "ответ одним словом в<answer>" - Количество маркеров — можно расширить:
<reasoning>→<pros>+<cons>→<synthesis>→<answer>
Шаблон промпта
Для API с logit bias (OpenAI, Anthropic API):
# Псевдокод для иллюстрации
response = client.complete(
prompt="{задача}",
logit_bias={
"<reasoning>": 100, # Первый токен принудительно
}
)
# После EOS сигнала вставить </reasoning><answer>
```
**Для обычного чата** (адаптация принципов):
```
{задача}
Структура ответа:
<reasoning>
[Пошаговый анализ: разбери вопрос, взвесь факторы, проверь логику]
</reasoning>
<answer>
[Финальный вывод на основе рассуждений]
</answer>
```
**Пояснение плейсхолдеров:**
- `{задача}` — ваш вопрос или инструкция
- Блок `<reasoning>` — модель сама заполнит рассуждениями
- Блок `<answer>` — модель сформулирует короткий ответ
**Вариант с явными инструкциями:**
```
{задача}
ОБЯЗАТЕЛЬНО:
1. Сначала рассуждай в блоке <reasoning>
- Анализируй проблему пошагово
- Рассматривай альтернативы
- Проверяй логику
2. Потом отвечай в блоке <answer>
- Краткий финальный вывод
- Прямой ответ на вопрос
```
🚀 **Быстрый старт** — вставь в чат:
```
Вот техника структурированного мышления через маркеры.
Адаптируй под мою задачу: {твоя задача}.
Спроси что нужно уточнить.
[вставить любой шаблон выше]
```
LLM спросит **специфику задачи** (нужен короткий анализ или глубокий? строгая логика или креатив?) — потому что **форма рассуждений зависит от типа проблемы**. Она возьмёт структуру `<reasoning>` + `<answer>` и адаптирует под контекст.
---
## Ограничения
> ⚠️ **Прямое применение требует API:** Оригинальный метод работает только через API с возможностью logit manipulation (принудительная вставка токенов). В обычном чате Claude/ChatGPT нельзя **принудительно** вставить `<reasoning>` — можно только **попросить** модель следовать структуре.
> ⚠️ **Не для новой информации:** Метод активирует **существующие знания** модели. Если задача требует информации после cutoff date или специфических новых данных — нужен web search или RAG, не только рассуждения.
> ⚠️ **Случайные маркеры не работают:** Если заменить `<reasoning>` на бессмысленные токены (`<xyz>`, `<qwer>`), производительность **падает ниже базовой модели**. Семантика маркеров критична — они должны сигнализировать "думай" и "отвечай".
> ⚠️ **Reasoning-модели могут не улучшиться:** Модели, специально обученные на датасетах с рассуждениями (DeepSeek-R1, QwQ), уже имеют жёсткий паттерн мышления. TORSO может конфликтовать с их внутренней структурой.
---
## Как исследовали
Команда проверила гипотезу: **LLM уже умеют рассуждать, но few-shot промпты мешают**. Взяли три популярные open-source модели (Llama-3.1-8B, Gemma-2-9B, Mistral-7B) и протестировали на **шести разных бенчмарках** — математика (GSM8K), наука (ARC), честность ответов (TruthfulQA), чтение (RACE), общие знания (MMLU, GAOKAO).
Сравнивали **пять подходов**:
- **Base** — модель без промптов
- **CoT-Zero** — "Let's think step by step" без примеров
- **CoT** — классический Chain-of-Thought с 5 примерами
- **ToT** — Tree-of-Thought (разветвлённое рассуждение)
- **LtM** — Least-to-Most (разбиение на подзадачи)
- **TORSO** — принудительные маркеры `<reasoning>` + `<answer>`
**Неожиданный результат:** На математическом бенчмарке GSM8K для модели Gemma **CoT с примерами (75.97%) проиграл CoT-Zero (76.88%)**. Больше примеров = хуже результат! Это противоречит интуиции, но объясняет почему: **модель копирует шаблон из промпта вместо использования собственной логики**.
TORSO без единого примера показал **81.88%** на той же модели — **на 5 процентных пунктов выше** лучшего few-shot метода. Паттерн повторился на всех моделях и бенчмарках.
Качественная оценка (GPT-4o как судья): взяли 200 вопросов, где и TORSO, и базовый метод дали правильный ответ. Сравнили **качество рассуждений**. TORSO выиграл **в 1103 случаях против 610** у базовой модели, **в 775 против 281** у CoT. Модель не просто угадала ответ — она **логически обосновала** его лучше.
**Эффективность:** TORSO генерирует **короткие рассуждения** (в среднем как у базовой модели), но **без раздувания input'а** few-shot примерами. CoT требует 1500+ токенов на вход (примеры), LtM и ToT — столько же. TORSO — **ноль токенов** на примеры, только маркеры.
---
## Оригинал из исследования
**Контекст:** Исследователи описывают технический процесс принудительной вставки токенов через logit processing. Это **не прямая инструкция для модели**, а манипуляция вероятностями на уровне API.
```
Step 1: Unlocking Reasoning
We force the model to generate the token <reasoning> at the first step
of decoding in response to a user query. We apply logit processing at
the first decoding step to forcibly assign very high logits to the tokens
composing <reasoning>, regardless of the model's original probability
distribution.
Step 2: Generation Wrap-up
When the model is about to terminate generation by internally signaling
an End-of-Sequence, we insert the </reasoning> token to indicate the end
of the rationale, followed by the <answer> token to initiate answer
generation.
```
**Важно:** Это описание **API-уровневой техники**, не промпта. В обычном чате нельзя "assign very high logits" — можно только **явно требовать структуру** в тексте промпта.
---
## Адаптации и экстраполяции
### 💡 Адаптация для многокритериальных решений
Оригинальный TORSO: один блок рассуждений → один ответ. Можно расширить для **взвешивания критериев**:
```
Оцени предложение о работе.
Структура:
<pros>
[Плюсы: зарплата, рост, команда]
</pros>
<cons>
[Минусы: переезд, овертаймы, риски]
</cons>
<weighting>
[Что важнее лично для меня в текущей ситуации]
<answer>
[Принять или отклонить на основе взвешенного анализа]
</answer>
```
**Эффект:** Модель **разделяет оценку** (pros/cons) и **персонализацию** (weighting) — не смешивает факты с приоритетами.
---
### 🔧 Техника: Контроль глубины рассуждений
**Что менять:** Длина блока `<reasoning>` через явные ограничения.
**Эффект:**
- "Максимум 3 предложения в `<reasoning>`" → **быстрый поверхностный анализ** (для простых вопросов)
- "Минимум 5 абзацев, рассмотри 3+ сценария" → **глубокое исследование** (для сложных решений)
**Пример:**
```
{сложная этическая дилемма}
<reasoning>
Требования:
- Рассмотри минимум 3 моральные системы (утилитаризм, деонтология, этика заботы)
- Для каждой: оценка действия + возможные контраргументы
- Минимум 5 абзацев
</reasoning>
<answer>
[Короткая рекомендация]
</answer>
```
---
### Экстраполяция: Комбинация с фильтрацией галлюцинаций
TORSO активирует рассуждения, но **не гарантирует фактическую точность**. Комбинация с явным требованием цитирования:
```
{вопрос требующий фактов}
<reasoning>
1. Разбери вопрос
2. Определи какие факты критичны
3. Отметь где уверен, где НЕ уверен
</reasoning>
<confidence_check>
Для каждого факта в рассуждении:
- Если уверен (есть в обучающих данных) → пометь [✓]
- Если НЕ уверен → пометь [?] и объясни почему
<answer>
[Финальный ответ с пометкой: где нужна верификация]
</answer>
Логика: Блок <confidence_check> заставляет модель рефлексировать над своими знаниями ДО формулировки ответа. Это не гарантия правды, но снижает confident hallucinations.
Ресурсы
TORSO: Template-Oriented Reasoning Towards General Tasks
Minhyuk Kim, Seungyoon Lee, Heuiseok Lim
Korea University, Republic of Korea
arXiv:2503.xxxxx (2025)
Связанные техники:
- Chain-of-Thought (Wei et al., 2022) — оригинальная техника few-shot рассуждений
- Symbol Tuning (Wei et al., 2023) — как семантика токенов влияет на рассуждения
- Chain-of-Thoughtlessness (Stechly et al., 2024) — критика CoT для задач планирования
