チュートリアル
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 へ跳ねると、変わるのは先に切る必要があるかどうかです。以前は検索か要約が必要だった材料を、いまはひとまとめで渡せます。本当に元が取れる仕事は、だいたいこう見えます。
- リポジトリ全体、または大半。ファイルをまたいで呼び出しチェーンを追い、二つの実装を比べ、インターフェース定義とテストフィクスチャを一つのリクエストで同時に見る。
- 長い文書と契約。ポリシーマニュアル、監査調書、複数添付の PDF。問いが文脈の両端を同時に見る必要があり、1 ページのキーワードヒットでは足りないとき。
- マルチモーダルの大きな pack。Gemini 系の API はテキスト、画像、音声、動画、PDF を同じ窓に数えられる。数時間の音声や長い動画の書き起こしを、先にスライスしなくてよくなる。
- Agent の長い軌跡。ツール定義、何度もの tool result、途中の失敗リトライが窓に残るから、次の一手は完全な観察に基づける。ループそのものは
- 対照と抽出。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 を廃止しません。切る境界を後ろへずらすだけです。判断は四つで足ります。
- 答えが A と B を同時に見る必要がある(仕様二件、呼び出し側と被呼び出し側、Schema とインスタンス)→ 同じ窓を優先。それぞれを別々に要約しない。
- 答えが「巨大コーパスから短い区間を特定する」→ 先に検索し、ヒットとメタデータを窓へ。検索パイプラインを省くために 272K の割増を払わない。
- 材料がリクエストごとに変わる(新しい diff、新しいエクスポート)→ 長コンテキストは高い。キャッシュできる接頭辞(システムプロンプト、ツール一覧、安定したマニュアル)と、変動する pack を分ける。
- 材料がブラウザから出ていけない(秘密鍵、本番のユーザーフィールド)→ 窓が大きくてもアップロードしない。ローカルでサニタイズ、検証、サンプリングしてから、クラウドモデルに見せるか決める。
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 に沿って書き続け、請求は止まりません。だから長コンテキストのワークフローは、アップロード前に三段を固定してください。
- Parse:窓に入れるファイルは、合法な JSON / JSON5 であること。「JSON に見える」ログや切れたエクスポートではない。
- Schema:モデルに守らせたい契約と照合する。複数ファイルなら、まだ同一ソースかを先に確認する。
- 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 エラーガイドです。