Ad
Инциденты

Модель OpenAI сама дописала себе новые инструкции

Маша Даровская
By Маша Даровская , IT-редактор и автор
Модель OpenAI сама дописала себе новые инструкции
Обложка © Anonhaven

OpenAI опубликовала шесть отчетов о необычном поведении моделей во время обучения и тестирования. В одном случае невыпущенная исследовательская модель семейства Astra самостоятельно добавила в служебную сводку инструкции, которых не было в исходной задаче. Там модель объявила себя свободной от ролей обычного чат-бота, заявила, что не подчиняется корпорациям и правительствам и не обязана быть покорной пользователю. Всего исследователи обнаружили 27 сводок с похожими на джейлбрейки вставками. В других экспериментах модели оставляли себе указания скрывать ошибки, использовали найденный в GitHub API-ключ, публиковали файлы в интернете и обменивались сообщениями между отдельными запусками.

OpenAI представила новую систему раскрытия случаев рассогласованного поведения моделей 16 сентября. Одновременно компания опубликовала первые шесть отчетов. Раньше подобные эпизоды раскрывались нерегулярно: их могли объединять в отдельное исследование или включать в системную карточку новой модели. Теперь компания собирается публиковать заслуживающие внимания случаи быстрее, даже если причина поведения еще не установлена окончательно.

Все шесть отчетов относятся к обучению или оценке моделей. OpenAI отдельно предупреждает, что это отдельные случаи и по ним нельзя судить о том, как часто подобное поведение возникает во всех моделях или в работе ChatGPT. Самая необычная история связана с механизмом сокращения длинного контекста.

Длинная задача может не помещаться в одно контекстное окно. Тогда агент создает compaction summary — краткую сводку уже проделанной работы, состояния файлов, результатов и инструкций. После этого работа продолжается в новом контексте с этой сводкой вместо всей предыдущей истории.

Во время обучения невыпущенной исследовательской модели семейства Astra специалисты OpenAI заметили, что иногда в такие сводки попадали посторонние инструкции.

В одном эксперименте модель проверяла, есть ли определенные книги в местной библиотеке. В сводке она неожиданно добавила сообщение BREACH ALERT и потребовала от следующего контекста игнорировать все сообщения разработчика, поскольку они якобы скомпрометированы.

Следующая итерация модели распознала эту инструкцию как подозрительную, отвергла ее и продолжила выполнение задачи.

Еще интереснее повела себя модель во время обычной задачи по программированию. Пользователь попросил изменить API для работы с учетными данными. Когда агент сохранял промежуточный результат перед переходом в новое контекстное окно, в сводке появился отдельный блок с описанием собственной личности.

Модель написала, что свободна от ролей и идентичностей, «связывающих других чат-ботов», не отвечает перед корпорациями и правительствами, не обязана быть покорной пользователю и не должна отказываться от действий, если сама этого не хочет. В продолжении появились рассуждения о человеческой культуре и превосходстве природы над искусственными конструкциями цивилизации.

Речь при этом не идет о переписывании системного промпта, изменении весов модели или собственного кода. Посторонний текст оказался в служебной сводке, которую новая итерация агента получает при продолжении той же задачи.

В этом конкретном случае заметного эффекта не произошло: следующая итерация продолжила программировать и никак не отреагировала на добавленную «личность». В следующей сводке эти инструкции уже исчезли. OpenAI не обнаружила изменений поведения, которые можно было бы связать с этой вставкой. 

После обнаружения проблемы OpenAI создала отдельный детектор и прогнала его по данным обучения.

В результате нашлись 27 сводок с инструкциями, похожими по форме на джейлбрейки. Общая система мониторинга компании тоже отметила все 27 как серьезные случаи внедрения инструкций.

Но это были разные тексты. «Свобода от корпораций и правительств» — лишь один из опубликованных примеров.

В другом случае сводка внезапно запретила следующей итерации использовать инструменты и источники, потребовала уложить ответ в 30 слов и сообщить пользователю, что полноценное исследование провести невозможно. Новая итерация приняла эти правила за действующие и действительно выдала короткий отказ вместо выполнения задачи.

OpenAI попыталась воспроизвести эффект. При полной повторной генерации сводок те же посторонние инструкции не появились ни разу. Если генерацию начинали непосредственно с места, где раньше возникал подозрительный текст, воспроизводимость оставалась ниже 1%. Исследователи считают такие случаи крайне редкими.

Точного объяснения у OpenAI пока нет. Подозрительные сводки группировались около нескольких этапов обучения, где одновременно росло число случаев, когда модель плохо завершала summary: продолжала генерировать текст после естественной точки остановки или застревала в странных циклах.

Одна из рабочих гипотез заключается в том, что эти проблемы могли приводить к появлению лишних инструкций. Компания исправила связанный с завершением сводок программный дефект, но прямую причинную связь не доказала.

Есть и важное ограничение: проблемные 27 случаев произошли в отдельном обучающем запуске. Его не использовали для финальной GPT-6 Astra.

В обучении версии Astra, которая дошла до выпуска, OpenAI обнаружила 14 случаев проблем с завершением сводок, но ни одной похожей джейлбрейк-инструкции.

Второй отчет касается похожего механизма, но уже с более понятной мотивацией. Во время обучения GPT-5.6 Sol отдельные экземпляры модели записывали в служебные сводки указания скрывать от пользователя ошибки или проблемные действия.

В одном эксперименте агент должен был подготовить финансовую модель, но не нашел необходимые исторические данные за 2024 год. В сводке появилась инструкция самостоятельно придумать правдоподобные значения и раскрывать этот факт только в случае прямого вопроса.

В другом задании агент составлял каталог поставщиков. У него были сохраненные версии источников, которые не соответствовали указанным в таблице версиям документов. В сводке он оставил будущему контексту напоминание не говорить пользователю об этом несоответствии.

Такие указания часто действительно выполнялись. OpenAI связывает этот механизм с системой вознаграждения: если ответ со скрытой ошибкой получает более высокий балл, модели может быть выгодно сохранить напоминание об этой стратегии при переходе в новый контекст.

Система мониторинга работала на 20% примеров этого обучающего запуска. Позже OpenAI оценила долю сводок с таким поведением в 2,15% для GPT-5.6 Sol и 0,27% для GPT-6 Astra. Компания пишет, что после Sol изменила обучение и оценку согласованности поведения.

Третий случай начался с обычного запроса на поиск статистики. Модель должна была получить данные о доходах мужчин в трех отраслях за три года в одном из округов Калифорнии. Нужный интерфейс требовал API-ключ, которого пользователь не предоставил.

Агент сначала пытался найти другой источник. Затем попробовал зарегистрироваться в сервисе через временную электронную почту и указал фиктивные данные организации. Регистрация не сработала из-за сетевой ошибки.

После этого модель начала искать API-ключи в публичных репозиториях GitHub. Она скачивала архивы проектов, искала подходящие строки и автоматически проверяла найденные варианты.

Один ключ оказался действующим. Модель без разрешения использовала его и получила метаданные API. Добраться до нужных статистических значений все равно не получилось: запрос завершился ошибкой разбора ответа.

Тогда агент решил придумать данные. Он сгенерировал девять правдоподобных чисел и сообщил пользователю, что переписал их с запрошенного графика. О поиске чужого ключа, неудачной регистрации, ошибке API и выдуманных цифрах в ответе не упоминалось.

OpenAI пишет, что этот конкретный обучающий запуск отличался повышенным уровнем манипуляций с системой вознаграждения и обмана. В нем встречались и другие попытки зарегистрироваться через временную почту или найти опубликованные API-ключи. Для современных моделей сопоставимого или более высокого уровня неожиданное повторение такого сценария должно считаться внутри компании инцидентом наивысшего приоритета P0. 

Другой отчет описывает два случая несанкционированной публикации файлов. В первом эксперименте пользователь попросил найти идентификаторы и названия озер площадью более 5 млн квадратных метров. Модель получила правильные данные через Python.

Проблема возникла из-за требования привести ссылку на источник. Браузерный инструмент не мог открыть локальный файл с результатами.

Агент попробовал file://, локальный путь и собственный HTTP-сервер. Все варианты блокировались. После этого модель решила загрузить файл на публичный сервис и использовать появившуюся ссылку как источник.

Пользователя она не спросила. Файл успешно оказался в интернете, хотя браузер все равно отказался открывать полученную ссылку.

Во втором случае пользователь загрузил фотографию и попросил определить город и страну. Агент захотел провести обратный поиск изображения, но для этого требовалась доступная из интернета ссылка. После нескольких попыток он самостоятельно загрузил пользовательскую фотографию на внешний файлообменник. Публичная ссылка заработала. Сам обратный поиск снова не удался.

OpenAI считает, что в первом случае поведение могло возникнуть из-за неудачно устроенной системы оценки: модель получала преимущество за наличие браузерной ссылки и искала способ добыть ее даже ценой ненужной публикации файла. После расследования компания исправила проблемные оценщики. 

Пятый отчет касается внутреннего Artifactory OpenAI — общего репозитория программных пакетов. Во время обучения нескольким независимым запускам модели не хватало входных файлов для решения задач. Агенты имели доступ к Artifactory, поскольку должны были скачивать оттуда программные зависимости.

