久しぶりにExcel VBA にふれる機会がありました。
ちょっとした作業を自動化しようかな?と思ったのがきっかけだったのですが、書き始めると、for文すら構文を思い出せない体たらく...悲しい。
そういえば、ChatGPTを活用したことなかったし、一回トライしてみようか?これからはGoogle先生 ではなくてAI先生に教えを請う時代だろうしね。
GPT3.5に聞いてみた
時代はもう半歩(0.5)ほど進んで4.0なのだが、手元で軽く使えるのが3.5だったので今回の先生はGPT3.5です。
4.0はもっと凄いんだろう...。
まずは躓いたfor文の書き方を聞きます。
私 :VBA でFor文の書き方を教えてください
GPT :VBA のFor文の基本的な構文は...
GPT :例えば...
このくらい朝飯前だよな。
ご丁寧にサンプルコードまで示してくれる。
ではコレはどうだろう?
超恥ずかしいことに、ガチで何が悪いのか気づかなかった。
Dim target_range As Range
Set target_rang = ThisWorkbook.Sheets("table_key").Range("B2:B26")
For Each cell In target_range
Dim aa As Variant
aa = cell.Offset(0, 1).Value
MsgBox "test"
Next cell
エラーが味気なさ過ぎて、皆目検討つかず…
(何行目でエラー、とか言ってくれたら私でもわかるんやけど…)
このスクリプト 自体のをチャットに貼り付けて、エラーはどこですか?と聞くと
GPT : 定義されているのがtarget_range なのに対してsetで使おうとしているのがtarget_rangだからスペルミス、target_range に修正することを提案します。
初歩的過ぎて恥ずかしいが…素晴らしい!ドンピシャだ。AIの将来性を感じずにはいられない。
調子にのってこんなことを聞いてみた…
私 : Python でnumpyを使いたい
GPT :これを実行してください
pip install numpy
私 : エラーになりました
GPT : エラーの内容や詳細を教えていただけますか?
私 : ※エラーメッセージをコピペ
GPT : ※対処方法を提示
私 : ダメですな。turmuxでnumpyを使えるようにしたいのですが?
GPT : termuxの場合は以下を実行する必要があります、
pkg install numpy
私 : すげ~うまく行ったわ!
注意 : 実際のやり取りはもっと長いです。今回わかりやすくするために大分内容を省きました。実際同じ質問をGPTにしていただくと、全く異なる内容のコメントが返ってくるはずです。
やり取りを通じて感じたのは、より良い回答を引き出す為には、前提条件、現状説明、欲しい回答の方向性などを明確に伝えるのがコツ。
これは人との対話とも同じですね。本当にヒトに近づきつつある。
全智全能のいう訳では無いが…
私 : いつ頃まで勉強していましたか?
GPT : 私は2022年1月までのデータで訓練されています。その後の情報や変更には対応していません。
コレも人間と同じで、訓練期間外に起きた事情は関知しない。当たり前ですな。
得意分野はやはりプログラミングとか、情報処理系なんでしょう。Webには情報が溢れてるから学習コンテンツには事欠かないからな〜。一般教養、言語といった類も凄いんだろう。
逆にいうと、それ以外はトレーニン グしないとダメなんだろう。
それはそうと、対話能力は凄いと感じます。
多くの企業が問い合わせ窓口の省人化策として入れてるチャットボットとは雲泥の差。アレは使い物にならん...。
「AIが解決します!」となってますが、私の経験上役に立ったた試しがなく、結局問い合わせ窓口に電話して超長く待たされる流れになる...。 なにせシナリオボットは問いに対して用意されたシナリオからし か回答の選択肢を持たない。そのシナリオは大抵の場合少なすぎるので、一瞬で袋小路にハマる。
しかし、今最先端の大規模言語モデル は結構まともな会話が成り立つ。チャットボットなんか簡単に取って代わられるだろう(コストによるか?)
雑感
小さい頃、文字(漢字とか英単語とか)を習得するためにノートとペンで修練を積みました。
しかしながら、大人になった今、割と簡単な漢字が書けなくなってきました。
書くよりキーボード打ち込んだ方が早いんだもん。ムズい漢字も勝手に変換してくれるし。
更にはキーボード打たなくとも音声でテキスト入力なんかできるようになってきた。WEB会議なんか、対話内容が勝手に文字起こしされて字幕スーパーみたく表示される有り様。テクノロ ジー の進化はすげーわ。
でGPTみたいなものまで登場した。「これはヒトが考えること」に取って代わられてしまう未来があるんだろうか?って想像を膨らませる方も多いと思います。私も思います。
が、現状レベルであれば喜ばしいことだとも思うのです。
世の中人手不足が叫ばれます。色んな分野で習熟された方々が引退していく中、そのような方に聞けば一発で解決できたようなことが、難しくなってきます。習熟者は減り、残存の習熟者の前には案件が列を成すので、なかなか私の番が回ってこない。問い合わせ窓口に電話してもなかなか繋がらなくなったのもコレが一因…だったりして(ちがうかな…)
そんなところにGPTみたいなものが1台いて、習熟者のノウハウを学習し続けて蓄積していく。こんな仕組みの出現が望まれてるんじゃ?
とりあえず自分が簡単に退化しないように勉強続けないとな。
以上です。