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割を修正すれば、結構使い物になるかもしれない。
実際に書かせてみた
以下、実際のやり取り。
惜しい。
意図としては「ボタンを押したらhello World」と表示して欲しいのに、このコードだとボタンを押す前から表示されてしまうし、ボタンを押しても何も起こらない。
なので修正するように指示した。
こーなった↓(わかりにくいけれど黒い部分はコマンドプロンプト)
いいね!
とはいえ、最低限の処理を通したに過ぎない。
次。
(AIが読み取るには)やや複雑な内容にしたつもりだったが、思った以上にちゃんと書いてきたのはびっくり。
実行するとこんな感じ。
ほぼ9割方イメージ通りの形。想定していなかったのはsg.Output(出力用窓)を用意してきたことだけど、これはむしろ「想定外の良い仕事」だったので褒めてあげたい。
さて、動かしてみる。
ちゃんと、6の2乗である36が出力された。
また、指定した通りに日付、時間、出力値がCSVに吐かれている。
先ほどよりも複雑な処理を命じたつもりだが、ほぼ完璧な形で答えてくれた。
ただ、クローズボタンを押された際にエラーが吐かれてしまう問題だけ残っていたので、それはこちらで手直ししてやった(elseとbreak文の2行のみ)。評価:90点。
ChatGPTが指示を受けとってからコード出力までたぶん30秒かかっていないと思うが、それで40行ほどのコードを生成して、90点のコードを書いてくれるというのは非常にコスパが良いと思う。
注意点
・一度に吐き出せるのは40行くらいのコードまで?(要調査)。例えば80行くらいかかりそうなコードを指示しても、途中で止まる(これが約40行)。ここで「続きを書いて」と伝えても、また最初から同じコードを書き始めて止まる。
ChatGPTとの付き合い方のスタンス
めちゃくちゃ手の速い新人プログラマと思って指示を振るのが良。
「40行程度のコードを1分で書いてくれる」「けど、しばしばポカミスをやらかす少しお間抜けさん」と考えておけば、変なミスを犯しても腹が立たない(たぶん)。
どんな時に使えそうか?
プロジェクトの開始時、要件を渡されたらとりあえずそれをChatGPTにそのままぶち込む → 面倒で単調になりがちな初期コードの生成をサクッと行ってくれる。import ~を何行も書いたり、お約束コード(PySimpleGUIならwindowやwhile文を用意するなど、テンプレート的な処理)の生成は楽になる。
その後、大量に修正が必要な部分は修正するように指示を出して、数行程度の簡単な手直しで良ければ自分の方で手直しをする。このようにすると時間も大幅削減出来るし、単調作業部分で疲れにくい。
単調作業部分で疲れにくい
↑ここ大事
人間の新人プログラマよりは有用かも?
とりあえず手の速さは相当なものがあるし、修正を命じても嫌な顔一つせずに淡々と進めてくれる。
特別優秀な人を除いて、多くの新人よりは貢献してくれるかもしれない期待感がある。
(退屈な|つまらない)作業は全部投げちゃえ!
というスタンスで使うと結構ハッピーになれるかもしれない。