メインコンテンツまでスキップ

トークン、コンテキスト、メモリ

初級

3つの考え方が、多くの「なぜこうなったの?」という瞬間を解き明かしてくれます。それは トークンコンテキストウィンドウ、そして メモリ です。これらを理解すれば、話のドリフト、忘却、想定外の請求に驚かなくなります。

What you'll learn
  • テキストをモデルと同じように読む — 単語や文字ではなくトークンで
  • コンテキストウィンドウを有限のデスクとしてイメージし、いつ物が落ちるかを予測する
  • 「コンテキストの腐敗(context rot)」を見抜く — なぜモデルは長い入力の中間を見失うのか
  • 「メモリ」の4つの本当の出どころと、意図的にそれを与える方法を知る

トークン: モデルが思考する単位

モデルは文字や単語を読みません — トークン、つまり英語ではおよそ単語の¾ほどのテキストの塊を読みます。"Unbelievable" は 3〜4 トークンかもしれません。よく使う単語はそれぞれ 1 トークン。スペースやカンマ、コードの一部もそれぞれトークンを消費します。あなたの入力 モデルの出力 両方カウントされ、トークンこそが 価格と上限 を測る単位そのものです。

手で数える必要はありませんが、おおまかな感覚があると役立ちます。約750語 ≈ 約1,000トークン。何か入力して観察してみてください。

1単語
32文字
~18推定トークン数

あくまで大まかな目安です(おおよそ 文字数 ÷ 4、または 単語数 × 1.33)。トークン数はモデルごとに異なります — 別のモデルのトークナイザーは決して使わないでください。正確な数値が必要な場合は、Anthropicのトークンカウント用エンドポイントを使用してください。

:::tip なぜ比率が変わるのか 平易な英語はトークンあたり¾語くらいに収まります。コード、JSON、非ラテン文字、長いURL、まれな単語は より多くの トークンに分割されます — だから500行のファイルや中国語の段落は、語数から想像するよりコストがかかります。請求や上限に驚いたとき、たいていこれが理由です。 :::

コンテキストウィンドウ: ワーキングメモリ

コンテキストウィンドウ とは、モデルが一度に考慮できるトークンの最大数です — あなたのシステムプロンプト、これまでの会話すべて、添付したファイル、そして書いている途中の返信 が、すべてまとめて含まれます。これはモデルのデスクだと考えてください。大きいけれど有限です。ウィンドウのサイズはモデルによって異なり、増え続けています — 1つを暗記するのではなく、現在の数値は モデルと価格 を参照してください。

モデルがその瞬間に「知っている」ものはすべて、そのデスクの上にあります。

会話がウィンドウを超えて大きくなると、最も古い内容が落ちていきます。だから非常に長いチャットは、どう始まったかを「忘れた」ように見えたり、当初の指示からそれていったりするのです。

コンテキストの腐敗: 単に 満杯 かの問題ではない

もっと微妙な問題があります。すべてがまだ収まっている場合でも、モデルは長い入力の 先頭と末尾 を、中間 よりも確実に使う傾向があります。50ページの貼り付けの中央に、唯一重要な一文を埋め込むと、それは軽視されるかもしれません — しばしば 「中間で迷子(lost in the middle)」 と呼ばれる失敗モードです。

Guided walkthrough1 of 4
  1. 長いドキュメントを貼り付ける前に、実際の指示や質問を先に置く — その後ろに埋めない。

以下は同じ依頼を、指示が強い位置に来るように構成したものです。

指示を先頭に、末尾で言い直す

Task: Find every place this contract caps our liability, and quote the exact clause.

[... paste the full 40-page contract here ...]

Reminder of the task: list only the liability-cap clauses, with exact quotes and section numbers. Ignore everything else.

:::tip Claude Code では 長いエージェントセッションも同じ天井にぶつかります。Claude Code はそれを意図的に管理します — 履歴をコンパクト化し、何を視界に留めるかをあなたが操れるようにします。コンテキスト管理コンテキストエンジニアリング を参照してください。 :::

メモリ: 与えない限り、存在しない

デフォルトでは、各会話は 白紙の状態 です。モデルはあなたの前回のチャットを覚えていません。メモリのように見えるものはすべて、次の4つのうちのどれかです。

出どころそれは何かあなたが制御する方法
再送される履歴チャットアプリは毎ターン会話を再送し、ウィンドウが満杯になるまで続ける新規チャットを始める。スレッドを焦点の絞られた状態に保つ
メモリ機能一部の Claude のサーフェスはチャットをまたいで事実を引き継ぐチャット間のメモリ 設定
あなたが与えるファイル意図的に添付する永続的なコンテキストプロジェクトCLAUDE.md
あなた自身のコードAPI は ステートレス — 過去のメッセージを再送する最初の API 呼び出し

一貫した要点: モデルに何かを覚えていてほしいなら、それをデスクの上に置き続けなければなりません。

なぜこれが重要なのか

ほぼすべての「以前の指示を無視した」「話を見失った」という問題は、3つのうちの1つにたどり着きます。ウィンドウが満杯になった、新しいセッションが冷たい状態で始まった、あるいは重要な詳細が長い貼り付けの死んだ中間に座っていた、のいずれかです。これを知っていれば、重要なものを 視界に 保つようにプロンプトとセッションを構成できます。

確認しよう

Check yourself

0/3
  1. 平易な英語750語は、おおよそ何トークンですか?
  2. 長いチャットが、どう始まったかを「忘れ」始めます。最も可能性が高い原因は:
  3. 巨大なドキュメントと、1つの重要な指示を貼り付けなければなりません。最適な配置は?

重要な用語

語彙を定着させる
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 4

:::note 要点

  • トークン は思考と請求の両方の単位 — 英語750語あたり約1,000、コードや他の文字ではより多い。
  • コンテキストウィンドウ は有限のデスク。長いチャットが忘れるのは、古い内容がそこから落ちるから。
  • ウィンドウ内であっても、指示を先頭に置き、末尾で言い直す — 中間は十分に使われない。
  • デフォルトでは メモリは存在しない。ファイル、プロジェクト、CLAUDE.md、または履歴の再送によって、意図的に与える。 :::

次へ