AIツールギャラリー

チャンクとは?文書をAIに渡すために区切った一片|サイズが検索精度を変える理由と決め方

AIツールギャラリー編集部更新: 2026年9月12日
チャンクとは?文書をAIに渡すために区切った一片|サイズが検索精度を変える理由と決め方

社内の資料をAIに検索させようとすると、設定画面に「チャンク」という項目が出てきます。最大チャンク長やチャンクオーバーラップといった数値の入力欄が並んでいることもあります。

カタカナのまま読んでも意味がつかめず、どの数値を入れれば検索がうまくいくのかも分かりません。

この記事では、チャンクが何を指す言葉なのか、分割のサイズが検索の結果をどう変えるのか、サイズをどう決めればよいのかを順に整理します。

「何文字が正解」と言い切れない設定なので、数値より決め方を持ち帰ってください!

この記事の監修者

山原 慎也
山原 慎也

AIリスキル株式会社 代表取締役

AIツールギャラリーを運営するAIリスキル株式会社の代表取締役。企業・自治体向けの生成AI研修とAI導入支援を手がけています。

実績: 大阪・関西万博 公式プログラム「AI HEROES COLLECTION」司会進行 / 神戸市デジタル人材育成エコシステム構築事業の運営 / MBS「せやねん!」「よんチャンTV」に生成AIの専門家として出演 / Felo日本初コアアンバサダー / Genspark第1期公式アンバサダー / Skywork公式アンバサダー / AKOOL公式パートナー など

チャンクとは、文書をAIに渡すために区切った一片

長い文書が複数の小さな一片に区切られ、そのうち質問に近い一片だけが取り出される様子を示した図

チャンク(chunk)は、英語で「かたまり」や「一片」を意味する言葉です。

AIの文脈では、長い文書を扱いやすい大きさに区切った、その1つ分を指します。区切る処理そのものを「チャンキング」、日本語では「文書分割」と呼ぶこともあります。

LangChainの公式ドキュメントは、テキスト分割の役割を、大きな文書を個別に取り出せるチャンクへ分け、モデルのコンテキストウィンドウの上限に収めることだと説明しています。

ここで効いてくるのは「個別に取り出せる」という部分です。チャンクは単なる切れ端ではなく、検索でヒットして取り出される単位そのものです。

単位は「ファイル1つ」ではなく「取り出される一片」

AIに社内資料を答えさせる仕組みでは、質問に対して資料ファイルの全体が渡されるわけではありません。

検索で選ばれたチャンクがAIに渡され、その内容をもとに回答が作られます。どこで切ったかが、そのままAIが見る材料の範囲になります。

AIが回答を作る前に資料を探す仕組み全体はRAG、資料の置き場所としての整理はナレッジベースで扱っています。

なぜ文書を分割するのか

モデルの入力上限を超えてしまう問題と、1つの文書を1つのベクトルで表すと内容が混ざる問題という、分割する2つの理由を並べた図

理由は2つあります。1つめは、モデルが一度に受け取れる入力量に上限があることです。

OpenAIの公式ガイドは、エンベディング用モデルの text-embedding-3-small と text-embedding-3-large の最大入力を、いずれも8192トークンとしています。

Microsoft LearnはAzure OpenAI版の text-embedding-3-small について、最大入力長を8,191トークンと記載しています。

OpenAI系のモデルでは1トークンが英文で約4文字にあたるため、この上限は英語で約6,000語相当だという説明も添えられています。

上限を超えた分は切り捨てられます。Microsoft Learnは、分割によって入力トークンの要件を満たし、切り捨てによるデータの欠落を防げると説明しています。

AIが一度に読める量の上限そのものはコンテキストウィンドウで扱っています。

2つめは、1つの数値表現では内容を表しきれないこと

Microsoft Learnは、分割が必須になるのは元の文書がモデルの最大入力サイズを超える場合だとしたうえで、内容が1つのベクトルではうまく表せないときにも分割が有益だとしています。

例として挙げられているのは、多様なサブトピックを含むwikiページです。ページ全体がモデルの入力要件に収まる小ささでも、細かい粒度で分割したほうが良い結果になりうるとされています。

文章を数値の並びに変換する処理そのものはエンベディングで扱っています。

チャンクサイズが検索の精度を変える仕組み

小さいチャンクは一致が正確だが文脈が不足し、大きいチャンクは文脈が豊富だが正確さが落ちるという、逆向きのトレードオフを示した図

サイズを変えると、検索の当たり方が逆方向に動きます。

Difyの公式ドキュメントは、これを検索でよくあるジレンマとして説明しています。小さいチャンクは質問との正確な一致を可能にする一方で文脈が不足し、大きいチャンクは豊かな文脈を与える一方で検索の正確さを下げる、という内容です。

文脈が不足するとどうなるか、Anthropicが具体例を挙げています。

売上が前四半期比で3%成長したという一文だけのチャンクでは、どの会社のことか、どの期間のことかが分かりません。同社は、そのために正しい情報を取り出すことも、その情報を有効に使うことも難しくなると説明しています。

同社は、チャンクサイズ、チャンクの境界、重なりの選び方が検索の性能に影響しうるとも述べています。

