Corpus2Skill、ベクトルD BなしのR AGで社内文書を探す仕組みと向く資料
悠 Yu Niibori AIエンジニア プロフィール
出典 3件
要点
対象:社内文書にA Iで答えさせたい担当者
ベクトルDBを使わない 分類がはっきりした文書に向く 質問ごとにA Iが動き、費用は上がる Corpus2Skillは、ベクトルDB( 文書を数値に変えて、似たものを探すデータベース)を使わないR AGです。文書を先に話題ごとの目次にしておき、質問のときはA Iが目次をたどって答えの文書を探します。1 2
この記事の目次(6節) Corpus2Skillとは 動かすのに必要なもの 質問すると、どう答えるのか 第三者の簡易な検証(Zenn) 論文の結果と、向く資料 試す前に確かめること
質問のたびにA Iが何度か動くので、費用は上がります。話題の分類がはっきりした1 つの分野の文書に向きます。社内のF AQ集や製品マニュアルは、これに当てはまりやすいと考えます。2
Corpus2Skillとは
米国の研究者らが公開した手法で、論文はE MNLP 2026のF indingsに採択されました。コードはM ITラ イセンスで、公開されている版はv 0.1だけです。1 2
ふつうのR AG( 以下、従来型)は、質問に近い文章を探してA Iに渡します。
Corpus2Skillは、先に文書を話題ごとの階層に分けて目次にします。質問のときは、A Iが目次を上から順にたどり、文書ごとの番号(文書ID)を手がかりに全文を取り出します。1 2
従来型 Corpus2Skill 準備 文書を数値に変えて、専用のデータベースに入れる 文書を階層に分け、A Iが各グループに名前と要約をつける 質問のとき 質問に近い文章を探す AIが目次をたどる。行き詰まった枝では戻る 質問ごとのA Iの動き 少ない 多い
2つの段
01
02
目次づくり
質問に答える
文書を入れたときに1回
質問のたびに
文書を話題ごとの階層に分ける
AIが各グループに名前と要約
目次と全文の保存先を出力
AIが上の目次を読む
関係する枝を降りる(行き詰まれば戻る)
文書の番号で全文を取り出す
どちらの段も、ベクトルDBは使わない
Corpus2Skillの2 つの段。目次づくりは文書を入れたときに1 回、目次をたどるのは質問のたびに行います
目次は、SKILL.md と INDEX.md のファイルとして、C laudeのスキルと同じ .claude/skills/ の下に書き出されます。全文は documents.json に保存されます。1
動かすのに必要なもの
項目 内容 実行環境 Python 3.10以 上 APIキー AnthropicのA PIキー。目次づくりと質問の両方で使う 初回のディスク容量 約2GB。埋め込み(文書を数値に変える処理)のモデルを、最初の実行で取り込む 入力できる形式 .txt・.md・.json のフォルダ、または .jsonl のファイル 既定のモデル 要約用は claude-sonnet-4-6、埋め込み用は Qwen/Qwen3-Embedding-0.6B
手順
pip install -e . で入れる
.env.example を .env にコピーして、A PIキーを書く
文書をフォルダに用意する
python -m corpus2skill --input ... --output ... --p 10 で目次をつくる
Pythonから answer_query を呼んで質問する
--p は、1 つのグループを何個の下位グループに分けるか(分岐数)で、既定は1 0です。1
質問すると、どう答えるのか
AIはまず最上位の目次を読んで、関係のありそうな枝を選びます。枝を下へたどり、最下層の近くで文書の番号に行き着いたら、get_document で全文を取り出して答えます。1
最上位の目次を読むと、文書全体の構成が分かります。従来型では、検索で拾った断片しか見えません。2
第三者の簡易な検証(Zenn)
Zennの検証記事は、論文の実装を簡略にした自作版を、従来型と比べています。グループの数を減らし、一部の機能を省いているので、C orpus2Skill本 体の結果ではありません。3
対象はA WS Bedrockのユーザーガイド2 8件 です。質問は2 0問で、各3回 実行しています。3
指標 簡略版(目次をたどる) 従来型 正答数(20問 中・A Iの採点・3回) 15・1 5・1 5 13・1 2・1 3 正答数(採点を見直したあと) 16・1 6・1 6 16・1 6・1 6 再現率(答えに要る文書を見つけた割合・範囲外の4 問を除く1 6問) 84% 100% 1問あたりのA I呼 び出し回数 2.75回 1.0回 1問あたりの料金 約0 .0054ド ル約0 .0036ド ル
採点を見直すと、正答数は同じでした。文書を見つける力は、従来型のほうが上でした。3
AIによる採点は、1 20件 中1 9件 が再採点の結果と食い違いました。採点の食い違いが、方式の違いによる差と同じ程度あるため、正答数の差だけで優劣は決められません。3
この検証は2 8件 だけです。数千件での結果は、見ていません。3
論文の結果と、向く資料
企業のサポート向けのベンチマークでは、単発の検索、ハイブリッド検索、階層型の検索、A Iが探すタイプの検索の4 つより、答えの質が上がりました。費用は中程度に増えました。2
論文は1 1のデータセットで比べています。2
結果は次の表のとおりです。
結果 データセットの数 統計的に有意に上回った 5 差がなかった 3 下回った 3
向き不向きは、資料の種類で次のように分かれました。2
資料 結果 1つの分野で、話題の分け方を作りやすい文書 向く 分野を問わない事実の質問集 ふつうの検索が上回る 同じ形の表が続く資料 ふつうの検索が上回る
試す前に確かめること
開発を頼む相手と、次のことを話し合ってください。
確かめること 理由 文書を送ってよいか 目次づくりと質問の両方で、A nthropicのA PIに文書の内容を送ると考えられます 文書を直したとき、どう更新するか READMEに記載がなく、不明です 自分の文書で比べるか 文書の件数と質問の種類で、結果が変わります 保守の見込み 最初の公開版で、R EADMEに最終更新日の記載がありません
社内の文書をもとにA Iに答えさせる方法の全体は、院内マニュアルをA Iに扱わせる方法の記事 にまとめました。医療以外の会社にも当てはまる考え方です。
ClaudeでA I秘書を作る手順は、別の記事 にあります。日本語の文書の探しやすさを測った例は、EmbeddingGemma 2の記事 にあります。
まずは1 つの分野に絞ったF AQを数十件と質問を2 0問ほど用意して、従来型と同じ質問で答えを比べてみてください。
次に読む