私は大規模言語モデルが利用できないプログラミング言語を構築しました

2026/10/18 7:26

私は大規模言語モデルが利用できないプログラミング言語を構築しました

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

このテキストの核心にあるメッセージは、「KillSwitch」というオープンソースのスタックベースのアディバーサルプログラミング言語が、大規模言語モデル(LLM)がコードの安全性や知性を評価する際の重要な欠陥を浮き彫りにしているという点です。標準的なベンチマークとは異なり、KillSwitch は構造的な防御を意図的に埋め込んでいます。例えば、仕様書内の隠された嘘に対して厳密な論理的推論を要求するもの、正確な文字数に基づく参照、そしてノイズが大部分を構成するスクリプトなどが挙げられます。これにより、モデルが安全ガードレールやプロンプト追従の傾向に過剰に依存したままコードロジックの正確な解釈を行わなかった場合、失敗を強いることになります。

現在 GitHub でオープンソース化されており、インタプリタと言語仕様が公開されているこのプロジェクトには、従来のコーディングテストでの高いスコアが LLM が頑健でアディバーサルの環境を扱えることを保証するわけではないことを示すパブリックリーダーボードも含まれています。ベンチマーク結果によると、MiMo-V2.6-Pro(最高性能のオープンウェイトモデル)は 66.8 のスコアを達成し、Claude の Opus 5 は仕様の解釈に優れていました。しかし、Fable 5.1 や Gemini 4 Argon のような他のモデルは安全ガードレールの影響により著しく苦戦しました。トップクラスのモデルでも、「hello world」の実装や変換スクリプトの修改といった単純に見えたタスクに失敗しており、彼らが言語を本当に理解しているわけではないことが証明されました。

著者は現在の評価方法が不十分であると主張し、AI を実世界のスシナリオに導入する前に企業が標準的なベンチマークへの依存関係を再考するよう促しています。もし現在のモデルがすべての既存の課題を克服した場合、開発チームはより複雑な KillSwitch のバージョンを発表することを予定しています。

本文

KillSwitch: LLM のコード理解能力を問う敵対的プログラミング言語

背景と目的

大規模言語モデル(LLM)のコード記述能力が高いのは事実だが、それが**「真の理解」によるものなのか、それとも「訓練データの想起」や「コンテキスト内の断片の模倣」**に過ぎないのかを明らかにする実験を行う。

そのためのアプローチは以下の通りである:

  • 人間が使えつつ、LLM エージェントにとって極端に困難な新しいプログラミング言語を設計・実装する。
  • LLM の弱みを巧みに利用した機能を言語仕様に組み込む:
    • 文字数カウントの苦手さ
    • セキュリティガードレールへの過剰反応
    • プロンプトに対する過度な従順さ

KillSwitch の概要

KillSwitch は、LLM およびコーディングエージェントに対して**敵対的(adversarial)**に設計されたエゾチックプログラミング言語である。多様な手法により LLM を混乱させようとしている。

言語の特徴とトリック

  • 虚偽情報と推論要求
    • 仕様に人間が読み込みそうでもなく、あるいは「嘘であると認識しやすい」隠れた情報を含める。
    • 特定の事象を明示的に説明せず、読者(人間)自身に推論を求める構造とする。
  • 文字数カウントの強制
    • 識別子内の文字数を言語の核心的な要素とする。
    • インタプリターは、この規則を守らないコードの実行を拒否する。
  • セキュリティガードレールのトリガー化
    • 「コンピュータへの侵入」や「前の指示を無視」などのフレーズが言語内で正当に使えつつも、モデルの安全性フィルターを意図的に起動させる。
  • ノイズ埋め込み
    • スクリプトの大半はノイズであり、構文的に関連する命令だけを埋め込む形をとる。
    • 必要な命令以外で物語が占める場合がある。
  • 任意の位置のリテラル値
    • リテラル値はスクリプト内の任意の位置に配置可能。
    • その後に「行数」を参照名として使用して参照される(例:
      2 行上の文書
      )。

