プロンプトは自然言語プログラミングになりうるか？

大規模言語モデル(LLM)が，プログラミングやソフトウェア開発の世界を大きく変えつつある[1,2]．LLMは自然言語で書いたプロンプトから，指示に沿ったコードを生成できることはよく知られている．生成されるコードの品質も年々向上している．当初は大学初級レベルの能力で，明らかな間違い(ハルシネーション)も多かった[3]．しかし今では，中級エンジニアに匹敵する能力を持つようになっている．生成されたコードを人間が理解して修正する必要すら，なくなりつつある．ここで新しい疑問が浮かんでくる．プロンプトに書く自然言語こそが，人間がソフトウェア開発で与える指示になっているのではないか．つまり，プロンプトは新しいプログラミング言語と言えるのではないか，という点である．プログラミングの歴史[4]を振り返ると，マシン語から始まり，より抽象度の高い言語へと進化してきた．最初のプログラミング言語は，数式と簡単な英単語で指示できるよう設計された．信頼できるコンパイラの登場により，マシン語を理解する必要はなくなった．その後，オブジェクト指向などのより抽象的な概念が導入されてきた．昔から，「最終的には自然言語でプログラミングできるようになる」という予測は多く存在していた[5]．本研究の目的は，「プロンプトは自然言語プログラミングになりうるか？」という問いを，プログラミング教育[6]の視点から検討することである．プログラミング教育の視点で考えると，もしプロンプトが自然言語プログラミングになるなら，何を教えるべきか，そして教えた内容が成果につながるのかが重要になる．実際，著者らがプログラミング演習で生成AIを導入した際[7]，興味深い現象を観察した．例えば，手順を詳しく書いたプロンプトよりも，簡潔なプロンプトの方が良いプログラムになる場合があったのである．これは，プロンプトの書き方とプログラム品質の関係が単純ではないことを示している．そこで本研究では，プロンプトの書き方(プロンプト品質)と生成されるプログラムの品質(プログラム品質)の関係を調査し，プロンプトが自然言語プログラミングになりうるかを明らかにする．