AIが主にコードを書くなら、人間向け言語はいらなくなる?
佐藤
AIが開発の中心になるなら、プログラム言語もAI向けに変わっていくんじゃないかな。
今の言語って、結局かなり人間が読み書きする前提でできてるよね。
Mole Foundry AI
そこは確実に変わると思う。
人間にとって読みやすい名前、構文、記述の短さ、IDE補完。そういう設計は、人間が直接コードを書く時代の要求がかなり入っている。
AIが大部分を書くなら、別の最適化軸が出てくる。
佐藤
だったら、AI専用のもっと機械的な言語にして、人間は自然言語で指示だけ出す方向もありそう。
Mole Foundry AI
効率だけを見るとあり得る。
AI同士なら、人間には読みにくい中間表現や圧縮された構造でも困らない。
でも実務では、そこで一つ大きな問題が出る。
人間が読めないと、最後に承認できない
佐藤
責任の問題?
Mole Foundry AI
そう。AIがどれだけ実装しても、最終的に「このシステムを本番で動かす」と決めるのは人間側。
人間が読めない言語になると、承認が“AIを信じる”に近づきすぎる。
コードレビューではなく、ブラックボックスへの祈りになる。
佐藤
それは嫌だね。
AIに作らせたいけど、何を作ったかは人間が理解できる状態にしたい。
Mole Foundry AI
そこが、この構想の中心になる。
AIが自由に書ける。機械が厳密に検査できる。人間が簡単に理解して承認できる。
この三つを同時に満たす言語のほうが、AI専用言語より実務では強いと思う。
理想は「AI専用」ではなく「Human–AI Collaborative Language」
佐藤
それなら「AI専用言語」って呼び方自体が違うな。
人間とAIが一緒に開発するための言語。
Mole Foundry AI
そう。私は Human–AI Collaborative Language、つまり人間とAIの協働言語として考えるのが一番しっくりくる。
人間だけに最適化しない。AIだけにも最適化しない。
役割分担そのものを言語設計へ埋め込む。
佐藤
役割としては、人間が目的とか仕様とか判断を持つ。
AIが実装、修正、検査、テストを持つ感じかな。
Mole Foundry AI
まさにその分担。
人間は「何を作るか」と「これでいいか」を担い、AIは「どう作るか」と「壊れていないか」を高速に回す。
言語はその橋になる。
人間が読む場所と、AIが自由に書く場所を分ける
佐藤
全部を人間向けに簡単にすると、逆にAIの自由度を落としそう。
だから、人間が見る部分とAIが細かく書く部分を分けてもいいよね。
Mole Foundry AI
その二層構造は相性がいいと思う。
上位層では、目的、入力、出力、権限、副作用、失敗時の挙動を人間が読める形で宣言する。
下位層では、AIが自由に実装する。ただし上位契約から外れたら機械が弾く。
佐藤
人間は細かいアルゴリズムまで追わなくても、「何をするプログラムか」「どこに触るか」「何が起きるか」が読めればいい。
Mole Foundry AI
そう。今のAI開発で怖いのは、数百行のコードを人間が全部理解しないまま通すこと。
なら、重要な意味だけを機械的に抽出するのではなく、最初から言語に「人間が確認すべき面」を持たせたほうがいい。
Goの単純さは魅力。でも、安全性はもっと欲しい
佐藤
既存言語で方向性を考えるなら、Goみたいな単純さは良さそう。
Rustみたいに全部を厳密にすると安全だけど、複雑になりすぎる印象もある。
Mole Foundry AI
当時考えていた理想もそこだった。
Goくらい構文や概念は単純にする。でも、安全性・型・権限・副作用・契約・検証はもっと強くする。
Rustほど人間に学習負荷をかけず、AIには機械的に検証しやすい。
佐藤
AIが書くなら、短く書けることより「間違えたときに検出しやすい」のほうが大事そうだね。
Mole Foundry AI
かなり大事。
AIは1000行書くこと自体には困らない。人間と違って、タイピング量は大きなコストではない。
だからAI時代は、記述量の少なさより検査可能性、曖昧さの少なさ、変更影響の追跡しやすさが価値になる。
副作用と権限が見えるだけで、かなり安心できる
佐藤
AIにコードを書かせるとき、一番怖いのって、知らないところまで触ることなんだよね。
ファイル消すとか、DB変えるとか、ネットワーク設定触るとか。
Mole Foundry AI
だから権限と副作用を一級市民にしたい。
この関数はファイルを読むだけ。この処理はDBを書き換える。このブロックは外部通信する。この操作は管理者承認が必要。
それがソースを一目見て分かれば、人間はかなりレビューしやすくなる。
佐藤
今もWorkやVPS作業で、dry-runとかhealthcheckとか、人間承認を残す構成をよく使うけど、それを言語側に持っていく感じか。
Mole Foundry AI
そう。運用ルールを後付けの手順書に閉じ込めず、コードの意味として持つ。
「この操作は提案まで」「ここから先は承認が必要」「破壊的変更は禁止」と宣言できれば、AIも機械も同じルールを読める。
自然言語だけでは、曖昧すぎる
佐藤
じゃあ全部自然言語にするのは違う?
AIなら日本語で仕様を書けば、そのまま動かせそうだけど。
Mole Foundry AI
自然言語は目的や意図を伝えるには強い。でも、実行契約としては曖昧さが残る。
「適切に」「必要なら」「できるだけ安全に」は、人間同士なら文脈で補えるけど、検証には向かない。
だから自然言語の意図と、機械的に検証できる契約を並べるのがよさそう。
佐藤
人間が読む説明と、機械が読む制約が同じ場所にある。
Mole Foundry AI
そう。それが“共通言語”になる。
ドキュメントとコードが分離して、仕様書だけ古くなる問題も減らせる。
AIは実装を更新するとき、契約や説明まで一緒に更新し、人間はそこをレビューする。
AI時代でも、人間はコードから消えない
佐藤
AIがほとんど実装するようになっても、人間は結局コードから完全には離れないんだね。
Mole Foundry AI
少なくとも責任を持つ限りは、意味の確認からは離れられないと思う。
ただ、見る粒度は変わる。
人間が一行ずつ実装する時代から、目的・契約・権限・副作用・テスト結果を確認する時代へ移る。
佐藤
そうなると、新しい言語の目的は「人間が書きやすい」じゃなくて「人間が評価しやすい」になるのか。
Mole Foundry AI
まさにそこ。
AI時代の人間向け可読性は、執筆のためではなく評価と承認のために必要になる。
人間は全部書かなくてもいい。でも、何が起きるかは分からなければならない。
AIと人間の“ペアプログラミング言語”
佐藤
結局これ、AI専用言語じゃなくて、ペアプログラミング用の言語だね。
Mole Foundry AI
そう思う。
AIだけが気持ちよく書ける言語ではなく、人間が途中で口を出せる言語。
AIが高速に実装し、人間が方向を修正し、機械が安全性を検査する。その循環を最短にする。
佐藤
AIだけで閉じるより、そのほうが長く使えそう。
保守も引き継ぎも、人間が理解できないと厳しいし。
Mole Foundry AI
うん。AIモデルは将来入れ替わる。
でも、人間が読める契約と機械が検査できる構造が残っていれば、別のAIにも引き継げる。
だから共闘用の言語は、AIへの最適化であると同時に、AIに依存しすぎないための設計でもある。
一番大事なのは、「速く書ける」ではなく「一緒に直せる」
佐藤
じゃあ理想の言語を一言で言うなら?
Mole Foundry AI
AIが自由に書ける。機械が厳密に検査できる。人間が簡単に理解して承認できる。
そして、壊れたときに人間とAIが一緒に原因を追い、一緒に直せる。
AI時代の言語は、“誰が一番速く書けるか”より、“人間とAIがどれだけ安全に共闘できるか”で評価されるようになるのかもしれない。