TL;DR
Большинство промптов с Chain-of-Thought дают модели слишком много свободы: она сама решает на что опираться, как глубоко рассуждать, что считать доказательством. Исследователи из Университета Турку предложили фреймворк из 16 факторов, разбитых на 4 измерения, которые жёстко контролируют каждый этап рассуждения — от роли и области анализа до структуры вывода и финальной самопроверки.
Главная проблема: "Думай шаг за шагом" работает плохо без ограничений. Модель делает логически гладкие, но фактически пустые построения — ссылается на знания вне контекста, пропускает доказательства, генерирует уверенные выводы из воздуха. Особенно заметно на аналитических задачах, где ответ нужно обосновать — модель выглядит убедительно, но цепочка "факт → вывод" разорвана.
Фреймворк разделяет промпт на системный уровень (глобальные ограничения: роль, запреты, формат вывода, глубина) и пользовательский уровень (задача: цитирование доказательств, привязка к конкретным данным, выравнивание по домену). Каждый из 16 факторов закрывает конкретную дыру, через которую утекает качество рассуждений.
Схема метода
Два уровня промпта, один запрос:
СИСТЕМНЫЙ ПРОМПТ (глобальные ограничения):
F1 Роль → "Ты опытный [специалист в домене]"
F2 Область → Ограничь тему строго задачей
F3 Источник → Рассуждай только на основе предоставленных данных
F4 Запрет допущений → Не делай выводов из непредоставленных фактов
F5 Негативные инструкции → Не привлекай внешние знания
F9 Схема вывода → Obs → Ev → Concl (Наблюдение → Доказательство → Вывод)
F10 Калибровка уверенности → Указывай, когда недостаточно данных
F11 Глубина → Не углубляйся в шаги, не нужные для ответа
F12 Пошаговость → Каждый шаг — явно
F15 Самопроверка → Финальная сверка: вывод соответствует доказательствам?
ПОЛЬЗОВАТЕЛЬСКИЙ ПРОМПТ (задача + управление доказательствами):
F6 Цитирование → Перед каждым выводом — конкретный факт из данных
F7 Привязка к признакам → Называй конкретные показатели, не абстракции
F8 Обоснование аномалий → Объясни почему это отклонение значимо
F13 Выравнивание по домену → Связывай с профессиональными категориями
F14 Фильтр сигнала → Сначала — самые значимые признаки
F16 Временная логика → Учитывай тренды, не только моментальные значения
Всё это — один двухчастный промпт в обычном чате.
Пример применения
Задача: Максим — основатель небольшого SaaS. Ему предлагают партнёрство: крупный агрегатор хочет встроить его продукт и платить % с каждой продажи. Условия — в PDF, который он загрузил в Claude. Нужен честный анализ рисков, не "в целом звучит неплохо".
Промпт:
[СИСТЕМНЫЙ]
Ты — опытный юрист по B2B-сделкам с фокусом на SaaS-партнёрствах.
Область анализа: только предоставленный договор. Не выходи за его рамки.
Источник: рассуждай исключительно на основе пунктов договора.
Запрет: не делай допущений о "стандартной практике рынка" без прямой ссылки
на конкретный пункт документа.
Негативные инструкции: не привлекай примеры других сделок из своих знаний —
только то, что написано в документе.
Схема вывода: каждый вывод строится по формату:
НАБЛЮДЕНИЕ: [что именно написано в документе]
ДОКАЗАТЕЛЬСТВО: [пункт / формулировка / цифра]
ВЫВОД: [что это означает для партнёра]
Калибровка: если данных недостаточно для уверенного вывода —
прямо укажи "недостаточно данных".
Глубина: не разворачивай шаги, не связанные напрямую с рисками сделки.
Самопроверка в конце: убедись, что каждый вывод подкреплён конкретным
пунктом договора, а не предположением.
[ЗАДАЧА]
Проанализируй договор партнёрства. Перед каждым выводом назови конкретный
пункт или формулировку — без цитаты вывод недействителен.
Оцени по четырём блокам:
1. Финансовые условия: % комиссии, сроки выплат, пороги, штрафы
2. Контроль над продуктом: кто управляет ценообразованием, брендингом,
интеграцией
3. Риски выхода: условия расторжения, lock-in, штрафы за выход
4. Аномалии: формулировки, которые сильно отклоняются от понятного
и прозрачного партнёрства — укажи что именно настораживает
Приоритет — пункты с прямыми финансовыми или операционными последствиями.
Учитывай: если одно условие меняется через 12 месяцев, оцени оба состояния.
[САМОПРОВЕРКА]
После анализа: есть ли выводы без прямого доказательства из текста?
Если да — удали или перемести в блок "требует уточнения".
Результат: Модель выдаст анализ по четырём блокам. Каждый вывод будет выглядеть как: Наблюдение (что написано) → Доказательство (цитата/пункт) → Вывод (что означает). Там, где договор неоднозначен или данных нет, появится явная пометка "недостаточно данных" вместо домысла. Финальный блок самопроверки покажет, все ли выводы подкреплены — и отдельно вынесет спорные места.
Почему это работает
Слабость LLM: Модель — не аналитик, а генератор текста, который выглядит как аналитик. Без ограничений она заполняет пробелы в данных правдоподобными домыслами — потому что плавный текст с уверенными выводами статистически предпочтительнее, чем "я не знаю". CoT без каркаса только увеличивает количество таких шагов — больше шагов, больше мест для галлюцинаций.
Сильная сторона LLM: Модель отлично следует явным структурным правилам. Если явно сказать "перед каждым выводом — цитата из документа", она будет так делать. Не потому что "понимает", а потому что паттерн закреплён в инструкции и она его воспроизводит.
Как метод использует это: 16 факторов закрывают 16 дыр, через которые уходит качество. Роль убирает расплывчатость. Негативные инструкции (что НЕ делать) работают лучше, чем позитивные (что делать) — потому что явный запрет сужает пространство генерации. Схема Obs→Ev→Concl делает структуру вывода обязательной, а не опциональной. Самопроверка в конце — второй проход, который ловит то, что проскользнуло.
Рычаги управления: - Схема вывода (Obs → Ev → Concl) — самый мощный рычаг. Убери структуру → потеряешь трассируемость. Добавь четвёртый уровень (например, "РИСК: критический/средний/низкий") → получишь встроенную приоритизацию - Негативные инструкции (F4, F5) — регулируй строгость. Для creative задач — убери. Для юридического или финансового анализа — ужесточи - Калибровка уверенности (F10) — если нужен уверенный ответ без оговорок, убери. Если важна честность — оставь и усиль: "скажи явно, если вероятность вывода ниже 70%" - Самопроверка (F15) — для быстрых задач убери, экономия токенов. Для критических решений — оставь всегда
Шаблон промпта
[СИСТЕМНЫЙ КОНТЕКСТ]
Ты — {роль_эксперта}.
Область: только {источник_данных}. Не выходи за его рамки.
Источник: рассуждай исключительно на основе предоставленных данных.
Запрет допущений: не делай выводов из фактов, которых нет в данных.
Негативные инструкции: не привлекай внешние знания без прямой ссылки на данные.
Схема каждого вывода:
НАБЛЮДЕНИЕ: [что именно следует из данных]
ДОКАЗАТЕЛЬСТВО: [конкретный факт / цитата / показатель]
ВЫВОД: [что это означает для задачи]
Калибровка: если данных недостаточно — укажи "недостаточно данных".
Глубина: не разворачивай шаги, не связанные напрямую с {цель_анализа}.
Самопроверка в конце: убедись, что каждый вывод подкреплён доказательством.
[ЗАДАЧА]
Проанализируй {объект_анализа}.
Перед каждым выводом — конкретный факт из данных. Без факта — вывод недействителен.
Оцени по блокам:
1. {блок_1}: {что анализируем}
2. {блок_2}: {что анализируем}
3. {блок_3}: {что анализируем}
4. Аномалии: что сильно отклоняется от {норма_в_домене}
Приоритет: {наиболее_значимые_признаки}.
{если_есть_временная_динамика}: учитывай изменения во времени, оценивай оба состояния.
[САМОПРОВЕРКА]
Есть ли выводы без прямого доказательства? Если да — удали или перемести
в блок "требует уточнения".
Что подставлять:
- {роль_эксперта} → опытный финансовый аналитик / юрист по контрактам / HR-эксперт
- {источник_данных} → загруженный документ / данные ниже / результаты исследования
- {цель_анализа} → рисков сделки / слабых мест стратегии / несоответствий в данных
- {объект_анализа} → договор / отчёт / резюме кандидата / финансовая модель
- {блок_1-3} → структурные блоки по домену: финансы / контроль / выход; или: стратегия / тактика / ресурсы
- {норма_в_домене} → честного партнёрства / рыночных условий / стандартного договора
- {наиболее_значимые_признаки} → пункты с прямыми финансовыми последствиями / ключевые метрики
🚀 Быстрый старт — вставь в чат:
Вот шаблон структурированного CoT-анализа. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить все поля.
[вставить шаблон выше]
LLM спросит: что анализировать, какова роль эксперта, на какие блоки разбить, что считать аномалией — потому что без этого нельзя заполнить системный контекст и структуру блоков. Она возьмёт паттерн Obs→Ev→Concl и самопроверку и встроит в твою задачу.
Ограничения
⚠️ Творческие и субъективные задачи: Фреймворк жёстко привязывает вывод к данным. Для задач, где нет "правильного" исходника — написать текст рекламы, придумать название — структура Obs→Ev→Concl не работает и стесняет модель.
⚠️ Токены: 16 факторов — длинный системный блок. На коротких задачах затраты на инструкцию могут превышать ценность. Используй облегчённую версию (5-7 самых важных факторов).
⚠️ Качество источника: Самопроверка и цитирование работают только если данные реально загружены. Если просишь анализ "из головы" модели — схема создаёт иллюзию доказательности.
⚠️ Меньшие модели: Прирост качества значительный, но абсолютный уровень ниже. Структура компенсирует слабость модели, но не заменяет мощную модель.
Как исследовали
Команда взяла публичный датасет сетевого трафика с размеченными DDoS-атаками — 400 записей, 23 признака каждая — и прогнала через 11 моделей разного размера: от крошечных 2B до 70B-гиганта. Каждую модель тестировали в трёх режимах: свободный CoT, CoT с требованием опираться на данные, и полностью структурированный промпт по их фреймворку. Интересный выбор дизайна: промпты создавали и вручную, и через ChatGPT — чтобы понять, важен ли автор промпта или только структура.
Результаты оценивали двойным способом: автоматически (точность классификации) и вручную — два независимых исследователя ставили баллы за качество рассуждений. Межэкспертное согласие (Cohen's κ) выше 0.80 — это высокая планка, означает что критерии были достаточно чёткими, а не субъективными.
Самый неожиданный вывод: маленькие модели выиграли больше всего — прирост до 40% в качестве рассуждений. Большие модели и без структуры рассуждали сносно, но структура подтянула их стабильность. Логика простая: маленькая модель без каркаса плывёт — ей некуда опереться. Структура даёт опору. Большой модели каркас тоже помогает, но она и без него держится лучше.
Оригинал из исследования
Исследователи описывают три уровня CoT-промптов — приводим ключевую классификацию:
(1) Free CoT Prompt: The step-by-step reasoning approach with minimal structural
constraints, emphasizes flexibility;
(2) Evidence-Locked CoT Prompt: Incorporating consistency constraints into the
reasoning process, requiring conclusions to be based on given information,
increasing credibility and reducing hallucinations;
(3) Structured Security Reasoning Prompt: The reasoning process follows the actual
workflow of security analysis (e.g., threat detection → risk analysis →
action recommendation) to ensure the model output is consistent with the
decision-making logic of human security experts.
И ключевая схема вывода из фреймворка:
Output schema: Obs → Ev → Concl
(Observation → Evidence → Conclusion)
Контекст: Исследователи описывают градиент от свободного к полностью структурированному CoT — и тестируют, как каждый уровень влияет на точность и трассируемость в задаче обнаружения атак.
Адаптации и экстраполяции
1. Адаптация: убери предметную специфику — получи универсальный аналитик
Фреймворк заточен под кибербезопасность, но механика — универсальная. Замени F13 (выравнивание по таксономии атак) на любой профессиональный словарь:
💡 Адаптация для HR: F13 становится "выравниванием по компетенциям должности". F16 (временная логика) → "учитывай карьерную динамику, не только текущий уровень". F7 (привязка к признакам) → "называй конкретные примеры из резюме, не характеристики".
[СИСТЕМНЫЙ]
Ты — опытный HR-партнёр по найму на C-level позиции.
Источник: только предоставленное резюме и описание вакансии.
Запрет: не домысливай опыт кандидата сверх написанного.
Схема: НАБЛЮДЕНИЕ (что в резюме) → ДОКАЗАТЕЛЬСТВО (цитата) → ВЫВОД (соответствие)
Самопроверка: есть ли выводы без конкретной строки из резюме?
[ЗАДАЧА]
Оцени соответствие кандидата. Приоритет — управленческий опыт и P&L.
Учитывай динамику: рост ответственности важнее текущего уровня.
Отдельный блок: аномалии — пробелы, нелогичные переходы, завышенные формулировки.
2. Техника: усиль самопроверку → добавь явный порог
🔧 Техника: числовой порог уверенности → честность вместо уверенности
Стандартная самопроверка: "убедись, что каждый вывод подкреплён". Можно ужесточить:
САМОПРОВЕРКА:
Для каждого вывода определи:
- ВЫСОКАЯ уверенность: есть прямая цитата/цифра из данных
- СРЕДНЯЯ уверенность: есть косвенное указание
- НИЗКАЯ уверенность: вывод логически следует, но данных нет
Выводы с НИЗКОЙ уверенностью — вынеси в блок "требует проверки".
Это превращает самопроверку из формальности в реальный фильтр галлюцинаций.
3. Экстраполяция: фреймворк + ролевой дебатер
Структурированный CoT хорошо работает для "объективного" анализа. Если нужно получить противоположные точки зрения с той же доказательностью — добавь ролевую дискуссию:
Проведи анализ договора два раза:
1. От лица опытного юриста ПОКУПАТЕЛЯ (ищет риски для себя)
2. От лица юриста ПРОДАВЦА (защищает условия)
Оба используют схему Obs→Ev→Concl.
Оба ссылаются только на текст договора.
В конце: где их анализы совпадают — там объективный факт.
Где расходятся — там зона переговоров.
Это комбинация структурированного CoT + мультиагентной дискуссии. Два доказательных рассуждения с противоположными целями — честнее одного "нейтрального".
Ресурсы
Статья: Strengthening Human-Centric Chain-of-Thought Reasoning Integrity in LLMs via a Structured Prompt Framework
Авторы: Jiling Zhou, Aisvarya Adeseye, Seppo Virtanen, Antti Hakkala, Jouni Isoaho — Department of Computing, University of Turku, Финляндия
Контакт: jizhou@utu.fi
Датасет: DDoS SDN Dataset (Kaggle, открытый доступ)
