トークン、コンテキスト、メモリ
3つの考え方が、多くの「なぜそうしたの?」という疑問を解き明かします。トークン、コンテキストウィンドウ、そしてメモリです。
トークン:モデルが思考する単位
モデルは文字や単語を読みません。トークンを読みます。トークンとは、英語でおおよそ単語の¾ほどのテキストの塊です。「Unbelievable」は3〜4トークンかもしれず、よくある単語はそれぞれ1トークンです。あなたの入力もモデルの出力も、ともにトークンで数えられ、それが価格と制限の測定単位です。
手作業で数える必要はありませんが、おおまかな感覚は役立ちます。約750単語 ≈ 約1,000トークン。試してみましょう。
あくまで大まかな目安です(おおよそ 文字数 ÷ 4、または 単語数 × 1.33)。トークン数はモデルごとに異なります — 別のモデルのトークナイザーは決して使わないでください。正確な数値が必要な場合は、Anthropicのトークンカウント用エンドポイントを使用してください。
コンテキストウィンドウ:作業メモリ
コンテキストウィンドウは、モデルが一度に考慮できるトークンの最大数です。あなたのプロンプト、その返答、そしてこれまでの会話全体です。モデルの机だと思ってください。大きいですが、有限です。
会話がウィンドウを超えて大きくなると、最も古い内容が机から落ちます。だからこそ、非常に長いチャットは最初に言ったことを「忘れた」ように見えたり、脱線し始めたりするのです。
:::tip 実践上の意味
- 長い文書では、重要な指示を冒頭に置き、末尾でも繰り返しましょう。
- 新しいトピックには、巨大な履歴を引きずらず、新しいチャットを始めましょう。
- Claude Codeでは、意図的に管理しましょう。コンテキスト管理を参照してください。 :::
メモリ:あなたが与えない限り、存在しない
デフォルトでは、各会話はまっさらな状態です。モデルは前回のチャットを覚えていません。見かけ上の「メモリ」は、次のいずれかから生じます。
- 履歴の再送信 — チャットアプリは毎ターン会話を再送信します(ウィンドウが埋まるまで)。
- 明示的なメモリ機能 — 一部のClaudeの表面は、チャットをまたぐメモリを提供します(チャットをまたぐメモリを参照)。
- あなたが提供するファイル — プロジェクトとCLAUDE.mdは、あなたが制御する永続的なコンテキストを与えます。
- APIはステートレス — 会話を継続するには、以前のメッセージを自分で送り返します(最初のAPI呼び出し)。
なぜこれが重要なのか
ほぼすべての「以前の指示を無視した」「見失った」という問題は、コンテキストウィンドウが埋まったこと、または新しいセッションが何もない状態で始まったことに行き着きます。これを知っていれば、重要なものを机の上に保つよう、プロンプトとセッションを構成できます。