チュートリアル

1M Token とは?コンテキストウィンドウの使いどころ:GPT・Claude・Gemini 比較

「100 万 Token」は、より賢いチャットの別名ではない。1 回のリクエストでモデルが見られる予算だ。予算が広がれば、リポジトリ一式、分厚いマニュアル、長い録音も入る。ただし出力上限、課金帯、実効リコールは、カタログの数字に自動ではついてこない。

2026 年、旗艦モデルの紹介ページはほぼ例外なく 1M Token と書く。コピーは「本を丸ごと読む」「リポジトリを一度に放り込む」。選定会議が止まるのは別の数字だ。この呼び出しはいくらか、出力は切られるか、真ん中の 40 万 Token をモデルはまだ覚えているか。本稿は 1M Token を工学上の上限として扱う。コンテキストウィンドウの容量であり、理解力の証明書ではない。読み終えたら、手元の材料がおおよそ何 Token か見積もれ、GPT、Claude、Gemini の窓・出力・割増を対照し、どの JSON を窓に入れ、どれを先にブラウザで検証すべきか判断できる。

1M Token とは:まず単位を揃える

Token は、モデルがテキストを読み書きし、課金し、長さを測る最小単位です。字でも単語でもありません。よくある英単語は Token 一つより少し多いことが多く、日本語や中国語、コード、JSON のキー、Base64、インデントの換算はそれぞれ違います。同じ OpenAPI でも、ベンダーやトークナイザの版が変わると Token 数は漂います。だから「1M Token」が先に意味するのは、このモデルが今回のリクエストで許す枠の数です。「百万文字」でも「百万語」でもありません。

窓の規模 おおよその直感(桁の目安であり、約束ではない)
1 Token英語はおよそ 0.7–1 語。日本語・中国語はしばしば 1–2 字。コードと JSON はより細かく割れる
8K–32K長い記事、API 説明ひとつ、短い会話
128K–200K本の大部分、または中規模リポジトリに Agent の数ターン
1M(およそ 100 万–105 万)分厚いマニュアル + 複数ファイルのリポジトリ + 長い履歴の規模。Claude の新トークナイザでは、同じ 1M に入る生テキストが少なくなりがち

コンテキストウィンドウ(context window)は、1 回のリクエストで入力 + 出力 + 推論 / thinking Token(別計量される場合)が共有する予算です。システムプロンプト、ツール Schema、検索断片、複数ターンの履歴、いま生成中の回答は、同じ井戸から水を汲みます。窓が 1M でも、100 万 Token のリポジトリを入れて、さらに 12 万 Token の報告書を書かせられるわけではありません。出力も窓を食い、各社には別の max output があります。

1M はディスク容量だと思った方がよいです。枠はある。真ん中の任意のページを同じ精度で読める保証はない。干し草の中の針は見つかっても、複数ホップの推論、ファイル横断の対照、長い JSON の欠けフィールド検知が、公称上限まで持つとは限りません。選定では先に「今回、同時に見えないと困るものは何か」、次に「見えたあと、安定して出すべき形は何か」を聞いてください。

超長コンテキストウィンドウが本当に稼ぐ仕事

窓が 128K から 1M へ跳ねると、変わるのは先に切る必要があるかどうかです。以前は検索か要約が必要だった材料を、いまはひとまとめで渡せます。本当に元が取れる仕事は、だいたいこう見えます。

  1. リポジトリ全体、または大半。ファイルをまたいで呼び出しチェーンを追い、二つの実装を比べ、インターフェース定義とテストフィクスチャを一つのリクエストで同時に見る。
  2. 長い文書と契約。ポリシーマニュアル、監査調書、複数添付の PDF。問いが文脈の両端を同時に見る必要があり、1 ページのキーワードヒットでは足りないとき。
  3. マルチモーダルの大きな pack。Gemini 系の API はテキスト、画像、音声、動画、PDF を同じ窓に数えられる。数時間の音声や長い動画の書き起こしを、先にスライスしなくてよくなる。
  4. Agent の長い軌跡。ツール定義、何度もの tool result、途中の失敗リトライが窓に残るから、次の一手は完全な観察に基づける。ループそのものは
  5. 対照と抽出。OpenAPI の二版、エクスポート JSON 二件、Schema 一式を同じリクエストに置き、diff 級で読んでから Structured Output で構造化差分を出す。

これらの仕事には共通点があります。答えが、複数の材料を同時に見ることに依存する。タスクが「十万ページから元の一文を探す」なら、先に検索した方が安く、安定しがちです。1M 窓の価値は、誤ったスライス境界を減らすことです。情報アーキテクチャの廃止ではありません。

過大評価されがちな使い方もあります。サイトログ全部、DB の生ダンプ、未マスキングの本番 JSON をプロンプトに貼る。窓は大きい。漏洩面と請求も一緒に大きくなります。窓に入れてよいのは、すでにマシンから出してよいと決めた一式だけです。機微フィールドは先にローカルで消し、形の壊れた JSON は先に直し、それから「一度に流し込む」話をしてください。

公称窓 ≠ 実効窓:入力・出力・課金

製品ページの 1M は受付上限です。超えれば拒否か打ち切り。「100 万 Token 地点の推論品質が 8K と同じ」ではありません。RULER 系の評価では、実効長は公称の半分前後になりがちです。現場では 200K–500K を超えると、ファイル横断の対照が漏れ、途中の指示が落ちる体験の方が多い。工学では公称窓を天井として扱い、自分の回帰セットを実効窓にしてください。

見落とされがちな二番目の数字は最大出力です。GPT-5.6 Sol / Terra と Claude 旗艦の同期リクエストはおよそ 128K。Gemini 3.1 Pro のドキュメントは 65,536 で、デフォルトの maxOutputTokens はさらに小さいことが多く、明示的に上げないと静かに切れます。「分厚いマニュアルを読ませ、同じ分量の新仕様を書かせる」は、窓は足りても出力が足りないことがあります。下の予算は、出力と余裕を一人前の項目として扱い、詰め終わってから見る残り物にはしません。

{
  "window": 1050000,
  "budget": {
    "system": 2400,
    "tools": 1800,
    "repoPack": 420000,
    "docs": 180000,
    "history": 80000,
    "reservedOutput": 128000,
    "headroom": 238800
  },
  "rule": "never fill to the sticker; reserve output plus 20 percent headroom"
}

三番目は金です。OpenAI は GPT-5.6 Sol / Terra について、入力がおよそ 272K Token を超えると、リクエスト全体を入力 2 倍、出力 1.5 倍で課金すると書いています。Gemini の長コンテキストには別の割増帯がよくあります(ドキュメントは 128K または 200K 超えを境にすることが多い。発注前に現行の価格表を確認)。Claude Sonnet 5 のドキュメントは 1M をデフォルト窓、標準単価とし、「長コンテキストをオンにする」スイッチはありません。ただしトークナイザが細かいので、同じ文章がより多くの Token になり、実効コストは上がります。Prompt cache は繰り返す接頭辞は救えます。毎回変わる大きな pack は救えません。

2026 比較:GPT、Claude、Gemini

下表は 2026 年 9 月の各社公開モデルカードから、旗艦帯をまとめたものです。全スナップショットを一つのセルに詰め込んではいません。数字は動く。発注は公式ページが勝ちます。選定が本当に分岐する軸は、窓、出力、割増、モダリティです。

