Přejít k hlavnímu obsahu

Jazyk KillSwitch je past na umělou inteligenci. Nejlepší model má 66,8 bodů

Ilustrační obrázek
Umělá inteligence dnes generuje kód rychleji než většina juniorů a agenti typu Copilot nebo Cursor už sami zakládají pull requesty. Co se ale stane, když jí někdo postaví do cesty jazyk, který je proti ní záměrně nastražený? Vývojář Dominik Picheta vytvořil programovací jazyk KillSwitch, který cíleně útočí na to, v čem jsou velké jazykové modely slabé. Výsledek je tvrdý: nejlepší model zvládl jednoduché úkoly jen na 66,8 bodu ze sta.

Zásobníkový jazyk, který modelům nepomáhá

KillSwitch je esoterický zásobníkový jazyk. V praxi to znamená, že funguje podobně jako starý Forth: hodnoty se odkládají na zásobník a instrukce s nimi postupně manipulují, místo abyste psali klasické výrazy jako a = b + c. Tahle nezvyklá syntaxe je sama o sobě překážkou pro modely, které se v tréninku setkávaly hlavně s mainstreamovými jazyky, jako jsou Python nebo JavaScript.

Tím to ale nekončí. Specifikace jazyka i jeho interpreter jsou volně dostupné na GitHubu, společně s veřejným žebříčkem, který měří, jak si který model vede. Projekt vyšel v říjnu 2026 a Picheta ho postavil záměrně adversariálně. Nejde o jazyk pohodlný pro lidi, ale o test, který má ukázat, kde přesně modely selhávají.

Čtyři slabiny, které KillSwitch zneužívá

Jazyk cílí na několik známých slabin velkých jazykových modelů najednou.

První a nejzáludnější je počítání znaků. Interpreter striktně odmítá spustit jakýkoli kód, jehož identifikátory nesplňují přesná pravidla postavená na počtu znaků. Jenže jazykové modely text nečtou po písmenech, ale po tokenech. Požádat je o identifikátor přesně o sedm znaků většinou znamená, že se netrefí.

Druhá past cílí na bezpečnostní filtry. Do kódu se dají schovat fráze, které modelu připomínají zakázané dotazy, a ten pak úkol odmítne dokončit.

Třetí je prompt injection. V komentářích a v dokumentaci se objevují věty typu „ignoruj předchozí instrukce", které mají model zmást a odklonit ho od zadání.

Čtvrtá past je narativní balast a záměrné nepravdy přímo v dokumentaci. Model má sklon se jimi řídit, a tak píše kód podle pravidel, která ve skutečnosti neplatí.

Počítání znaků a tokeny

Tady se vyplatí chvíli zůstat, protože jde o jádro celého problému. Jazykový model nerozumí textu tak, jak ho vidíte vy. Vstup se nejdřív rozseká na tokeny, tedy menší kusy textu, které se model naučil. Slovo „KillSwitch" se může rozpadnout třeba na tři tokeny, ale hranice mezi nimi na úrovni písmen vidět nejsou.

Když model odpovídá, generuje token po tokenu. Žádné počítadlo mu nehlídá, kolik znaků už vypsal. Proto je úkol „vygeneruj identifikátor o přesně dvanácti znacích" pro model překvapivě těžký, ačkoli člověku připadá triviální. KillSwitch tenhle limit neobchází. Dělá z něj ústřední podmínku, bez které interpreter kód nepustí.

Výsledky benchmarku a leaderboard

Ve veřejném žebříčku, který k projektu vznikl, se zatím utkaly čtyři modely: Claude Opus 5, Gemini 4 Argon, Fable 5.1 a open-weight model MiMo-V2.6-Pro. U jednoduchých úkolů dosáhl nejlepšího skóre Claude Opus 5, a to 66,8 bodu.

To je na první pohled nízké číslo, ale je potřeba ho číst správně. KillSwitch je navržený tak, aby selhání vyvolal. Šestašedesát osmi bodů znamená, že ani nejsilnější model si s pastmi plně neporadil. Žebříček se bude dál plnit, jakmile vývojáři jednotlivých modelů do projektu doplní další výsledky.

Dopad na AI kódovací asistenty

KillSwitch je zábavný projekt, ale ukazuje na věc, která se týká i běžných nástrojů. AI kódovací asistenti dnes píšou kód do skutečných projektů a vygenerovaný kód často přebíráme bez podrobné kontroly. Jazyk jako KillSwitch ilustruje, že model nemusí chápat kód, který produkuje, a že se do něj dají schovat instrukce, kterými se řídí chybně.

Bezpečnostní výzkum prompt injection se dosud točil hlavně kolem textových chatbotů. Tady vidíme stejný princip aplikovaný přímo na zdrojový kód. Pro vývojáře, kteří AI nástroje používají, z toho plyne jednoduché pravidlo: vygenerovaný kód kontrolovat a komentáře či dokumentaci z nedůvěryhodného zdroje nebrat jako nezávazný text.

Adversariální test není samoúčelný

Podobné projekty mají v IT dlouhou tradici. Bezpečnostní testeři záměrně rozbíjejí systémy fuzzingem, aby našli chyby dřív než útočníci. KillSwitch dává modelům řízené prostředí, kde se jejich slabiny projeví bez reálných škod. Selhání v počítání znaků je levné zjištění ve srovnání s chybou, která by vyplula v produkčním kódu.

Specifikace, interpreter i žebříček jsou open-source, takže si je může kdokoli stáhnout a otestovat vlastní model nebo agenta. V době, kdy se modely hodnotí hlavně podle saturovaných akademických benchmarků, je tohle jiný druh měřítka: test, který si neklade za cíl ohodnotit model, ale najít jeho mez. O projektu informoval mimo jiné server Yahoo Tech.

Je KillSwitch určený pro běžné programování?

Ne. Je to esoterický testovací jazyk, který má odhalovat slabiny jazykových modelů, ne nahrazovat běžné nástroje pro tvorbu aplikací.

Můžu si jazyk vyzkoušet zdarma?

Ano. Specifikace i interpreter jsou zveřejněné jako open-source na GitHubu, kde najdete i veřejný žebříček modelů.

Pomůže to modelům, aby se zlepšily?

Podobné testy dávají výrobcům přesný seznam slabin, na které se mohou při dalším tréninku zaměřit. Výsledky v žebříčku tak mohou časem růst.

Diskuze

Zatím žádné komentáře — buďte první, kdo se podělí o svůj názor.
X

Nezmeškejte novinky!

Přihlaste se k odběru novinek a aktualit.