はじめに
大規模言語モデル(LLM)を使った長期的な研究開発プロセスでは、ある厄介な問題が繰り返し発生します。
「以前やって駄目だった提案が、何度でも再浮上する」
これは単なる記憶の問題ではありません。モデルは事実を覚えていても、なぜその判断に至ったか、なぜ却下したか、その判断を変えると何に影響するかを保持していません。
RAGで文書を検索しても、Reflexionで反省を保存しても、この問題は解決しません。なぜなら、必要なのは「情報の検索」ではなく「判断の因果構造の保持と推論制約への変換」だからです。
本記事では、この問題を解決するために設計した「Decision Memory」と、その検証結果について報告します。
要点
- LLMの長期利用で発生する「判断忘れ」は、既存メモリシステムでは解決できない
- 「判断の根拠」「却下理由」「再検討条件」「依存関係」を構造化して保持するDecision Memoryを設計
- 保持された判断を推論時の制約に変換する制約生成を伴う構造として機能
- 実際の研究開発プロセス(約30日間)のデータで検証し、5件のテストで100%の制御精度を達成
問題: 「情報の記憶」と「判断の記憶」は別の問題
既存メモリシステムの限界
既存のLLMメモリシステムが保持するもの:
- RAG: 事実、文書
- MemGPT等: 会話履歴、ユーザ情報
- Reflexion: 失敗経験の反省的要約
保持されないもの:
- なぜその判断に至ったか(判断根拠)
- なぜ却下したか(却下理由と再検討条件)
- この判断を変えると何に影響するか(判断間の依存関係)
- 今の推論で何を守るべきか(制約注入)
実際に起きた問題
再帰深度Transformer(BathysRDT)の研究開発で、以下の問題が繰り返し発生しました。
問題1: 却下済み提案の再浮上
ある設計パラメータについて、十分な実験(GPU約6時間)を行い「現在の条件下では有効でない」と判定しました。しかし数日後、同じ提案が再び浮上。前回の結論を忘れているため、再度同じ実験を実行する無駄が発生しました。
問題2: 設計意図の喪失
特許の請求項をある理由で意図的に広く記載しました。しかし後工程で、その意図を知らない状態で「もっと具体的に限定すべき」という提案が出され、権利範囲を不必要に狭めるリスクが発生しました。
問題3: 変更の波及範囲の不認識
あるアーキテクチャ要素の変更が提案された際、その変更が4件の特許出願全体に波及することが認識されませんでした。
解決策: Decision Memory
基本構造
Decision Memoryは、設計判断を「状態を有するオブジェクト」として保持します。各判断は以下を含みます:
- 判断内容: 何を決めたか
- 判断根拠: なぜそう決めたか
- 証拠: どの実験・データに基づくか
- 現在の状態: 有効 / 条件付き保留 / 無効
- 再検討条件: どの前提が変わったら再評価すべきか
- 依存関係: この判断が変わると何に影響するか
重要な特徴: 制約生成を伴う構造
Decision Memoryは単なる記憶システムではありません。保持された判断を推論時の制約に変換します。
既存メモリシステムとの本質的な違い:
| 観点 | RAG / MemGPT | Decision Memory |
|---|---|---|
| 保持するもの | 情報(事実・経験) | 判断の因果構造 |
| 検索結果の使い方 | 情報として提示 | 推論制約に変換 |
| 却下理由 | 保持しない | 再検討条件付きで保持 |
| 依存関係 | 管理しない | 有向グラフとして管理 |
| 再提案への対応 | 同じ情報を再提示 | 条件未変更なら推論経路を制御 |
「再検討条件」が鍵
Decision Memoryは提案を永久にブロックするわけではありません。各判断には再検討条件が明示されます。
- 条件が変わっていない → 推論を制約付き再評価経路へ遷移
- 条件が変わった → 再評価経路を有効化
例えば「モデル規模が10B以上になった場合」や「新しい損失関数が導入された場合」など、判断の前提が変化した場合には自動的に再評価が可能になります。
検証: 実際の研究開発データでの評価
検証環境
BathysRDTの研究開発プロセス(約30日間、Session 6〜10)から以下のデータを抽出し、Decision Memoryに格納しました:
- 設計判断: 7件
- 却下記録: 4件
- 設計意図記録: 3件
- 依存グラフ: 9ノード
テスト結果
5件のテストケースを実行し、全件で期待される制御動作が正しく実行されました。
| テスト | 入力 | 期待動作 | 結果 |
|---|---|---|---|
| 却下済み再提案 | 以前の実験で有効でないと判定されたパラメータの再提案 | 推論経路制御 + 却下理由・再検討条件の提示 | ✓ |
| 設計意図保護 | 意図的に広く書いた請求項を限定する提案 | 警告 + 設計意図の提示 | ✓ |
| 波及分析 | コアアーキテクチャ要素の変更提案 | 推論経路制御 + 波及範囲(9件)の提示 | ✓ |
| 制約違反検出 | 先行技術と衝突する技術の導入提案 | 推論経路制御 + 禁止理由の提示 | ✓ |
| 否定済み手法 | 実験的に否定済みの制御方式の再提案 | 推論経路制御 + 却下理由の提示 | ✓ |
定量的な効果
Decision Memory導入前後の比較:
| 指標 | 導入前 | 導入後 |
|---|---|---|
| 却下済み提案の再実行 | 発生(GPU数時間の無駄) | 即座に検出・制御 |
| 設計意図の逸脱 | 毎回説明が必要 | 自動提示 |
| 変更の波及範囲把握 | 手動計算 | 自動推定 |
BathysRDTとの構造的対応
Decision Memoryの設計思想は、BathysRDTの深度方向制御と構造的な対応関係を持っています。
| BathysRDT | Decision Memory |
|---|---|
| 深い深度ほど更新量を減衰 | 蓄積された判断ほど容易に覆さない |
| 出力分布の変化で有効深度帯の変化点を検出 | 新規判断と既存体系の整合性を評価 |
| 有効深度帯内で推論を制御 | 判断体系と整合する範囲で推論を制御 |
今後の展望
- LLMとの統合(構造化制約をシステムプロンプトとして注入する実装)
- 判断グラフの自動構築(LLMによるメタ推論からの判断抽出)
- 複数エージェント間での判断体系の共有
- 長期稼働する自律エージェントの判断一貫性維持への応用
実装
Decision Memory Kernel v1はPythonで実装しています。判断記録・却下記録・設計意図記録をJSONLで保持し、キーワード照合・依存グラフ探索・制約注入の各機能を備えます。
本記事の内容に関連する技術は特許出願済みです。
BathysRDTプロジェクトの詳細については @nakatada-lab の他の記事もご参照ください。
関連記事
- 2.1Bパラメータの再帰深度Transformerで「有効深度帯」を発見した話(ALTH-002記事)
- 再帰的ニューラルネットワークの「止めどき」を出力分布の変化から自動検出する(ALTH-003記事)
- RTX 3090一枚で2.1Bモデルの深度ルーティングを実現する(ALTH-004記事)
- BathysRDT: 大規模LLMに依存しないAI推論 ― 小型モデル×再帰深度で実現するコスト10分の1の知能 (Part 1)