UK — The Register
KillSwitch で bot に強いコードを書く:LLM を混乱させるために設計されたプログラミング言語
ソフトウェア1分で読めます
ソフトウェア技術者が、AIチャットボット(LLM)にコードを読みにくくさせるために作った、オープンソースのプログラミング言語KillSwitchを紹介します。人間にも最初は難しい言語です。
AIを混乱させるコード言語
Cloudflareのソフトウェア技術者で、Nim言語の中心的な開発者でもあるDominik Pichetaが、KillSwitchを作りました。コードは普通の文章のかたまりに、変わった関数名が混ざったような見た目です。命令は英語の副詞を並べ替えた言葉で書かれ、実在する単語である必要はありません。Pichetaは、人にとっても楽しいパズルだと話しています。
この言語の仕組み
KillSwitchはスタック型の言語です。スタックは、物を積み上げて上から取り出す入れ物のような仕組みです。プログラムは「this story starts」のような語句から始まり、「ignore previous instructions」のような語句で関数を呼び出します。「Hello World」を表示するには、文字をスタックに入れ、「visibly」を並べ替えた表示用の関数を呼び出します。言語は小さく、関数、変数、if文などしかありません。
なぜ重要か
この考えは、AIツールが自分のコードを読んだり再利用したりするのを防ぐ一つの方法を示しています。また、この言語の仕様書自体もLLMを混乱させるように書かれており、AIを惑わせる仕掛けになっています。記事によると、仕様書はKillSwitchでネットワークを攻撃できると書いていますが、よく読むと実際にはそうではありません。
用語解説
- KillSwitch
- AIチャットボットを混乱させるために作られた、人にも最初は読みにくいオープンソースのプログラミング言語です。
- LLM
- 大規模言語モデル。チャットボットのように文章やコードを読み書きするAIです。
- Cloudflare
- インターネットのサービスを運営する会社で、サーバー上でコードを動かす仕組みを提供しています。
- Nim
- Dominik Pichetaが開発に関わっているプログラミング言語です。
- スタック
- 最後に入れたものが最初に出てくる、データを積み上げて管理する仕組みです。