GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/開発ツール
開発ツール/2026-04-27上級

Gemini API + Cloudflare Durable Objects でつくるステートフルAIエージェント本番ガイド

Cloudflare Durable Objects を使い、会話履歴を永続化したステートフルなAIエージェントを Gemini API で構築する本番設計を、コード例とともに体系的に解説します。

gemini-api279cloudflare4durable-objectswebsocket4agent9

プレミアム記事

「AIに昨日話した内容を覚えていてほしい」という要望は、個人開発のチャットアプリでも繰り返し出てきます。Gemini API には会話状態を覚えてくれる機能はないので、サーバー側で履歴を保持する必要があります。私はこの 1 年でいくつかの構成を試しましたが、Cloudflare Durable Objects と Gemini API を組み合わせた構成が、個人開発者にとって最もコストパフォーマンスが良いという結論に至りました。

ここではその本番運用で得た知見を体系的にまとめます。とりわけ「Workers だけで作ろうとして詰まった」「KV や D1 で会話履歴を持たせようとして同時編集が壊れた」といった、私が実際に踏んだ落とし穴を中心に書いていきます。

なぜ Durable Objects が必要なのか — Workers の状態問題

Cloudflare Workers は素晴らしいエッジ実行環境ですが、ステートレスです。リクエストごとに別のワーカーインスタンスで実行されるため、メモリ上に持った変数は次のリクエストでは消えてしまいます。

会話履歴を持たせるには KV や D1 (SQLite) を使う方法もありますが、ここで問題が起きます。同じ会話セッションに対して 2 つのリクエストがほぼ同時に来た場合、片方が読んで書き戻している間にもう片方も読み書きしてしまい、会話履歴の一部が消える「lost update」が発生するのです。私が以前 KV ベースで実装したチャットでは、ユーザーが連続でメッセージを送ったときに「あれ、さっきの返信が消えた?」というクレームが入って気付きました。

Durable Objects は、特定のキー(私の場合は userId:sessionId)に対して世界に 1 つだけのシングルトンインスタンスを保証してくれます。同じキーへのリクエストはすべてその同じインスタンスにルーティングされ、内部のメモリと SQLite ストレージは順序保証された状態で扱えます。これは、会話エージェントのように「同じセッションには同じ状態」が要求される用途に理想的です。

価格面でも、Workers Paid プラン(月 $5)に Durable Objects が含まれており、リクエスト数とコンピュート時間に応じた従量課金で、個人開発で本番投入する規模なら月数ドルの追加で十分です。

構築するもの — WebSocket 接続のステートフル会話エージェント

この記事で実装するのは次のような系です。

  • ブラウザから WebSocket で接続するチャット UI
  • セッションごとに 1 つの Durable Object が紐付き、会話履歴を SQLite に永続化
  • ユーザー発話を Gemini 2.5 Pro に投げ、応答をストリーミングで WebSocket に流す
  • 履歴が長くなったら古い部分を自動要約して圧縮(コンテキスト爆発の防止)
  • ハイバネーション対応で、無接続時はメモリゼロで待機できる

ファイル構成は最小で次の 3 つだけです。

  • wrangler.toml — バインディング定義
  • src/worker.ts — エントリポイント、Durable Object へルーティング
  • src/agent.ts — Durable Object 本体(会話エージェントの実装)

完成形をひと目で見てから読み進めると、各セクションの位置付けが分かりやすいかと思います。

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

この記事の続きを読む

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

この記事で得られること
Cloudflare Workers だけでは実装できない『会話を覚えているAI』を、Durable Objects と Gemini API の組み合わせで動く形にできる
WebSocket Hibernation や Storage トランザクションの落とし穴を避けながら、本番投入できるステートフルエージェントの設計パターンを習得できる
個人開発者でも月額数ドル規模のインフラ費用で、24時間動き続ける会話AIサービスを運用できる構成へ移行できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-07-11
同じナレーションを二度生成しない — TTS 音声を端末にキャッシュする鍵設計と失効の運用
瞑想・癒し系アプリのように同じ音声を何度も再生する場面で、Gemini TTS の出力そのものをキャッシュしてコストを実質ゼロに近づける設計です。テキストだけでは足りないキャッシュキーの組み立て方、サーバ生成キャッシュと端末キャッシュの二層構成、モデル停止期限への備えとしての失効ポリシーを、動くコードと実測値でまとめました。
開発ツール2026-06-30
Gemini API × Astro でAI機能付きコンテンツサイトを作る実装ガイド
Astro の Server Endpoints と Content Collections を Gemini API と組み合わせ、AI要約・関連記事生成・自動タグ付けを実装する手順を、動くコードとともに解説します。
開発ツール2026-06-28
Gemini API × PWA実装ガイド — Service Worker・オフラインAI・Web Push通知でApp Store品質のWebアプリを作る
Gemini APIとPWAを組み合わせて、Service Workerによるオフライン対応・IndexedDBでのAIコンテキスト永続化・Web Push通知の統合まで、本番レベルのAI搭載Webアプリを実装する手順と、キャッシュヒット率からAPIコストを可視化する実装をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →