AI に技術資料を読ませるとき何が起きているか — 全部渡す・検索で渡す・地図でたどる
はじめまして。LeXi/Vent(レキシヴェント) という屋号で技術情報分析をしている上村侑太郎といいます。
この記事では、論文・報告書・特許のようなたまった技術資料を生成 AI に読ませるときに何が起きているかを整理し、その問題を解くために作ったアプリ LeXWeft Lite を紹介します。特許の数字が出てきますが、知財部門向けの記事ではありません。
対象読者
- Claude などの生成 AI に、手元の資料をまとめて読ませたい方
- 資料が増えるほど AI の答えが雑になる、高くつくと感じている方
- 社外秘の資料を外部の API に送らずに AI を使いたい方
AI への資料の渡し方には三つある
資料を AI に読ませる方法は、大きく三つに分かれます。それぞれ、読む量と取りこぼしの性質が違います。
| 渡し方 | 何が起きるか | 読む量 | 弱点 |
|---|---|---|---|
| 全部渡す | すべての資料をコンテキストに入れる | 資料に比例 | 数百件で入りきらない。入っても遅く、高い |
| 検索で上位を渡す(RAG) | キーワードやベクトルで上位 k 件を選んで渡す | ほぼ一定 | 上位から漏れた関連資料は AI から見えない。ベクトル化に外部の API を使うことが多い |
| 地図でたどる | 資料のまとまりと名前を先に作り、AI に順にたどらせる | ほぼ一定 | 地図の質に左右される。資料が少ないと地図が崩れる |
問題は「読む量」と「取りこぼし」が引き換えになっていることです。
全部渡せば取りこぼしはないが、資料が増えると破綻する。上位だけ渡せば読む量は減るが、言い方が違う資料(「熱暴走」と「延焼」など)を落とす。
LeXWeft Lite は三つ目の「地図でたどる」で、読む量を減らしながら取りこぼしも減らすことを狙ったアプリです。
実際に作ったもの
1. 資料を入れるだけで「地図」になる
資料を入れるフォルダを決めて、ファイル(md / pdf / docx / html / csv)を入れるだけです。取り込むと、中身の似た資料が「まとまり」に分かれ、それぞれに何の集まりかが分かる名前が付きます。
埋め込み API も GPU も使わず、ノート PC の中だけで完結します。資料は外に送りません。結果はそのフォルダの中の _LeXWeft/ に SQLite で保存するので、フォルダごと移動しても地図が付いていきます。
フォルダの中をサブフォルダに分けておくと、それが「グループ」になり、グループどうしで中身の近い資料の組を線で結びます。線を引く基準は固定のしきい値ではなく、分布から決めています。
sims = va @ vb.T
# 目立って近い組だけを残す (どの組も近く見えることがあるので、全体の平均より十分高いもの)
floor = max(0.2, float(sims.mean() + 2 * sims.std()))
技術的には平凡な組み合わせですが、重要なのはAI に読ませる前に、人も AI も全体を見渡せる状態になることです。
2. Claude に「たどる順番」を渡す
Claude Desktop とは MCP(AI が外部の道具を使うための仕組み)でつなぎます。設定は 1 か所です。
{
"mcpServers": {
"lexweft-lite": {
"command": "~/Documents/LeXWeftLite/.venv/bin/lexweft",
"args": ["mcp"],
"env": {"LEXWEFT_HOME": "~/LeXWeftLite"}
}
}
}
道具は 30 個ありますが、調べものでは次の順にたどらせます。
| 順 | 道具 | 返すもの |
|---|---|---|
| 1 | lw_map |
まとまりの一覧(名前・件数・よく出る語) |
| 2 | lw_route |
質問 → 関係するまとまり → 資料 8 件 → 各 2 段落と理由 |
| 3 | lw_read_document |
段落番号 [¶n] つきの本文 |
| 4 | lw_unread |
関係が強いのに、まだ開いていない資料を理由つきで |
効いたのは 4 つ目です。上位に出なかったが関係の強い資料を、答える前に AI 自身が確かめに行きます。人が分厚い本を読むとき、目次を見て必要な章を開き、最後に読み落としがないか確かめるのと同じ流れです。
3. 読む量と取りこぼしを測る
測ってわかったこと(3つ)
-
読む量は、資料の数によらずほぼ一定だった
実際の特許 500 件(約 195 万字)で、Claude が道具 2 回で受け取ったのは約 1.1 万字。全部渡す場合の約 1/17012。架空の資料 60 件でも 0.5〜0.7 万字で、資料が増えるほど差が開く -
言い方が違う資料も、たどると届いた
同じ話題の 15 件を、わざと言い方を変えて書いた架空の資料で試した。キーワード「熱暴走」で届いたのは 4 件、意味でたどって読み残しを確かめると 15 件すべて3 -
資料が少ないと、何でも「似ている」と出た
15 件のフォルダでは LSA が 3 次元になり、関係のない資料どうしの類似度が 0.97 になった。次元に下限(8)を置き、読み残しの候補も分布で絞った
数えたのは文字数で、トークン数とは少し違います。また、特許 500 件は正解が決まっていないので、届いた資料の質は測っていません。「1/170」は読む量の比であって、答えの質が 170 倍になったという意味ではありません。何を測った数字かを確かめる工程は、ツールを作る側にも要ります。
4. 異なる分野の「接点」を見つける
素材の特許 300 件と、ロボットの特許 200 件を、それぞれサブフォルダに入れて試しました1。グループのつながり図では、材料の性質を予測・探索する特許と、ロボットの動きを学習で決める特許が、「説明変数」「潜在変数」「学習済みモデル」といった共通の言葉で結ばれました。
線は中身のベクトルの近さで結んでいるだけなので、本当に関係があるかは資料を開いて確かめます。それでも、数百件の中から「まず読むべき組」が絞れるだけで、用途探索の最初の一歩はかなり速くなります。
技術情報を扱う人にとっての使いどころ
- たまった資料の全体を一目で見る — 報告書・議事録・論文がどんなまとまりに分かれているか、名前で分かる
- 言い方が違う資料を落とさない — 分野や書き手で用語が揺れる資料でも、読み残しの確認で拾える
- 異なる分野の資料の重なりを見る — 自社と他社、素材と用途のようにサブフォルダで分けて入れると、接点が線で見える
- 社外秘の資料を外に出さずに使う — 地図づくりも検索も PC の中。Claude につないだときは、Claude が読んだ部分だけが届く
Claude をつながなくても、地図・グループのつながり図・検索・読み残しの確認までは、アプリの画面だけで使えます。
社外秘の資料を Claude に読ませるときは、勤め先の生成 AI の利用規程を先に確かめてください。
技術スタック
| 領域 | 使っているもの |
|---|---|
| 取り込み | pypdf / BeautifulSoup / 標準ライブラリ(docx は zipfile と ElementTree で読む) |
| 検索 | SQLite FTS5(trigram・BM25)/ RRF |
| 地図 | scikit-learn(TF-IDF・TruncatedSVD・k-means・t-SNE) |
| AI との接続 | MCP(stdio)/ Claude Desktop |
| 画面 | FastAPI / vanilla JS(127.0.0.1 のみ) |
特別なものは使っていません。昔からある手法を、AI が読む順番に合わせて組み直すことの方が効きます。
まとめ
- AI への資料の渡し方は「全部渡す」「検索で上位を渡す」「地図でたどる」の三つ。読む量と取りこぼしが引き換えになっている
- 地図を先に作り、たどる順番と読み残しの確認を AI に渡すと、読む量を抑えながら取りこぼしを減らせる
- 実際の特許 500 件では、AI が読む量は全部渡す場合の約 1/170 だった
- 数字は何を測ったものかまで書く。ツールを作る側にも、数字を疑う工程が要る
LeXWeft Lite は Mac 向けのテスト版を無料で公開しています(Windows は試験中。ソースは公開していますが OSS ではありません)。使ってみた感想をフォームで聞かせてもらえるとうれしいです。
書いている人
上村侑太郎 / LeXi/Vent
事業会社の知財部門でIPランドスケープを8年、うち1年は事業開発を兼務していました。用途探索から顧客候補の特定、協業の構築まで、分析を事業の判断につなげる側で仕事をしています。
たまった技術資料の読み方や、AI に資料を読ませる工程の話であれば気軽に声をかけてください ![]()
-
Claude が受け取る道具の結果(JSON)の文字数。測り方とスクリプトは https://github.com/muu4649/lexweft-lite/blob/main/docs/eval/efficiency.md (2026年10月時点)。 ↩
-
正解の決まった架空の資料(4 つの話題、各 15 件)での結果。4 つの話題で、キーワード 4〜10 件 → たどると 10〜15 件。https://github.com/muu4649/lexweft-lite/blob/main/docs/eval/navigation.md ↩