TL;DR
Baseline Behavioural Drift — измерение нестабильности выводов LLM при повторных запусках одного промпта. Исследование показало: даже при temperature=0.0 модели дают разные ответы. GPT-4o-mini выдаёт новый вариант в ~24% случаев, Llama3.1-8b — в ~9%. При температуре 0.7 почти каждый запуск уникален (до 100% новых ответов). Вариативность зависит от размера модели, способа разворачивания (API vs локально) и режима промптинга.
Пользователи ожидают что фиксированная температура даёт повторяемость. На практике один промпт → разные ответы, даже в "детерминистичном" режиме. Причины: особенности сэмплирования, инфраструктура API (батчинг, кэширование, маршрутизация запросов), размер модели. Больше параметров = больше вариативности. Запуск через API добавляет шума по сравнению с локальным развёртыванием. Одиночный запуск скрывает реальный диапазон поведения модели.
Исследователи измерили три режима: точные повторы, возмущённые входы (синонимы в промпте), переиспользование (прошлый ответ подаётся в следующий запрос). Находка: переиспользование снижает вариативность (unique fraction 0.20 vs 0.24 для точных повторов при temp=0.0), возмущение входов — увеличивает (до 0.57). Это даёт два инструмента: хочешь стабильности — переиспользуй ответ; хочешь разнообразия — перефразируй промпт.
Схема измерения
Исследование НЕ предлагает метод — оно измеряет явление. Но из находок извлекаются принципы:
ПРИНЦИП 1: Множественные запуски
Один промпт → 20-30 запусков → анализ разброса
ПРИНЦИП 2: Переиспользование для стабилизации
Запрос 1 → Ответ A
Запрос 2 (с Ответом A внутри) → Ответ B (ближе к A)
ПРИНЦИП 3: Возмущение для разнообразия
"Дай совет по тайм-менеджменту" → Ответ X
"Порекомендуй как организовать время" → Ответ Y (отличается сильнее)
Пример применения
Задача: Тебе нужно написать описание для нового онлайн-курса по нейросетям. Хочешь увидеть несколько вариантов, чтобы выбрать лучший или скомбинировать идеи.
Промпт (базовый):
Напиши описание онлайн-курса "Нейросети для маркетологов" —
3 абзаца, продающий стиль, для страницы в Tilda.
Техника множественных запусков:
Дай мне 5 разных вариантов описания онлайн-курса "Нейросети для маркетологов".
Каждый вариант — 3 абзаца, продающий стиль, для страницы в Tilda.
Покажи варианты с разными углами подачи.
Результат: Модель выдаст 5 описаний с разными акцентами: одно про экономию времени, другое про конкурентное преимущество, третье про простоту освоения. Ты увидишь диапазон того, как модель понимает задачу, и сможешь выбрать или скомбинировать лучшее.
Альтернатива — возмущение промпта вручную: Запусти промпт 3 раза с перефразировками: - "Напиши описание курса..." - "Создай продающий текст для курса..." - "Сформулируй презентацию курса..."
Получишь больше разнообразия, чем при точном повторе.
Почему это работает
Слабость LLM: Даже при temperature=0.0 модель не детерминирована на 100%. Сэмплирование, батчинг запросов, кэширование, маршрутизация в облаке — всё это вносит шум. Один промпт может дать несколько разных ответов. Пользователи не замечают дрифт, потому что делают один запрос и получают один ответ. Реальный диапазон поведения скрыт.
Сильная сторона LLM: Модель умеет генерировать разнообразные варианты — это не баг, а фича для творческих задач. При этом модель чувствительна к контексту: если в промпте есть предыдущий ответ, она стремится к согласованности с ним. Если промпт перефразирован, модель интерпретирует по-новому, даже если смысл тот же.
Как использовать: 1. Для стабильности — подавай предыдущий ответ в новый промпт: "Вот твой ответ: [текст]. Продолжи в том же стиле/доработай/дополни". Модель зацепится за контекст и даст более согласованный вывод. 2. Для разнообразия — перефразируй промпт или запрашивай несколько вариантов явно. Модель выдаст разные углы зрения. 3. Для оценки надёжности — запусти критичный промпт 3-5 раз и проверь, насколько ответы похожи. Если разброс большой — нужна дополнительная спецификация.
Рычаги управления: - Температура: 0.0 даёт меньше вариативности (~10-24% новых ответов), 0.7 даёт почти 100% уникальных ответов - Переиспользование контекста: снижает unique fraction с 0.24 до 0.20 — небольшой, но стабилизирующий эффект - Возмущение промпта: увеличивает unique fraction до 0.57 — в 2.4 раза больше разнообразия
Шаблон промпта
Для получения разнообразия:
Дай мне {количество} разных вариантов {задача}.
Требования:
- {конкретные ограничения: длина, стиль, формат}
- Каждый вариант должен иметь свой угол подачи или акцент
- Покажи диапазон возможных решений
Задача: {описание задачи}
Пояснение:
- {количество} — обычно 3-5 вариантов, чтобы увидеть разнообразие
- {задача} — конкретная задача: "описание продукта", "сценарий холодного звонка", "intro для статьи"
- {конкретные ограничения} — длина, тон, формат
- {описание задачи} — детали: что продаёшь, кому пишешь, что важно
Для стабилизации через переиспользование:
Вот твой предыдущий ответ:
"""
{предыдущий_ответ}
"""
Теперь {новая_инструкция}, сохраняя стиль и подход из предыдущего ответа.
Пояснение:
- {предыдущий_ответ} — копируй output из первого запроса
- {новая_инструкция} — "дополни ещё двумя абзацами", "перепиши короче", "добавь примеры"
Ограничения
⚠️ Лексические метрики vs семантика: Исследование измеряло только словесное сходство (Jaccard similarity), не смысл. Два ответа могут быть написаны по-разному, но значить одно и то же — метрика посчитает это как "дрифт". Реальное смысловое расхождение может быть меньше, чем показывают цифры.
⚠️ Короткие промпты, один запрос: Измерения делали на single-turn взаимодействиях. В длинных диалогах дрифт может накапливаться — модель постепенно сдвигается от исходной задачи. Насколько сильно — неизвестно.
⚠️ Только две модели: GPT-4o-mini и Llama3.1-8b. Более крупные модели (GPT-4, Claude Opus) могут вести себя иначе. Ранее показали что 120B-параметровая модель давала идентичные ответы только в 12.5% случаев — в 2 раза хуже чем GPT-4o-mini.
Как исследовали
Команда взяла две модели: GPT-4o-mini (через OpenAI API) и Llama3.1-8b (локально на NVIDIA A100), и прогнала 125 промптов в пяти категориях — от размытых ("Дай совет начинающему садоводу") до жёстких ("Переведи и выдай ровно два предложения"). Каждый промпт запускали 20-30 раз в трёх режимах: точный повтор, с синонимами, с переиспользованием прошлого ответа. Температуры: 0.0 и 0.7.
Измеряли: сколько уникальных ответов (unique output fraction = число разных ответов / общее число запусков), лексическое сходство (Jaccard между парами ответов) и длину (среднее число слов ± разброс).
Главная находка: При temperature=0.0, которую все считают детерминистичной, GPT-4o-mini дал разные ответы в 24% случаев, Llama — в 9%. Jaccard similarity был 0.89 и 0.97 соответственно — высоко, но не 1.0. Возмущение входов (замена "дай совет" на "порекомендуй") подняло unique fraction до 57% для GPT и 27% для Llama — модели оказались чувствительны даже к синонимам. Переиспользование прошлого ответа, наоборот, снизило вариативность до 20% и 10% — контекст стабилизирует.
При температуре 0.7 картина изменилась радикально: почти 100% уникальных ответов, Jaccard упал до 0.44-0.71. Температура — главный драйвер дрифта, сильнее чем перефразирование или переиспользование.
Почему GPT-4o-mini дрифтит больше Llama3.1-8b? API добавляет шум: батчинг, маршрутизация, кэширование, оптимизации провайдера — всё это скрыто от пользователя. Локальная модель с фиксированным seed и одинаковыми настройками более предсказуема. Но даже она не идеальна — 9% дрифта говорит что детерминизм в LLM — миф.
Авторы признают: лексические метрики переоценивают дрифт. Если модель написала "начни с малого" вместо "стартуй с простого", Jaccard это засчитает как различие, хотя смысл тот же. Нужны семантические метрики (сравнение эмбеддингов, LLM-as-judge), но их пока не добавили — ограничение исследования.
Вывод для практики: запускай критичные промпты несколько раз. Одиночный запуск показывает только один образец из распределения, а не сам диапазон поведения. Если ответы сильно расходятся — промпт недоспецифицирован, добавляй ограничения.
Адаптации и экстраполяции
🔧 Техника: A/B-тестирование формулировок промпта
Результаты показали: перефразирование увеличивает вариативность в 2.4 раза (unique fraction с 0.24 до 0.57). Используй это для тестирования формулировок:
Я хочу получить [желаемый результат].
Вот три формулировки промпта:
A) [формулировка 1]
B) [формулировка 2]
C) [формулировка 3]
Выполни каждую формулировку и покажи результаты отдельно.
Затем проанализируй: какая формулировка даёт более точный/полезный/креативный результат для моей цели?
Модель выдаст три ответа и сама оценит, какая формулировка работает лучше. Ты увидишь не только результат, но и влияние формулировки на вывод.
🔧 Техника: Стабилизация через якорный пример
Вместо переиспользования всего предыдущего ответа, дай модели эталонный пример стиля/структуры в первом запросе:
Запрос 1:
Напиши описание SaaS-продукта для лендинга.
Вот эталонный пример стиля и структуры:
"""
[образец текста который тебе нравится]
"""
Теперь напиши описание для [твой продукт].
Запрос 2 (в том же чате):
Напиши ещё два описания для того же продукта, сохраняя стиль из первого ответа.
Модель закрепится на эталоне и даст более согласованные варианты, чем при чистом переиспользовании.
Ресурсы
Quantifying non-deterministic drift in large language models
Claire Nicholson, HelixScribe.AI
Упоминаемые работы: - Atil et al. (2025) — Non-Determinism of "Deterministic" LLM Settings - Khatchadourian & Franco (2025) — LLM Output Drift: Cross-Provider Validation - Chen et al. (2024) — Citation Drift as a Reproducibility Failure in Scientific LLMs - Maxwell & Berenzweig (2025) — The Half-Life of Truth: Semantic Drift vs. Factual Degradation - Rath (2026) — Agent Drift: Quantifying Behavioural Degradation in Multi-Agent LLM Systems
