今回の小さなソフトウェアを作るのにも複数の関数を定義する必要があります。生成AIには関数のコードを1つずつ出力してもらいました。このとき「テスト用コードも出力して」と指示するのがおすすめです。動作テストをせずに進めると問題があったときの手戻りが大きくなります。
そうして無事コードが出力されましたが、実行してみてもエラーが出るだけで何も起きません。当たり前です。必要なライブラリをインストールしていないのですから。筆者はそれを意識したことがなかったので生成AIに「動かないけど」と文句を言いました。
ライブラリがインストールされていないなら当然動きません。コードを書けば動作するなんて甘い話はありません。
ここまで来てもプログラムはまだ動きません。動作してもエラーが出ていたり、そもそも動かなかったりします。出てきたエラーを(個人情報などを含まないよう配慮しながら)生成AIに伝えて修正を指示しても、全くエラーがなくなりません。
当然です。設計が間違っているのですから。プログラムが正しく書けていても思い通りに動きません。ここに来て最低限プログラムを読む必要が出てきます。
コーディングできなくても、コードそのものは癖のある英文のようなものですから、1行ずつ読んでいけば何がしたいかはなんとなく分かります。それで「この仕組みでは期待通りの動作はしないのではないか」と生成AIに指摘して初めて、設計ミスを修正してくれます。
ここまでくると、プログラミングができるとは言えないが、素人とも言えない段階にきているのではないでしょうか。こんなシンプルなソフトウェアを作るだけでもやっぱりコードを読めないと完成させられない。いわんや複雑なシステムをや。これが「生成AIを使いこなすには出力の正しさを吟味できる必要がある」ということですね。
思い通りに動けばいいというわけではありません。動作には問題ないが致命的なバグがあるかもしれないからです。コードを読んで論理的に考えて問題がないかを判断できるべきです。そんなことができる素人がいるでしょうか。
ここまででソフトウェアの機能はできました。しかし、この段階ではただのソースコード。これをどこかに掲載しても動作はしません。今回はGUIが欲しかったので作りました。
ごくシンプルなGUIです。最後にビルドしてようやくちゃんと動作するソフトウェアになりました。
こうして素人製ソフトウェアが完成しました。自分で「もう素人じゃない」というのは違う気がしますが、ニーズと要件を明確化して、機能に分解し、必要なライブラリをターミナルでインストールし、コードを読んで修正箇所を特定する人間を「IT知識がない素人」とするのは、いち記者として誤解を招く表現だと考えます。
「生成AIがあれば素人でもソフトウェアを作れる」というのは、かなり可能性を感じますがまだ幻想に近いでしょう。特にニーズから要件と具体的な機能への分解が難しそうです。生成AIとの共存には十分な知識と倫理観が必要です。
Copyright © ITmedia, Inc. All Rights Reserved.