2024年11月7日木曜日

生成AIを前提とした開発言語

ChatGPTの勢いがスゴイ。類似のシステムでも、プログラミング言語を吐き出す機能が多数搭載されていて、興味深い。まだ精度は悪いようだが、これが進めば将来は明るいように思う。

さて、これらが吐き出す言語は既存のPython等だが、考えてみればこれは開発者が理解しやすいように作られたものだ。最初からAIを前提として開発する場合、既存言語にこだわる必要はない。ただ、人間が理解し修正できる必要はあるので、読みやすさは必要だ。逆に言えば書きやすさは必要ない。幾らでも自動でAIに書かせれば良いからだ。

となると、最も理解しやすいのは自然言語なのだから、自然言語で出力するというのが自然だろう。自然言語とプログラミング言語の大きな違いは厳密性の表記だが、ここをAIが調整してくれれば、自然言語でも厳密性を損なわずに記述できるようになるのではないか。

では入力は何かと言えば、プロンプトだ。つまりそれも自然言語である。となれば、AIの役割は「曖昧な表現を含む仕様書を、完璧な仕様書に直す」であると解釈される。

例えば、データベースから所望の情報を呼び出すためのSQLの1行を自然言語で書くとしたらどうなるか、と考えてみるとよい。「データベースXXから、XXとXXとXXを抽出する。その条件は、XXがTRUEであり、XXが500以上であり、・・・」と書いたとして、その日本語に複数の解釈が可能であるかどうかをチェックするのがAIの仕事、ということになる。これはまだプログラミング言語寄りなので、「XXを条件とするデータのXXを全てXXに上書きする」と描くだけでSQLが裏で生成されるのが好ましいということになる。更に言えば、「XXであるデータは常にXXであるべきである」と書くと、裏で勝手に情報修正をしてくれるのが望ましい。

つまり、アルゴリズム重視ではなく状態重視である。並列性はむしろ最大で良いだろうし、アルゴリズムがどうであっても最終的な計算結果が合っていれば良いのだ。その途中でACID特性などはAIが勝手に解釈して実行してくれる(べきだ)。

この(論理的に完璧な)日本語には、何らかの規格が付けられるのだろう。構造化日本語V2.0とか、そういうもので仕様書を記述する日は来るのかもしれない。

こうして出来た最終的な仕様書を基に、AIがマシン語に変換し、インストールし、実行してくれることになる。機能は良いとして、こうなると性能はAIコンパイラ(仮称)の良し悪しが効いてくる。前提とするマシンも、単体・クラウド・HPCなど色々あるし、予算に応じて制約が出ることもあるだろう。非機能要件が記述される可能性もある。その調整をAIでやるので、AIの賢さが信頼性やパフォーマンスに大きく影響を与える。各社の腕の見せ所ということになる。こういう競争なら歓迎のはずだ。

0 件のコメント:

コメントを投稿

注目の投稿:

メタバースアプリの価格

Meta Questのアプリを見ていると、安いものでも900円辺り、多くのアプリは2千円台である。ゲームアプリなら安いと言えるのかもしれないが、PCやスマホでアプリを使ってきた感覚で言うと、かなり高い印象を受ける。しかも無料のアプリは殆どない。試用できるものも少ない。これでは気軽...

人気の投稿: