Previous Page | Next Page

次世代のプログラミング言語とは?

AIによって、プログラマーが淘汰されようかという今になって「次世代のプログラミング言語とは何を言っているのか?」と返されそうですが、今とあるプロジェクトをやっておりまして(具体的なことは控えます)、AI時代に必要なプログラミング言語についてより意識するようになってきました。


■ 現在のAIプログラミングの構造


今までのプログラミングとは「人間からコンピューターへの指示」ということでした。ではAI時代になると何が変わるのでしょうか。


現状、AIを使ったプログラミングは次のような形になります。


人間 → [自然言語(プロンプト)] → AI → [プログラム] → コンピュータ



■ 次世代言語という発想


これについてまず考えられるのは、次のような形です。


人間 → [次世代言語] → AI → [プログラム] → コンピュータ

つまり、人間とAIの間に共通言語を持てないか、という発想です。


さらにいうと、


人間 → [次世代言語] → AI → [次世代言語] → コンピュータ

ここまで踏み込めれば、AIが生成した内容も(原理的に)人間が確認可能になります。
つまり、問題が発生したときに「何が意図されていたのか」を追跡できるようになります。




■ 想定される批判


ここで当然、次のような批判が出てきます。


人間 → [次世代言語] → AI
AI → [次世代言語] → コンピュータ

同じ言語を使うのであれば、AIは人間が入力した内容をそのまま返すだけではないか、というものです。


実際に、そういうことは起こり得るでしょう。




■ それでも何が便利なのか?


ポイントは、人間・AI・コンピュータの間で共通言語を持つこと自体にあります。


自然言語ではなく、このような言語を想定する理由は以下のとおりです。


  • 表現にムラがなく、曖昧性を排除できる
  • 最終的に機械で実現可能な形に落とし込める

一方で、従来のプログラミング言語との違いは、


  • 人間が理解可能な抽象度を保つこと

にあると考えています。




■ 実は新しくない発想


このアイデアは一見すると突飛に見えるかもしれませんが、実は全く新しいものではありません。


第5世代コンピュータで目指されていた、論理型言語の思想に近いものです。


論理型言語の代表格であるPrologは、当時日本でも注目されました。
また、このブログでたびたび触れているADPも、Prologをベースとしています。




■ 宣言的という考え方


Prologのような言語は「宣言的」と呼ばれます。


つまり、


  • 「何を作るのか?」にフォーカスする
  • 「どう作るのか?」は実行系に委ねる

という考え方です。


現在のAIによるコーディングもこれに近く、人間が「何を作るのか」をプロンプトで与え、「どう作るか」はAIが担っています。




■ 批判への一つの答え


この役割分担を前提とすると、


「AIは入力をそのまま返すだけではないか」


という批判にも、ある程度対応できます。


もう少し踏み込んだイメージとしては、


  • 人間は「満たすべき条件」(述語)を定義する
  • AIはその実装(述語の本体)を生成する

という形です。


ここでいう「述語」は論理型言語の用語で、「関数」に近い概念です。


処理手順ではなく「満たすべき条件」を中心に表現することで、結果の妥当性を人間が確認しやすくなります。




■ 現実的な課題


とはいえ、このような構想は「言うは簡単で実現は難しい」ものです。第5世代コンピュータプロジェクト自体が頓挫した経緯もあり、AIを使えば当時の問題は解決できるのか?


という問いは依然として残ります。

具体的には、


・人間に読みやすいと言ってもPrologはコンピュータよりの言語である。
・宣言的といっても、それだけですべてが上手くいくわけではない。Prolog自体が流行っていない。
・現実案としては、コメントがAIに対する補足(プロンプト)になるが、そうすると自然言語が残ることになる。


というジレンマがあります。特に「宣言的プログラミング」とは当時一瞬流行ったパラダイムになりますが、あまりこれを追求すると現実的でなくなるということがあります。またAIの出力は手続き的にもなりえます。このあたりの折り合いをどうつけるのかというのが課題かと思います。




■ 最後に


もっとも、私自身も30年ほど前にこうしたアイデアの断片を考えたことがあります。


さらにいうと、ADPの機能として次世代言語に必要な要件を備えることができれば、ADPそのものが次世代言語になり得るのではないか、とも思っています。


夢は広がりますが、まずは時間を見つけて少しずつ形にしていきたいところです。


2026-04-06 | コメント:0件

コメントをどうぞ


コメントをされる前に『不適切なコメントへの対応』を一読下さい。

Previous Page | Next Page