ChromaDBのベクトル保持がなぜコストを下げるのか、4層アーキテクチャの分担設計がなぜ効くのか。
他のシステム設計にも転用できる汎用原理として深掘りします。
テキストを高次元の数値配列に変換する処理です。 たとえば768次元のベクトルに変換すると、文章の「意味」が768個の数値の組み合わせとして表現されます。
例:意味の近さが距離の近さになる
| テキスト | ベクトル空間での位置 |
|---|---|
| 「RFID読取距離の改善」 | 近い位置 ← 意味が似ている |
| 「無線タグの通信範囲拡大」 | |
| 「太陽光発電の効率化」 | 遠い位置 ← 意味が違う |
文字列としては全く違っても、意味が近ければベクトル空間上で近い座標に配置される。 これが「あたりどころをつける」の正体です。
ベクトル保持がコストに効くのは、3つの段階が連鎖するからです。
望遠鏡(LLM)で星空全体をくまなく見る代わりに、
まず星図(ベクトルDB)で「この方角にあるはず」と特定してから望遠鏡を向ける。
望遠鏡を動かす時間(= APIコスト)を最小化している。
ベクトル保持の本質は「安価な数学演算(ベクトル類似度)で候補を絞り、高価な推論(LLM)の処理対象を最小化する」構造。 Hayasakiさんの直感「計算の方向性をベクトル保持により限定している」は正確で、 精密に言えば「事前に計算済みの意味マップで検索空間を絞り、高コストな推論処理を必要最小限に抑える」ということ。
この設計が機能する根本理由は、タスク難易度の分布が偏っていることです。 ほとんどのタスクは簡単で、本当に難しいタスクはごく少数。これは自然界でもビジネスでも広く見られるパターンです。
| 処理の難易度 | 出現頻度 | 知財業務での例 | 最適な処理層 |
|---|---|---|---|
| 定型・パターンマッチ | 約70% | 書誌データ検索、IPCコード分類、定型文生成 | Layer 0-1(無料) |
| 中程度の判断 | 約25% | 新規性判断、クレーム構造分析 | Layer 2(Sonnet) |
| 高度な創造的判断 | 約5% | 進歩性の微妙な判断、クレーム戦略設計 | Layer 3(Opus) |
もし全処理を最高コスト層(Opus)で行うと、月額コストを100としましょう。
これが「予算を1/10にできる」の数理的な根拠です。 鍵は70%が無料で処理完結すること。この比率がコスト構造を支配します。
この設計パターンを他のシステムに転用する際、以下の3条件を満たすか確認してください。
「簡単なタスクが大半で、難しいタスクはごく少数」という偏りがあること。 知財業務はこれを満たします(定型処理が圧倒的に多い)。
⚠ 逆に、全タスクが均等に難しい領域ではティアード設計の効果は薄い。
Layer 1で「これは自分では無理」と正しく判断できなければ、品質が崩壊します。 ここがアーキテクチャの最も繊細な部分です。
具体的には、LLMの出力に対する確信度スコア(logprobs、self-evaluation等)を使って閾値判定します。
Opusの入力トークン単価がOllamaローカル推論の「無限倍」(ローカルは電気代のみ)という差があるからこそ、分離する意味がある。 もしOpusもSonnetもほぼ同じ価格なら、2層に分ける意味はありません。
このパターンはコンピュータサイエンスに限らず、あらゆる分野で見られます。
| 分野 | 低コスト層(大量処理) | 高コスト層(少量・高品質) | エスカレーション基準 |
|---|---|---|---|
| CPUキャッシュ | L1キャッシュ(超高速・小容量) | メインメモリ → ディスク | キャッシュミス |
| CDN | エッジサーバ(近い・安い) | オリジンサーバ | キャッシュ不在 |
| カスタマーサポート | チャットBot → L1オペレータ | L2専門家 → エスカレ | 解決不能・複雑さ |
| 医療トリアージ | 看護師の初期振り分け | 専門医の診断 | 症状の重篤度 |
| 法務レビュー | AIでNDA自動分類 | 弁護士の精査 | 非標準条項の検知 |
すべてに共通するのは「安い層で捌けるものは安い層で捌き、判断に困るものだけ高い層に回す」という構造です。 そして処理結果を安い層に蓄積すれば(キャッシュウォームアップ)、時間とともに安い層の処理率が上がり、コストが自然に下がっていく。
ベクトルDBとティアードアーキテクチャは独立した原理ですが、組み合わせるとフライホイール(好循環)が生まれます。
Layer 1-2-3で処理した結果をChromaDBに蓄積すると、次回以降のRAG検索で「過去に類似の判断をした結果」が引ける。 時間が経つほどLayer 1で処理完結する割合が70% → 80% → 85%と上がり、上位層への依存が減ってコストが自然に下がっていく。
これはCPUキャッシュのウォームアップと全く同じ現象です。 使えば使うほど「キャッシュヒット率」が上がり、高コストなメインメモリアクセスが減る。
| Layer 0-1 | 70% | $0 |
| Layer 2 | 25% | $6 |
| Layer 3 | 5% | $4 |
| 合計 | $10/月 | |
|---|---|---|
| Layer 0-1 | 85% | $0 |
| Layer 2 | 12% | $3 |
| Layer 3 | 3% | $2 |
| 合計 | $5/月 | |
|---|---|---|
原理1(ベクトルDB):
「安価な数学演算で候補を絞り、高価な推論の処理対象を最小化する」
→ 事前計算 + 検索空間の圧縮 + 入力量の削減
原理2(ティアード設計):
「安い層で捌けるものは安い層で捌き、判断に困るものだけ高い層に回す」
→ べき乗分布の活用 + 正確なエスカレーション + コスト差の大きい層分離
組み合わせ効果(フライホイール):
「処理結果を安い層に蓄積し、時間とともに安い層の処理率を上げる」
→ 使うほどコストが下がり、品質が上がる好循環
この3つの原理は、AI知財システムに限らず、あらゆる「高コストな処理を含むシステム」の設計に転用できます。
ここでは「概念はベクトルである」を所与にして、そのベクトルを どこに何個置き、いくらで引くか だけを扱った。 ではなぜ距離を測ると意味の近さが出るのか——その前提のほうを、 Word2Vec 以前の認知科学の側から立ち上げた教材が別にある。 概念を点として置く(意味の位置性)、類似度を距離の単調減少関数と読む、 自然なカテゴリーは凸領域を作る、といった公理が明示されているので、 Layer 0〜3 の設計判断が何に寄りかかっているかが見える。