こんにちは、GOEMONです。
99.9%のコードをAIが書いて作った回転寿司の情報ポータル「sushipo!」なのですが、メニューデータは泥臭く手動で450件近くをCMSに登録しました。
最初のデータはしょうがないので、致し方なし。でも効率化したいので、今日はgeminiとGASで運用の効率化をしていたのですがマジで2.5 Proになってからのgeminiは使え過ぎてすごいです。
まず実装してもらったのは、スシロー、はま寿司、くら寿司、かっぱ寿司のメニューを毎日1回チェックして
1.メニューの追加があるか:期間限定メニューや新規メニューチェックのため
2.価格の更新があるか:値上げ、値下げチェックのため
3.これらの情報をスプレッドシートに反映、差分があれば更新内容をメールで飛ばす
というのを実装してもらったのですが、20分ぐらいでパパッと完了。

驚きなのが、gemini 2.5 Proはこれを一回もバグを出さずに実装したことです。
以前に何個かGASで業務効率化のためのスクリプトをClaude 3.7 Sonnetが実装されてすぐに作りました。
配当利回り通知、YouTuber検索ツール、VTuberリスト制作ツールを作ったのですが、それぞれ30分、1時間、4時間ぐらい制作に時間がかかったし、エラーもかなり吐きながら、何十回もチャットでやり取りしてようやく作り上げたものです。
それから1ヶ月ちょっと、毎日AIにコードを書かせていて私自身のプロンプトや要件定義が改善されたのもありますが、gemini 2.5 Proはまぁホントに優秀です。
それで、1日一回チェーン店のHPでメニューをチェックするツールを作ったあと、もう一個相談してみたことがあるのですがこれがもう感動したんです。
下記の相談をgemini 2.5 Proにしてみました。
そうしたら、もう一個相談したいことあるんだけど。運営している寿司ポータルサイトでは、この4つのチェーン店のメニューを比較表とかで価格比較する機能があるのよ。
でも、チェーン店ごとにメニュー名が微妙に違うから、手動でマッピングしてサイトに登録してるんだけど、これをもう少し効率化か管理しやすくしたい。
どういうことかというと、
くら寿司:ふり塩熟成まぐろ
はま寿司:まぐろ
スシロー:厳選まぐろ赤身
かっぱ寿司:まぐろ
みたいに表記が違うから、これを
→ まぐろ(赤身)
ってサイトには登録して使ってるのよ。
今は完全に手動でスプレッドシートで管理しているんだけど、どのメニューがどのマッピングワードかを確認したり、間違って似たようなマッピングワードを付けちゃったりで大変。
これを効率化するためのアイデアはある?

そしたら、下記の回答。
メニュー名の表記ゆれ問題、これは複数の情報ソースを扱う際には「あるある」な課題ですよね。手動でのマッピング管理、たしかに大変だと思います。確認も大変ですし、うっかり「まぐろ」と「まぐろ(赤身)」みたいな似た統一名を複数作ってしまうこともありそうです。
これを効率化するためのアイデア、いくつかありますよ!
【最有力案】マッピングマスターシートとGAS連携
これが一番現実的で効果が高いと思います。
「マッピングマスター」シートを作る:
今のスプレッドシートに新しいシートを追加し、名前を例えば マッピングマスター とします。
このシートに以下の列を作ります。
チェーン固有メニュー名 (例: ふり塩熟成まぐろ, 厳選まぐろ赤身)
チェーン名 (例: くら寿司, スシロー)
統一メニュー名 (例: まぐろ(赤身))
カテゴリ (任意ですが、あると便利かも 例: にぎり)
備考 (任意)
今手動で管理しているマッピング情報を、この形式で整理して入力します。(最初のデータ移行が少し大変かもしれませんが、後が楽になります)
GASで「未マッピング」メニューを洗い出す:
GASで定期的に(例えば runDailyUpdate の後などに)各チェーンのデータシート(スシローメニュー など)をチェックします。
各メニューの チェーン固有メニュー名 と チェーン名 の組み合わせが、マッピングマスター シートに登録されているか確認します。
まだ登録されていない(= まだ統一メニュー名が紐づけられていない)メニューを 自動でリストアップ します。
リストアップ方法は、例えば新しいシート 要マッピング に書き出す、とか、各データシートの該当行に色を付ける、などが考えられます。
メリット: これで、「どのメニューに新しく統一メニュー名を付ければいいか」が一目瞭然になります。新メニューが登場した時も自動で検出できます。
GASで「既存マッピング」を自動適用する (推奨):
各チェーンのデータシート(スシローメニュー など)にも 統一メニュー名 という列を追加します。
GASが マッピングマスター シートを参照し、チェーン固有メニュー名 と チェーン名 が一致するものを見つけて、対応する 統一メニュー名 をデータシートの 統一メニュー名 列に自動で入力するようにします。
メリット: データシートを見るだけで、そのメニューがどの統一メニュー名に対応しているか常に最新の状態で確認できます。サイト登録用のデータを抽出する際も便利です。
スプレッドシート機能で管理しやすく:
マッピングマスター シートの 統一メニュー名 列に、スプレッドシートの「データの入力規則」機能を使ってドロップダウンリストを設定します。リストの元データは、統一メニュー名 列自身のユニークな値を使います。
メリット: 新しくマッピングする際に、既存の統一メニュー名から選択できるようになり、「まぐろ」と「まぐろ(赤身)」のような類似名を誤って新規作成してしまうのを防ぎやすくなります。
他のアイデア(参考):
メニュー名の類似度判定: GASでメニュー名の文字列がどれくらい似ているか計算し、「この新しいメニューは、既存の〇〇に似ていますが、同じものですか?」のように候補を提示する。(少し複雑で、精度を出すのが難しい場合あり)
AI活用: GeminiのようなAIに「このメニュー名は、どの統一メニュー名に一番近い?」と問い合わせて候補を出してもらう。(外部API連携が必要になり、少し高度)
まず何をすべきか?
まずは**「マッピングマスターシートとGAS連携」**の方向で進めるのが良いと思います。特に 【2. 未マッピングメニューの洗い出し】 と 【4. スプレッドシート機能(ドロップダウン)】 を実装するだけでも、かなり管理が楽になるはずです。
もしこの方向で進めてみたいようでしたら、まずは マッピングマスター シートの作成から始めましょうか?
いや~素晴らしい。
なんか、「今後どうやって運用しようかなぁ。毎週毎週チェックして更新するのくっそダルいな。。。」と作ったあとにやや後悔する面倒くささがあったのですが、geminiの言う通り実装したら、めちゃくちゃ作業の工数が減って楽ちんです。
通知メールが来て要対応の箇所だけやればいいし、自動でマッピングのエラーがないかもチェックできる。
めちゃくちゃ楽じゃないですか。
ちょっと悩んでたのが馬鹿らしく感じるぐらい優秀です。
今年に入ってからもっぱらAIにしか相談事してませんが、もう冗談抜きでAIなしでは生きられないレベルにまでなって来ている感じがしますし、少し悩んだら自分の頭で考える前にとりあえずAIに相談したほうがいいなと思いました。
なんとなく、自分の頭で考えて整理してからAIに相談しないと意図が伝わらない。と思っていたのですが、最近の進化は凄まじくて結構適当に伝えても理解してくれる。
もちろんプログラミングとかになると、要件定義をしっかりした方がいいしドキュメントまとめた方が正確な回答が返ってきますが、これぐらいだとAIに全投げすべきだなと思いました。
という具合に、今日も半日AIとカタカタした結果、将来自由に使える時間がたんまりと増えましたとさ。
ホントにもう仕事効率化が止まらなくて、どんどん仕事やることなくなってきてるのに、売上は増えていくマジックです。
でも、AIのおかげでやりたいことが増えて仕事する時間は増えている。そしてAIいじるのが楽しいからお酒飲む頻度も減って健康。好循環がすぎます。
それでは!