ビジネスの現場で使われるようになってきたChatGPT。プログラミング学習にも役立つ便利なものですが、今回、『ChatGPTで身につけるExcel VBA』の著者・タカハシノリアキさんと、同書の編集担当・マイナビ出版の伊佐さんが対談を実施。「ChatGPTとVBA、どちらも初心者」という層をターゲットとする同書について、その中身や狙い、制作裏話を語り合いました。
※本記事は、2024年8月6日にVoicyチャンネル「『働く』の価値を上げるスキルアップラジオ」で行われた生放送の内容から制作しています。
初心者が、ChatGPTとVBAの両方を上達できる構成
伊佐 今回の書籍は、ChatGPTとVBA、両方の初心者をターゲットとしています。初心者が自然とChatGPTを使いこなし、VBA学習を自走できるようになる構成が特徴です。基礎的な知識や機能を押さえられるのはもちろん、ChatGPTも使えるようになるのがいちばんのメリットですよね。
本を通して、ChatGPTを使ってコードを書く習慣づけをしたり、その中でChatGPTと会話するコツを掴んだりする。それによって、読者の伸び代がぐっと大きくなったのではと思います。
タカハシ 僕もなるべく初心者目線を維持しながら書いたつもりですが、抜け落ちちゃう部分もあるかもしれないと思い、周りにヘルプしてもらいました。僕が主宰している「ノンプログラマーのためのスキルアップ研究会」(以下、ノンプロ研)メンバー数人に、モニターとして参加してもらったんです。
各章の原稿が出来上がるたびに、書籍と同じようにChatGPTを使ってトライしてもらってチェックしてもらいました。飛躍していた箇所や初心者には難しかった部分などをあぶり出してもらうことができて、本当に助かりました。読者がどこでつまずくのかわかり、解像度が高まったのもとてもよかったと思います。
伊佐 初回の打ち合わせで、タカハシさんがノンプロ研というコミュニティを主宰していると教えていただきました。数百人規模のコミュニティを運営されているタカハシさん、改めてすごいなと思いました。
私は永遠のプログラミング初心者なので(笑)、一緒に勉強してくれる仲間ができることのすばらしさ、心強さはよくわかります。一人っきりでやっていると、わからないことがあったときにスムーズに解決できないし、どうしても心が折れちゃうんですよね。教えてくれる先生と、一緒に学ぶ仲間がいるコミュニティはノンプログラマーの味方ですよね。IT業界にはいろんなコミュニティがありますがすばらしいなと。
タカハシ ありがとうございます。仲間が身近にいなければ、何かしらのコミュニティに入っていただくのが学習の近道だと思います。
ChatGPTの苦手な分野をどうカバーするか?が苦労したポイント
タカハシ 執筆のときに使ったChatGPTの履歴は、すべて読者にご覧いただけるようにしています。秘密の会話を覗き見されてるみたいで、ちょっと恥ずかしいですけど(笑)。
執筆自体は、僕のこれまでの経験と比べても順調に進みました。ただ、書籍の後半になるとChatGPTが苦手とする分野が出てきて。たとえば「オブジェクト名」はVBA独自の概念ですが、言葉の概念がとても広いので、ChatGPTに聞いてもとんちんかんな回答しか返ってきません。
VBAでは、デバッグの際に「イミディエイトウィンドウ」を使いますが、他の言語では「デバッグウインドウ」とか「コンソール」といいます。そういう揺れをどう避けるか? が苦労したポイントでしたね。
伊佐 編集過程で印象に残っている部分はありますか?
タカハシ 全体をほぼ書き上げた段階で、ページ数に余裕があったので、8章の「プログラムの保守」のパートを増強しました。僕の原案では、各項目を数行ずつ解説するだけの構成でしたが、伊佐さんのご提案で、事例を入れてしっかり解説するように変えたのがすごくよかったと思います。
リファクタリング1つとっても、言葉だけで説明されるのと、実際に自分で動かしてみるのでは理解度が全然違うんですよね。それから、書籍の中でプロンプト集をアペンディクスにまとめて本当によかったなと思いました。ざっと学習した後で、復習用にも使えますし。
伊佐 プロンプト集は、実用的なプロンプトでまとまっているのが特徴です。本当に便利で、読了後にはここだけ何度も使う方もいらっしゃる気がします(笑)。
タカハシ 僕は、プログラミング学習で「こういうときはこうする」という型ばかり暗記するのはあまり本質的じゃない気がしていて。何か困ったらその都度、新しいプロンプトの書き方を調べるくらいがちょうどいいし、結果的にしっかりスキルが身に付くと思います。
全編書き上げたタイミングでGPT-4oが登場、アップデートも原稿に反映
伊佐 ChatGPTのような最新テクノロジーは、いつどんなアップデートがあるかわかりません。執筆中にChatGPTがアップデートされると、どう進めたらいいかわからなくなっちゃう著者さんもいらっしゃるんですよ。
今回でいうと、ちょうど最後の8章が書き上がるころに、GPT-4oが出ましたよね(笑)。私も正直焦りました。逆にタカハシさんは、ちょっとウキウキしてる感じがありましたよね(笑)。
タカハシ いや、僕も頭真っ白になりました(笑)。ただ、結果的には大工事をすることはなく、スクリーンショットの差し替え程度で済みました。GPT-4oは無料ユーザーだと機能制限がありますが、それでもファイルをアップロードすれば設定を読み込ませられるので、手っ取り早いし正確です。焦りましたが、ギリギリのタイミングでGPT-4oを織り込めてよかったなと思います。
たとえばGAS(Google Apps Script)は、VBAと違ってわりと頻繁にアップデートするんです。僕はこれまで何度もGASにやられてきました(笑)。
僕が『詳解! Google Apps Script完全入門』を出版した2017年頃は、GASもまだ発展途上の言語環境だったんです。第1版を出した直後にアップデートがあり、第2版を出したらさらにその後にスクリプトエディタが大幅アップデートされて、さすがに参りました(笑)。Googleのサービスは、本当にサラッとアップデートされるんですよね。
伊佐 AIもプログラミングも日々進化していますから、避けられないところですよね。ほかに、ChatGPTならではの執筆裏話はありますか?
タカハシ 裏話的なところでいうと今回、ChatGPTを「ときどき絵文字を入れる」という設定で使ってみました。結果、ちゃんと絵文字を入れてくれるモードのときと、全然使ってこないモードのときがあって(笑)。ChatGPTのテンションが章によって違うんです。気ままですよね(笑)。編集する伊佐さんは大変だったと思います。
伊佐 いえいえ、せっかくChatGPTでも絵文字を使えるんだから使ったほうがいいと思います。ただ、絵文字には著作権があるので、タカハシさんとまったく同じものは使えなくて。Googleが出しているオープンソースのもので代用しました(笑)。
コミュニティとAI、それぞれのいいところを生かしていきたい
タカハシ 今回、本を書きながら思うことも少しあって。ChatGPTを使って学ぶという手段は、ノンプロ研のようなコミュニティの機能を奪っていく面があるんですよね。
誰でも、勉強している中で、誰かを頼りたいとか何か聞きたいと思うことがあるはず。ChatGPTに聞いて全部解決するなら、ノンプロ研はいらなくなっちゃうんじゃないか? という思いがよぎりました。人が介在するコミュニティとAIでは、役割が違う部分ももちろんあると思うんですが。
伊佐 機能としてはChatGPTも優秀ですからね。でも、ノンプロ研のようなコミュニティとはそれぞれ全然違う価値があると思いますよ。誰かとつながって関係性の中で学びたい人と、それに気後れしちゃうタイプの人がいますから。相性は人によってばらつく気がします。
ChatGPTにすべてを頼ることはできないと思います。ある日突然、サービスが終了するかもしれないし(笑)。その点、ノンプロ研には絶対的に先生や仲間がいるので安心感があります。入会して活動するうちに、人間関係もできていくでしょうし。
タカハシ そうですね。執筆を通して、コミュニティとChatGPT、それぞれの良さや機能の違いを考えるいい機会になりました。今思うのは、コミュニティにChatGPTを取り入れて、学び方や運営をブーストしていきたいなと。そうすることで、結果的にノンプロ研がより充実していくと思います。
AIはこれからも、人間のいろんな活動を担っていくわけですが、「じゃあ残る部分はなんだろう?」と考え続けたいですね。そこから逃げたり敬遠するんじゃなくて、ChatGPTのメリットも積極的に取りに行きたいと思っています。
初心者向けの解説は、人間が書いた文章こそ最適
伊佐 発売した今振り返ると、タカハシさんらしいていねいさ、わかりやすさが存分に出た本になったと感じます。何より、ChatGPTのパートと比べても、タカハシさんが書いた部分はすごくわかりやすいし、スッと頭に入ってくるんですよね。入門書でありながら、網羅的かつロジカルな解説で、細かいところまできっちり書かれている印象です。
改めて、初心者向けには人間の書く文章こそいちばん伝わりやすいなと思いました。そして、人間が書くものとChatGPTが出力する文章、両方の特徴やよさを捉える努力が、ChatGPTを使いこなす力につながるのかなと思いました。
タカハシ 人間の書いた文章とChatGPTをドッキングさせる。これからは、このやり方が技術書のスタンダードになっていくかもしれませんね。
伊佐 そう思います。とくに若い方は「タイパ」を重視するので、ChatGPTをうまく使って早く上達できるとなれば、大きな価値になります。逆に、初心者の段階でChatGPTに頼りすぎて、本質的な理解が進まないというケースもあるかもしれません。
タカハシ そこは、僕もすごく感じます。初心者がChatGPTを使うのはいいのですが、何も考えずChatGPTが出した通りにコードを書いて、エラーが出たら直し方をChatGPTに聞いて……という作業を繰り返していると、全然コントロールできなくなっちゃうんですよね。
まるで、上司が部下の仕事を全然理解していないのに、とりあえず仕事を丸投げしているみたいな状態(笑)。とてもじゃないけど、チームとしては前に進まないですよね。逆に、自分なりに考えた道筋に沿ってChatGPTと会話を繰り返し、理解を深めたりセンスを磨いたりする使い方はすごくいいと思います。
要するにChatGPTは、いい使い方をすればとてもいいものですし、ダメな使い方も簡単にできちゃうツールなんですよね。自転車に乗る練習みたいなもので、一度いい方法が身につけば、それをずっと使い続けられるので。だからこそ、プログラミング初心者の方にも一度ChatGPTの世界に飛び込んでもらえたらと思います。