いろいろ試験的な

あれこれを置く場所

Gemini APIを破産せず使い倒す方法(巨大ログの処理)

【読了約5分】

はじめに

巨大ログとクラウド破産未遂

私は職業エンジニアではありません。

ただ1.5MB(約70–85万文字)の対話ログを、Gemini API を使って自動的に小説化したい——
そう思って軽い気持ちで始めた開発が、「クラウド破産」の危機に直面するとは思っていませんでした。

この記事は、その過程で学んだ モデル選択・コスト管理・処理構造の最適解をまとめた記録です。

  • 巨大ログをどう分割して扱うか
  • Flash と Pro の使い分け
  • API 課金が跳ね上がるポイント
  • 破産を防ぐための「安全装置」の作り方

同じように「長文をAIで料理したい」方にとって、
不必要な事故や課金トラブルを避ける手がかりになれば幸いです。

 

1. Gemini APIの課金体系

数MB級のテキストデータを扱うなら、まず「どこで課金されるか」を知らないと危険です
(私はここで事故りました)。

無料枠と有料枠の違い

無料枠(Google AI StudioのAPIキーなど)は RPM(1分間に実行できる命令数) が極端に低く、すぐに429エラーで止まります。
対して有料枠は RPM が一気に緩和され、スクリプトがフルスロットルで走ります。

結果どうなったかというと——

あっという間に4000円

アクセルが床まで踏み込まれた車」になります。

Gemini-2.5の場合モデルが大きく分けて3種類(pro,flash,flash-lite)があります。

それぞれ、処理に向き不向きがあり、RPMの制限、ウィンドウサイズの大きさ、そして料金が違います。

 

モデル別比較についてはこちらでまとめました。

→ Gemini モデル別 RPM・特徴・コストまとめ(2025年12月) - いろいろ試験的な

 

2. MB級ログを扱うためのフロー
Map-Reduce

巨大テキストを一括送信すると、モデルやプランによって

  • コンテキストウィンドウ上限

  • TPM(分間トークン量)
    に引っかかって破綻します。

そこで教えてもらったのが 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サインを出すまで実行停止

コストガードのプログラムサンプル

 → Gemini APIコール前に呼ぶ「コスト計算モジュール」 - いろいろ試験的な

課金システム側の安全装置(最終ブレーキ)

  • 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で巨大ログを扱うための「深層要約・構造化・執筆・安全運用」記事一覧 - いろいろ試験的な