Разработчик Cloudflare создал язык, который затрудняет работу нейросетей с кодом

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