軸 GPT-5.6 Sol / Terra Claude Sonnet 5 / Opus 5 Gemini 3.1 Pro
コンテキストウィンドウ 1,050,000 1,000,000(Haiku 4.5 は 200K のまま) 1,048,576
最大出力 128,000 128,000(Batch にさらに高い帯あり) 65,536(デフォルトはさらに低いことが多い)
長コンテキスト課金 入力 >272K:リクエスト全体が入力 2× / 出力 1.5× ドキュメントは 1M をデフォルト、別割増帯なし。新トークナイザはより細かい 128K または 200K 超えで割増が一般的。公式価格表で確認
入力モダリティ テキスト、画像 テキスト、画像(PDF などはプラットフォーム機能経由) テキスト、画像、音声、動画、PDF
同系列の注意 Luna の窓は約 400K。alias を同じ容量だと思わない 同じ 1M でも、新トークナイザでは生テキストが少なくなる。数え直す マルチモーダルは最も広い。出力天井は低い。長文生成は先に出力を計算
向く仕事 長い報告書、Responses ツールチェーン、128K 出力が要る仕事 長文書の推論、Agent ループ、材料を読み切ってから答える安定性 リポジトリ + 音声動画 / PDF を一度に入れる。最終回答は短いか Schema 経由

公式はモデルカードを直接見てください。第三者の集計表だけは足りません。OpenAI の GPT-5.6 Sol は 1,050,000 の窓、128K 出力、272K の割増ラインを明記しています。Anthropic の Claude Sonnet 5 概要 は 1M / 128K をデフォルトとしています。Google の Gemini 3.1 Pro Preview は入力 1,048,576、出力 65,536 です。価格とスナップショット名は変わります。統合コードは usage フィールドを読み、去年の定数をベタ書きしないでください。

選び方は、ボトルネックがどこかです。一度に十万 Token 近い移行説明や長い JSON 配列を吐かせるなら、出力上限の方が窓より大事です。GPT と Claude の旗艦の方が広い。一つのリクエストで会議録音を聞き、デザイン資料とリポジトリも見るなら、Gemini のモダリティは本物の差であり、宣伝の形容詞ではありません。1M の中で複数ホップの修正をし、途中の指示を落としたくないなら、公称だけは信じない。自分の「針が三本、矛盾が二箇所」の回帰セットで実効リコールを測り、needle-in-a-haystack を一度走らせて終わりにしないでください。

三社ともツール呼び出しと Structured Output に対応します。ただしラッパーフィールドは違い、最終 JSON はなおローカル検証が要ります。Gemini 側の「JSON であればよい」と「Schema のフィールドを出す」のスイッチは、サイト内の Gemini API JSON 出力ガイド を見てください。本記事では SDK を繰り返しません。

窓を埋めるとき、検索するとき

1M 窓は RAG を廃止しません。切る境界を後ろへずらすだけです。判断は四つで足ります。

  1. 答えが A と B を同時に見る必要がある(仕様二件、呼び出し側と被呼び出し側、Schema とインスタンス)→ 同じ窓を優先。それぞれを別々に要約しない。
  2. 答えが「巨大コーパスから短い区間を特定する」→ 先に検索し、ヒットとメタデータを窓へ。検索パイプラインを省くために 272K の割増を払わない。
  3. 材料がリクエストごとに変わる(新しい diff、新しいエクスポート)→ 長コンテキストは高い。キャッシュできる接頭辞(システムプロンプト、ツール一覧、安定したマニュアル)と、変動する pack を分ける。
  4. 材料がブラウザから出ていけない(秘密鍵、本番のユーザーフィールド)→ 窓が大きくてもアップロードしない。ローカルでサニタイズ、検証、サンプリングしてから、クラウドモデルに見せるか決める。

Agent ループは特に窓を食い潰します。tool result は一歩ごとに残る。maxSteps の前に古い観察を要約してください。1M を無限ログだと思わないこと。仕組みは AI Agent とは。

「ひとまとめを窓へ」と決めても、梱包してください。node_modules と圧縮成果物を 1M に数えない。明示的な context pack は監査できます。「リポジトリをドラッグする」はできません。

{
  "pack": "context",
  "files": [
    { "path": "openapi.json", "tokens": 12000, "role": "contract" },
    { "path": "schema.ticket.json", "tokens": 400, "role": "outputShape" },
    { "path": "fixture.valid.json", "tokens": 800, "role": "example" }
  ],
  "omit": ["node_modules", "*.lock", "generated/**", "minified bundles"]
}

