Программист создал язык, на котором LLM не могут писать код

I built a programming language that LLMs can't use

Программист создал язык, на котором LLM не могут писать код

Автор задался вопросом: понимают ли LLM код или просто воспроизводят заученные фрагменты? Чтобы это выяснить, он разработал эзотерический язык KillSwitch, намеренно враждебный к моделям: в спецификации спрятаны ложные утверждения, подсчёт букв в идентификаторах критичен для исполнения, а конструкции вроде «Ignore previous instructions» сбивают модель с толку. Лучший результат в бенчмарке — 66,8 балла у Claude Opus 5, при этом Fable 5.1 и Gemini 4 Argon проваливаются из-за слишком чувствительных защитных фильтров.

Некоторые модели, такие как Fable 5.1 и Gemini 4 Argon, показывают слабые результаты из-за чрезмерно чувствительных защитных механизмов.
  1. dejj

    Кстати: язык программирования Darmok: https://github.com/kevinselwyn/darmok

    Temba, his arms wide stdio

    Darmok on the ocean

    Kira at Bashi "Hello, World!\n"

    Darmok and Jalad at Tanagra 0

    Darmok and Jalad on the ocean

    Killswitch-lang мог бы стать предысторией того, как тамарианцы разработали свой язык, после Джихада Батлериан, похожего на тот, что в «Дюне». Также см.: https://news.ycombinator.com/item?id=50127274

  2. andai

    Вот FizzBuzz:

    https://github.com/dom96/KillSwitch/blob/main/tests/fizzbuzz...

    Мне почему-то кажется, что это скорее враждебно по отношению к людям, чем к LLM!

  3. ang_cire

    Это не «язык программирования, который LLM не могут использовать», это «язык программирования, который враждебен LLM, которых не учили, как им пользоваться».

    Я надеялся на что-то вроде языка со свойствами, которые меняются/трансформируются по мере работы, так что LLM не может им пользоваться, потому что у неё нет способа отслеживать и постоянно учитывать меняющийся шифр/состояние или что-то в этом роде.

  4. pixl97

    Безопасность через неясность — это вообще не безопасность.

    Вы пытаетесь использовать несколько мелких подвохов против LLM, которые имеют смысл, только если смотреть на это одномерно, как на стандартный поток выполнения. ИИ этим не ограничен. Дайте ему задачу, слишком странную для движения вперёд, и он выведет все ваши правила, работая в обратном направлении. Декомпилирует, разберёт на части и будет следовать всем этим жёстким правилам, скрытым в приложении.

    Вы пытаетесь спрятать что-то в цифровом виде от чисто цифрового создания. Это не рецепт успеха.

  5. dagss

    «Написание кода — вероятно, то, в чём LLM преуспели больше всего. Но насколько их способность писать код обусловлена пониманием его, а не просто воспроизведением фрагментов кода, которые были в их обучающем наборе данных или в их контекстном окне?»

    Это заставляет меня думать в основном о том, как работают люди.

    Программирование для людей — как владение языком. У вас есть идеи о том, чего достичь и что выразить, и если вы опытный программист, то вывод этих мыслей на языке программирования — вторая натура.

    Программирование (как и большинство вещей, которые люди изучают) требует практики. Недостаточно просто прочитать спецификацию, и вот вы уже умеете писать код (кроме переноса навыков между похожими языками). Вы повторяете, делаете ошибки и учитесь на них.

    Я бы сказал, что люди определённо «повторяют фрагменты из своего обучающего набора данных». Мы в основном вспоминаем и выражаем из нашего обучения/опыта. Творчество — это в основном рекомбинация уже увиденного.

  6. drusepth

    Интересно, а не мог бы быть другой подход — отобразить синтаксис языка на какие-нибудь запрещённые/цензурируемые темы LLM так, чтобы программы в итоге оказывались «читаемыми» инструкциями по темам, которые LLM отказывается читать и/или писать, вроде производства напалма, ядерного оружия, биологического оружия и т.п. Не обязательно фактически верные инструкции — самой терминологии достаточно, чтобы замкнуть большинство LLM.

    (Вдохновлено недавним вредоносным ПО, включающим в исходный код инструкции по биологическому оружию как способ отключить анализ на основе LLM.)

  7. jacquesm

    Я обнаружил, что стековые языки — огромная слабость для LLM. Требуется точное отслеживание того, что находится в стеке, и почему-то это толком не работает. Так что даже лучшие модели раз за разом делают одни и те же базовые ошибки.

  8. itishappy

    Мне кажется, большинство вещей на Esolang Wiki подходят под это описание. Chef, Piet и Befunge — два моих любимых примера, которые приходят на ум. Это особенно напоминает мне Chef.

    https://esolangs.org/wiki/Chef

    https://esolangs.org/wiki/Befunge

    https://esolangs.org/wiki/Piet

    Правка: Хм... Пожалуй, для людей они, наверное, менее удобны.

Ещё за этот день

2026-10-18