0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RAGの次は「探索」? 文書コーパスをスキルツリー化するCorpus2Skillを試す

0
Posted at

RAGの次は「探索」? Corpus2Skillを試す

論文「Don't Retrieve, Navigate」(arXiv:2604.14572)とその実装 Corpus2Skill が面白かったので紹介します。日本語解説サイトも公開しました。

解説サイト: https://corpus2skill.businesshub.trueone.co.jp/

コンセプト: 検索するな、ナビゲートせよ

従来のRAGでは、LLMは検索結果の受動的な消費者です。コーパス全体がどう構成されているか、何をまだ見ていないかを知る術がありません。

Corpus2Skillは発想を変えます。

  1. オフラインで文書コーパスを階層スキルツリーにコンパイルしておく
  2. サーブ時はLLMエージェントが鳥瞰ビューから要約階層をドリルダウンし、外れたブランチはバックトラックして文書に到達する

サーブ時のランタイム構成要素はLLMのみ。ベクトルDBも検索APIも不要です。

コンパイルパイプライン(6段階)

Load → Embed → Cluster → Summarize → Label → Build
  • Load: .txt / .md / .json / .jsonl を読み込み
  • Embed: sentence-transformers(既定は Qwen3-Embedding-0.6B)
  • Cluster: 再帰的K-means+凝集マージで階層ツリーを構築
  • Summarize / Label: 各クラスタノードの説明文と短いトピックラベルをLLMが生成
  • Build: SKILL.md / INDEX.md / documents.json として実体化。出力は .claude/skills/ 規約でAnthropic Skills API互換

使ってみる

pip install -e .
cp .env.example .env   # Anthropic APIキーを設定

python -m corpus2skill \
    --input ./corpus_dir \
    --output ./compiled_output \
    --p 10 \          # 分岐率(ノードあたり子数)
    --max-top 8 \     # トップレベルスキル数の上限
    --model claude-sonnet-4-6

サーブ側はPython APIから:

from corpus2skill.serve import answer_query
from corpus2skill.config import ServeConfig

config = ServeConfig(skills_dir=Path("./compiled/.claude/skills"))
result = answer_query("How do I add a custom domain?",
                      skills_dir=skills_dir, output_dir=output_dir, config=config)

エージェントはトップレベルのスキル説明→ブランチ→リーフの文書IDと辿り、get_document ツールで全文を取得して回答します。

ベンチマーク結果の要点

  • エンタープライズ顧客サポートQAで、single-shot dense / ハイブリッド / 階層検索 / エージェント型RAGの全ベースラインを回答品質とグラウンディングで上回る
  • コストは中程度の増加。ただしプロンプトキャッシュで1クエリ$0.172→$0.089(48%削減)(WixQA、入力の約70%がキャッシュヒット)

重要な注意: 万能ではない

論文の10サブセット汎化実験が誠実で、

  • 単一ドメイン+復元可能なトピック分類体系を持つコーパス → ナビゲーションが一貫して有効
  • ❌ オープンドメインの事実断片プール、均質な表形式データ → フラット検索の方が強い

「社内マニュアル・製品ドキュメント向き、雑多なFAQ寄せ集めには不向き」と覚えておくとよさそうです。

まとめ

実装はWIPで粗削りですが、「検索インフラなしのRAG代替」という方向性は追う価値があります。クラスタリングの内部やコスト構造の深掘りはZennに書きました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?