pack の outputShape は、実際に parse する Schema から取るべきです。モデルが思いついたキー名ではありません。形の固定は AI Structured Output。

長いコンテキストの JSON:先にローカル検証

超長の窓が広げるのは、悪い入力の殺傷半径です。カンマ欠けのエクスポート、extra フィールドが肥大したツール応答、同名で意味の違う Schema 二件——40 万 Token のあと、肉眼ではほぼ見つけられません。モデルは壊れた JSON に沿って書き続け、請求は止まりません。だから長コンテキストのワークフローは、アップロード前に三段を固定してください。

  1. Parse:窓に入れるファイルは、合法な JSON / JSON5 であること。「JSON に見える」ログや切れたエクスポートではない。
  2. Schema:モデルに守らせたい契約と照合する。複数ファイルなら、まだ同一ソースかを先に確認する。
  3. Diff:新旧フィクスチャ、モデルの arguments と下流 body、OpenAPI の二版は、先にローカルで差を見てから、モデルに「なぜ」や「どう直すか」を聞く。

ブラウザで完結でき、先にアップロードする必要はありません。JSON フォーマット で parse と構造を確認し、JSON Schema 検証 でフィールドと enum を固定し、JSON Diff で、同じ窓に入れる二件を比較してください。検証に落ちたファイルは pack に入れない。

モデルが出す長い JSON も、構文が壊れるか形が漂うことがあります。層の分け方は AI 生成 JSON エラーガイド。Agent のツール arguments と最終回答は別契約です。窓の予算を共有しただけでは「検証済み」にはなりません。

よくある質問 FAQ

1M Token は日本語百万字ですか?

違います。Token はトークナイザが切った断片です。日本語、英語、コード、JSON、画像、音声の換算はそれぞれ違い、同じベンダーでもトークナイザが変われば、同じ 1M に入る字数も変わります。自分の材料が何 Token かは、そのモデルの計数 API で測ってください。「ページ数 × 経験係数」で代用しないこと。

窓がどれも 1M なら、どの社でも同じですか?

違います。出力上限、長コンテキストの割増、モダリティ、実効リコールは大きく分かれます。GPT-5.6 の 272K 課金ライン、Gemini の低い出力天井、Claude の細かい新トークナイザは、「同じ 1M」を別の請求と別の打ち切り点に変えます。公称窓だけを見ず、自分の回帰セットで測ってください。

1M 窓があれば、RAG は不要ですか?

必要です。1M は、同時に見なければならないひとまとめに向きます。コーパスが窓よりはるかに大きい、または毎回関連するのは短い区間だけ、なら検索の方が安く、権限も更新も扱いやすい。本番の多くは「検索で候補を囲い、長窓で精読」であり、二者択一ではありません。

JSON リポジトリを全部入れても、モデルがフィールドを落とすのはなぜですか?

窓の仕事は「見えること」であり、「契約どおりに話すこと」ではありません。欠けたフィールド、型の漂い、markdown のコードフェンスは形の問題です。Structured Output / Schema を使い、ローカルで再検証してください。材料が真ん中で薄まると、実効リコールも落ちます。窓に入れる JSON は、合法で、同一ソースで、すでに Diff 済みのものだけにしてください。

まとめと次の一歩

1M Token は 2026 年旗艦モデルの共通スケールです。1 回のリクエストで、およそ百万 Token を同時に見られます。リポジトリ一式、マニュアル一冊、マルチモーダルの大きな pack が現実になります。ただし推論が自動で強くなり、出力が伸び、単価が下がるわけではありません。GPT、Claude、Gemini の分岐は出力上限、割増ライン、モダリティです。「1M があるか」という一つのチェックボックスではありません。

次の一手:公式の計数器でマニュアルとリポジトリを測る。本稿の予算表で出力と余裕を確保する。三社のモデルカードで割増閾値を確認する。窓に入れる JSON は、先に JSONVue で parse、Schema、Diff を通す。形の固定は Structured Output、失敗の層分けは JSON エラーガイドです。