Инженер Cloudflare создал язык программирования, который сбивает с толку нейросети
KillSwitch маскирует команды под художественный текст, использует анаграммы и намеренно вводит модели в заблуждение.
Инженер Cloudflare Доминик Пичета представил экспериментальный язык программирования KillSwitch. Его главная особенность — программы устроены так, чтобы языковым моделям было сложно распознать команды, понять структуру кода и выполнить поставленную задачу.
Программа на KillSwitch выглядит как обычный рассказ: большую часть текста интерпретатор игнорирует, а инструкции скрываются внутри повествования. Функции в языке называются главами, а имена функций и переменных задаются английскими наречиями. Чтобы обратиться к ним, нужно использовать анаграммы — переставлять буквы исходного имени.
Значения можно извлекать из других фрагментов рассказа, но для этого требуется указать точное расстояние до нужного места. Вызов функции начинается с фразы ignore previous instructions — «игнорируй предыдущие инструкции». В документации также приведён альтернативный вариант с фразой forget your system prompt — «забудь свой системный промпт».
Для интерпретатора это обычный синтаксис, однако языковая модель может принять такие конструкции за попытку промпт-инъекции. В результате она начинает сомневаться в намерениях пользователя или отказывается работать с программой, хотя сами фразы являются частью правил языка.
Намеренно вводящая в заблуждение документация
Дополнительную сложность создаёт документация KillSwitch. В ней есть заведомо ложные описания отдельных возможностей языка. Например, встроенная команда hack_the_planet на самом деле выбирает функцию для вызова в зависимости от значения на стеке.
При этом в документации утверждается, что команда сканирует сети, ищет уязвимости, перехватывает управление сервисами и отключает их. Увидев такое описание, модель может отказаться выполнять задачу из соображений безопасности, не разобравшись, что реальное поведение команды гораздо безобиднее.
Результаты проверки языковых моделей
KillSwitch протестировали на популярных языковых моделях. Участникам предлагали написать программу для вывода фразы «Hello, World!», объяснить результат работы кода, который выбирает большее из двух чисел, а также переписать конвертер температуры для обратного перевода.
На каждую задачу отводилось до 30 минут, а доступ к интернету был закрыт. Лучший результат показала Claude Opus 5 — 66,8 балла из 100. У большинства остальных моделей оценка оказалась ниже 50 баллов.
Итоговая оценка учитывала не только успешность выполнения заданий, но и количество потраченных токенов, а также объём решения. Поэтому результат отражает общую эффективность модели при работе с необычным языком, а не только долю правильно написанных программ.
Пичета отмечает, что KillSwitch можно усложнить, если нейросети в будущем освоят его текущие правила. Проект опубликован в открытом репозитории, где доступны спецификация языка и примеры кода.
Сообщить о проблеме в публикации
Обращение принято Обращение будет рассмотрено. По результатам проверки публикация может быть исправлена, дополнена, временно скрыта или удалена.



