【GAS×Gemini】180ページのPDFをAIに読ませたら遅くて高かったので、「RAG」で爆速&激安にしてみた話
- 本間 充/マーケティングサイエンスラボ所長

- 2 日前
- 読了時間: 4分
こんにちは!日曜プログラマーの本間充です。
普段はマーケティングや事業開発の仕事をしていますが、週末は趣味でコードを書いて、業務を自動化したりAIと遊んだりしています。
最近、「生成AIって本当に業務に使えるの?」という声があがったため、「Googleの検索品質評価ガイドライン(約180ページの英語のPDF)を読み込み、日本語の質問に答えてくれるAIアシスタント」を作ることにしました。
結果から言うと、Google Apps Script(GAS)とGemini APIを使って大成功したのですが、そこに至るまでに「RAG(検索拡張生成)」という技術の凄さと、それを導入しない場合の「恐ろしいデメリット」を身をもって体験しました。
今日は、AI初心者の方向けに、なぜ今「RAG」がもてはやされているのか、私の開発ストーリーを交えて分かりやすく解説します!実際に開発したものは、「Google検索品質評価ガイドライン徹底解説!SEO・AIO担当者が今すぐ読むべき理由と目次ダイジェスト」で公開しています。
最初の失敗:「180ページを全部読んで答えて!」の限界
最初は、とてもシンプルなプログラムを書きました。
PDFのテキストをすべてGoogleドキュメントに貼り付ける(数十万文字!)
ユーザーから質問が来たら、その数十万文字をぜんぶ丸ごとGeminiに渡して、「この文章の中から答えを探してね」とお願いする。
最新のAI(Gemini 3.6 Flash)は、ものすごい長文でも一度に読み込める「ロングコンテキスト」という強みを持っています。だから、これでうまくいくと思ったんです。
確かに、答えは返ってきました。しかし、大きな問題が2つありました。
1. とにかく遅い!(タイムアウトの恐怖)
AIが毎回数十万文字を頭からお尻まで読み直して答えを探すため、返事が返ってくるまでに何十秒、時には数分かかることもありました。GASには「1回の処理は6分まで」という制限があるため、ちょっと複雑な質問が来るとエラーで強制終了してしまいます。
2. コストが高すぎる!(API料金の罠)
AIのAPI料金は、基本的に「読み込んだ文字数(トークン数)」で決まります。 毎回180ページ分(数十万トークン)を課金されるのは、まるで「1ページだけ読みたいのに、毎回辞書を丸ごと1冊買わされる」ようなものです。
救世主「RAG(検索拡張生成)」との出会い
「もう少し効率的に、そして安価に」と頭を抱えていた時に出会ったのが、RAG(Retrieval-Augmented Generation)という手法でした。
RAGを簡単に説明すると、「AIに毎回辞書を丸ごと読ませるのではなく、事前に『索引』を作っておき、必要なページだけをAIに渡す」という賢いやり方です。
私がGASで実装したRAGの仕組みは以下の通りです。
事前準備(1回だけやる)
180ページのドキュメントを、意味の通る短いブロック(チャンク)に切り刻みます。
それぞれのブロックをAIに「これってどういう意味?」と数値化(ベクトル化)してもらい、スプレッドシートに保存しておきます。これが「索引(インデックス)」になります。

質問が来たときの処理
ユーザーの質問も数値化(ベクトル化)します。
スプレッドシートの索引と照らし合わせて、「質問と意味が一番近いブロック」を上位3つだけ探し出します。
選び抜かれたわずか数千文字だけをAIに渡し、「これを読んで答えて」とお願いします。
RAGにしたら世界が変わった!2つの巨大なメリット
この「キャッシュ型RAG」の仕組みにプログラムを書き換えたところ、魔法のように問題が解決しました。
メリット1:圧倒的な「爆速」レスポンス
AIは、数十万文字を読む作業から解放され、すでに絞り込まれた数千文字だけを読めばよくなりました。結果として、質問を投げてから数秒で精度の高い回答が返ってくるようになりました! 待たされるストレスがなくなり、これなら実際の業務(社内ヘルプデスクや問い合わせ対応)でも十分に使い物になります。
メリット2:お財布に優しすぎる「超・低コスト」
これが一番驚いた点です。 AIに読ませる文字数が、180ページ分から「わずか数ページ分」に激減したため、1回あたりのAPI利用コストが数百分の一にまで下がりました。 事前の「索引作り」には少し時間がかかりますが、それはガイドラインが更新された時に1度だけやればいい作業です。日々の運用コストはほぼゼロになり、日曜プログラマーの強い味方になってくれました。

まとめ:RAGは難しくない!
「RAG」や「ベクトル検索」と聞くと、なんだか高度な数学や難解なデータベースが必要な気がして尻込みしてしまいますよね。
でも実は、今回私が作ったシステムは「Google Apps Script」と「スプレッドシート」だけで動いています。特別なサーバーも、高価な外部サービスも使っていません。
生成AIの進化は目覚ましいですが、「ただ丸投げする」のではなく、今回のように「AIが働きやすいようにデータを整えてあげる(RAG)」だけで、スピードもコストも劇的に改善します。
皆さんもぜひ、身近な社内マニュアルやPDFを使って、自分だけの「爆速&激安AIアシスタント」を作ってみてください!





コメント