AIがヤバい、という話です。
僕は最近まで、プログラミングのプの字も知らないド素人でした。
初心者向けの解説本を読んでも
「そもそも「変数」ってなんぞや。もっと一般人向けの用語でイチから解説せーや!」
ってテンパるレベル。
ところが、ClaudeProとGeminiの課金版を駆使することで
実働2週間もかからずに
仕事で管理しているお客さんに対して
スプレッドシート(以下スプシ)上の情報を読み取って
・自動で請求書をLINEとメールで送ったり
・任意で好きな内容を複数人に送ったり
・客がLINE公式アカウントに送ってきた内容に対して、設定した分数だけ遅延させてから自動応答するような、特殊自動応答botを作ったり
簡単な顧客リレーションシップなら問題ないレベルまで作り込めたので
その過程を共有します。
要するに、AIやべー。
やりたいことを分解して、AIに「これこれこういうことしたい」って順序立てて問い合わせさえできれば
誰でも駆け出しプログラマーくらいになれる時代が来たのかな。
地殻変動起きてるな、っていう話です。
もちろん
AIも万能じゃないから、なんでその指示をそう解釈すんねんアホか、みたいな場面は結構あるから
初心者は多少は悪戦苦闘しますね。
でも、作っていくうちに「プログラミングのお作法」が、自然と少しは身につくので
「ああ、この関数の内容だけ教示データにしたから、AIは前の関数から渡される引数の内容を無視してコード書いちゃったんだな」
とか
AIを上手く調教するコツとかも分かってきたりします。
以下、作ったもの(ポートフォリオ?)
プログラマーの諸先輩方から見たら
たぶん、鼻で笑われるレベルの簡単なものです苦笑
ただ、初心者がAIに聞きながら作り、それによって仕事が自動化されて余暇を捻出できた
ということの意義は大きいと思うので
恥ずかしさもありますが
堂々と載せていきます。
ベースとなる、コンテナバインドのスプシのイメージ
1行毎に、各顧客に関する情報が全網羅された、管理シートみたいなものは以前から作っていた。
ここに顧客属性や、顧客の行動によるフラグを立て、次回請求日などを手動で入れて
毎回スプシで手動フィルタリングして
「この人には次このアクションをしないと」みたいなことを、全部人力でやっていたので
一部自動化したらラクだろうな、と、ずっと思っていた。
この↑「管理シート」の情報をベースとして、各GAS機能を動かすための補助シートを、同じスプシID内に作成していった
細かい機能は後述しますが
送信内容とか、「いつ送るか」とかを設定する、補助シートの一例
作ったもの
メール関連
・請求日の自動リマインドbot(メールバージョン)
・複数人に同じ内容を同時送信したい時に、BCC使わずにToで送れるやつ
即時送信、予約送信、両方対応
LINE関連
・請求日の自動リマインドbot(LINEバージョン)
・複数人に同じ内容を同時送信するやつ
本来これは、LINE公式アカウントのコンソール上で、チャットタグでオーディエンスを作ればいいだけの話でした。
ところが
2025年3月以降、無料プランだと、1人につき1つのタグしかつけられないように仕様が変わるので
●月に購入した人、商品Aを買った人、みたいに別軸で顧客属性を分けた一斉送信が不可能になります。
そこで急遽
スプシの管理シートで、各顧客に対して、いろんな切り口でチャットタグ代わりのフラグを立てて
それに該当した顧客に、柔軟に一斉送信する機能を作る必要が出てきました。
(というか、このLINE社の仕様変更告知に触発されて、GAS作らなアカン、とケツに火がついた)
やり取りするお客さんが毎回数百人とかいれば、チャットProオプション加入一択でしょうけど
自分みたいに、時期によっては10人くらいしか相手しない、みたいな場合は、毎月3,000円はもったいないので……。
・doPost関連
顧客からフォローされた、何かしらのメッセージを受け取った、というイベント発生時に
・自動でユーザーIDを「管理シート」に記入したり
・自動応答(遅延応答もできる)させたり
といった機能を作成しました。
今後作りたいもの
簡易的なステップLINE機能
LINE公式のステップ機能はあまりに貧弱
LSTEPは高額すぎる
エルメ、UTAGEは微妙にカユイところに手が届かない
という状況下で
自分が思う「使いやすいステップ送信システム」を
作っていきたいと思っています。
ステップの予約送信とか、1分ごとにトリガー発火させると、何かしらのペナルティをGoogleから食らいそうなので
スプシの「設定シート」上に書いた送信時刻を読み取って、対応したトリガーを作る方向性かな……🤔