ノンエンジニアが本格的なプログラムをChatGPTに書いてもらって感じた必要なスキル
5/82024
先日、Slack APIを通じてGoogle Spreadsheetにメッセージを転記するGASコードをChatGPTに書いてもらいました。
かかった時間は半日程度です。
多少の知識はあるものの、私の本業は税理士、ノンエンジニアです。
これまでだったら考えられないくらい早く完成できて、びっくりしました。
今日は、ノンエンジニアが本格的なプログラミングコードをChatGPTに書いてもらって感じた「これは必要」と思うスキルについて書きます。
「マンパワーでなんとかしない」という発想
自分で言うのもなんですが、私は結構「しぶとい」「せこい」人間です。効率化の面において。
例えば、
- やりたいことがあるのに、お金をかけないとできないとか、ありえない
- コピペなど、人間がやらなくてよさそうなことは絶対したくない
という感情がめちゃくちゃ強いんですね(^_^;)
こういうある意味「なんとかならないか?」という想いが、大事だったりします。
「マンパワーでなんとかしない」「頑張らない」発想が、
プログラミングを学ぶ上で、必要なスキルです。
学校や会社で教えられてきたことと全く逆ですが、事実です。
ある程度のイメージを持てるくらいの知識がある
とはいえ、「全くプログラミングの知識がない」状態で、
「これ、プログラミングでなんとかならないの?」
という発想にいたるのは難しいです。
今回、やりたかったのは
SlackのメッセージをSpreadsheetにバックアップするプログラムです。
この発想を思いつくには
- Slackには他のWebサービスと連携できるAPI(Application Programming Interface)が準備されている→利用すれば効率的にできそう
- APIを利用するにはトークン発行が必要(他のAPIを使っているので知ってた)
- Slackから吐き出されるメッセージはJSON形式(軽量なテキストベースのデータ交換用フォーマット)なので、そのままでは保存できない
- したがって、Slackから吐き出したJSONファイルをSpreadsheetに変換するコードが必要
- SlackとSpreadsheetは、GAS(Google Apps Script)という言語でAPI接続できる
という知識が必要でした。
私はこれまでAPIを使って他のWebソフト(例えばクラウド会計freee)とSpreadsheetを接続した経験があるので、上記のやり方がなんとなくイメージできました。
https://rtomura-taxacc.com/category/it/programming/
まずは、簡単なコードでいいのでプログラムに触っておくことが
イメージを持つコツです。
ChatGPTに適切な指示が出せる&プログラムに何が書いてあるかなんとなく分かる
次に必要なのが、ChatGPTに適切な指示を出すスキルです。
これは、生成AI時代ならではのスキルですね。
今回、ひとまず次のようにAPIの情報(TokenやScope)など、わかっている情報を参考に記述してコードを作ってもらいました。
ChatGPTに指示を出すときは、「SlackAPI」「Spreadsheet」「GAS」など言葉を正確に、Spreadsheetに書き出す内容などを具体的に指示することがコツです。
もうひとつ大事なのが、1回で答えを出そうとしないことです。
少しずつ指示を出して、上手くいったら次の指示を出して…という感じで進めたほうが、上手く以下なかったときの原因究明がしやすいです。
これはひとりでプログラミングするときと全く同じです(ログをとったりデバッグしたり)。
今回も、少しずつ指示を出しました。
タイトル行がなかったので追加をお願いして、投稿者がIDだったので名前でお願いしたり。
日付を指定して転記するコードを書いてもらったり。
こんな感じで、完成形に近づけていきます。
ChatGPTは疲れ知らずで、高速で何度も書いてくれます。
もうひとつ、エラーが出ても諦めないことです。
エラーが出たら出たで、それもコピーして聞いてみます。
すぐに原因がわかるわけではありませんが、ググるよりもはるかに早く解決できることが多いです。
書かれているプログラムのコードが、「なんとなく分かる」ことも必要です。
「var」は変数を定義するもの。最初に発行トークンやSpreadsheetIDを変数として定義してるな、とかヘッダーにタイトルを指定してるな、とか。
ChatGPTはコメントまでしっかり書いてくれるのでとても分かりやすいです。これまでひとりでやっているときは、コメントつけ忘れて自分でも何してるのかわからなくなることがあったので。
最終的に、SlackのチャンネルのすべてのメッセージとスレッドをSpreadsheetに転記して、
SlackにBotがメッセージを残すプログラムが半日でできました。いや~感動です。
まとめ
ノンエンジニアが本格的なプログラムをChatGPTに書いてもらって感じた必要なスキルを書いてみました。
「ChatGPTでプログラマーが不要に!」と簡単に言う人も多いですが、ノンエンジニアで多少なりともこれまでプログラムを触ってきた人間としては、
「いやいや、少なくともひとりでプログラム書いたことある人じゃないと難しいよ」
と感じました。
その理由は、これまで見てきた通り、何も知識がない状態では何をどう指示していいのか「当たり」をつけられないし、エラーが出ても見当がつかないためです。
ただ、ChatGPTがあるとないとではノンエンジニアが「学ぶ」スピード、効率性が全く違うのは明らかです。
今は、「当たりをつけて、ひとまずChatGPTに書いてもらう→そのコードを分析して勉強する」方法が有効と考えています。
結論、全く知識のない人がChatGPTでプログラミングするのは難しい。でも、多少の知識がある人がChatGPTを使えば効率的に学び、活用することができる。という感想です。
ChatGPTを利用してプログラミングを効率化させたいノンエンジニアの方の参考になれば嬉しいです。
編集後記
GWは例年通りどこも行かずに家でゆっくりと。特に鎌倉はオーバーツーリズムが心配だったので。
庭の野菜たちが大きくなってきたので、少し収穫しました。育ってくれてありがとう~~
最近のあたらしいこと
コミュニティ内で、対談
メンバーの提案で、コミュニティーメンバーとYouTube Liveで対談しました!
あらたな発見ができたり、とても楽しく学びにつながりました^^
https://freebiz-consulting.com/first1on1mtg/