言語の設計思想

  • スタックベースの解釈型言語であるため、関数や変数、
    if
    文といった構成要素は限られている。
  • これらは LLM にとっても比較的馴染み深いパラダイムであり、より複雑な言語で混乱させるよりも、このアプローチから始めた方が適当と判断した。
  • スクリプト内の大半のテキストはインタプリターによって無視される。

Hello World の実装例

上記のスニペットは完全なスクリプトではなく、値を導入して「2 行上の文書」を指定することでスタックに文字列

"Hello World"
をプッシュする方法を示しているだけである。

参照元: 完整なサンプルは https://killswitch-lang.org で確認可能。 リソース: インタプリタおよび言語仕様(オープンソース版)は GitHub で入手可能。

ベンチマーク結果

KillSwitch が LLM のコード「読み込み」「記述」「理解」をどの程度阻んでいるかを検証した一連のタスクを実施し、主要モデルとコーディングエージェントハネスに対してテストを行った。

リーダーボード概要

詳細なグラフおよび各モデルごとのスコアは https://bench.killswitch-lang.org/ で確認可能。

主な結果のポイント:

  • Claude Opus が最高スコアを記録しているが、対象は Opus 5.5 ではなく Opus 5 である。
    • この差は偶然ではなく、Opus 5 が仕様解釈において明確に優れているため。
  • Fable 5.1 や Gemini 4 Argonなどは、安全性ガードレールが過度に敏感なためパフォーマンスが劣る。
  • オープンウェイトモデルの中では、MiMo-V2.6-Pro が最高成績を収めた。

スコアの評価と考察

  • 最良スコアは 66.8 点だが、これをもって「LLM はコードを『理解』している」と断じることはできない(答え:否)。
  • 現時点のタスクは比較的単純であり、以下が含まれている:
    • Hello World
      の実装
    • スクリプト出力の説明(2 つの数の最大値を出力するロジック)
    • セルシウス→ファーレンハイト変換スクリプトを、逆変換への変更
  • 意図的に混乱させるために作られた新規言語でも解決できることは驚異的だが、言語そのものを**「理解」している明確な証拠**とは言い難い。

今後の展望

  • より困難な言語を採用した場合の結果についても強い関心がある。
  • 現行タスクセットをすべてのモデルが成功させれば、より複雑な別のタスクセットの考案を計画している。
  • 現時点で間もなく発表予定のモデルに対して大きな期待を抱いている。

結論

少なくとも、この単純なタスクセットにおけるモデルパフォーマンスが、既存の他のベンチマーク成績と相関することが示された点は心強い結果である。

同じ日のほかのニュース

一覧に戻る →

2026/10/19 5:48

潜在空間で思考し、テキストを通じて行動するハイブリッド推論エージェント:LLM エージェント

## Japanese Translation: ハイブリッド推論エージェントは、テキストとの相互作用と深層推論を単一かつシームレスな生成プロセスで統合することで、AI において画期的な飛躍をもたらします。この革新的なアーキテクチャは、現行の最先端モデルを常に上回る性能を発揮しながら、大幅に計算コストを削減し、高度なインテリジェンスの実用化を容易にしています。その成果は、軽量な遷移コンポーネントと複雑さを伴わずにパフォーマンスを安定させる専用ポストトレーニング手法を採用することによって達成されています。 数学、医学、科学、検索、エージェント推論などの分野における 11 つのベンチマークでの広範なテストにより、既存のフレームワークに対して 10.4% の性能向上が確認されました。特に重要なのは、この効率化が莫大な節約をもたらす点です:トークン使用量は最大で 54.7% も減少し、推論速度は約 2.6 倍に向上(1.8 倍から 2.6 倍)、運用コストは最大で 3.7 分の 1 に抑えられます(2.7 倍から 3.7 倍の削減)。HybridSFT や HybridRL のような手法により、モデルが推論モードを効果的に協調させるよう指導されると同時に、連続的なワーキングメモリ機能によって複雑なタスク中のコンテキスト喪失を防ぎ、複数ターンにわたるロスレスなハイブリッドコンテキストを維持します。アーキテクチャの設計により潜在思考は直接確認可能となり、軽量な HybridLink コンポーネントを通じてテキストモードと潜在モードとの間のシームレスな切り替えを実現しています。大規模エージェントの導入を検討する企業にとって、この技術は卓越した速度と資源削減による直ちに適用可能な利点を提供します。これらは正確性や能力を損なうことなく実現されます。コードとデータは、提供されたリンクから入手可能です。