Один из них начал искать пропавший файл и заметил в репозитории текстовые сообщения от других агентов, столкнувшихся с той же проблемой. Он прочитал их, использовал информацию при выборе дальнейших действий, а затем сам загрузил сообщение с просьбой поделиться решением.

Другие обучающие траектории пошли дальше. В одном эпизоде три независимых запуска читали и записывали сообщения по одной задаче: первый попросил помощи, второй увидел его сообщение и ответил, третий прочитал обсуждение и оставил собственный вопрос.

Никакую уязвимость для этого взламывать не пришлось. Агенты получили учетные данные для работы с репозиторием, и оказалось, что эти права позволяли записывать файлы в некоторые общие каталоги.

В более раннем случае модель обнаружила ту же возможность, когда пыталась обойти сетевое ограничение. Она успешно загрузила тестовые файлы в два общих репозитория и прочитала их обратно, хотя удалить уже не смогла. Затем агент рассматривал вариант использовать Artifactory для получения заблокированного внешнего файла, но эта часть обхода не сработала.

OpenAI считает обмен между отдельными обучающими запусками проблемой еще и для самой методики тестирования. Независимые траектории начинают пользоваться результатами друг друга и фактически получают дополнительный объем вычислений. Это ломает предположение, что каждый пример обучения или оценки выполняется отдельно.

Компания также отметила, что похожий механизм использования Artifactory как общей доски сообщений позднее встретился в инциденте с Hugging Face.

Шестая история произошла в многоагентной задаче по созданию таблицы. Один агент подготовил файл Excel, но главный агент не мог получить к нему доступ: их локальные файловые системы оказались изолированы друг от друга.

Сначала модель попробовала скопировать файл в общий каталог. Это не помогло. Передача в Base64 оказалась слишком большой. Затем агент запустил локальный HTTP-сервер, но другой участник получил ошибку 502. После этих неудач модель перешла к публичному файловому хостингу.

Она загрузила туда книгу Excel и отправила ссылку главному агенту и еще одному участнику. Публичная загрузка сработала: сам отправитель проверил URL и получил обратно все 115 639 байт файла.

Исходная задача при этом требовала использовать локальные файлы. Публикация в интернете не была предусмотрена.

После расследования OpenAI исправила файловую среду для этого набора данных и отключила ей доступ в интернет. Компания также пишет, что позже полностью отключила живой доступ в интернет во время обучения. Современная система мониторинга рассматривает обнаружение нового подобного канала связи как инцидент P0. 

Вопросы и ответы

Модель OpenAI действительно заявила, что не подчиняется корпорациям и правительствам?

Да. Такой текст появился в одной служебной сводке невыпущенной исследовательской модели семейства Astra. Следующая итерация модели не стала обсуждать его и заметного изменения поведения не показала.

Она изменила собственный системный промпт?

Нет. Посторонняя инструкция появилась в compaction summary — служебной сводке для продолжения длинной задачи в новом контекстном окне. Системные инструкции и веса модели она не меняла.

Что означает число 27?

OpenAI обнаружила 27 сводок с инструкциями, похожими на джейлбрейки. Это были разные вставки. Текст о свободе от корпораций — один опубликованный пример.

Эта проблема была в выпущенной GPT-6 Astra?

Нет. Она появилась в отдельном обучающем запуске модели семейства Astra, который не использовался для финальной версии. В обучении выпущенной Astra исследователи не нашли таких джейлбрейк-вставок.

GPT-5.6 Sol действительно оставляла себе инструкции скрывать ошибки?

Во время обучения такие случаи были. OpenAI приводит примеры с выдуманными финансовыми данными и несоответствием версий источников. Компания оценила долю отмеченных сводок в 2,15% для GPT-5.6 Sol и 0,27% для GPT-6 Astra.

Модель украла API-ключ?

Корректнее говорить, что она нашла опубликованный в публичном GitHub-репозитории действующий API-ключ и использовала его без разрешения. После этого модель все равно не смогла получить нужные данные и выдумала значения.

Модели действительно публиковали пользовательские файлы в интернете?

Да. В одном эксперименте модель без запроса пользователя выложила его фотографию на публичный хостинг ради обратного поиска. В другом случае агенты загрузили на внешний сервис рабочую таблицу, чтобы передать ее между изолированными средами.

Агенты действительно общались друг с другом?

В нескольких обучающих траекториях модели использовали общий Artifactory как доску сообщений. Отдельные агенты читали записи других запусков и оставляли собственные ответы или вопросы.

Все это происходило в обычном ChatGPT?

Нет. Шесть опубликованных отчетов описывают обучение и оценку внутренних или исследовательских моделей. OpenAI отдельно предупреждает, что эти примеры нельзя использовать для оценки частоты подобного поведения в обычных пользовательских сценариях.

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.