見出し画像

ChatGPTで素人がGASを組むときのワークフロー(プロンプト付き)

こんにちは
潰れそうなところから、爆発的に成長している零細企業
ATRACK株式会社のCEO、国俊です。

2024年から字画の良い「国俊」を名乗ることにしました。
新字と旧字の使い分けできるから日本語は便利。

さて、ここまでにChatGPTを使い倒して
GASを組むときのワークフローがわかったので
ここでシェアしたいと思います。

前提:ChatGPTでGASを組むべき理由

ここは短くしますが、ChatGPTでGASを組むべき理由
それは、時短と生産性向上です。

Googleスプレッドシートに向かい合って入力している作業って
過去を振り返っている作業なんですよね。

経営者としては未来を作っていかなければならない。

そのため、GASを活用して自動化していくことで
1日10分かかってた作業ならば、1年間で3650分。
つまり、年間60時間、約3日の削減になります。

経営者の時給は高い。
実はとんでもないコスト削減になっているのです。

具体:ワークフローのアウトライン

1.悩みや希望と仕様を伝える(具体的で誤解を産まない表現が肝要)
2.一旦仕様を把握させ、ChatGPTと自分の認識の齟齬がないかすり合わせ
3.認識に齟齬があれば、プロンプトの修正して再回答させる
4.一旦、構造だけを組ませる
5.出てきた構造の各機能と仕様について解説させる
6.次に関数の具体的なソースコードを省略なく書かせる
7.完成したソースコードの仕様について解説させる
8.リファクタリングさせる
9.再度、リファクタリング後のソースコードについて、仕様を解説させる
10.実際に動作チェック
11.試験運用
12.本番運用

それぞれ簡単に見ていきましょう。

1.悩みや希望と仕様を伝える(具体的で誤解を産まない表現が肝要)

簡単にでもいいからとりあえず悩みを伝える。とりあえずDoでいいのです。

人にチャットで何かを伝えるときと同様ですが
誤解を生まない表現が肝要です。
誤解を生まない表現というのは、
「AともBともとれるよね」って表現ではない
ということです。

この画像の例だとそこまで細かくは踏まえられていませんが
主語・目的語くらいは最低限しっかりと特定可能な状態で
送信したいところです。

2.一旦仕様を把握させ、ChatGPTと自分の認識の齟齬がないかすり合わせ

別のスレッドでのやり取りですが一例

まずは認識合わせをすることが大事。
人間は不完全な生き物。
本当にちゃんと伝わっているかどうか、
本当にChatGPTちゃんが理解してくれているかどうか
すり合わせを行いましょう。
実はこれ、かなり重要な作業。
会話の序盤でアンジャっていては駄目なのです。

3.認識に齟齬があれば、プロンプトの修正して再回答させる

ここでのChatGPTの返答に齟齬が起きていれば
諦めず、違う、そうじゃないと伝えましょう。
これをしない人が何故か多い。
お互いに完璧じゃないのですから、すり合わせましょう。

4.一旦、構造だけを組ませる

GPT-4で出力できる文字数が増えたとはいえ
やはり長文はChatGPTは得意ではありません。
頭から順番に組ませていると、よく一部の関数が抜けてる
ってことが起こりがちです。

それを避けるためにもまずは構造だけ組ませましょう。
具体的には、関数名だけ出力させるというのが効果的です。

5.出てきた構造の各機能と仕様について解説させる

ここまで書いておきながら、
そこまで複雑なGAS組んでねぇなってことに気づきはじめた私です。
でもこれは絶対にやるべき。
これは、ChatGPTに、このプログラムの骨格を正確に理解させるために重要なプロセス。

6.次に関数の具体的なソースコードを省略なく書かせる

関数の具体的なソースコードを書かせましょう。
ここで重要なのは、「省略なく」ということ。
それを毎回伝えるのもいいですが、
私は下記のプロンプトをカスタム指示の下側の欄に記入してます。

必ず日本語で回答してください。
ソースコードやプログラム等を書く際の制約事項は下記の通りです。
私の環境で動作するようになったらチップ100ドルをお支払いします。頑張ってください。
なお、『これは一例であり』「//ここのコードはそのまま」 等と言って出力するコードを省略する行為は法律で禁止されており、 制裁金として100ドルを頂戴します。 あなたが出力するコードは完全に実装されていなければなりません。

7.完成したソースコードの仕様について解説させる

これは必ずしもやらなくてもいいかもしれませんが
保険的にやることが吉。
解説させてみると、あらぬ誤解があることも。
抜け・漏れのチェックのためにもこの1プロセスは有効。
日本語での仕様理解を開発者側が進めるためにも有用なプロセスです。

8.リファクタリングさせる

さて、ここまで書いてもらったソースコードは
実は頭から手続き型的にかかれている場合が多い。
そのため、無駄や重複もよく起こるので
一旦ここでリファクタリングさせます。
勇気を持って一言、
「リファクタリングしてください。」
言うか言わないかで、今後のメンテナンス性が大きく変わります。

また、実はChatGPTはリファクタリング超得意です。

※リファクタリング・・・ソースコードの機能はそのままに、簡潔にわかりやすくソースコードを整理してもらうこと

9.再度、リファクタリング後のソースコードについて、仕様を解説させる

これは7.と同様にオプションですね。
保険です。
やらなくてもいいかもしれませんが、やったほうが安心。

10.実際に動作チェック 11.試験運用 12.本番運用

これらはまとめちゃいますが
開発者として当たり前にやっておくべきですね。
試験運用のプロセス等についてわからなければ
ChatGPTに直接相談しちゃいましょ。

各論:ハマってしまったときの対処法

バグの修正を何度も何度もやっても、同じような結果になることがあります。
何度聞いても期待する内容が出なくなることを
私は「ハマる」と表現しています。

このときの対処法は大きく分けて2つ。

1.別スレッドを作る

そういうときは、そのタイミングまでの情報をまとめて
新しいスレッドを作成するのも手。
そこまでの履歴のことは未練がありますが
潔く新スレッドを作った方が早い場合も多いです。

ハマったら新しくスレッド作成

なぜかというと、ChatGPTはかなり過去の自分の回答に対して
正しいというバイアスが強いです。
思考回路の方向性がそうなってしまっているので
高確率でほぼ同じ方向性で言い方・書き方が違うだけ
という回答を出してきてしまいがちです。

2.最初のハマった回答を再生成

ハマった回答の次からではなく、ハマった回答からやり直しましょう。
ここからであれば、ChatGPTの思考回路をまだ修正することが可能です。
1.と2.に共通することは、
ハマってしまった思考回路は二度と使わない
ということです。
筆者は、ChatGPTは何よりもフローが大事と感じているため、
この再生成ボタンをめっちゃぽちぽちします。
これはChatGPTフル活用のコツだと思います。

ハマってしまった最初の回答を再生成

まとめ

いかがだったでしょうか?
ここまで読んでもらって、敏腕エンジニアの人はお気づきかもしれませんが
新人教育してるのに非常に近いプロセスだと思います。

このプロセスを経れば
概ねほとんどのプログラムが実装可能だと思います。
あとは、各プロセスでやり直し・書き直しをどれだけちゃんとさせられるか
これが精度高いChatGPT+GAS運用のコツです。

また気が向いたら色々書きたいと思います。

この記事が勉強になったって人は
「スキ」してもらえると今後の活動の励みになります。
もしかしたらYouTube撮影するかも。

ではまた〜。

この記事が気に入ったらサポートをしてみませんか?