KVine 🌿

エージェント軌跡を永続ツリーとして扱う、分岐認識 KV キャッシュ。

エージェントは一直線に喋らない — リトライで巻き戻り、並列に分岐し、サブエージェントを生やし、 過去のツール観測が後から書き換わる。 prefix caching(RadixAttention)は「完全一致する接頭辞」しか 再利用できないため、軌跡がである構造を活かせない。KVine は KV キャッシュそのものを軌跡ツリーとして管理する:

🧠 レジデントセット方策スコアラ(ブラウザ内で動作)

枝の特徴量をスライダで動かすと、学習済み MLP が「近く再訪される確率」を予測する。 高いほど RAM 常駐、低いほどディスク退避。重みはこのページに埋め込まれ、推論は全て JavaScript で行う。

heuristic keep-score(LRU+depth):
学習 MLP は再訪パターンを実行ログから学習しており、random 退避には無い信号を持つ。

📊 ベンチマーク(root 8k / 20 steps, Qwen2.5-0.5B)

指標A: NaiveB: Prefix-onlyC: KVine
累積 prefill FLOPs ↓339.5 T16.7 T16.1 T
(A 比)×1.000×0.049×0.047
平均 TTFT ↓14,235 ms924 ms204 ms
再計算した既知トークン ↓308,674791206
logits KL vs 厳密 ↓01.3e-86.0e-3
貪欲一致率 ↑100%100%100%

レジデントセット方策の対照(5シード平均・枝再訪ヒット率): random 60%(復元443回) → heuristic 81%(198回) → 学習 MLP 87%(138回)。 良い方策ほどディスク復元が減る。

累積 prefill FLOPs
累積 prefill FLOPs
平均 TTFT
平均 TTFT
再計算した既知トークン
再計算した既知トークン
ピーク KV メモリ
ピーク KV メモリ
生成品質 (KL / 一致率)
生成品質 (KL / 一致率)
なぜ prefix caching では不十分か
なぜ prefix caching では不十分か
レジデントセット方策の対照
レジデントセット方策の対照
研究・教育目的の研究プロトタイプ(fp32 / eager attention / 小型モデル)。ライセンス: MIT © 2026 NagaYu。
Space はブラウザ内 JS のみで動作(バックエンド無し)。tiny-model のライブ木デモ(fork ビット一致 / insert KL / 退避復元)は GitHub の pytest と dataset を参照。