逆にサイズを大きくすれば文脈は足りますが、1つのチャンクに複数の話題が混ざります。質問と関係の薄い部分まで一緒に取り出されることになります。

この2つが逆を向いているため、一律の最適サイズは決められません。適切なサイズは、文書の種類、使うモデル、想定する質問によって変わります。

意味の近さをもとに探す仕組みそのものはベクトル検索で扱っています。

分割の仕方は「文字数で切る」だけではない

文字数で切る方式、文書の構造で切る方式、意味のまとまりで切る方式という3つの分割方式を並べた図

区切り方にはいくつかの方式があり、文字数で機械的に切るのはそのうちの1つです。

文字数やトークン数で切る方式は、測れる単位で区切るため結果が一定になり、扱いやすくなります。Microsoft Learnは固定サイズの例として200語または600文字、重なりを内容の10〜15%とする値を挙げています。

文書の構造で切る方式では、文末の句読点、改行、MarkdownやHTMLの見出し記法などを区切りに使います。LangChainの公式ドキュメントは、この方式が文書の論理的な構成を保ち、各チャンク内の文脈を維持すると説明しています。

意味のまとまりで切る方式はセマンティックチャンクと呼ばれます。Microsoft Learnは、文や段落をまたいで文脈と意味のつながりを保つ単位に分ける方式として挙げ、ページの境界をまたげるとしています。

組み合わせる方法もあります。Microsoft Learnはカスタム例として、大きな文書では可変サイズで分割しつつ、文書の中盤のチャンクにも文書タイトルを付けて文脈の欠落を防ぐやり方を挙げています。

LangChainの再帰的な分割は、段落のような大きい単位をまず保ち、サイズに収まらなければ文、さらに語へと順に下りていきます。

設定画面で触る項目にも細かい挙動があります。Difyでは区切り文字は分割時に取り除かれ、最大チャンク長を超える部分は区切り文字の設定にかかわらず分割されます。

分割したチャンクを保存する先についてはベクトルデータベースで扱っています。

オーバーラップ(重なり)は何のためにあるか

隣り合うチャンクの境目を少し重ねることで、切れ目にまたがる文の文脈が失われないようにする仕組みを示した図

オーバーラップは、隣り合うチャンクの境目を少しだけ重ねて持たせる設定です。

Difyの公式ドキュメントは、その目的を、意味のつながりを保ち、大事な情報が分断されるのを防ぐことだと説明しています。

重ねる量について、Microsoft Learnは512トークン(約2,000文字)のチャンクサイズと、その25%にあたる128トークンの重なりから始めることを出発点として推奨しています。

同じページには条件も添えられています。最適な重なりは内容の種類と用途によって変わり、構造がしっかりしたデータは重なりが少なくて済む一方、会話文や物語のような文章はより多い重なりが有益な場合があるとされています。

上限の制約もあります。Azure AI SearchのText Split skillでは、重なりの長さは最大ページ長の半分未満でなければなりません。

Microsoft Learnは、重なりを大きすぎる値に設定すると、重なりがまったく現れない結果になりうるとも注記しています。

重なりは保険なので、増やすほど安全になるわけではなく、同じ文の重複も増えていきます!

実際の設定項目としてどう見えるかは、Difyのように分割の設定を画面から指定できるツールで確認できます。

サイズの決め方と、日本語の文書で先に確認すること

自分の文書の長さを測る、出典のある値を出発点に置く、実際の質問で確かめるという3ステップを示した図

順番は、測る、出発点を置く、実際の質問で確かめる、の3つです。

1つめは、自分が扱う文書の長さを測ることです。Microsoft Learnの例では、200ページのPDFを調べたところ、1ページあたり平均189トークン、最大1,583トークンでした。

この測定結果を踏まえ、同ページは標準的な推奨として挙げている2,000文字・重なり500文字より小さい、1,000文字・重なり200文字を選んでいます。

2つめは、出典のある値を出発点に置くことです。Microsoft Learnが文字数で設定する場合の初期値として示しているのは、最大ページ長2,000文字・重なり500文字です。

同ページには、パラメータの最適な選び方はチャンクの使い方によって変わるという条件が明記されています。この値は正解ではなく、動かし始めるための起点です。

3つめは、実際に来る質問で確かめることです。同じPDFで重なりを0にしたまま最大ページ長を1,000・2,000・5,000文字に変えると、チャンクの総数は172件・85件・34件と変わります。

同じ文書を1文ごとに切った場合は13,361件でした。設定ひとつで、取り出される情報の粒度がこれだけ動きます。

手元の質問を数本用意して、設定を変えながら返ってくる内容を見比べるのが確実です。

日本語の文書では文字数とトークン数が一致しない

Microsoft Learnは、文字数がトークンの定義と一致しないと注記しています。LLMが数えるトークン数は、文字数による固定サイズ分割で測った文字サイズと異なる場合があるとしています。

そのため、推奨値を読むときは単位の確認が先に必要です。トークン基準で示された値を、文字数で設定する欄にそのまま入れることはできません。

512トークンや800トークンという値を見たときは、どちらの単位の話かを確かめてください。

