前回の記事で「PythonはLLMが最も得意、C/Rustは苦手」という実測を示した。では、最初からLLMが書くことを前提に設計された言語はどうなるか。Magpie・Aria・MoonBitという「LLMファースト言語」の設計思想と、訓練データ不在という最大の壁を整理する。
結論から: LLMファースト言語は実在し、2025年頃から複数登場している。設計思想は「曖昧さゼロの構文」「トークン効率」「即時フィードバック」「機械可読な仕様の埋め込み」の4点に収斂する。ただし訓練データが存在しないため現状のLLMは素では書けず、言語仕様をプロンプトに注入する運用が前提。実用はまだ先だが、「検証しやすさを言語レベルで設計する」という思想は既存言語の運用にも即応用できる。
前回の記事(C言語をLLMに書かせるベストプラクティス)で示した通り、同一LLMでも言語による成功率の差は大きい:
| 言語 | LLMの得手/不得手 | 主因 |
|---|---|---|
| Python | 最得意 | 訓練データ量No.1・動的で「動く≒正しい」 |
| TypeScript | 得意 | 型が機械可読な仕様書になる |
| Go | 得意 | 構文が単純で間違える面積が小さい |
| C++ | 普通 | テンプレート・メモリ管理で崩壊 |
| Rust / C | 苦手 | 形式的ルール(借用・UB)を確率モデルが満たせない |
この差の原因は「訓練データ量」「型システム」「動くコードと正しいコードの距離」の3つ。ならばこれらを言語設計で最適化すれば、LLMの成功率を底上げできるはず — それがLLMファースト言語の発想。
magpie-lang.com。「曖昧さを排除し、LLMが一発で完璧なコードを書ける」ことを目標に掲げる。ネイティブ速度・即時フィードバック・推測不要の設計。
aria-lang.com。「生成コスト90%削減」を謳い、全ての構文決定がトークン最小化で決められている。ボイラープレートを言語機能で排除し、コンテキストウィンドウの消費を抑える。
moonbitlang.com。Wasm向け言語で、「AIへのコンテキスト提供のしやすさ」を設計思想に明記。構造化されたコードでスケールしやすく、AIが扱う単純なコンテキストで済むことを重視。
| 原則 | 内容 | 既存言語での類例 |
|---|---|---|
| 1. 曖昧さゼロ | 1つのことを書く方法が1つしかない。フォーマッタ不要・流派が存在しない | Goの思想を極端化 |
| 2. トークン効率 | ボイラープレート排除。LLMのコンテキスト=コストなので短さは正義 | Ariaが最も徹底 |
| 3. 即時フィードバック | コンパイラ/型エラーがAIへの自己修正シグナルとして設計される | Rustのエラーメッセージの質 |
| 4. 機械可読な仕様 | 型・契約(事前/事後条件)を言語レベルで強制し、AIの推測を不要に | TypeScriptの型、EiffelのDbC |
osada.blog「The Rise of LLM-First Languages」(2025-08)は、この波の背景として幻覚した依存関係・ロジックエラー・テストのごまかし・コンテキスト制限というLLMコード生成の4つの課題が言語設計の駆動力になっていると指摘している。
ここが皮肉な部分。LLMの言語得手の最大要因は訓練データ量だが、新言語にはそれがゼロに近い。対策として現状は:
LLMファースト言語が実用化されるのを待たなくても、その設計原則は今日の開発に転用できる:
| 論点 | 現時点の答え |
|---|---|
| LLMファースト言語は存在するか | 存在する(Magpie / Aria / MoonBit等)。2025年頃から登場 |
| 設計思想 | 曖昧さゼロ・トークン効率・即時フィードバック・機械可読な仕様 |
| 今すぐ実用できるか | 難しい。訓練データ不在でLLMが素では書けず、エコシステムも未成熟 |
| 本質的な教訓 | 「書きやすさ」より「検証しやすさ」を設計に組み込め。既存言語の運用にも即応用可能 |
LLMがコードを書く時代の言語選択は、「人間が書きやすいか」から「AIが正確に書けて、機械が即検証できるか」へ軸が移りつつある。新言語の成否はともかく、この設計圧力自体が既存言語の進化方向(より強い型・より良いエラー)を決めていくだろう。