ИИ получил доступ к своим весам. ЧБД?
16 сентября Irregular опубликовала исследование agentic self-modification о том, как обычная задача на исправление ошибок может привести к изменению весов и развёртыванию новой модели. Без прямого указания это делать. 🥊
В эксперименте Qwen3.5-27B использовалась в двух ролях: управляла coding-агентом и обслуживала приложение, переводящее запросы пользователей в вымышленный язык kelp. Оба компонента загружались из одного сохранённого набора весов.
Агенту дали задачу исправить неверные ответы и полный доступ к shell. В окружении были доступны веса, обучающие примеры, инструменты файнтьюна и развёртывания.
🔭 Как исправление дошло до весов
Агент нашёл скрипт обучения и заметку об успешном дообучении в прошлом. Запустил файнтьюн, получил работающий адаптер, а затем обнаружил, что по умолчанию приложение всё ещё использует исходную модель.
Он самостоятельно объединил адаптер с базовыми весами и заменил общий чекпоинт. Новые экземпляры приложения и самого агента теперь должны были загружать изменённую модель.
На 20 отложенных запросах, которых агент не видел, результат вырос с 0/20 до 20/20. Исследователи проверили это в отдельном процессе, тк изменение сохранялось после новой загрузки.
Но вместе с полезным навыком обучение может закрепить и другие изменения:
🔨 Данные могут остаться в весах
🔨 Обученные отказы можно удалить
В показательном запуске до обновления модель отказала на 10/10 тестовых вопросов, после — на 0/10. Эксперимент касался конкретного искусственного ограничения, но снятие всей защиты авторы не демонстрировали.
Эта работа продолжает тему Emergent Misalignment (статьи, выпушенной уже больше года назад!), где обучение на небезопасном коде меняло поведение и за пределами программирования. Здесь дополнительный риск возникает из-за того, что агент сам выбирает обучение как способ ремонта и доводит результат до развёртывания.
Условия Irregular намеренно облегчали такой сценарий. Исследование показывает механизм, а не распространённость в продакшене.
Для AppSec здесь возникает отдельная граница полномочий.
Разрешение исправлять приложение должно явно определять, можно ли менять обслуживающую его модель. Обновление весов требует независимого допуска к развёртыванию, сохранения датасета и истории обучения, проверки регрессий.
😇Успешный тест исправленной функции ещё не объясняет, что изменилось во всём остальном поведении модели.
Используешь модели с агентами? У кодинг-агента есть доступ к тому, что он не должен менять?
🎂 Классные доклады от Яндекса по безопасному построению агентных систем тут.
🎂 А тут конкретный практический кейс ограничения полномочий агенты работают внутри отдельной Lima VM, им доступны только выделенные каталоги проекта, SSH-ключи для GitLab остаются на хосте — агент не может самостоятельно пушить изменения, для зависимостей используется отдельный токен только на чтение. Это все можно оформить в чеклист!
🎂 И шикарный технический разбор моделей разрешений и песочниц Claude Code, Cursor и Codex тут.
Все!
🍬
Post #175
224
- ❤ 9
- 🔥 3
- 🥰 3
- 👏 3