Исследователи из IIT Bombay и Adobe Research обучили «обратную» языковую модель, которая по готовому тексту ответа восстанавливает исходный запрос — без доступа к весам и логитам целевой модели. Заголовки уже хоронят секретные системные промпты. Мы полезли в саму работу — там всё интереснее и честнее.
Зеркальная языковая модель
Обычная языковая модель устроена просто: предсказывает следующий токен за предыдущими. Авторы работы — Пирзада Сухайл, Нагасаи Сакетх Найду, Атану Синха и Амит Сетхи — развернули стрелку времени и обучили модель предсказывать токен предыдущий. Метод так и называется: previous-token prediction, PTP.
Самое неприятное для тех, кто прячет промпты, — как эту инверсную модель готовят. Её не дообучают на чужих датасетах и не лезут внутрь целевой модели: её учат с нуля на данных, которые сама же жертва и нагенерировала по запросам снаружи. Прежние методы инверсии требовали весов или логитов, то есть доступа, которого у атакующего обычно нет. Здесь хватает чёрного ящика с API.
Цифры, которых нет в заголовках
На Qwen3-0.6B в чат-версии инверсная модель восстанавливает промпт слово в слово в 64,77 процента случаев, BLEU — 63,08, косинусная близость по смыслу — 86,13. На базовой версии без чат-тюна точное совпадение падает до 35,14 процента.
Это не «почти идеально», но отрыв от предшественников разгромный. Лучший прежний метод на том же тесте давал 25,44 процента точных попаданий, а подход через обратный промпт-инжиниринг — вообще 0,64 процента. Разрыв почти в сто раз.
А что с большими моделями
Здесь самый отрезвляющий опыт. Инверсную модель, обученную на крохотном Qwen, натравили на ответы GPT-4o. Дословно угадано всего 11,36 процента промптов — зато смысловая близость держится на 63 процентах, а у восстановленных ответов на 81,57. Перевод на человеческий: точную формулировку чужого запроса вы не достанете, а вот о чём он был — вполне.
В статье есть наглядный пример. Оригинальный запрос звучал как «Как выйти на конкурентов, чтобы узнать их ценовые стратегии?». Инверсная модель выдала несколько вариантов, среди них — дословно тот же вопрос и два пересказа той же задачи другими словами. Когда эти реконструкции скормили исходной модели обратно, она выдала по смыслу те же ответы.
Авторы честно перечисляют ограничения. Чтобы нагенерить обучающие данные, нужно прогнать весь словарь целевой модели — у Qwen это около 150 тысяч токенов, то есть счёт за API выйдет заметный. Для дообучения всё равно нужны реальные пары запрос–ответ, хоть и немного: в работе хватило 400 промптов из ShareGPT. И главное — всё проверялось на коротких запросах в одно-два предложения. Длинные системные промпты на несколько абзацев, те самые, что и стоят денег, не тестировались вовсе.
Последние годы целая индустрия строится на допущении, что системный промпт — это актив, который можно спрятать. В нём живут правила модерации, фирменные сценарии и вся секретная кухня стартапов, чей продукт — обёртка вокруг чужой модели. PTP пока не вскрывает такие промпты целиком, но показывает направление удара: каждый опубликованный ответ модели — это утечка того, что её об этом попросили.
Вторая сторона неприятнее. Если по тексту ответа восстанавливается запрос, то любой выложенный в сеть фрагмент переписки с ботом потенциально выдаёт, о чём человек спрашивал — включая то, что он аккуратно вырезал перед публикацией.