TL;DR
Одни и те же шесть инструкций в промпте, переставленные в разном порядке, дают точность от 6% до 97% — на одних и тех же вопросах, с одной и той же моделью. Разница — только порядок блоков "прочитай задачу", "выдели данные", "составь план", "посчитай", "проверь", "дай ответ".
Главная находка простая и болезненная: если инструкция "дай ответ" стоит перед инструкцией "посчитай" — модель отвечает раньше, чем у неё появились нужные цифры. Она угадывает, а не считает. Худшие промпты в исследовании — все до одного ставили ANSWER раньше COMPUTE. Лучшие — наоборот.
Метод, который стоит за этим открытием (PRISM), измеряет "структуру" пространства перестановок через статистику — но это исследовательский инструмент для сложных систем (компиляторы, нейросети). Для читателя чата ценен не сам PRISM, а вывод: расставляй шаги в промпте в порядке "что нужно раньше — идёт раньше", финальный вывод — всегда в конце, после того как все расчёты и проверки уже в тексте.
Схема метода (упрощённая версия для чата)
ШАГ 1: Разбей промпт на смысловые блоки-инструкции (не абзацы, а логические шаги)
ШАГ 2: Расставь блоки по правилу зависимости → блок, который использует
результат другого блока, ставь ПОСЛЕ него
ШАГ 3: Финальный вывод/ответ/вердикт — всегда последним блоком
ШАГ 4: Протестируй 2-3 альтернативных порядка на одной задаче → сравни результат
Все шаги — в одном промпте, тестирование — несколько отдельных запросов с разным порядком блоков.
Пример применения
Задача: Промпт для оценки бизнес-идеи стартапа — как в "Бизнес-секретах" или питче перед инвестором.
Плохой промпт (вердикт раньше расчётов):
Оцени идею стартапа: [описание].
1. Дай вердикт — стоит ли инвестировать
2. Посчитай юнит-экономику (CAC, LTV, маржа)
3. Сравни с конкурентами на рынке
4. Опиши идею своими словами
Хороший промпт (вердикт после расчётов):
Оцени идею стартапа: [описание].
1. Опиши идею своими словами
2. Сравни с конкурентами на рынке
3. Посчитай юнит-экономику (CAC, LTV, маржа)
4. На основе расчётов выше — дай вердикт: инвестировать или нет
Результат: В первом варианте модель скорее всего выдаст вердикт "по интуиции" — на основе общего впечатления от идеи, а не на основе цифр, которые появятся только в следующих пунктах. Во втором варианте к моменту вывода в контексте уже лежат конкретные расчёты, и вердикт будет на них опираться. Разница может быть не в стиле ответа, а в его обоснованности и точности.
Почему это работает
LLM генерирует ответ последовательно, токен за токеном. Она не может "заглянуть вперёд" в промпт и понять, что через два пункта будут важные цифры — она работает с тем, что уже есть в контексте к моменту генерации. Если просишь дать вывод раньше, чем дал данные для вывода, модель либо угадывает, либо использует общие знания вместо конкретных расчётов из твоей задачи.
Сильная сторона модели — она хорошо использует то, что находится прямо перед нужным местом в тексте. Свежий контекст влияет на генерацию сильнее, чем то, что было упомянуто давно.
Метод использует эту особенность буквально: расставляет шаги в порядке использования информации. Никакой магии — просто гарантия, что к моменту вывода все нужные данные уже "под рукой" у модели.
Рычаг управления: порядок шагов и текст инструкций — это две разные переменные. Исследование показало, что даже после того как текст инструкций переписали и улучшили (более четкие формулировки), эффект порядка сохранился почти полностью. Значит, оптимизировать нужно и то, и то — по отдельности.
Шаблон промпта
Реши задачу: {задача}
Следуй шагам строго в этом порядке:
1. {шаг, который собирает исходные данные}
2. {шаг, который анализирует/структурирует данные}
3. {шаг, который производит расчёт или рассуждение}
4. {шаг, который проверяет результат предыдущего шага}
5. {финальный вывод — только после того как все расчёты и проверки сделаны}
Подставь свои шаги в порядке зависимости: то, что нужно для следующего шага — всегда раньше. Финальный вывод — последним, без исключений.
🚀 Быстрый старт — вставь в чат:
Вот принцип оптимизации порядка инструкций в промпте: шаги нужно
располагать в порядке зависимости — то, что нужно для следующего
шага, идёт раньше, а финальный вывод — всегда последним.
Помоги мне разбить мой промпт на шаги и расставить их правильно: [твоя задача].
Задавай вопросы, чтобы понять какие данные нужны для каких шагов.
[вставить шаблон выше]
LLM спросит, какие шаги зависят от результатов других шагов — потому что именно эта зависимость определяет правильный порядок. Она возьмёт твою задачу и разложит её на блоки в правильной последовательности.
Ограничения
⚠️ Не для простых промптов: если в задаче один шаг или шаги не зависят друг от друга — эффект порядка минимален. Метод важен для многошаговых инструкций с явной логической зависимостью.
⚠️ Нет универсального "лучшего" порядка: оптимальная последовательность зависит от конкретной задачи и модели. Нужно тестировать несколько вариантов, а не полагаться на одно правило "вывод в конце" во всех случаях.
⚠️ Основной протокол PRISM не работает в чате: измерение "автокорреляции" и "структуры пространства перестановок" из статьи требует кода, точных вычислений и экспериментов с большим числом перестановок. Это инструмент для компиляторов, нейросетевых архитектур и научных пайплайнов — не для промпт-инженеринга вручную. Из чата доступен только упрощённый принцип "тестируй порядок вручную".
⚠️ Эффект измерен на математических задачах: исследование проверяло вывод на GSM8K (школьная математика) и MATH-500. Для творческих, аналитических или неоднозначных задач эффект порядка может проявляться иначе.
Ресурсы
PRISM: A Predictive Protocol for Permutation Optimization via Landscape Diagnostics. Blessings Mambwe, ML Collective. Код и артефакты: github.com/bleymambwe/PRISM
