見出し画像

【ChatGPT】をプログラミングで活用する際に注意すべきこと

はじめに

2024年5月13日に「GPT-4o」が発表され、プログラミングのコード出力もGPT4の精度のまま、GPT3.5と同じくらいの体感速度になった。

個人的にも、今まではGPT4を使っていた場合は、出力結果を待っているアイドル時間が、若干手持ち無沙汰で、その間他のことやることがあったのだが(思考がぶつ切りになってよくない)、GPT-4oになってそのようなことがなくなり、プログラミング速度も1.5倍程度早くなったように感じる。ありがたい。

今回は、自戒も込めて、ChatGPTをプログラミングで活用する際に注意すべきことをまとめておく。なお、プログラミングに限らず、全てに当てはまると思う。

急いては事を仕損じる:最初が肝心

「【ChatGPT】に与える良いプロンプトとは。良い結果を得るための6つの戦術」の記事でも記載したが、やはり最初が肝心で「明確で具体的な指示を書く」ことが最重要と感じる。

GPT-4oになり、さらなる全能感が出てきたものの、抽象的な指示を投げると、プログラミングの出力の結果が明後日の方向を向いているか、冗長になる。そして、その結果に、エンジニア側が振り回されて、結果を元に修正を繰り返すということになり、泥沼にハマることがある。

なので、いきなり、GPT-4oにコード貼り付けて「これをこうしたい」というふわっとしたプロンプトを書きたくなるものの、一旦そこは立ち止まって、どのようなアウトプットを期待したいのか、作成する機能・必要となる条件を細かく頭の中で整理する必要がある(意識・注意力の問題)。

従来のプログラミングの仕様を書く点と同じである。仕様ほどしっかりしたものである必要はなく、箇条書きレベルで全然良いが、本質である「条件と期待するアウトプットの明確化」は重要である。これはプログラミングに限らないが。どこをどう変更するかの全体像は事前に頭の中で思い描いておく必要がある。

最初に明確で具体的な指示を与えることで、最終アウトプットにまでかかる時間は、1/2にも1/3にもなると言っても過言ではない。

下記プロンプトが明確な指示という点で最適例ではないとは思うが、例えば下記のような感じで指示する。

ALTER TABLE users ADD COLUMN sleep_transition_time INT DEFAULT 10 COMMENT ‘おしゃべり設定:スリープモード移行時間’;

こちらで以前に、default10としてカラム追加したのですが、nullを許可して、default nullにしたいです。どのようなマイグレーションファイル生成コマンドを実行すれば良いですか

マイグレーションファイルを作成する際は、以下のようなコマンドを実行します。

$ cd migrations
$ migrate create -ext sql -format 2006010215 <filename>

下記のような感じで回答してくれる。内容を確認して問題なさそうであれば、指示された通りに実行するのみ。


指示を明確化するためのプロンプトを、実際に指示する前に噛ませるのも良いと思う。

特に内容が複数ファイルにまたがる場合には、整理してから、該当部分のコードを貼り付けながらGPTに伝えるのが重要。まぁ、これも時間の問題で、GPT4搭載のCursorエディタでは(自分は使っていないが)、複数ファイルにまたがってコード提案をしてくれるとのことなので、具体的ではないプロンプト指示でもGPTが汲み取って、良い感じにコードを仕上げてくれる未来もそう遠くはないかもしれないが。

GPTが賢くなりすぎると、人間が考えることがなくなって、、、

続きは、こちらで記載しています


よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費に使わせていただきます!