3行でいうと
- 手元のAIには「一度に読める長さ」があり、設定で決まります。初期値は小さいことがあります。
- 長く入れても、中ほどの情報の扱いが弱くなる、と論文は報告しています。
- 分けて要約し、その要約をまとめ直す手順は、LlamaIndexの公式文書にも載っています。
- アプリが自動で検索に切り替えると、文書全体を読んだ要約にはなりません。
この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書や論文を読んでまとめたものです。手順と計算例は、読んだ資料にもとづく僕らの組み立てで、実際の出来栄えは確かめていません。
先に結論
見立てです。手元で長い文章を要約するときの基本は、次の4点です。
- まず、使う設定の「一度に読める長さ」を確かめる。
- 文章がそれより十分短いなら、そのまま入れる。
- 長いなら、見出しなどの切れ目で分け、1つずつ要約し、要約をまとめ直す。
- 大事な数字や固有名詞は、要約を信じ切らずに元の文章と見比べる。
前提:用語
- トークン:AIが文章を数える単位。LM Studioの文書は、英語で1トークンが単語のおよそ4分の3としています。Appleの開発者文書は、日本語などでは1トークンがおよそ1文字と書いています。モデルごとに違うので、目安です。
- コンテキスト長(コンテキストウィンドウ):AIが一度に扱える長さ。質問、資料、AIの答えが、全部この中に入ります。Appleの文書は、指示や答えも含めてこの枠を使うと説明しています。
- KVキャッシュ:会話の記憶の置き場。長くするほど、メモリを使います。
1. 一度に読める長さは、設定で決まる
モデルが対応する最大の長さと、実際に使う長さは別です。
- Ollamaの文書では、既定の長さはVRAM(グラフィックカードの専用メモリ)で変わり、24GiB未満は4k、24〜48GiBは32k、48GiB以上は256kです。コーディングやエージェントなどには、少なくとも64,000トークンを勧めています。長くするとメモリも増えます。
- Ollamaで今の長さを調べるには、
ollama psの「CONTEXT」の列を見ます。 - Ollamaの配布ページでは、qwen3.8が256K、gemma4の小型版が128K、中型版が256Kと表示されています。
- LM Studioでは、モデルごとの既定の長さを保存できます。
つまり、「256K対応」のモデルでも、初期設定のままだと数千トークンしか読んでいないことがあります。これはOllamaの既定の表からの読み取りで、僕らは実際の動作を確かめていません。
長くするとメモリが増える
僕らの計算です。Qwen3-8Bの設定ファイルから、1トークンあたりのKVキャッシュは147,456バイトです(BF16)。32,768トークンで約4.8GBになります。モデル本体とは別に、これだけ要ります。256K対応のモデルを最後まで使うのは、手元の機械では重い、と見ています。
2. 入れた長さのぶん読めるとは限らない
中ほどが弱くなる
論文「Lost in the Middle」(Liuら、2023年7月、arXiv:2307.03172)は、複数の文書から答えを探す課題などで、必要な情報の位置を変えたときの成績を調べました。要旨によると、成績は情報が入力の最初か最後にあるとき最も高く、長い入力の真ん中にあるときに大きく下がります。長い文脈向けに作られたモデルでも、そうだ、と書かれています。
公称の長さを、そのまま信じない
論文「RULER」(Hsiehら、2024年4月、arXiv:2404.06654)は、17個の長文脈モデルを評価しました。要旨では、探す課題の単純な版ではほぼ満点でも、長さを増やすと、ほとんどのモデルで成績が大きく下がると報告しています。32K以上をうたうモデルのうち、32Kで十分な成績を保てたのは半数だけでした。
見立てです。この2つの論文は、2023〜2024年のモデルが対象です。いまの手元のモデルに同じ数字が当てはまるとは限りません。ただ、「長く入れるほど、細部の取りこぼしが起きやすい」と考えて設計するのは、無難だと思います。
3. アプリが勝手に検索に切り替えることがある
LM Studioの文書によると、文書ファイルを添付したとき、文書がモデルの文脈に収まるなら、内容をそのまま会話に加えます。文書が非常に長いときは、RAG(検索して、関連しそうな部分だけをモデルに渡す方式)を使います。
見立てです。RAGが選んだ部分だけを読むなら、「文書全体の要約」を頼んでも、全体を見た答えにはなりません。「全体を漏れなく」ほしいときは、次の「分けて読ませる」やり方のほうが向くと考えます。
4. 分けて読ませる:分割と統合
論文「Recursively Summarizing Books with Human Feedback」(Wuら、2021年9月、arXiv:2109.10862)は、本1冊の要約で、まず小さな部分を要約し、その要約をさらに要約する再帰的なやり方を使いました。同論文では、人の評価を使って学習したモデルで、この方式を試しています。
LlamaIndexの公式文書にも、同じ考え方の「応答モード」が載っています。
| モード | 公式文書の説明(要約) | 向く用途(文書の記述) |
|---|---|---|
| tree_summarize | 文章を、収まる大きさにまとめて要約し、その答えをまた束ねて要約する。1つになるまで繰り返す | 要約 |
| refine | 断片を順に処理し、前の答えと次の断片で答えを更新する。断片ごとにAIを呼ぶ | 詳しい答え |
| simple_summarize | 全部を1回のプロンプトに収まるよう切り詰める | 手早い要約。切り詰めで細部を失うことがある |
どれも、断片が大きすぎるときは重なり(オーバーラップ)を持たせて再分割する、と説明されています。
手順の組み立て
僕らの案です。
- 長さを決める。 設定の長さから、質問文と答えの余裕を引いた分が、1つの断片に入れられる量です。
- 切れ目で分ける。 見出し、章、段落の区切りで分けます。文の途中では切りません。前後に少し重なりを持たせます。
- 各断片を要約する(分担)。 断片ごとに、同じ指示で要約させます。「何ページ目か」「元の言葉をそのまま引用した数字」を残すよう頼みます。
- 要約を束ねて統合する。 断片の要約が、まだ長すぎるなら、さらに束ねて要約します(再帰)。
- 確かめる。 数字、日付、名前は、元の文章と見比べます。
僕らの計算です。例を作ります。日本語で5万字の文章を、1トークン1文字の目安で5万トークンとします。設定の長さが8,192のとき、断片を5,000トークンにし、10%の重なり(新しい部分は1つあたり4,500トークン)で約12個に分けます。各断片の要約を400トークンにすると、合計は約4,800トークンです。指示と統合後の答えの分を足しても、8,192に収まる計算です。
断片ごとの指示の例(僕らの案です)
断片の要約に使う指示の例です。公式の文書の例ではなく、この記事で考えた文面で、実行して確かめていません。
次の文章は、長い文書の一部(第◯部)です。 重要な事実を、箇条書きで10個以内にまとめてください。 数字・日付・固有名詞は、原文のまま書いてください。 原文にないことは書かないでください。
統合の指示の例です。
以下は、同じ文書を分けて要約したものです。順番どおりです。 重複をまとめ、全体の流れが分かる要約にしてください。 食い違う点があれば、そのまま書き出してください。
「食い違いを書き出させる」のは、統合の段階で、AIが勝手に辻褄を合わせるのを減らすための工夫です。効果は確かめていません。
どの方法を選ぶか(見立てです)
- 全体の流れをつかみたい:分割して要約し、統合(tree_summarizeの考え方)。
- 特定の質問に答えさせたい:検索(RAG)のほうが向く。
- 細かい漏れをなくしたい:断片ごとに順に処理(refineの考え方)。ただし、AIを呼ぶ回数が増え、時間がかかります。
つまずきやすい点
- 設定の長さが小さいまま。 長い文書を入れても、先頭だけを読んでいる、ということが起きます。Ollamaの文書では、この場合に黙って切り捨てるのか、エラーになるのかは、読んだ範囲で確認できませんでした。Appleの内蔵モデルは、上限を超えるとエラーになる、と書かれています。
- 答えの分の余裕がない。 入力でいっぱいにすると、答えが途中で切れます(見立てです)。
- 統合で細部が消える。 要約の要約は、元の細部から遠ざかります。重要な数字は、断片の段階で別に抜き出しておきます。
- 重なりがなく、切れ目をまたぐ話が消える。
- 「考えるモード」が長すぎる。 要約には、考えるモードが要らないことがあります(見立てです)。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。論文の要旨、公式文書の記述、設定ファイルからの計算を読んだ範囲です。
- 論文の数字は、当時のモデルについてのものです。最近のモデルの成績ではありません。
- 日本語のトークン数は、モデルごとの分け方(トークナイザー)で変わります。Appleの「1トークンおよそ1文字」は、Appleの内蔵モデルについての記述です。
- 8,192トークンの計算例は、考え方を見せるための仮の数字です。
- LangChainの要約の案内ページは、確認したときには別のページに転送されていたので、出典にしていません。
- 要約を、契約や医療、仕事の判断の根拠にする場合は、必ず原文を確認してください。
出典
- Lost in the Middle: How Language Models Use Long Contexts(arXiv:2307.03172、Liuら、2026年10月8日確認)
- RULER: What's the Real Context Size of Your Long-Context Language Models?(arXiv:2404.06654、Hsiehら、2026年10月8日確認)
- Recursively Summarizing Books with Human Feedback(arXiv:2109.10862、Wuら、2026年10月8日確認)
- Response Modes(LlamaIndex Developer Documentation、LlamaIndex、2026年10月8日確認)
- Response Synthesizer(LlamaIndex Developer Documentation、LlamaIndex、2026年10月8日確認)
- Context length(Ollama Docs、Ollama、2026年10月8日確認)
- qwen3.8(Ollama Library、Ollama、2026年10月8日確認)
- gemma4(Ollama Library、Ollama、2026年10月8日確認)
- Chat with Documents(LM Studio Docs、LM Studio、2026年10月8日確認)
- Per-model Defaults(LM Studio Docs、LM Studio、2026年10月8日確認)
- Managing the context window(Apple Developer Documentation、Apple、2026年10月8日確認)
- Qwen3-8B config.json(Hugging Face、Qwen、2026年10月8日確認)
更新履歴
- 2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
