ChatGPTでソフトウェアを制作するためのポイント

先日、ChatGPT Plus(有料版)において、GPT-4が利用できるようになりました。
さっそく、弊社でも活用を開始しています。

さて、ChatGPTで1つの騒ぎとなった「プログラミングコード」の生成。

こちら、かなり優秀です。

自身で使う効率化ツールを作る、といったレベルでしたら(うまく動作しない時の影響範囲を考慮しても)十二分に使えるものが作れます。

現時点、誰でも作れるわけではないと感じますので、
使うためにはどのようなポイントがあるのかを挙げてみます。

目次

ChatGPTにプログラミングしてもらう時のポイント

1. その言語やフレームワークを理解していること

ChatGPTは、それをどこに設定すればよいかや、プログラミングコードそのものを出力してくれます。

が、さすがに言語やフレームワークを全く知らない場合は、実際に動作させるのは難しいかもしれません。

適切に稼働させるには、やはり基礎知識が必要です。

今後は、技術の「概念」や「肝」が分かっていることが重要になりそうな気がしています。

2. 要件・機能を具体的に、細かく指示する

細かく指示すればするほど、適したコードを出力してくれます。

まるで設計しているようですが、やはり「ふわっとした依頼」は内容にズレが生じることが多いです。

ソート条件を項目●●●の中から3つ選べるようにフォームを用意して、それぞれについて昇順か降順か選べるようにしてください。
そして、フォームはテーブル形式で見栄えよく作って下さい。

のように指示すると、かなり良い感じでコーディングしてくれます。

3. 機能を段階的に追加していく

ChatGPTは対話型であり、同じスレッド内であれば回答済みの情報も含めた上での回答をしてくれます。
これはコードでも同様で、一度作ったコードに対して、追加機能を加えたコードを作ってくれます。

そのため、一度にドカンと機能をお願いするのではなく、少しずつ機能追加をお願いする方が、人間が理解できる形で機能拡張していけます。

ある意味、アジャイル的な動きでしょうか。

4. 基本は「関数の全量を教えて」

機能追加する際に「ここにこの内容を入れると動きますよ」と言ってもらえるのですが、
作業ミスなどしそうです。

「●●の関数の全量を教えて」とすることで、機能追加した状態の関数全コードを出力してくれます。

これであれば、コピペでいけますね。

5. やりすぎると壊れることも・・・

全量のコードをもらっていると、しれっとデグレードする(今まで動いていたはずの機能が動かなくなる)ことがあります。

もちろん差分を検証しながら取り込んでいけば対処できますが、そこまで手を掛けたくないこともしばしば。
(楽したいのでChatGPTを利用・・・)

こちらで稼働させるためのソースコードは、差し替える前の状態を残しながら(コピーしておく)作業することをオススメします。

ChatGPTは、会話済の質問文を編集して、そこから再開することもできます。
ここまではうまく動いていたなーという部位から、あらためて再開しましょう。

また、大量のコードになってくると、関数間の内容不整合なども発生しえます。

このあたりは、全体構成・内容を把握して対処する力が必要ですね。
できるだけ疎結合に作っていくことも、より重要になりそうな気がします。

6. トラブルシューティング力は必要

出力されたコードが、そのままだとエラーで動かないこともあります。

そうした場合、その原因を特定する力が必要です。
現象を伝えればある程度はChatGPTで解決してくれることもありますが、「どのあたりにエラーが潜んでいるのだろう?」という勘所があるかどうかで、対処にかかる時間が大きく変わります。

システムの知識や経験が必要となるところでしょうか。

これって・・・

これ、必要となる要素は

  • 要件定義ができる
  • システム設計ができる
  • 技術的な内容が分かる
  • 正しくプログラマーに依頼できる
  • コードレビューできる
  • トラブルシューティングできる

・・・あれ?
システムエンジニアそのものですね・・・

利用用途

機密情報の漏洩的な観点もありますので、基幹システムのようなコーディングは難しいでしょう。
(ChatGPTに情報が伝わってしまう)

しかし、冒頭にも述べましたが
日々 自身が実施する事務処理のようなものは機密情報がない形で作ることができるでしょう。

そこから、多少コードを変更すればよいためです。

Python、Windows Power Shell などはうってつけでしょうし、Google App Scriptのようなライトに使えるものにも有効です。

ぜひ、作業に時間を浪費することなく、より「人間がやるべきこと」に時間が使えるようになることを願っております。
※人間がやるべきこと = 仕事 だけの意味ではありませんよ、念のため。

お問い合わせ・ご相談はこちら

ご不明な点・ご相談事項がございましたら
お気軽にご連絡ください^^
               内容をご記入ください ※

送信いただいた時点で「Privacy Policy」に同意したとみなします。
広告を含むご案内のメールをお送りする場合があります。

この記事が気に入ったら
いいね または フォローしてね!

目次