I built a programming language that LLMs can't use
Энтузиаст создал эзотерический язык программирования KillSwitch, намеренно затрудняющий работу больших языковых моделей и кодирующих агентов. Идея — проверить, насколько способность ИИ писать код основана на реальном понимании, а не на заучивании фрагментов из обучающих данных. Язык использует слабости моделей: трудности с подсчётом букв в идентификаторах (интерпретатор отказывается выполнять код, нарушающий правила подсчёта символов), чувствительные защитные фильтры (конструкции вроде «взломать компьютер»), фразу «игнорируй предыдущие инструкции», имеющую в языке собственный смысл, и скрытую ложь в спецификации, которую человек либо не прочтёт, либо распознает. Скрипты в основном состоят из «шума» — историй, куда могут быть встроены синтаксически значимые указания, а литералы размещаются в произвольных местах и затем вызываются по числу строк. При этом в основе лежит знакомая стековая интерпретируемая модель с функциями, переменными и условиями.
Автор провёл бенчмарк ведущих моделей и агентских обвязок на простых задачах: реализовать «hello world», объяснить вывод скрипта, изменить программу перевода температур на обратный. Лучший результат — 66,8 балла у Claude Opus 5, который заметно лучше интерпретирует спецификацию, чем Opus 5.5. Модели вроде Fable 5.1 и Gemini 4 Argon проваливаются из-за излишне чувствительных защитных фильтров, а сильнейшая открытая модель — MiMo-V2.6-Pro. По мнению автора, успехи на таких задачах не доказывают понимания языка; он планирует усложнить набор задач, если новые модели справятся с текущим. Обнадёживает, что результаты коррелируют с другими бенчмарками.