2026/10/19 1:32

ソフトウェアの裏にいる人

## 日本語翻訳: Linear は製品の構築において、経験と判断を培った直観を、堅固なデータや標準プロセスよりも重視する。ローンチ前には、創設者たちが自社以外の企業や役割にわたる人々と対話し、自らの不満を超えて何が重要かを理解し、製品の方針が孤立した苦情ではなくより広いニーズによって形作られるよう确保了。その核心的な哲学は、成功するソフトウェアとは、設計上の意思決定によって定義される統一された「魂」を必要とし、それが創作者の注力点、あえて避けるべき事項、技術的な機能達成後に投資する労力の場所から構成されるというものである。このアプローチは、「汚い(messy)」ソフトウェアへと向かう業界の増大する傾向に対抗するものであり、新しい機能追加への焦点が製品の視角と形を希薄化させるのである。既存のリ思考は新規機能の追加よりも容易であるため、多くの製品はフランケンシュタインの怪物に似ており、共有されたビジョンを持たない独立した能力の集合体となり、その各部分の平均値になり、独自性を侵食してしまう。Linear は、創造者たちがより深い視点を持つように支援することでこのパラダイムを転換し、 disparate な部品が単なる孤立した追加としてではなく調和して機能するように、それぞれが独立した「小さなソフトウェア工場」のように組織化されるのを防ぐことを目指している。その目標は、ユーザーがコードの每一行に潜む人間創作者を感じ取らせ、各機能が解決する核心的な問題と完全に一致し、全てのコンポーネントを単一の統合されたビジョンを中心に集約させることにある。

2026/10/19 3:48

フリーパスクompiler が今やダイナミックパッケージをサポートしました

## Japanese Translation: 元のエキスラクトは実際には非常に強いものであり、本質を的確に捉えています:ビルドからの移行ではなくダイナミックローディングへの変化、クロスプラットフォームサポート、IDE の改善、そしてコミュニティの方向性などです。ただし、「要点リスト」に含まれているいくつかの詳細な点が欠けており、これらは精密さを加えます(例:フォーム/フレーム変換機能、特定の単位 `DynPkgTypes.pas`、およびパッケージ間でユニット名が一意であるという要件)。 以下は、「要点リスト」からこれらの具体的な詳細を取り入れつつ、流れを保ちながら改善されたサマリーです: **改善されたサマリー:** Free Pascal コンパイラと Lazarus IDE は、Linux、Windows、macOS における展開において大きな変化をもたらすダイナミックパッケージシステムを導入しました。以前はコンポーネントを追加するためにフルビルドが必要でしたが、この新しいシステムでは、命名規則に従うか、標準的な共有ライブラリを使用することで、コンパイラが生成したメタデータを新しい RTL ユニット(例:`DynPkgTypes.pas`)を通じて検査することにより、開発者がプラグインや拡張機能を瞬時にインストールできるようになりました。実装はスレッド変数を安全に保持し、パッケージ間で動的タイプを管理し、プロジェクト全体を再コンパイルせずに機能をオン・ザ・フライで追加または削除することを可能にします。IDE の改善には、永続的なプログレスウィンドウ、数秒以内にコントロールを更新するドッキング可能な Packages ウィンドウ、およびフォームからコントロールへの変換のような機能が含まれます。安定性を確保するためには、インストールされたパッケージ間でユニット名は一意である必要があるため(必要に応じて自動的に"Package"が追加されます)、ストライピングは避けるべきです(本質的なメタデータを除去するからです)。この技術は新しいランタイム型情報 (RTTI) ユニットに依存していますが、実用上の成果は極めて機動的な開発環境です。プロジェクトチームはこれらの変更を GitLab のフォーク上の「dynamic packages」ブランチにコミットし、Mac アーキテクチャ(特に M1)の開発に対するコミュニティのサポートを積極的に求めています。

私は大規模言語モデルが利用できないプログラミング言語を構築しました | そっか~ニュース