GEMINI LABEN
0918 — Gemini API の changelog は9月18日以降の新規なしです。新規プロジェクトの推奨は引き続き 3.5 Flash-Lite か 3.8 Flash です09/30 — gemini-omni-flash-preview は9月30日に止まります。残り6日で、後継は gemini-omni-1.1-flash ですENTCLI — Enterprise の Gemini CLI に 3.5 / 3.6 Flash が来ない、という問いが立っています。個人アカウントとの差がまだ説明されていませんNEW — つないだ MCP を初めて外した日、常時有効にするツールを選ぶ基準CONFIG — Antigravity 2.17.0 からリポジトリ設定は .gemini/config.json で読まれます。Gemini CLI と同じ .gemini/ を共有する形ですPICKER — 見慣れたモデルが使えないときは、まず自分の画面のピッカーに何が並んでいるかを確かめると、限定措置と故障を取り違えずに済みます0918 — Gemini API の changelog は9月18日以降の新規なしです。新規プロジェクトの推奨は引き続き 3.5 Flash-Lite か 3.8 Flash です09/30 — gemini-omni-flash-preview は9月30日に止まります。残り6日で、後継は gemini-omni-1.1-flash ですENTCLI — Enterprise の Gemini CLI に 3.5 / 3.6 Flash が来ない、という問いが立っています。個人アカウントとの差がまだ説明されていませんNEW — つないだ MCP を初めて外した日、常時有効にするツールを選ぶ基準CONFIG — Antigravity 2.17.0 からリポジトリ設定は .gemini/config.json で読まれます。Gemini CLI と同じ .gemini/ を共有する形ですPICKER — 見慣れたモデルが使えないときは、まず自分の画面のピッカーに何が並んでいるかを確かめると、限定措置と故障を取り違えずに済みます
記事一覧/API / SDK
API / SDK/2026-06-13上級

Gemini の生成は通ったのに公開が落ちた朝 — 高価な出力を取りこぼさない『生成アウトボックス』の設計

生成は成功したのに、公開処理の直前でプロセスが落ちる。すると高価な出力が消え、もう一度同じ生成に課金することになります。生成結果を先に永続化し、公開を冪等な後続処理に分離する『生成アウトボックス』の実装と、6月の障害下での運用記録をまとめました。

gemini-api286outboxreliability4automation36production105

プレミアム記事

2026年6月のあの大規模障害(error 1076 / 1099)が出ていた朝のことです。私自身、Dolice Labs として4サイトの自動投稿パイプラインを動かしているのですが、ログを見て手が止まりました。Gemini の生成自体は通っているのに、その直後の公開処理(git への push)がネットワークごと落ちていたのです。

ジョブはエラーで終了し、スケジューラが律儀にリトライします。リトライすればまた生成から始まる。つまり、すでに課金を終えて手元にあったはずの出力を捨てて、同じプロンプトでもう一度 Gemini を呼ぶ。それが障害のあいだ、3回繰り返されていました。

重複生成を防ぐ話は以前 Gemini API の冪等性キー設計 に書きました。今日扱うのは、その裏側にある別の失敗です。生成が成功したのに、その成果を公開できずに失う落ち方。これは個人開発の小さなパイプラインでも、静かに、しかし確実にお金を溶かします。

なぜ「生成成功・公開失敗」が一番損なのか

パイプラインを「生成 → 公開」の2段だと考えると、起こりうる落ち方は3通りです。

生成の前に落ちる場合。これは何も失っていません。リトライすれば素直にやり直せます。

生成と公開の両方が成功する場合。これが正常系です。

問題は3つ目、生成が成功して公開の前に落ちる場合です。Gemini への課金はすでに発生しています。出力という最も価値のある中間生成物がメモリ上にあるのに、それを永続化していなければ、プロセスの終了とともに消えます。リトライは生成からやり直すので、同じトークンをもう一度買うことになります。

入力が長いプロンプトほど、この損は大きくなります。私の記事生成ジョブは、参照データや過去記事の文脈を含めて入力が平均で約11,000トークン、出力が約3,500トークンほどです。公開だけが落ちて3回リトライすれば、生成コストはおおよそ3倍。1件では小さくても、6サイトを毎日回していると、障害の数時間で無視できない額になります。

発想の転換 — 生成結果を「送信前の箱」に入れる

解決の鍵は、バックエンド設計で古くから使われてきたアウトボックス(送信箱)の考え方です。

メールを書いてすぐ送るのではなく、いったん下書きフォルダに保存してから送信処理に回す。送信が失敗しても下書きは残っているので、本文をもう一度書く必要はありません。

これを Gemini のパイプラインに当てはめます。生成が成功したら、公開する前に、出力そのものを永続ストアへ書き込んでおく。公開は、その箱から取り出して送り出すだけの、独立した後続処理にします。

こうすると役割がはっきり分かれます。生成フェーズの仕事は「高価な出力を安全に箱へ入れる」ところまで。公開フェーズの仕事は「箱の中身を確実に1回だけ送り出す」こと。どこで落ちても、箱に入った出力は二度と買い直さずに済みます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
「生成は成功・公開は失敗」という最も損な落ち方を、生成結果を先に永続化する1テーブルで防ぐ設計を、SQLite と Python の完全なコードで示します
公開側に fingerprint を冪等キーとして渡し、リトライしても二重投稿にならない drain 処理の実装と、各クラッシュ地点での挙動を1つずつ追えます
1記事あたり入力約11,000・出力約3,500トークンという実測値をもとに、3回リトライで生成コストが約3倍に膨らむ構造と、アウトボックス導入後の削減幅を共有します
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-05
使っているモデルの廃止予告だけを拾う — url-context に公式チェンジログを読ませる仕組み
画像モデルの停止を公開3日前に知って肝を冷やしました。url-context に公式チェンジログを直接読ませ、自分が実際に使っているモデルの廃止予告だけを構造化して差分通知する仕組みを、そのまま動く Python と運用で削った過検知の調整まで含めて組み立てます。
API / SDK2026-06-29
Gemini API の自動パイプラインで、静かに消える失敗ジョブを取りこぼさない設計
無人で回る Gemini API のバッチで、失敗が「無」として消えてしまう取りこぼしを防ぐ設計です。デッドレターに保存すべき項目、再試行可能と恒久エラーの機械的な切り分け、安全な再投入の手順、毎日見える化する運用までコードつきでまとめました。
API / SDK2026-06-25
Gemini API の構造化出力が本番で静かにスキーマから外れるとき — 検証と再試行を計測する運用メモ
response_schema を指定しても、Gemini の構造化出力は本番で時折スキーマからずれます。失敗を握りつぶさず計測し、finish_reason で原因を切り分け、エラーを差し戻して再試行する。実運用で安定させた検証パイプラインのメモです。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます