ChatGPT x GAS が最強という話。【非エンジニアのプログラミング活用法】
はじめまして、ナカムラ(@Naka8685 )です。
プログラミングは授業でちょっと触ったぐらいの素人ですが、ChatGPTを活用してアプリもどき?を開発したので、開発の過程を書き残せたらと思います。
私と同じく開発がしたい非エンジニアの役に立てればと思います。
ChatGPTとは?
強いAIです。
もう説明は不要でしょう。便利なのに無料で無敵です。
GAS(Google Apps Script)とは?
Googleが提供するJavaScriptで動く開発ツールです。
gmailやスプレッドシートなどGoogle関連のサービスと連携が容易です。
特にスプレッドシートとの連携が強いですね。
ExcelはVBA、スプレッドシートはGASみたいな感じです。(ちょっと違うけど)
こちらも無料。
何をした?
とあるサイトから情報を取得する、それを定期的に実行しています。
所謂スクレイピングと定期実行ですね。
週3回行われるゲームの大会から、大会結果を抜き出し「データベース」シートに貼り付けています。
データベースを基に検索できる仕組みを組んでいますが、検索の機構はワークシート関数なのでこれは割愛。(いつか別で書くかも)
コード作成方法
ChatGPTに上記の文言を問いかける。これだけです。
本当にこれだけ。
とはいえ少しコツもあります。
・ChatGPTへの問いかけのコツ
1. コードを小分けにして質問する
まず私が作成したコードの概要を説明します。
という構成をしています。
これを1行ずつ質問してコードを作成してもらい、それらを組み合わせて完成を目指します。
小分けにすることで、デバッグも簡単、GPTも理解しやすい、思考の整理が出来る。
良いことづくめです。
しかし1つ欠点があります。
変数名を自分で変更しないといけないという事です。
ChatGPTで生成されたコードは変数名を指定できません。(指定しても無視されることが多い)
なので、生成されたコードの変数名を逐一変更しなければならない、という点には注意しなければいけません。
GAS(JavaScript)の基本構造を理解していないと少し難しい部分かと思いますが、慣れれば簡単なので頑張りましょう。
2. エラー文をコピーして貼り付け
エラーが出たら上記の文章のような質問をしてください。
最悪「エラー出た!」だけでも回答をくれます。
このように不完全な文章でも回答をくれます。
これ帰ってきたときは流石にビビッて腰抜かしました。
3. 回答を再生成を連打
これは最終手段です。
ChatGPTは回答の再生成ボタンがあり、押すたびに回答が結構変わります。
これは体感の話なのですが、
1度質問した後、少し時間を置いて同じ質問をすると、生成されたコードの質が上がっているような気がします。
エラーが出ていたが、エラーを回避したコードが再生成される。
読みやすい。行が少ない。etc…
以上がChatGPTを用いたコード作成のコツです。
以降ではChatGPTを用いたコード作成で感じたメリットデメリットを共有したいと思います。
メリット
・無料である
これに尽きます。
GPTもGASも無料で使えちゃいけない性能してますが無料です。なぜなのか。
・思案から実装までの時間が無くなる
ChatGPTがサポーターになってくれるので、勉強の時間を最小に出来ます。
「作り終えた人間が正義」だと思ってるので過程を飛ばして短時間でツールが作れることはメリットだと思います。
デメリット
・身に付いた気がしない
生成されたコードを読み直して理解した気にはなるのですが、身に付いた気はしません。(個人の感想)
スポーツやゲームなどで、「上手すぎて参考にならない」と同じような感覚があります。
・コードの知識が少し必要
自分自身プログラミングが出来る訳ではありませんが、多少の知識はあると自覚しています。
プログラミング知識が全くのゼロの方はChatGPTを用いても簡単にはいかないだろうというのが所感です。
とは言え勉強の時間は最小になっているとは思っています。
ChatGPT x GAS の結論、感想
ChatGPTの登場によりプログラミングのハードルはグッと下がったように感じます。しかしハードルが消えた訳ではなく低いまま残っています。
プログラミングに何度も挫折した文系の大学生でもツールを作れるくらいにはハードルが下がっています。
このハードルを消せる程のAIの進化を祈りつつ、自分自身でコードを書いて実践することが重要と感じます。プログラミングを学び、より自在にツールを作り出せるようになりたいと強く感じます。
こんな記事ですが一読してくださり、ありがとうございました。
それでは。
・次の記事
この記事が気に入ったらサポートをしてみませんか?