選び方
- 凝った手法の前に、構造を意識した分割(見出しやセクション単位)から始めましょう。
- 少し重なりを持たせ、すべてのチャンクに文書のタイトルとセクションを付けてください。
- 変更の前後で検索の精度を測りましょう。チャンクサイズは信念ではなく、試すべき設定です。
確認すべきポイント
選択肢を分けるポイントを、重要な順に並べています。
01
まず構造を意識した分割を
見出し、セクション、リストの境界で分割すれば、定義や手順が1つにまとまったままになります。これにはパーサーからの構造が必要なので、解析済みの文書を読むチャンカー(DoclingのHybridChunker、Unstructuredのby_title、Markdownの見出しによる分割)のほうが、生のテキストの分割より通常は優れています。凝ったことを試す前に、ここから始めましょう。
02
サイズは埋め込みモデルのトークンで測る
埋め込みモデルはトークン上限を超えた入力を、多くの場合黙って切り捨てるので、チャンクの上限はモデルと同じトークナイザーで数えるべきです。文字数による上限(Unstructuredのmax_characters、LangChainの既定の分割)は近似にすぎません。DoclingのHybridChunkerや、LangChain、LlamaIndex、Chonkieのトークン分割は、トークナイザーを直接受け取ります。
03
すべてのチャンクに文脈を持たせる
「期限は30日です」というチャンクは、どの規程のものかがわからなければ役に立ちません。文書のタイトル、見出しの階層、キャプションをメタデータとして付けるか、埋め込みの前にテキストの先頭に加えるチャンカーを選びましょう。文が境界をまたぐときには少しの重なりが役立ちますが、見出しの代わりにはなりません。
04
表とコードは1つの単位として扱う
汎用のテキスト分割は、表を行の途中で、関数を本体の途中で切ります。Doclingのように各断片で表のヘッダー行を繰り返す、Unstructuredのように表を独自のチャンクに分けるといった表を意識したオプションや、構文に従うコード分割(LangChain、LlamaIndex、HaystackのPython AST分割)を探しましょう。
05
セマンティックチャンキングには懐疑的に
セマンティックチャンカーは、文と文の埋め込みの類似度が下がるところで分割します。Vectaraの研究者による2024年の研究では、追 加の計算に見合う一貫した改善は固定サイズのチャンクに比べて見られず、8つの手法を比べた2026年8月の研究では、最良の手法が埋め込みモデル、データセット、指標によって変わりました。単純なベースラインを測ってから試してください。チャンカーの公開リーダーボードはなく、目にするものはどれも単一の研究かベンダーのグラフです。
06
チャンクの見た目ではなく検索を測る
実際の質問とそれに答える段落からなる小さなテストセットを作り、チャンキングの設定ごとにrecall at k(正しい段落が上位k件の結果に入る頻度)を比べましょう。チャンクサイズは信念ではなく、試すべきパラメータです。パーサーや埋め込みモデルを変えたら、そのたびにテストを再実行してください。
07
メンテナンスとコードの置き場所
チャンキングのコードは小さいので、リスクはバグよりも放棄です。LangChainは2026年5月に、SemanticChunkerがあったlangchain-experimentalパッケージをアーカイブし、それをメインの分割パッケージに移す要望は対応予定なしとして閉じられました。すでに依存しているライブラリ内のチャンカーを選ぶか、バージョンを固定しましょう。
選択肢の違い
ほとんどのチームに、独立したチャンキングライブラリは必要ありません。 フレームワークの分割機能(LangChainのtext splitters、LlamaIndexのnode parsers、Haystackのpreprocessors)は、再帰、トークン、見出しベース、コードの分割をカバーしており、すでにそのフレームワークを使っているなら妥当な既定の選択です。パーサー組み込みのチャンカー(DoclingのHybridChunker、Unstructuredのbasicとby_titleの戦略)には利点があります。文書の実際の構造が見えるので、セクション、表、キャプションをまとめておけます。
Chonkieのような専用ライブラリは、トークンや文の分割から、セマンティック、late、LLM駆動のチャンキングまで最も幅広い選択肢を軽いインストールで提供しており、フレームワークを変えずに手法を試したい場合に役立ちます。late chunkingは、まず文書全体を埋め込み、次にチャンクごとにトークンのベクトルをプールするので、各チャンクのベクトルが周囲の文脈を持ちます。トークン単位の出力を公開する、長いコンテキストの埋め込みモデルが必要です。
6 個のツールを比較
当サイトの評価順です。各レビューで出典、料金、評価の詳細を確認できます。
| ツール | 評価 | 当サイトの評価 | 向いている用途 | 料金 |
|---|---|---|---|---|
| Doclingリポジトリ | 4.5/5 | Docling は表を正しく扱えるオープンソースのパーサーであり、同時にセキュリティリリースを飛ばすことが許されないパーサーでもあります。 | 複雑な表を含む PDF や Office 文書を対象に、セルフホスト型の RAG を構築するチーム。 | MIT ライセンスの無料オープンソースです。 |
| LlamaIndexリポジトリ | 4.3/5 | ドキュメント主体のRAG向けとしては依然として奥深いツールキットですが、開発元はフレームワークがもはや最優先事項ではないことを率直に明言しています。 | 大規模で多様なデータソースを対象に、RAGやドキュメントエージェントを構築するPython開発者に適しています。 | フレームワークはMITライセンスで無料です。LlamaParse(有料クラウド): Free(10k credits)、Starter月額$50(40k credits)、Pro月額$500(400k credits)、Enterpriseはカスタム。1,000 credits = $1.25です。 |
| LangChainリポジトリ | 4.2/5 | LLMアプリ向けの統合ライブラリとしては今も最も幅広く、1.0以降はかなり整理されました。ただし、かつてのように迷わず選ぶ定番ではなくなっています。 | 多くのプロバイダーやデータとの統合が必要なエージェントを構築し、将来的に独自のLangGraphワークフローへ発展させる可能性のあるチーム。 | MITライセンスの無料オープンソースです。LangSmithは別料金で、Developerは1シ ート無料、Plusは1シートあたり月39ドル、Enterpriseは個別見積もりです。 |
| Haystackリポジトリ | 4.2/5 | RAGシステムを信じるのではなく読んで理解したい人のためのフレームワークです。その代わり、部品同士の接続は自分で多めに書くことになります。 | 保守しやすい本番向けのRAGとエージェントのパイプラインをPythonで構築するエンジニアリングチーム。 | Apache 2.0ライセンスの無料オープンソースです。deepset Studioは1ユーザーまで無料で、Haystack Enterprise Platformは個別見積もりです。 |
| Unstructuredリポジトリ | 3.8/5 | 特殊なファイル形式を網羅する点では依然として最も広範ですが、開発元自身が有償版を利用すべき理由を示す数値を公表しています。 | RAG向けに多様なドキュメント形式を取り込むETLパイプラインを構築するチームに適しています。 | ライブラリはApache 2.0の下で無料です。ホステッドプラットフォームは10,000ページまで無料で、その後は1ページあたり$0.015です。VPCや専用デプロイメントを含むBusinessプランは個別見積もりとなります。 |
| Chonkieリポジトリ | 3.7/5 | 書き直しの途中にある整ったチャンキングライブラリです。v1.7 は今日使えますが、その特徴の大半は v2 で削除される予定です。 | 軽い再帰チャンキングやコードのチャンキングの工程が必要で、近いうちの v2 への移行を受け入れられるチームに向いています。 | MIT ライセンスの無料オープンソースです。 |
仕様の比較
このステップで重要な仕様です。2026年10月19日に確認しました。導入前に提供元のサイトで確認してください。
| ツール | 手法 | トークン基準のサイズ | 構造の認識 | 言語 | ライセンス |
|---|---|---|---|---|---|
| Docling | 階層、ハイブリッド、行ベース | あり(Hugging Faceまたはtiktoken) | 完全なレイアウト。表のヘッダーを繰り返す | Python | MIT |
| LlamaIndex | 文、トークン、セマンティック、階層 | あり(TokenTextSplitter) | Markdown、HTML、JSON、コード | Python | MIT |
| LangChain | 再帰、文字、トークン、コード | あり(tiktokenなど) | Markdown、HTML、JSONの見出し | Python | MIT |
| Haystack | 再帰、階層、埋め込み | Chonkieのトークン分割経由 | Markdownの見出し、Python AST、CSV | Python | Apache 2.0 |
| Unstructured | basic, by_title | なし(文字数の上限) | 要素の種類、セクション、ページ | Python | Apache 2.0 |
| Chonkie | トークン、再帰、セマンティック、late、LLM | あり | Markdownのレシピ、コード、表 | Python。RESTサーバー | MIT |
このステージが使われる場面
- 文書とのチャット:まず Chonkie から始めます。
- カスタマーサポートエージェント:まず Chonkie から始めます。
- コーディングエージェント:まず LlamaIndex から始めます。
- リサーチとナレッジグラフ:まず Chonkie から始めます。
- 長期記憶を持つアシスタント:まず Chonkie から始めます。
- 音声エージェント:まず Chonkie から始めます。
- プライベートなオンデバイスAI:まず Chonkie から始めます。
- 自社専用のファインチューニング済みモデル:まず Chonkie から始めます。
このガイドの出典
- LangChain text splitters
- Sunsetting langchain-experimental (GitHub issue #87)
- LlamaIndex node parser modules
- Docling chunking concepts
- Unstructured chunking
- Haystack preprocessors
- feyninc/chonkie on GitHub
- Is Semantic Chunking Worth the Computational Cost? (arXiv)
- Chunking strategies study, August 2026 (arXiv)
- Late Chunking (Jina AI, arXiv)