【読了約5分】
はじめに
巨大ログとクラウド破産未遂
私は職業エンジニアではありません。
ただ1.5MB(約70–85万文字)の対話ログを、Gemini API を使って自動的に小説化したい——
そう思って軽い気持ちで始めた開発が、「クラウド破産」の危機に直面するとは思っていませんでした。
この記事は、その過程で学んだ モデル選択・コスト管理・処理構造の最適解をまとめた記録です。
同じように「長文をAIで料理したい」方にとって、
不必要な事故や課金トラブルを避ける手がかりになれば幸いです。
1. Gemini APIの課金体系
数MB級のテキストデータを扱うなら、まず「どこで課金されるか」を知らないと危険です
(私はここで事故りました)。
無料枠と有料枠の違い
無料枠(Google AI StudioのAPIキーなど)は RPM(1分間に実行できる命令数) が極端に低く、すぐに429エラーで止まります。
対して有料枠は RPM が一気に緩和され、スクリプトがフルスロットルで走ります。
結果どうなったかというと——
あっという間に4000円
「アクセルが床まで踏み込まれた車」になります。
Gemini-2.5の場合モデルが大きく分けて3種類(pro,flash,flash-lite)があります。
それぞれ、処理に向き不向きがあり、RPMの制限、ウィンドウサイズの大きさ、そして料金が違います。
モデル別比較についてはこちらでまとめました。
2. MB級ログを扱うためのフロー
Map-Reduce
巨大テキストを一括送信すると、モデルやプランによって
そこで教えてもらったのが Map-Reduce戦略です。
Phase 1:Map(深層要約)
-
原文を 3万文字+重複2000 で分割(例)
-
Flash で高速・安価に事実抽出(Proではない!)
-
「要約の伝言ゲーム」を避けるため、セリフ・固有名詞・事実のみ抽出
Phase 2:Reduce(構成作り)
-
全要約を Pro に渡し、構成案(JSON)を作らせる
-
この段階で 人間が介入して修正可
→ 無駄な執筆コストを防ぐ
Phase 3:Generate(執筆)
-
各章が必要とする要約パートだけを読み込んで Pro が執筆
-
全文を毎回与えないのでコストが大幅圧縮
体感ではコスト1/10でした。
なお、次の工程に渡すデータは「要約だけ」にしています。
抽出で作った短いサマリーを外部ファイルとして保存し、
構成生成や執筆では この要約だけを入力に使うことで、
巨大な本文を毎回読み込まずに済み、コストも安定します。
3. 破産を回避する安全装置(最重要)
一番伝えたいのはここ。
APIは便利ですが、少しのバグで数千円が溶けます。
System Instructions(AI側の安全装置)
-
ループを含むコードは出力前に必ず警告
-
挨拶禁止(出力トークン節約)
-
無限ループ・並列過多を禁止
AIに「お金がかかる」ことを理解させるのは効果的でした。
これを知らずにChatGPTでプログラム生成をお願いしたら、最高品質を目指したのか、要約のためにGemni-proを指定していました。これが4000円の爆死事件です。かなりの勉強になりました。
生成AIへのプロンプト例
Python側の安全装置(物理的ブレーキ)
-
ループには必ず
time.sleep() -
リトライは最大3〜5回
-
無限ループ防止のための脱出条件を入れておく
-
APIコストの事前見積もり
-
コスト上限を超えたら警告を出し人間がGoサインを出すまで実行停止
コストガードのプログラムサンプル
課金システム側の安全装置(最終ブレーキ)
- Google Cloud Console にて「予算とアラート」(最終防衛ライン)を設定
- 月3000円まで、とか設定できます。
→ https://console.cloud.google.com/
4. 人間介入こそ最強のコスト削減
AI任せにすると、
「気に入らない章構成のまま3万字書かれて料金だけが発生」
という最悪の展開になります。
必ずいっきに流さず、要所要所で人間が確認すべし、です。
● Step 1:要約 → 構成案(JSON) を自動生成
● Step 2:人間が JSON を確認・編集
● Step 3:その後に執筆を実行
5. まとめ
Gemini API は、正しく設計すれば強力な「長文処理エンジン」になりますが、
何も知らずに使うと、コスト面でも構造面でも簡単に破綻します。
私がたどり着いた結論は、とてもシンプルでした。
- 巨大ログは、必ず分割して薄くする
- 要約 → 構成 → 執筆 の流れを作る
- 安全装置を三段階で入れておく
- そして、重要なところは人間が確認する
これだけで、長文処理はずっと安定し、課金の不安も消えました。
巨大ログから物語生成を楽しむには、課金のことを頭の片隅ではなく、ほぼ真ん中に置いておいたほうがよい、というのが私のたどりついた教訓です。
ちなみに、GoogleAPIを有料プラン化しても、すぐに課金はされません。90日間限定で、約45,000円のトライアルクレジットがもらえます。私の規模だと、1回実行して200円程度に収まりますので、ほぼ無限にテストできそうです。
おまけ:Grokさんはコードを渡すと、勝手にテストデータを作って検証してくれます。コスト計算までできました。そのGrokさんが教えてくれた、爆死必死ケースはこちらです。
Grokが教えてくれた生成AIのAPIによる「理論上の死に方」 - いろいろ試験的な
まだまだ、プログラムに改良の余地がありそうで、ChatGPTやClaudeさんに相談中です。
今回のプログラムやプロンプト、関連記事については、あとでまとめて共有させていただきたいと思っています。
↓ まとめました。
【ハブ】Gemini APIで巨大ログを扱うための「深層要約・構造化・執筆・安全運用」記事一覧 - いろいろ試験的な