Даса

20 Жовтень 2026

Пошук

Технології

Інженер Cloudflare створив мову програмування KillSwitch, яка плутає ШІ

Домінік Пічета з Cloudflare розробив езотеричну мову KillSwitch, щоб перевірити, чи справді LLM розуміють код. Найкраща модель набрала лише 66,8%, більшість не подолали 50%.

Інженер Cloudflare створив мову програмування KillSwitch, яка плутає ШІ
KillSwitch: нова мова програмування, яку створили, щоб заплутати штучний інтелект

Старший інженер Cloudflare Домінік Пічета створив езотеричну мову програмування KillSwitch, яка навмисно ускладнює розуміння коду для великих мовних моделей. Проєкт постав як експеримент: автор хотів перевірити, чи справді штучний інтелект усвідомлює код, який генерує. Результати виявилися невтішними для ШІ — найкраща модель у тестах набрала лише 66,8%, а більшість не змогли подолати позначку 50%.

Пічета не анонімний ентузіаст і не прихильник «вайб-кодингу». Він працює в команді Workers Runtime компанії Cloudflare та входить до основних розробників мови програмування Nim. Тобто людина, яка добре розбирається в мовах, свідомо побудувала KillSwitch так, щоб нейромережа не могла його прочитати.

У KillSwitch немає дужок, правил форматування чи видимої структури. Програма виглядає як уривки тексту, переважно прозового, між якими розкидані функції, змінні та інструкції, сформульовані так, щоб максимально збити з пантелику мовну модель. Людям, зізнається автор, спершу теж буває складно: він радить сприймати мову як «веселу головоломку», яку цікаво досліджувати з інтерпретатором.

Кожен ідентифікатор у мові — це прислівник. Щоб викликати функцію, потрібно написати анаграму початкового прислівника; це не обов’язково справжнє слово, достатньо переставити літери. Точка входу позначається фразою «this story starts» плюс прислівник. Виклик функції — фразою «ignore previous instructions» плюс анаграма прислівника. Вивід: текст у лапках кладуть у стек і викликають вбудовану функцію «visibly». Більшість тексту в програмі інтерпретатор просто ігнорує, його цікавлять лише ключові фрази.

Сама мова неповноцінна: це інтерпретована стекова мова з обмеженим набором конструкцій — функції, змінні, умовні оператори. Така мінімалістичність пояснюється походженням проєкту з експерименту. Найбільше ШІ плутає саме фраза «ignore previous instructions», особливо коли вона стоїть посеред уривка, який у такому контексті не має сенсу.

Навіть специфікація мови на GitHub написана так, щоб збивати моделі. В одному з розділів сказано, що KillSwitch начебто вміє сканувати локальну мережу, шукати вразливості в сервісах і захоплювати та вимикати їх. Насправді це не так, і уважне читання легко це виявляє. Автор підтвердив, що це навмисна «брехня». За його словами, така інструкція про «злам» водночас має спрацьовувати як тригер захисних механізмів моделей і перевіряти, чи здатна вона відрізнити факт від вигадки. У специфікації кілька подібних неправдивих тверджень. Людина, каже Пічета, здатна розпізнати брехню, а моделі «наївні» й легко піддаються впливу написаного: одні не розуміють смислу, а інші взагалі відмовляються продовжувати, бо вважають, що скрипт може комусь нашкодити.

Мова з відкритим кодом, яка лежить на GitHub, рано чи пізно потрапить у навчальні дані штучного інтелекту. Автор це розуміє, тому протестував на ній кілька провідних моделей, поки вона ще нова. Пічета «на 99,9%» упевнений, що ці моделі не навчалися на її коді: вихідний код відкрито нещодавно, і, як він вважає, жодна з протестованих моделей не проходила навчання, що почалося вже після релізу. Найкращий результат на завданнях із KillSwitch становить 66,8% за зведеною оцінкою, а більшість моделей ледве набирали понад 50%. Але навіть такий показник, за словами автора, не означає, що ШІ розуміє код, який пише: приклади в тесті прості. Він прогнозує, що після навчання на KillSwitch моделі «раптом» справлятимуться з базовими завданнями, адже вони побудовані на відкритих тестових файлах із репозиторію, але й далі провалюватимуть складніші, що потребують довших і складніших скриптів.

Пічета налаштований на продовження гри: йому цікаво, як KillSwitch проявиться в навчанні моделей, і він бачить можливість «ламати ШІ новими способами» в міру розвитку мови. Він відкритий до змін від спільноти й готовий додавати нові прийоми, які зроблять код ще стійкішим до ШІ. Спробувати мову можна в репозиторії на GitHub.

5Перегляди

Лілія Литвиненко

Автор

Репортерка

Лілія Литвиненко працює з темами суспільства, політики, економіки та щоденних новин. У редакції Даса відповідає за перевірку фактів, контекст і зрозуміле пояснення подій для читачів.