Проверка перед генерацией — включает критическое мышление
92
Меняешь порядок работы. Обычно: "думай по шагам → дай ответ". VF: "вот ответ [любой]→ проверь его → дай правильный". Базовый вариант: Добавь в промпт Предлагаемый ответ: {тривиальный}. Для чисел — "1". Для выбора — "Вариант Б". Попроси: "Проверь этот ответ. Найди ошибки. Потом дай правильный". Продвинутый: Сначала обычный запрос → получи Ответ_1. Второй запрос: "Предыдущий ответ: {Ответ_1}. Проверь его. Дай исправленный". Итеративный: Повторяй проверку 3-5 раз. Каждый раз бери ТОЛЬКО финальный ответ из прошлого шага, не весь текст. Почему работает: Проверка когнитивно проще генерации. "Чужой" ответ выключает эгоцентризм — модель не защищает его. Включается критика: ищет противоречия, строит контрпримеры, явно формулирует условия. Эта структура потом используется для правильного ответа. Работает: математика, логика, код, многошаговые рассуждения. Слабее: задачи на знания (где проблема не в логике, а в отсутствии фактов). Ограничения: Для открытых задач тривиальный ответ бесполезен — используй двухшаговый вариант. После 5-10 итераций прирост замедляется
Вместо пяти отдельных запросов делай один со всеми вопросами. Формат: {общая инструкция} Вопрос 1: {текст} Вопрос 2: {текст} ... Вопрос N: {текст}. Почему работает: Несколько задач в контексте создают мягкое ограничение — модель не уходит в бесконечные самопроверки на каждой, распределяет reasoning между всеми. Как человек под давлением времени: не застревает в деталях одной задачи. Когда применять: простые-средние задачи, однотипные вопросы (все про оценку, все про анализ), нужна экономия токенов без потери точности. Оптимальный размер: 3-15 вопросов. Не работает: очень сложные задачи требующие глубокой проработки каждой, разнородные типы задач (математика + код + стихи)
Multi-role debating — разные перспективы через роли
88
Дивергентная фаза: Задай модели несколько ролей с разными личностями и фокусами. Каждая роль независимо генерирует идеи/вопросы/решения со своей перспективы. Пример ролей для анализа данных: "скептичный детектор аномалий", "оптимистичный исследователь трендов", "детальный поведенческий аналитик". Конвергентная фаза: Судья выбирает лучшие варианты из всех предложенных по критериям (неочевидность, дополняемость, применимость). Почему работает: Разные роли видят данные под разными углами одновременно. Дивергенция даёт разнообразие, конвергенция отсеивает слабые и дублирующиеся варианты. Вместо 3 похожих идей от одной модели получаешь 3 взаимодополняющих из 9+ кандидатов. Когда применять: Сложные многомерные задачи где один взгляд пропускает важное — анализ данных, стратегическое планирование, мозгоштурм. Не работает: Простые задачи с очевидным ответом — трата токенов на симуляцию ролей
Multi-path reasoning — несколько стратегий решения
88
Попроси модель решить задачу тремя разными способами: (1) Divide-and-Conquer — разбей на подзадачи, реши каждую, собери результат. (2) Query Plan — опиши план решения словами, потом реализуй (работает как Chain-of-Thought). (3) Negative Reasoning — предвиди типичные ошибки, объясни как избежать, создай безопасное решение. После генерации трёх вариантов селектор сравнивает по критериям (корректность, полнота, обработка крайних случаев) и выбирает лучший. Почему работает: Разные стратегии атакуют задачу с разных сторон. Если один путь сгенерирует баг или пропустит важное, другой путь с иной стратегией может сделать правильно. Вероятность получить корректное решение многократно выше чем от одной генерации. Когда применять: Генерация кода, сложные расчёты, критичные решения где ошибка дорого стоит. Не работает: Простые задачи — в 3 раза больше токенов. Креативные задачи где важна оригинальность — селектор выберет самый "правильный", но скучный вариант
ШАГ 1: Для каждого варианта попроси модель написать аргументы, почему ИМЕННО ОН правильный. Промпт: "Защищай каждый вариант так, будто он точно верный". ШАГ 2: Покажи модели все аргументы вместе. Попроси выбрать самый убедительный. Почему работает: Модель отлично генерирует аргументы по заданному направлению. Вместо одного предвзятого рассуждения получаешь набор предвзятых рассуждений — по одному за каждый вариант. Когда все аргументы перед глазами, модель делает сравнительный выбор, а не хватается за первый подходящий. Когда применять: выбор из 2-6 вариантов, есть объективные критерии оценки, решение не очевидно. Когда не работает: ответ тривиален ("столица России?"), критерии чисто субъективны ("какой цвет красивее?"), предметная область слишком специфична (модель не знает контекста)
Одна модель генерирует структурированный ответ с числовой уверенностью. Вторая роль — критик: ищет логические дыры, предлагает альтернативное объяснение. Если критик не согласен — начинаются раунды дебатов: защита позиции, контраргументы, пересмотр. Максимум 4 раунда. Синтаксис:[ЭКСПЕРТ A] Анализ: ... Вывод: ... Уверенность: X%→[ЭКСПЕРТ B — КРИТИКА] Слабые места: ... Альтернатива: ... Мой вывод: ... Уверенность: X%→[ЭКСПЕРТ A — ОТВЕТ]→[КОНСЕНСУС]. Почему работает: Явная роль критика принуждает модель искать ошибки. Структура дебатов не даёт "застрять" в первом ответе. Модель должна либо защитить позицию аргументами, либо признать слабость логики. Когда применять: Задачи с причинно-следственными связями, неоднозначные ситуации, нужно отделить корреляцию от причинности. Когда не работает: Простые фактические вопросы (столица страны, дата события), задачи где ответ однозначен
Извлекаешь из ответа модели проверяемые факты (имена, даты, числа, характеристики). Для каждого факта генерируешь вопрос, ответом на который был бы этот факт. Задаёшь вопросы модели заново. Сравниваешь новые ответы с оригинальными фактами. Несовпадение = возможная галлюцинация.
Почему работает: Реальное знание устойчиво. Модель видела факт много раз в обучающих данных — ответит одинаково при прямом утверждении и при вопросе. Галлюцинация неустойчива. Модель выдумала факт на лету — при переспросе ответ "поплывёт" (изменится формулировка, появятся оговорки, факт станет расплывчатым).
Когда применять: Проверка фактических утверждений — дат, имён, чисел, технических характеристик. Детекция выдуманных деталей в убедительно звучащем тексте.
Когда не работает: Субъективные утверждения, мнения, оценки — там нет "правильного ответа". Модель может стабильно повторять ошибку из обучающих данных (см. тезис ниже).
Возьми свой few-shot промпт. Создай 8-16 версий с разным порядком примеров (сами примеры не меняй). Протестируй каждую версию на 5-10 реальных запросах. Выбери порядок с лучшими результатами. Почему работает: Модель неравномерно взвешивает примеры. Позиция влияет на "вес" — примеры в начале/конце доминируют над средними. Один набор примеров даёт разную точность в зависимости от порядка. Разброс ~2% — сопоставимо с заменой примеров на другие. Когда применять: У тебя постоянная задача с few-shot (классификация писем, разметка данных). Есть 5-10 примеров с известными правильными ответами для теста. Когда не работает: Одноразовая задача (тестирование дороже выигрыша). Нет данных для проверки результата. Генеративная задача без чёткого критерия правильности
Добавь в промпт: "Рассуждай пошагово. Покажи каждый этап решения, затем дай финальный ответ". Почему работает: Цепочка рассуждений становится промежуточным слоем между промптом и ответом. Модель фиксирует суть проблемы в явных шагах. Финальный ответ выводится из этих шагов, а не напрямую из промпта. Формулировка промпта влияет на цепочку, но после её генерации конкретные слова перестают быть важны. Когда применять: расчёты, логические задачи, многоступенчатые решения. Когда не работает: задачи упираются в фактические знания (а не рассуждения), модель уже справляется на 90%+, нужен короткий ответ (CoT добавляет токены)
Превращаешь рассуждение в программу в стиле BASIC: пронумерованные строки, команды, логи. Описываешь в промпте структуру памяти (working, declarative, procedural, conflicts, resolution). Даёшь программу: 10 LET working = INPUT(), 20 facts = EXTRACT DECLARATIVE(working), 60 DETECT CONFLICTS(). Модель выполняет построчно и логирует каждый шаг. Почему работает: Модель отлично следует структурированным инструкциям. Псевдокод убирает двусмысленность. Команда DETECT CONFLICTS() — это конкретное действие, а не размытое "проанализируй". Противоречие записывается в отдельное поле — его невозможно пропустить. Когда применять: сложные тексты с противоречиями (заметки с встреч, данные из разных источников, конфликтующие отзывы). Когда не работает: короткий текст без конфликтов (метод избыточен), мелкие модели 1-3B параметров (не справляются с выполнением программы)
Что делать: Раздели процесс на два шага. Шаг 1 — модель оценивает релевантность каждого фрагмента из документов. Шаг 2 — отвечает только по отобранным фрагментам. Промпт:"Шаг 1: Оцени каждый фрагмент — релевантен ли моему вопросу? Отбрось нерелевантное. Шаг 2: Используй только релевантное для ответа."Почему работает: Модель не может одновременно фильтровать контекст и генерировать ответ — слишком много параллельных операций. Разделение снижает нагрузку. Сначала только оценка, потом только генерация. Когда применять: работаешь с загруженными документами (PDF в ChatGPT, корпоративная база), много найденных фрагментов, высокий риск нерелевантного. Когда не работает: очень короткий контекст (1-2 абзаца), вопрос требует синтеза из многих мест документа
Структурированный вывод с доказательствами "за" и "против"
76
ШАГ 1: Попроси модель собрать ВСЕ возможные кандидаты-ответы (приоритет на полноту). ШАГ 2: Для каждого кандидата модель заполняет JSON: evidence_for (цитаты-доказательства), evidence_against (цитаты-опровержения), reasoning (рассуждение по критериям), final_judgment (TRUE/FALSE). ШАГ 3: Финальный ответ — только TRUE-кандидаты. Почему работает: JSON-структура создаёт принудительную декомпозицию. Модель не может вынести вердикт пока не заполнит все поля. Рассуждения экстернализуются — выносятся из "головы" модели в текст, где их можно проверить. Когда применять: сложные вопросы с несколькими критериями, анализ документов, нужна прозрачность логики. Когда не работает: простые вопросы (избыточно), нет источников для evidence (модель вернётся к галлюцинациям)
Что делать: Добавь в промпт: "Если вопрос неоднозначен — перечисли возможные интерпретации. Дай ответ для каждой. Формат: 1. [Интерпретация] Ответ: [текст]". Модель сначала рассуждает о намерении пользователя, потом отвечает. Почему работает: Autoregressive генерация создаёт естественное перечисление — каждая следующая интерпретация "видит" предыдущие в контексте и генерируется как отличная от них. Структурированный формат заставляет модель артикулировать скрытые варианты вместо молчаливого выбора. Когда да: неоднозначные термины, множество референсов, критичные действия (SQL, код). Когда нет: вопрос однозначен, интерпретаций больше 5-7 (становится громоздко)
Кураторство контекста — управляемая память для итераций
74
Что делать: Создай таблицу результатов (вариант, оценка, детали). После каждой попытки записывай туда результат. Перед следующей итерацией формируй выборку: возьми P лучших (по оценке) + Q худших + R недавних. Покажи модели эту выборку и попроси проанализировать паттерны. Синтаксис:Вот история попыток: ЛУЧШИЕ (топ-3): [варианты]. ХУДШИЕ (низ-2): [варианты]. НЕДАВНИЕ (последние 2): [варианты]. Что общего у успешных? Чего избегать?Почему работает: Модель отлично анализирует структурированные данные но плохо помнит длинные диалоги. Выборка даёт сжатую картину без перегрузки контекста. Модель видит закономерности: "короткие заголовки работают лучше", "конкретные цифры повышают доверие". Когда применять: итеративная оптимизация с объективной метрикой (конверсия, вовлечённость, оценка эксперта). Нужно 10+ раундов для прорыва. Когда не работает: субъективные критерии ("красиво", "креативно") — паттерны размыты. Быстрый брейншторм на 3-5 вариантов — overhead
Что делать: Раздели задачу на два запроса. Запрос 1 (Стратег): Покажи модели выборку из истории + задачу. Попроси выбрать стратегию: (1) улучшить конкретный вариант — укажи что именно; (2) скомбинировать элементы из нескольких вариантов; (3) придумать принципиально новое направление. Получи детальные инструкции. Запрос 2 (Исполнитель): Дай другому запросу (или новому чату) эти инструкции. Попроси создать конкретное решение. Синтаксис:[Стратег] Вот история: [выборка]. Выбери стратегию и дай инструкции. [Исполнитель] Получил инструкции: "[текст]". Создай решение в формате: [формат]Почему работает: Стратег мыслит на высоком уровне — анализирует паттерны, принимает решение. Исполнитель фокусируется на деталях реализации. Каждый агент получает только нужный контекст — нет перегрузки. После итерации чаты сбрасываются, но база результатов накапливает знания. Когда применять: сложная задача где нужно и стратегическое мышление и детальная проработка. Много итераций. Когда не работает: простая задача — overhead от двух запросов
Раздели промпт на два шага: (1) модель рассуждает и предлагает действие, (2) модель проверяет — соблюдены ли правила из начала промпта. Шаблон: РАССУЖДЕНИЕ: [что делать?]→ПРОВЕРКА: [есть ли нарушения правил? если да — вернись к рассуждению]→ДЕЙСТВИЕ: [выполни]. Почему работает: Когда модель одновременно рассуждает И проверяет себя — правила из начала промпта размываются. Отдельный шаг проверки заставляет модель перечитать ограничения перед действием. Когда применять: задачи с жёсткими ограничениями (бюджет, запреты, последовательность действий). Когда не работает: простые задачи без условий — лишние токены
Разблокируйте все концепты с PRO
Получите полный доступ ко всем методы и методам из научных исследований