LoginSignup
5
9

More than 1 year has passed since last update.

プログラミングにおけるChatGPTの使い方(制作編)

Last updated at Posted at 2022-12-10

ChatGPTとは

この辺とか参考にどうぞ。
チャットGPTってなんだ?イーロンマスク提出用のコードも一瞬で書けちゃうAIチャットボット
https://www.gizmodo.jp/2022/12/chargpt-what-is-it.html

会話AIとしてはポンコツ

まず、前提として「会話が出来るAI」としてChatGPTを見ない方が良い。
会話は少し試せばポンコツだとわかる。
詳細はこちらをどうぞ。

チャットできるAI、ChatGPTが「そこまですごくない」理由。見えてしまった限界
https://www.businessinsider.jp/post-263042

この一言が全てを物語っていると思う。
「ChatGPTは、一見するともっともらしい答えを返せるように、うまく調整されている。」
僕も触ってみて同意である。

プログラミング補助道具として使えるか?

上記記事、「チャットできるAI、ChatGPTが~」の中で「誤ったプログラムを出力すること」が指摘されているし、僕も触ってみて「惜しいんだけど違うんだよなぁ」という出力を見かける。

しかし、これを以て、「まだプログラミングにAIは使えない」と判断するのは早い。
「8~9割くらいはちゃんとしたこと書いている」というコードもわりと出してくるからだ。
ということは残り1~2割を修正すれば、結構使い物になるかもしれない。

実際に書かせてみた

以下、実際のやり取り。
image.png
惜しい。
意図としては「ボタンを押したらhello World」と表示して欲しいのに、このコードだとボタンを押す前から表示されてしまうし、ボタンを押しても何も起こらない。

こーなる↓
image.png

なので修正するように指示した。
image.png
こーなった↓(わかりにくいけれど黒い部分はコマンドプロンプト)
image.png
いいね!
とはいえ、最低限の処理を通したに過ぎない。

次。
image.png
image.png
(AIが読み取るには)やや複雑な内容にしたつもりだったが、思った以上にちゃんと書いてきたのはびっくり。

実行するとこんな感じ。
image.png
ほぼ9割方イメージ通りの形。想定していなかったのはsg.Output(出力用窓)を用意してきたことだけど、これはむしろ「想定外の良い仕事」だったので褒めてあげたい。

さて、動かしてみる。
image.png
ちゃんと、6の2乗である36が出力された。

また、指定した通りに日付、時間、出力値がCSVに吐かれている。
image.png
先ほどよりも複雑な処理を命じたつもりだが、ほぼ完璧な形で答えてくれた。
ただ、クローズボタンを押された際にエラーが吐かれてしまう問題だけ残っていたので、それはこちらで手直ししてやった(elseとbreak文の2行のみ)。評価:90点。

ChatGPTが指示を受けとってからコード出力までたぶん30秒かかっていないと思うが、それで40行ほどのコードを生成して、90点のコードを書いてくれるというのは非常にコスパが良いと思う。

注意点

・一度に吐き出せるのは40行くらいのコードまで?(要調査)。例えば80行くらいかかりそうなコードを指示しても、途中で止まる(これが約40行)。ここで「続きを書いて」と伝えても、また最初から同じコードを書き始めて止まる。

ChatGPTとの付き合い方のスタンス

めちゃくちゃ手の速い新人プログラマと思って指示を振るのが良。
「40行程度のコードを1分で書いてくれる」「けど、しばしばポカミスをやらかす少しお間抜けさん」と考えておけば、変なミスを犯しても腹が立たない(たぶん)。

どんな時に使えそうか?

プロジェクトの開始時、要件を渡されたらとりあえずそれをChatGPTにそのままぶち込む → 面倒で単調になりがちな初期コードの生成をサクッと行ってくれる。import ~を何行も書いたり、お約束コード(PySimpleGUIならwindowやwhile文を用意するなど、テンプレート的な処理)の生成は楽になる。

その後、大量に修正が必要な部分は修正するように指示を出して、数行程度の簡単な手直しで良ければ自分の方で手直しをする。このようにすると時間も大幅削減出来るし、単調作業部分で疲れにくい。

単調作業部分で疲れにくい
↑ここ大事

人間の新人プログラマよりは有用かも?

とりあえず手の速さは相当なものがあるし、修正を命じても嫌な顔一つせずに淡々と進めてくれる。
特別優秀な人を除いて、多くの新人よりは貢献してくれるかもしれない期待感がある。

(退屈な|つまらない)作業は全部投げちゃえ!
というスタンスで使うと結構ハッピーになれるかもしれない。

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9