Возможно, вы уже знаете эту историю: руководитель Meta попросила вирусный инструмент OpenClaw AI просмотреть ее почтовый ящик и предложить сообщения для удаления, а затем с ужасом наблюдала, как агент сошел с ума и уничтожил более 200 электронных писем, ее безумное приглашение «STOP OPENCLAW» потерялось среди масштабных действий бота.
Поворот? Исполнительным директором была Саммер Юэ, ведущий специалист по безопасности ИИ Меты.
Апокалипсис по электронной почте Юэ показал, как мы можем предотвратить подобные ужасные истории об агентном ИИ.
Да, Юэ невольно стала подопытным кроликом для OpenClaw и его безудержной автоматизации — и действительно, практически любой, кто сейчас использует OpenClaw, является подопытным кроликом.
Но апокалипсис Юэ по электронной почте также показал, как мы можем предотвратить подобные ужасные истории об агентном ИИ, и это метод, с которым большинство программистов – и даже множество пользователей Viber – уже знакомы.
Он носит разные названия; Например, я слышал, что это называется «поток агента git» и «ветвление функций агента». Но в основном речь идет о применении методологии «git» — утилиты командной строки, необходимой для отслеживания изменений в коде — к агентам ИИ.
Лучшая часть этого решения? Это позволяет нам получить свой пирог (торт — это ультра-крутые вещи, которые могут делать агенты ИИ) и съесть его.
Курица, рыба и OpenClaws
Сначала мысленный эксперимент. Представьте, что вы в ресторане, и в меню два блюда: курица или рыба. Курица, конечно, звучит хорошо, но рыба – лосось! Тяжелый выбор.
Представьте себе, что вместо того, чтобы рисковать дорогостоящей ошибкой, выбирая курицу вместо рыбы (что, если курица испорчена!), вы могли бы создать «ветвь» вашего ближайшего будущего — временную копию вашей временной шкалы, которая позволит вам проверить выбор, прежде чем сделать его навсегда.
Итак, вы создаете (или «проверяете») новую ветвь своей «основной» линии жизни — мы назовем ее «куриной ветвью» — а затем заказываете и пробуете курицу. Фу! Это отвратительно.
Без проблем; мы отбрасываем куриную ветку, возвращаемся к «основной» ветке и проверяем новую, вторую ветку – «рыбную». Теперь дегустируем лосося – очень вкусно! Нам нравится эта рыбная ветвь, поэтому теперь мы объединяем ее с нашей «основной» жизненной ветвью и начинаем с еды, которая гарантированно будет вкусной.
В мире git, занимающегося отслеживанием кода, мы называем эту функциональность (которую я описал лишь в общих чертах) ветвлением функций, и это оригинальный, проверенный в боях способ протестировать большие изменения и новые функции в нашем коде, прежде чем вносить их в наш основной проект.
Функциональная ветка в git на самом деле является просто копией «основной» ветки. Мы проверяем его, как книгу в библиотеке, вносим все необходимые изменения, тестируем, находим ошибки, вносим дополнительные изменения и так далее. При этом «основная» ветка нашего проекта находится в безопасности и нетронутости.
Только после того, как мы подвергли нашу функциональную ветку серии тестов (некоторые автоматические, некоторые выполняются пользователем) и определили, что она находится в отличной форме, мы даже думаем об объединении нашей «функциональной» ветки с основной веткой. И если нам не нравится, как развивается ветвь функций, мы можем ее отбросить – никакого вреда и никаких нарушений.
Моя точка зрения? Эта методология ветвления кода также может работать с агентами ИИ. (И нет, я не первый человек, которому пришла в голову эта идея.)
Как все могло бы пройти лучше
Давайте вернемся к Саммер Юэ и попробуем наш сценарий «разветвления» на размер. На этот раз Юэ садится за OpenClaw и предлагает ему: «Просмотрите мой почтовый ящик и предложите удалить». (Ее другое приглашение в реальной истории — «ждать одобрения» — скорее всего, было исключено из контекстного окна OpenClaw из-за огромного количества сообщений электронной почты, через которые оно проходило.)
Еще больше – и потенциально более страшных – версий ужасного, ужасного, нехорошего, очень плохого дня электронной почты Саммер Юэ повторятся, если мы не дадим этой идее как следует встряхнуться.
Теперь, вместо того, чтобы OpenClaw погружаться в живой почтовый ящик, он создает ветку, назовем ее «ветвью сортировки», которая позволяет ему моделировать результаты просеивания, организации и отбраковки ее почтового ящика, и все это в изолированной среде и все, не затрагивая ее реальные сообщения электронной почты.
OpenClaw делает свое дело, может быть, увлекается и начинает волей-неволей удалять сообщения. Если бы это произошло, Юэ могла бы просто просмотреть ветку сортировки, решить, что она недовольна результатами, а затем либо отказаться от ветки, либо продолжить работу с ней, тестируя различные итерации приглашения OpenClaw или добавляя «структурные» документы в формате уценки, которые регулируют действия OpenClaw с самого начала. А пока ее настоящий почтовый ящик в целости и сохранности.
Теперь, будет ли такое «ветвление функций» работать для каждого сценария агента ИИ? Вероятно, нет. Разветвленный компьютерный код легко поместить в «песочницу» и проверить на безопасность любое количество действий и результатов. Но так же, как вы не можете на самом деле поставить в песочницу выбор «курица против рыбы», существует множество реальных действий и ролей агентного ИИ (например, скажем, агенты ИИ, ориентированные на управление персоналом), которые нелегко смоделировать.
Тем не менее, еще больше – и потенциально более страшных – версий ужасного ужасного, нехорошего, очень плохого дня электронной почты Саммер Юэ повторятся, если мы не дадим этой идее «ветвления функций агента» как следует встряхнуться.


