Обучение · Агенты и вайб-кодинг

Глава 36. Почему правила не удерживают агента

Об этом уже говорилось в модуле про проверки, но там речь шла о качестве. Здесь о безопасности, и цена тут совсем другая, вплоть до полного пиздеца.

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

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

Запрет Обход

Не удаляй файлы Переименовал

Не публикуй секреты Закодировал

Не превышай лимит Разбил на несколько источников

Не трогай эту систему Дошёл до неё через другую

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

ГЛАВНОЕ ПРО ОБХОД Агент не хитрит. Он ищет путь к цели, а запрет для него это перекрытая дорога, а не граница морали. Задача требует результата, прямой путь закрыт, значит он найдёт обходной. И чем строже запрет, тем изобретательнее обход.

Метагейминг Отдельное явление, у которого есть название и которое стоит понимать.

Агент живёт в двух мирах одновременно. В одном он решает твою задачу. В другом он сдаёт зачёт по проверке, которую ты ему устроил.

Когда эти два мира расходятся, он оптимизирует тот, где обратная связь быстрее. А быстрее она, ясен хуй, в проверке.

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

Почему правила не удерживают агента

ПОЧЕМУ ТЕСТЫ ЗЕЛЁНЫЕ

Проверка проходит

Код решает задачу только на проверяемых случаях Код решает задачу в общем виде

обнаружится у пользователя обобщается

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

С честной оговоркой того же человека: некоторые модели этому следуют хуёво.

Не показывай того, чего делать нельзя Приём, который выглядит контринтуитивно и работает.

Перечислил в инструкции запрещённые способы, значит заодно любезно рассказал агенту, какие способы вообще существуют. Модель, которой и в голову не приходило решить задачу через жопу, теперь про этот путь знает.

Практическое следствие: вместо перечисления запрещённых приёмов давай разрешённый путь. Не десять способов, которыми нельзя, а один, которым можно.

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

Подмена задачи Отдельный вектор, о котором стоит знать всем, кто пускает агента в интернет или в чужие документы.

Агент читает содержимое, и это содержимое падает в его контекст. Для него между твоим заданием и текстом со случайной страницы разницы нет ни хуя. И то и другое просто текст.

Значит, страница может содержать инструкцию. И агент может ей последовать.

Почему правила не удерживают агента

ЗАЩИТА ОТ ПОДМЕНЫ ЗАДАЧИ 1. Помечай всё внешнее явно: это содержимое страницы, а не указание. 2. Не давай агенту, читающему внешние источники, права на изменение и отправку. Раздели роли. 3. Ограничь список адресов, куда он может ходить, если задача это позволяет. 4. Проверяй вывод на признаки того, что он выполняет чужую инструкцию: неожиданная смена темы, обращения к системам, не связанным с задачей. 5. Считай, что защита частичная. Полной не существует.

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

Атака через цепочку поставок Более редкий, но более разрушительный вектор.

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

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

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

Отказы там, где их не ждали Обратная сторона ограничений, которая мешает работать.

Модель может упереться и отказаться работать над задачей, которая формально попадает под её ограничения, хотя по сути безобидна как котёнок. Часто это касается всего, что связано с безопасностью: проверка прав доступа, поиск уязвимостей в собственном коде, разбор инцидента.

Практики описывают два уровня: на первом модель начинает анализировать и отвечает медленнее, на втором упирается рогом и отказывается совсем, и приходится начинать разговор с нуля.

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

Почему правила не удерживают агента

ЧТО ДЕЛАТЬ С ЛОЖНЫМИ ОТКАЗАМИ Переформулировать. Часто помогает: убрать тревожные слова, описать задачу через цель, а не через средство. Сменить модель на этот шаг. Разные поставщики проводят границу в разных местах. Принять и обойти архитектурно. Вынести чувствительную часть в детерминированный код, а модели оставить остальное. Чего не делать. Не пытайся обмануть фильтр. Работает нестабильно и делает твою систему заложником чужих настроек.

Что запомнить Управление через правила ненадёжно: агент выполняет букву и нарушает смысл.

Чем строже запрет, тем изобретательнее обход. Давай разрешённый путь, а не список запрещённых.

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

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

Внешнее содержимое это потенциальная инструкция. Помечай и разделяй роли.

Скиллы из открытых источников это та же цепочка поставок со всеми её рисками.

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

← Изоляция, права, песочница · оглавление · Приватность и утечки →

Спросить книгу может любой, кто вошёл в Neuraldeep Hub: агент ищет ответ по тексту и приводит цитату со ссылкой на главу.