CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/API & SDK
API & SDK/2026-05-03上級

Claude API × ローカルファースト同期エンジンで作るオフライン対応AIノートアプリ — Replicache/IndexedDB を使った本番設計

Claude API とローカルファースト同期エンジンを組み合わせ、オフラインでも動く AI ノートアプリを本番運用する設計を、Replicache・IndexedDB・Mutation Queue の実装パターンとともに具体的なコードで解説します。

claude-api81local-firstreplicacheofflineindexeddbproduction87

プレミアム記事

ノートアプリを電車の中で使っていて、トンネルに入った瞬間に AI 補完が無言で止まる。再開しても下書きが消えています。あの体験を一度でも踏むと、ユーザーは二度と AI 機能を信頼してくれません。

ローカルファースト設計はこの課題への直接の答えです。書き込みはまずローカルへ、同期と AI 呼び出しは別レイヤーへ追いやる。一見シンプルですが、Claude API のような「重い・課金される・遅延がある」処理を絡めると途端に難易度が上がります。私自身、4 つのサイト運営で似た構造を組んでみて、Mutation Queue の設計を一度間違えると同じプロンプトを何度も叩いてしまい、API コストが想定の 3 倍になった経験があります。

この記事は、Replicache と IndexedDB を中核に据えたオフライン対応 AI ノートアプリの本番設計を、実装の落とし穴と一緒にお伝えします。完成イメージは「機内モードでも入力と AI 提案表示が止まらず、回線復帰で自動同期される」アプリです。

なぜ「AI × ローカルファースト」は普通に書くと壊れるのか

最初に押さえておきたいのは、AI 機能とローカルファースト同期が本質的に違うリズムで動くという点です。

ローカルファースト同期は、楽観的書き込みを前提とします。ユーザーが何を入力してもまずローカルに保存し、後から差分をサーバーに送ります。Replicache や Triplit、Yjs といった代表的なライブラリはこの「Optimistic Mutation」を中心に設計されています。

一方で Claude API は、リクエストごとに数百ミリ秒〜数秒の遅延と、入力トークン × 出力トークンの課金があります。何より、同じプロンプトを 2 回送ると 2 回課金されます。これを Replicache の Mutation Queue にそのまま放り込むと、再送ロジックが「失敗した API 呼び出し」を律儀にリトライして、課金だけが増えるパターンに容易に陥ります。

つまり「同期するもの」と「AI を呼ぶタイミング」を分けて設計しないと、信頼性とコストの両方を失います。本記事の中心テーマは、この分離をどう実装するかです。

アーキテクチャ全体像

私が採用している構成は次のようなレイヤーになります。

  • UI 層 (React): ユーザー入力を即座にローカル DB へ反映。AI 補完はストリーミング表示
  • ローカル DB 層 (IndexedDB + Dexie): ノート本文・AI 出力・メタデータを保存
  • 同期エンジン (Replicache): クライアント間でノートを同期。AI 出力は同期しない
  • AI ジョブキュー (BullMQ on Cloudflare Queues): Claude API 呼び出しをサーバー側で処理
  • API Gateway (Hono on Cloudflare Workers): Replicache の push/pull と AI ジョブ投入を担当

ポイントは「Replicache が同期するのはユーザーの編集だけ」「Claude API への呼び出しは独立したジョブキューで」という分離です。AI 出力はサーバー側で完成してからローカル DB へ「結果通知」として届けます。

この設計により、機内モードでもノート編集は完全に動作し、復帰したタイミングで未送信の編集が同期され、その後 AI ジョブが処理されます。

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

この記事の続きを読む

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

この記事で得られること
オフラインで AI 補完が止まる問題に困っていた個人開発者が、Replicache と Claude API を分離した設計で安心してリリースできるようになる
IndexedDB に AI 出力をキャッシュし、ネットワーク復帰時に Mutation Queue で自動再送する完全なコードを手に入れられる
本番運用で発生するバージョン競合・部分失敗・トークンコスト増を、Sync Engine の権限分離で抑え込めるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API & SDK2026-07-13
Claude API の同時実行を束ねる — シングルフライトで重複推論とキャッシュ・スタンピードを防ぐ
同一プロンプトが同時に何度も Claude へ飛ぶ重複推論を、シングルフライト(request coalescing)で束ねる設計です。プロセス内・分散環境の実装、ジッター付きリトライ、負のキャッシュまで実測付きでまとめました。
API & SDK2026-07-03
同時リクエスト数はいくつまで持つのか — Little の法則と実測メモリで決める Claude API 本番デプロイのインフラ要件
同時リクエスト数・待ち行列長・メモリはいくつに設定すべきか。Claude API 本番デプロイのインフラ要件を Little の法則と実測ハーネスで数字から導く手順を、夜間バッチで OOM を踏んだ経験をもとに整理しました。
API & SDK2026-06-28
弱いモデルへ静かに落ちる方がエラーより怖い — Claude API のモデル降格に「下限」を設ける設計
無人運用のパイプラインでモデルが使えなくなったとき、弱いモデルへ自動で落ちる実装は危険です。タスクごとの能力契約と降格予算で「どこまで落ちたら止めるか」を決める設計を、個人開発の自動運用の実体験から解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →