yoi/tickets/memory-usage-metrics.md

61 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# メモリ機構: 使用頻度メトリクス + Knowledge 化候補レポート
## 背景
`docs/plan/memory.md` §使用頻度メトリクス の実装。memory 検索ツール / Knowledge 検索ツール内に invoke 計測フックを入れ、時間単位ではなく累積 input token で正規化した頻度を算出する。Phase 2 統合 phase の Knowledge 新規作成 gate と Phase 2 整理 phase の保護閾値の両方で使われる。
## 要件
### 観測経路
- memory 検索ツール / Knowledge 検索ツール内に hook を挿入
- `#<slug>`slug 完全一致経路)、`/<slug>`workflow 側、将来接続)、明示検索呼び出しをすべて同じ経路に集約
### カウント対象
- **明示 invoke**: 検索ツール経由の読み取り / `#<slug>` / `/<slug>``n回 / Mtoken` でスコア化
- **`model_invokation` 注入**: 明示 invoke の分子には含めない。**コスト側**(注入した record に対する消費 input tokensとして別途記録。使われ率 ratio や ON/OFF 判断材料として後段で参照
- ファイル token 数
### 記録先
- staging と独立
- workspace 側に記録session データ喪失で統計が消えない)
- invoke event を UUID + Stats 形式
- 具体 schema / フォーマットは実装で決定
### 集計
- 累積方式: 最大 10 回前の invoke から現在までの時系列窓でフィルタして集計
- **Knowledge 化候補レポート**:
- 対象は `memory/*` 配下の recordPhase 1 成果物の decisions / requests + 既存 knowledge
- 明示 invoke 頻度が閾値超過のものを列挙
- 同一 session 内の連続参照は 1 count に丸める
- 複数 session での再参照を要件とするspike 除外)
- 閾値は設定ファイルで tune
### 消費者
- Phase 2 Worker の統合 phase 入力として候補レポートを渡す
- Phase 2 Worker の整理 phase で保護閾値判定(明示 invoke frequency >= 1.0 invokes/Mtokenに使う
## 範囲外
- Phase 2 整理 phase の実装本体(`memory-phase2-consolidation` 側。本チケットは保護閾値判定に必要なメトリクスの提供まで)
- `model_invokation` ON/OFF の自動判定ロジック(将来検討)
- Shallow request の自動除外(将来検討)
## 完了条件
- 検索ツール呼び出しで invoke event が workspace 側に積まれる
- `model_invokation` 注入のコスト側集計が別口で積まれる
- 候補レポート API が Phase 2 Worker の起動時に呼べる
- 閾値未満の record は候補レポートに載らない
- 同一 session 内連続参照は 1 count に丸まる
## 参照
- `docs/plan/memory.md` §使用頻度メトリクス / §判断ルール / §retrieval 経路
- `tickets/memory-search-tools.md`hook 挿入点)
- `tickets/memory-phase2-consolidation.md`(統合 / 整理 両 phase の消費者)