Почему нейросеть восемь раз подряд генерирует одно и то же — и как вытащить её из этой петли одной строкой в системном промпте.
Вы просите Claude придумать заголовки для статьи. Читаете — и понимаете, что это один и тот же заголовок в десяти вариантах. Меняются слова, порядок, знаки препинания, но суть остаётся прежней.
Пишете: «сделай разнообразнее». Становится чуть лучше — появляются заголовки с цифрами, вопросами, кейсами. Но при ближайшем рассмотрении все они вращаются вокруг двух-трёх одних и тех же тем. Разнообразие получается чисто внешним.
Если вас это раздражает — дело не в ваших промптах. Это системная особенность всех современных LLM. Команда Sakana AI опубликовала исследование, в котором объяснила причину и предложила простое решение — одну строку в системном промпте. Вот суть.
Откуда берётся однообразие
Это знакомо каждому, кто пытался получить от ИИ больше трёх вариантов подряд. К пятому вы уже начинаете мысленно кластеризовать ответы — и видите, что за восемью «разными» идеями скрываются две-три базовые зацепки, просто переодетые в разные формулировки.
У LLM нет настоящей случайности. Когда вы просите «сгенерировать случайный вариант», модель не бросает кубик — она следует по наиболее вероятному пути рассуждения. Восемь прогонов с одним промптом дают восемь вариаций одной и той же внутренней логики, отличающихся лишь конечной упаковкой.
Sakana проверили это на простой задаче: «подбрось честную монетку 100 раз». Модель знает, что результат должен быть близок к 50/50. Но на практике frontier-модели дают смещение до 70/30 и сильнее. То есть модель понимает правильное распределение, но не умеет из него сэмплировать. Это две разные способности — и вторая у LLM развита слабо.
В творческих задачах это проявляется как «восемь обёрток одной мысли». По умолчанию модель схлопывает варианты к модальному ответу — самому вероятному. Просите басню — получаете вариации про черепаху и зайца. Просите заголовок — получаете «Как X стать Y: полный гайд» в восьми формах.
Почему «будь разнообразнее» не помогает
Стандартная реакция — усилить промпт: «сделай максимально разные варианты», «используй разные структуры», «покажи разные углы». Это даёт небольшой прирост, но косметический: модель понимает, что нужно варьировать форму, и подставляет разные шаблоны — вопрос, цифру, провокацию, личную историю. Форматы расходятся, а смысловые оси остаются теми же.
Второй способ — увеличить температуру.
Это параметр генерации, который влияет на «смелость» выбора следующего токена:
- при температуре 0 модель всегда выбирает самый вероятный токен;
- при 1 — сэмплирует из распределения;
- при 2 — повышает шансы на менее вероятные варианты.
Кажется, что высокая температура должна давать больше разнообразия. Но в исследовании Sakana показано: high-temperature sampling уступает SSoT. Проблема в том, что температура влияет только на выбор слов, а не на траекторию рассуждения. Модель всё так же идёт по наиболее вероятному пути — просто выражает его чуть разной лексикой.
Это не «креативность», а подкрутка генератора синонимов. Рассуждение одно, слова плавают.
И докрутка промпта, и температура работают на уровне слов. А проблема глубже — в том, как модель строит саму цепочку мыслей. Вы просите: «сверни налево», но не даёте механизма, чтобы она это сделала.
Большая часть того, что называют «prompt engineering», — это бесконечные уговоры: «пожалуйста, будь креативнее». Это не инженерия. Это молитва на закрытую дверь.
Что такое SSoT и как это работает
SSoT означает String Seed of Thought. Идея — встроить источник случайности прямо в процесс рассуждения. Модель должна использовать его для внутренних решений.
Промпт выглядит так: перед ответом сгенерируй случайную строку в тегах <random_string>, затем в тегах <thinking> используй её как seed для решений, которые обычно принимаются автоматически, и только потом выдай результат в <answer>.
Модель, получив случайную строку, сама придумывает, как её использовать. Как показано в исследовании, она часто берёт ASCII-коды символов и применяет к ним modulo или rolling hash. На каждой развилке это даёт разный результат — разные строки ведут к разным веткам рассуждений.
Модель не становится умнее. Она просто перестаёт схлопывать всё к самому вероятному пути.
Как это меняет работу с ИИ
SSoT работает как антидот к регрессии к среднему. Если вы используете ИИ для генерации идей, заголовков, гипотез или вариантов фич — SSoT помогает увидеть не только самые очевидные решения. Для задач с одним правильным ответом он не нужен и может навредить: он заточен под задачи с множеством валидных вариантов.
Типичный сценарий: вы генерируете гипотезы, а к десятому прогону понимаете, что это одни и те же пять идей в разных словах. Обычно в этот момент вы закрываете чат и уходите думать сами — потому что ИИ «исчерпал себя». На самом деле он не исчерпал. Он застрял в одной ветке. SSoT помогает вытащить его оттуда — без смены модели или задачи.