◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/API & SDK
⬡ API & SDK/2026-05-22上級

Claude API の 200K コンテキストをどう割り振るか — システム・ツール・メモリ・履歴の予算枠を実運用で決めた話

Claude API の 200K コンテキストを「無制限の置き場」ではなく予算として扱い、システム・ツール定義・メモリ・履歴・回答ヘッドルームに枠を切る設計を、TypeScript の実装コードと壁紙アプリ運用で得た数値とともに記録しました。

claude-api83context-window6token-budget3production87architecture7

✦ プレミアム記事

2026 年 3 月、運営している癒し系の壁紙アプリに組み込んだ Claude API のチャット機能で、ある夜から input_tokens の請求が静かに膨らみ始めました。会話の品質には何の問題もなく、ユーザーレビューはむしろ好評です。だからこそ、私はそのまま 10 日ほど放置してしまいました。

10 日目に Anthropic Console を開いて気づいたのは、messages 配列ではなく system と tools 側のトークンが想定の倍近く膨らんでいた、という事実でした。チャットの履歴を圧縮する仕組みは前月に組み込んでいたのですが、コンテキストウィンドウ全体を「無制限の置き場」として扱っていたため、別の入り口からトークンが流れ込んでいたのです。

2014 年から個人でアプリを作り続けて累計 5,000 万ダウンロードに到達するあいだ、サーバー費用で痛い目を見たことは何度かあります。けれども、Claude API の場合は履歴だけを見ていると見落とすコスト経路が複数あります。今回は、200K コンテキストを「予算」として 5 つの枠に切り分け、それぞれに静的・動的なアロケーションポリシーを適用する設計の実装記録を残します。Cloudflare Workers + TypeScript で動かしている本番版から再構成しました。

200K は「ウィンドウ」ではなく「予算」

Sonnet 4.6 や Opus 4.6 の 200,000 トークンというサイズは、初見では十分すぎるほど大きく感じます。しかし本番運用では、ここに 5 つの異なる需要が同時に流れ込みます。

  • system プロンプト(指示・ペルソナ・ガードレール)
  • tools 定義(JSON Schema・description・parameter)
  • memory 層(過去エピソード・エンティティ・ユーザー嗜好の検索結果)
  • conversation history(直近の messages 配列)
  • answer headroom(モデルが出力に使う max_tokens 分の確保)

私が壁紙アプリで犯した失敗は、5 つを区別せず「全部 200K に収まればよい」と考えていたことです。実際には、ツール定義だけで 18,000 トークンを毎リクエスト送り続け、そこに RAG 由来のメモリ層が平均 22,000 トークン、履歴が平均 9,000 トークン、システムプロンプトが 4,800 トークン入っていました。残りの 145,000 はほぼ未使用です。問題は「使い切れていない」ことではなく、「予算枠を意識していないので、どこから削るべきかの判断軸がない」ことでした。

5 カテゴリの「枠」を最初に決める

私が現在運用しているのは、静的予算をベースに動的に再配分する 2 段構えの方式です。Sonnet 4.6 / Opus 4.6 を前提に、200K のうち回答ヘッドルームを最大 8,000 トークン引いた 192K をリクエスト側の予算とみなします。

カテゴリ別の枠配分は次のとおりです。

  • system: 静的 5,000 / 上限 6,000 — ペルソナ・ガードレール・出力フォーマット指示
  • tools: 静的 15,000 / 上限 22,000 — JSON Schema を含む全ツール定義
  • memory: 静的 30,000 / 上限 60,000 — RAG・エンティティ・嗜好の検索結果
  • history: 静的 40,000 / 上限 80,000 — 直近 N ターンの会話
  • reserve: 24,000 固定 — フェイルセーフ用のバッファ

「上限」は他の枠が削れている場合にだけ広げてよい値で、reserve は絶対に触りません。これは、ある日突然ツール定義に MCP サーバーが追加されたり、検索ヒット数が想定より多かったりした際に、ヘッドルームを食いつぶさないための安全弁です。

✦

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

この記事の続きを読む

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

この記事で得られること
✦200K コンテキストを 5 カテゴリに分け、それぞれの「予算枠」を静的・動的に決める TypeScript の実装が手に入ります
✦ツール定義トークンの見落としで input cost が 23% 余計に出ていた実話と、削減後の数値が分かります
✦Sonnet 4.6 と Haiku 4.5 でメモリ層を分業させ、月額 API 費用を ¥86,000 → ¥38,000 まで下げた配分の根拠が分かります
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ API & SDK2026-05-26
Claude API の構造化レスポンスを本番で安定させる — tool_use と JSON Schema、多層検証の実装メモ
Claude API の応答を JSON で受け取る実装は数行で書けますが、本番運用では「形は正しいが意味が壊れている」レスポンスにどう備えるかが分かれ目になります。tool_use・JSON Schema・ドメイン検証を組み合わせた多層パイプラインを、壁紙アプリの分類処理での実体験を交えて整理しました。
⬡ API & SDK2026-05-22
Claude API の tool_result could not be submitted が再発しないための回復ハンドラ設計
Claude API でエージェントを長時間動かしていると、ある日突然 'tool_result could not be submitted' が連発し始めることがあります。再試行しても直らない、ストリーミング途中で死ぬ、そして次のセッションでもまた出る — 常時稼働のエージェント基盤で実際に踏み抜いた4種類の原因と、TypeScript で書いた回復ハンドラの実装を整理しました。
⬡ API & SDK2026-05-19
Claude API のチャット履歴を階層サマライズする:3 段階圧縮でトークンを 70 % 削減した設計
壁紙アプリのインアプリ AI チャットで増え続ける履歴トークンを抑えるため、直近ターン・中期エピソード・長期エンティティの 3 層に分けて圧縮する設計を、TypeScript の動くコードと 7 週間の運用データつきで記録しました。月額 API 費用を $480 から $145 まで下げています。