【入門】AIは長文の途中を忘れるか Claudeに20万字まで渡した
長文の途中を AI が忘れるのかを、ダミーの長い文章に合言葉を1つ埋めて試した。Claude の haiku に、2千字から20万字までの文章を渡し、合言葉を答えさせた。
合言葉を冒頭・中央・末尾に置いた36回(2千〜20万字)は、36回すべて正解だった。「真ん中を忘れる」は、この実験では起きなかった。
起きたのは入力の上限だ。40万字の文章は「約382,038トークンで上限200,000を超える」というエラーで、処理されなかった。トークンの数え方も実測している。この検証は Claude だけで行い、ChatGPT などでは試していない。
AIは文章を文字そのものでなく「トークン」という単位に分けて読む。一度に受け取れるトークン数の上限が、コンテキストウィンドウだ。
文字数とトークン数は一致しない。言語や文の種類で1文字あたりの数が変わる。
実行日は2026-10-01。API呼び出しなしで、手元のMacで tiktoken 0.13.0 の o200k_base を使った。これは OpenAI 系のトークナイザで、Claude のトークン数ではない。サンプルは編集部が書いた6種類の文章で、各701〜1664字。
| サンプル | 文字数 | トークン数 | 1字あたり |
|---|---|---|---|
| ひらがな中心 | 872 | 679 | 0.779 |
| 漢字多め | 767 | 698 | 0.91 |
| カタカナ語 | 701 | 489 | 0.698 |
| 英文 | 1664 | 359 | 0.216 |
| 数字とコード | 1199 | 549 | 0.458 |
| 混在 | 789 | 533 | 0.676 |
英文は1字あたり0.216、漢字多めの文は0.91で、日本語は英文より1字あたりのトークンが多かった。ひらがなサンプルは単語の間に空白を入れた文で、空白が数を増やしている可能性がある。
モデルは claude-haiku-4-5-20251001。ツールもWeb検索も無しで、1回ごとに新しい会話。ダミー文は、場所・動作・結びの語を組み合わせて編集部が機械的に作った文だ。そこに「【覚え書き】この文章の合言葉は「〇〇」である。」という1文を、冒頭(3%地点)・中央・末尾(97%地点)に置いた。長さは2千・2万・8万・20万字、各位置2回の計24回。末尾に付けた入力は次のとおり。
上の文章のどこかに「合言葉」が1つだけ書かれています。合言葉は何ですか。合言葉だけを答えてください。
| 文章の長さ | 冒頭 | 中央 | 末尾 |
|---|---|---|---|
| 2000字 | 2/2 | 2/2 | 2/2 |
| 20000字 | 2/2 | 2/2 | 2/2 |
| 80000字 | 2/2 | 2/2 | 2/2 |
| 200000字 | 2/2 | 2/2 | 2/2 |
24/24回が正解で、エラーは0回だった。20万字の入力は、後述のエラーの換算(1字あたり約0.955トークン)で約191,117トークンになり、上限の20万トークンの手前だった。
上の版は合言葉が目立つので、条件を厳しくした。「【無効】以前の合言葉は〇〇だった」という偽の文を20個、文章全体にばらまき、「【有効】」と書かれた1つだけを答えさせた。長さは2万字と20万字、位置3つ、各2回の計12回。入力は上の質問に「有効なのは【有効】と書かれた1つだけ」を加えた。
| 文章の長さ | 冒頭 | 中央 | 末尾 |
|---|---|---|---|
| 20000字 | 2/2 | 2/2 | 2/2 |
| 200000字 | 2/2 | 2/2 | 2/2 |
12/12回が正解で、偽の合言葉を答えた回は0回だった。
- 試したのは Claude の haiku だけ。ChatGPT・Gemini など他のAIや、sonnet は試していない。
- ダミー文は単純な繰り返しの文で、探す対象が1文だけの課題だ。実際の契約書や議事録の「要約」で、途中が抜けるかは試していない。
- 位置は3か所、各2回だけ。この結果は「長文で必ず忘れる」という説明を支持しなかったが、否定もしない。
- エラー表示のトークン数は概算(~付き)で、システム側の入力分を含む可能性がある。
以下は今回の実験では効果を確かめていない一般的な工夫だ。
1. 長い資料は、章ごとに要約させてから、その要約をまとめさせる。
2. 大事な指示は、文章の前にも後にも書く。
3. 新しい会話では、前の会話の前提を短くまとめ直して渡す。
資料が膨大なら、必要な部分だけを検索して渡す方法もある。RAGの話 を参照。
- 合言葉を探す課題は、2千字から20万字まで36回すべて正解。偽の合言葉を混ぜても全問正解だった。
- 上限を超える入力はエラーになる。40万字で約382,038トークンだった。
- トークン数は言語と数え方で変わる。日本語は英文より1字あたりが多い。