トークンと文字数の関係はトークンで扱っています。

要約用と検索用で別のモデルを使う場合について、Microsoft Learnは両方に合うサイズを選ぶよう挙げています。複数のシステムにまたがる文書を対象にする場合は、エンタープライズサーチも合わせて確認してください。

よくある質問

チャンクサイズは何文字にすべきか、分割せずに入れてよいか、オーバーラップは0でよいかという3つの疑問を並べた図

チャンクサイズは何文字にすればいいですか

文書の種類、使うモデル、想定する質問によって変わるため、一律の正解はありません。

出発点としては、Microsoft Learnが文字数で設定する場合の初期値として示す最大ページ長2,000文字・重なり500文字があります。同ページはあわせて、最適な選び方はチャンクの使い方によって変わるとしています。

分割せずに文書をそのまま入れてはいけませんか

Microsoft Learnは、分割が必須になるのは元の文書がモデルの最大入力サイズを超える場合だとしています。上限に収まっていれば、分割しない構成も選べます。

ただし同ページは、内容が1つのベクトルではうまく表せない場合にも分割が有益だとしています。多様な話題を含む文書では、細かく分けたほうが良い結果になりうるとされています。

オーバーラップは0でも動きますか

動きます。Microsoft Learnが載せているチャンク数の実測表には、重なりを0にした設定での結果も含まれています。

重なりを0にすると、文や段落の途中で切れた箇所の文脈が失われる可能性があります。重複が増えることと引き換えに何を守りたいかで決めてください。

まとめ

区切った一片という定義、分割する2つの理由、サイズのトレードオフ、一律の最適値は無いことという4つの要点を並べたまとめ図

チャンクとは、文書をAIに渡すために区切った一片であり、検索で取り出される単位そのものです。

分割する理由は2つあります。モデルの入力トークン上限に収めることと、1つの文書を1つのベクトルで表すと内容を表しきれない場合があることです。

サイズは小さくすると質問との一致が正確になる一方で文脈が不足し、大きくすると文脈が豊かになる一方で正確さが落ちます。この逆向きの性質があるため、一律の最適値はありません。

Microsoft Learnが示す2,000文字・重なり500文字や、512トークン・重なり25%は、いずれも出発点として提示された値です。最適な値は文書の種類、使うモデル、想定する質問によって変わります。

社内文書の検索やRAG基盤の設計で、分割の方針から相談したい場合はお問い合わせはこちらからご相談ください。

この記事の出典

関連AIツール

この記事は役に立ちましたか?

感想は、今後の記事改善に活用します。

関連記事

Agentic RAGとは?AIエージェントにRAGをやらせる仕組み|通常のRAGとの違いと精度の条件
解説・ガイド2026年9月12日

Agentic RAGとは?AIエージェントにRAGをやらせる仕組み|通常のRAGとの違いと精度の条件

Agentic RAGとは、IBM Thinkの説明によると、AIエージェントを使ってRAGを行う仕組みです。検索の要否・回数をAIが判断する具体的な例はLangGraphの実装に、通常RAGとの違いや精度向上の条件はNVIDIAの技術ブログに基づいて整理し、複数のエージェントに役割を分けるIBM Community Blogの構成例との違いも扱います。

Agent Skillsとは?プロンプト・ワークフローとの違いは「どこまで自動で読み込むか」
解説・ガイド2026年9月12日

Agent Skillsとは?プロンプト・ワークフローとの違いは「どこまで自動で読み込むか」

Agent Skillsは、AIエージェントに専門知識を持たせる再利用可能な資源です。プロンプトは会話ごとの一回限りの指示、ワークフローは手順そのものを固定する設計で、Agent Skillsはどちらとも軸が異なります。MCPとの補完関係もあわせて公式ドキュメントの記述から整理します。

構造化出力とは?ツール呼び出しとの違いは「答えを返すか、処理を呼ぶか」|必ず指定形式で返るとは限らない理由
解説・ガイド2026年9月12日

構造化出力とは?ツール呼び出しとの違いは「答えを返すか、処理を呼ぶか」|必ず指定形式で返るとは限らない理由

構造化出力は、あらかじめ決めた形(スキーマ)に沿ってAIの答えを返させる仕組みです。ツール呼び出しとは目的が違い、指定した形式で必ず返ってくるかどうかも、使う製品やモデルによって条件が変わります。公式ドキュメントの記述から整理します。

ナレッジグラフとは?ベクトルDBとの違いは「近さで探すか」「関係をたどるか」|GraphRAGの前提知識
解説・ガイド2026年9月12日

ナレッジグラフとは?ベクトルDBとの違いは「近さで探すか」「関係をたどるか」|GraphRAGの前提知識

Google・Neo4jの説明によれば、ナレッジグラフはものごとと関係を明示的なデータとして持つ仕組みです。近さで探すベクトルDBとは軸が異なり、Microsoft ResearchのGraphRAG研究ではこの構造を検索の土台に使います。各社の公開資料をもとに、違いと限界を整理します。

次のAIツール選びへ

気になるツールを並べて、料金や特徴の違いを確認できます。