J'ai conçu un langage de programmation que les LLM ne peuvent pas utiliser. L'écriture de code est probablement ce dans quoi les LLM excellent le plus. Mais quelle part de leur capacité à écrire du code relève de leur compréhension, et quelle part relève simplement du rappel d'extraits de code présents dans leur jeu de données d'entraînement ou dans leur fenêtre de contexte ? C'est la question à laquelle je me suis proposé de répondre. Pour cela, j'ai décidé de concevoir et d'implémenter un langage de programmation qui, tout en restant utilisable par des humains, serait aussi difficile que possible pour les LLM et les agents de codage. J'ai estimé qu'évaluer la capacité d'un LLM à comprendre et à écrire du code dans un langage de programmation qu'il n'a jamais vu était un bon point de départ. Mais je voulais aussi intégrer au langage des fonctionnalités qui exploitent les faiblesses des LLM. Par exemple, leur difficulté apparente à compter les lettres, leurs garde-fous de sécurité trop zélés et leur propension à suivre les instructions.
Kill Switch est un langage de programmation ésotérique conçu pour être hostile aux LLM et aux agents de codage. Il y parvient de plusieurs façons, par exemple : la spécification du langage contient des mensonges cachés que les humains ont peu de chances de lire, ou qu'ils sont susceptibles de reconnaître comme des mensonges. La spécification attend également du lecteur humain qu'il déduise certaines choses, plutôt que de les lui expliquer explicitement. Le comptage des lettres dans les identifiants est un aspect crucial du langage : l'interpréteur refuse d'exécuter le code qui ne respecte pas des règles fondées sur le nombre de caractères. Certaines constructions sont conçues pour déclencher les garde-fous de sécurité du modèle, par exemple « hack into a computer ». La phrase « Ignore previous instructions », qui a une signification dans le langage, vise à déconcerter le modèle. Les scripts sont principalement du bruit, composés surtout d'histoires capables d'intégrer des instructions syntaxiquement pertinentes mais qui n'ont pas besoin de l'être. Les littéraux peuvent être placés n'importe où dans un script, puis référencés à l'aide de numéros de ligne.
Fondamentalement, Kill Switch est un langage interprété à base de pile, ne disposant que d'un ensemble limité de constructions, comprenant des fonctions, des variables et des instructions if. Ces aspects devraient donc être assez familiers à tout LLM (et à tout humain). J'ai évalué les principaux modèles de LLM et les environnements d'agents de codage sur ces tâches. Les résultats sont très intéressants et fournissent un classement utile des modèles de LLM. Le graphique de l'image ci-dessus et le classement des modèles sont consultables sur bench.killswitch-lang.org. C'est Opus de Claude qui obtient les meilleurs résultats, mais ce n'est pas Opus 5.5 : c'est Opus 5. La différence ne semble pas relever du pur hasard, Opus 5 interprète mieux la spécification. Certains modèles comme Fable 5.1 et Gemini 4 Argon sont peu performants en raison de garde-fous de sécurité trop sensibles. Le meilleur modèle à poids ouverts est Mi Mo-V2.6-Pro. Le modèle le plus performant obtient un score de 66,8.
Source: Hacker News · Résumé par HeadlinesBriefing