要点

対象:社内文書にAIで答えさせたい担当者

  1. ベクトルDBを使わない
  2. 分類がはっきりした文書に向く
  3. 質問ごとにAIが動き、費用は上がる

Corpus2Skillは、ベクトルDB(文書を数値に変えて、似たものを探すデータベース)を使わないRAGです。文書を先に話題ごとの目次にしておき、質問のときはAIが目次をたどって答えの文書を探します。12

この記事の目次(6節)
  1. Corpus2Skillとは
  2. 動かすのに必要なもの
  3. 質問すると、どう答えるのか
  4. 第三者の簡易な検証(Zenn)
  5. 論文の結果と、向く資料
  6. 試す前に確かめること

質問のたびにAIが何度か動くので、費用は上がります。話題の分類がはっきりした1つの分野の文書に向きます。社内のFAQ集や製品マニュアルは、これに当てはまりやすいと考えます。2

Corpus2Skillとは

米国の研究者らが公開した手法で、論文はEMNLP 2026のFindingsに採択されました。コードはMITライセンスで、公開されている版はv0.1だけです。12

ふつうのRAG(以下、従来型)は、質問に近い文章を探してAIに渡します。

Corpus2Skillは、先に文書を話題ごとの階層に分けて目次にします。質問のときは、AIが目次を上から順にたどり、文書ごとの番号(文書ID)を手がかりに全文を取り出します。12

従来型Corpus2Skill
準備文書を数値に変えて、専用のデータベースに入れる文書を階層に分け、AIが各グループに名前と要約をつける
質問のとき質問に近い文章を探すAIが目次をたどる。行き詰まった枝では戻る
質問ごとのAIの動き少ない多い
2つの段 01 02 目次づくり 質問に答える 文書を入れたときに1回 質問のたびに 文書を話題ごとの階層に分ける AIが各グループに名前と要約 目次と全文の保存先を出力 AIが上の目次を読む 関係する枝を降りる(行き詰まれば戻る) 文書の番号で全文を取り出す どちらの段も、ベクトルDBは使わない
Corpus2Skillの2つの段。目次づくりは文書を入れたときに1回、目次をたどるのは質問のたびに行います

目次は、SKILL.md と INDEX.md のファイルとして、Claudeのスキルと同じ .claude/skills/ の下に書き出されます。全文は documents.json に保存されます。1

動かすのに必要なもの

項目内容
実行環境Python 3.10以上
APIキーAnthropicのAPIキー。目次づくりと質問の両方で使う
初回のディスク容量約2GB。埋め込み(文書を数値に変える処理)のモデルを、最初の実行で取り込む
入力できる形式.txt・.md・.json のフォルダ、または .jsonl のファイル
既定のモデル要約用は claude-sonnet-4-6、埋め込み用は Qwen/Qwen3-Embedding-0.6B

手順

  1. pip install -e . で入れる
  2. .env.example を .env にコピーして、APIキーを書く
  3. 文書をフォルダに用意する
  4. python -m corpus2skill --input ... --output ... --p 10 で目次をつくる
  5. Pythonから answer_query を呼んで質問する

--p は、1つのグループを何個の下位グループに分けるか(分岐数)で、既定は10です。1

質問すると、どう答えるのか

AIはまず最上位の目次を読んで、関係のありそうな枝を選びます。枝を下へたどり、最下層の近くで文書の番号に行き着いたら、get_document で全文を取り出して答えます。1

最上位の目次を読むと、文書全体の構成が分かります。従来型では、検索で拾った断片しか見えません。2

第三者の簡易な検証(Zenn)

Zennの検証記事は、論文の実装を簡略にした自作版を、従来型と比べています。グループの数を減らし、一部の機能を省いているので、Corpus2Skill本体の結果ではありません。3

対象はAWS Bedrockのユーザーガイド28件です。質問は20問で、各3回実行しています。3

指標簡略版(目次をたどる)従来型
正答数(20問中・AIの採点・3回)15・15・1513・12・13
正答数(採点を見直したあと)16・16・1616・16・16
再現率(答えに要る文書を見つけた割合・範囲外の4問を除く16問)84%100%
1問あたりのAI呼び出し回数2.75回1.0回
1問あたりの料金約0.0054ドル約0.0036ドル

採点を見直すと、正答数は同じでした。文書を見つける力は、従来型のほうが上でした。3

AIによる採点は、120件中19件が再採点の結果と食い違いました。採点の食い違いが、方式の違いによる差と同じ程度あるため、正答数の差だけで優劣は決められません。3

この検証は28件だけです。数千件での結果は、見ていません。3

論文の結果と、向く資料

企業のサポート向けのベンチマークでは、単発の検索、ハイブリッド検索、階層型の検索、AIが探すタイプの検索の4つより、答えの質が上がりました。費用は中程度に増えました。2

論文は11のデータセットで比べています。2

結果は次の表のとおりです。

結果データセットの数
統計的に有意に上回った5
差がなかった3
下回った3

向き不向きは、資料の種類で次のように分かれました。2

資料結果
1つの分野で、話題の分け方を作りやすい文書向く
分野を問わない事実の質問集ふつうの検索が上回る
同じ形の表が続く資料ふつうの検索が上回る

試す前に確かめること

開発を頼む相手と、次のことを話し合ってください。

確かめること理由
文書を送ってよいか目次づくりと質問の両方で、AnthropicのAPIに文書の内容を送ると考えられます
文書を直したとき、どう更新するかREADMEに記載がなく、不明です
自分の文書で比べるか文書の件数と質問の種類で、結果が変わります
保守の見込み最初の公開版で、READMEに最終更新日の記載がありません

社内の文書をもとにAIに答えさせる方法の全体は、院内マニュアルをAIに扱わせる方法の記事にまとめました。医療以外の会社にも当てはまる考え方です。

ClaudeでAI秘書を作る手順は、別の記事にあります。日本語の文書の探しやすさを測った例は、EmbeddingGemma 2の記事にあります。

まずは1つの分野に絞ったFAQを数十件と質問を20問ほど用意して、従来型と同じ質問で答えを比べてみてください。

出典

  1. dukesun99/Corpus2Skill(GitHub・MITライセンス)(参照 2026-10-19)
  2. Corpus2Skill: Distilling Enterprise Knowledge into Navigable Agent Skills for QA and RAG(arXiv)(参照 2026-10-19)
  3. ベクトルDBを使わない「階層ナビゲーション型RAG」を作って、ベクトルDB版RAGと比較してみた(Zenn)(参照 2026-10-19)