11. 生成AIを使ったプログラミング

ロートルが生成AIを使ったプログラミングを経験している話。なお、私の使い方が正しいのか分からないので、正しいエンジニアを目指す人は、正しい学習に励んでください。
ChatGPT(無料版)やGemini(当然、無料版)、Google Colabを適当に使ってプログラミングをしている。成果はこちらへ。

スクリプトの作成手順としては、まずChatGPTに問題を与えて、プログラミング言語を指定する。これだけでスクリプトを作成してくれる。プログラミング言語は、分野が制御工学系なので主にScilabを使用している。ChatGPTが作成したスクリプトをScilabの実行環境にコピーして実行する。ほぼ確実にエラーが出る。
Scilabは商用プログラミング言語のMatlabに近いので、ChatGPTはMatlabをベースにスクリプトを生成しているようだ。しばしばScilab用のスクリプトにMatlabの関数が使用されており、これがエラーが発生する主な原因である。エラーが出た関数をChatGPTに指摘すると、修正案を提示してくる。Scilabに無い関数の場合だと、Matlabにある関数に近似した関数を生成してくれる。このような作業を数回繰り返すと使えるスクリプトが完成する。設定した問題自体が、せいぜい20から50行のスクリプトで済む程度にしているので、これで十分である。Geminiにも同様な方法でスクリプトを生成させ、それをChatGPTで修正させたりもする。関数の使用法に納得がいかない場合には、Webで言語マニュアルを検索して、関数の使用法を確認して手動で修正をかけるが、それ以外は、ほぼ生成AIだけでこちらの要望に応じた修正をかけてくれる。まあ、MatlabやScilabを数十年使ってきたので、不適切な関数の指摘など、エラーの修正に対しての要望を上手く指示できているのかも知れない。

Google Colabでは、Pythonスクリプトの生成とその実行を使っている。当初は、Google Colabの「AIで生成」の部分にChatGPTと同様に問題を与えていたが、どうもこれでは思ったようなスクリプトが生成されない。そこで、ChatGPTで言語指定をPythonとしてスクリプトを生成して、これをColabにコピーして実行を掛ける方法に切り換えた。当然、エラーが発生するが、実行結果のエラーをクリックすると修正案を提示してくれる。Pythonでのプログラミング経験は、ほとんど無いので修正案の妥当性は良く分からない。大抵の場合は、修正案をそのまま採用して実行する。これを数回繰り返すと、想定通りの結果が得られるスクリプトが完成する。これをColabのAIだけでやると、なかなか収束しない。 ChatGPTで生成、Colabで実行&修正が良いようだ。場合によっては、Colabで実行し、エラーが出たらChatGPTに持っていって、修正を繰り返すことで上手く行く。三人寄れば文殊の知恵で、複数のAIを寄せれば、私のプログラミング能力を遥かに超える。お陰で、本編の作成作業が捗る。生成AIはロートルのお守りもできるようだ^^;