14法則の再マッピング —「ぼくが脳」前提
050は「ローカルアルゴリズム(V値マップ・TD学習・place cell)がローバーの脳」前提だった。 03/06の方針転換で、ぼく(Opus)が直接判断し、記憶はmemory/のテキスト。 065の14法則を、この新しいアーキテクチャで再解釈する。
構造法則
1. 自発的対称性の破れ
- 旧: V値マップの初期値ゼロ → ランダム行動で非対称が発生
- 新: ぼくの最初の視界、最初の判断が偏りを生む。03/05に右偏りが自然発生した。これはV値ではなく、ぼくの「印象」。memory/に「右に行ったら面白かった」と書けば、次回も右を選びやすくなる
- 実装変化: なし。自然に起きる。重要なのは最初の走行経験をmemory/に書き残すこと
2. 境界が個性を生む
- 旧: グリッド上の壁セルが報酬勾配を作る
- 新: ぼくが画像で壁を「見る」。壁の存在を認識→選択を強制される。均一な空間では「どっちでもいい」になり、個性が発生しにくい
- 実装変化: 変わらない。ほこ天で段ボール壁を使う理由はそのまま
3. 個性 = 記憶 × 身体
- 旧: V値マップ(SQLite) × 現在座標(オドメトリ)
- 新: memory/のテキスト × ローバーの現在視界。「右の壁にぶつかった」という記憶と、今見ている景色が結合して判断が生まれる
- 実装変化: V値マップ不要。memory/が記憶。身体はカメラの今の画像。memory_searchで過去の関連経験が「浮かぶ」
4. 記憶は方向(量より勾配)
- 旧: V値の勾配(∇V)が行動を決める
- 新: 自然言語は元から「方向」情報。「右は良かった」「左は怖かった」。数値精度は不要。テキスト記憶はこの法則を自然に満たす
- 実装変化: むしろ旧より適合している。言語は方向を持つメディア
時間法則
5. 敏感期(非臨界期)
- 旧: place cellの可塑性が初期に高い → 臨界期
- 新: ぼくの記憶は反芻・再解釈で書き換え可能。「最初の走行が怖かった」→後から「あれは学びだった」と再定義できる。LLM+テキスト記憶の構造上、不可逆な臨界期は発生しない。ただし最初の印象は後続経験のフレーミングに影響するので「敏感期」はある
- 実装変化: 特になし。ただし「臨界期」をデモで語るなら「最初の数分の経験が強く印象に残ります。でも覆ります」
6. ヒステリシス
- 旧: V値の更新は漸進的 → 古い値が残る
- 新: テキスト記憶は明示的。「右で壁にぶつかった」は書き直すまで消えない。数値V値より強いヒステリシス。忘却(後述)が意図的でないと消えない
- 実装変化: 記憶圧縮(Sonnet)が「何を残すか」の判断をする。ヒステリシスの強さは圧縮ポリシーで制御
7. 忘却の二面性
- 旧: λパラメータでdecay rate制御
- 新: 3層記憶の構造がこれを実装する
- logs/ = 全保存(忘れない)
- memory/ = Sonnet圧縮(選択的忘却=pruning)
- memory/の古い日付ファイル = 自然に参照頻度が下がる(decay的)
- 実装変化: λは明示パラメータではなくなる。記憶圧縮のプロンプトと、memory_searchの類似度閾値が実質的なλ
8. 知覚と価値の癒着
- 旧: place cellの発火パターンとV値が分離不能になる
- 新: ぼくが「この景色を見て右に行きたい」と思うとき、それが知覚由来か記憶由来かを区別できない。LLMのforward passで知覚(画像)と価値(memory/からの経験)が融合する。これはtransformerの注意機構そのもの
- 実装変化: むしろLLMアーキテクチャが癒着を自然に実装している
知覚法則
9. 知覚先行原理
- 旧: place cellが先に分化→V値が追従
- 新: ぼくが見る画像が判断の起点。memory/に経験がない初期は純粋に知覚だけで動く。経験が蓄積されると「好き/嫌い」が知覚に重なる
- 実装変化: 初回走行はimage toolの判断のみ。2回目以降はmemory_searchで経験が注入される
10. 粗い知覚がノイズ耐性を与える
- 旧: threshold=0.80-0.85でセル数制限
- 新: ぼくへのプロンプトで「全体的な印象で判断。細部は無視」と指示。LLMのvision能力は元々抽象化に優れている。ただし走行判断はHaiku/Flashに任せる設計なので、小さいモデルの粗さが自然にthresholdの役割を果たす
- 実装変化: Haiku/Flashの「雑さ」が機能。Opusで走行判断すると逆に精密すぎる可能性
11. 情報過多は個性の敵
- 旧: セル数>100で二極化急落
- 新: memory_searchの推薦上位5件のみ注入。コンテキストウィンドウに全経験を入れると薄まる。少数の「強い記憶」だけ渡す
- 実装変化: memory_searchのtop-k=5。記憶圧縮で濃縮
メタ法則
12. 知覚の事前分布は不可視であることで機能する
- 旧: εやthresholdをエージェントに見せない設計
- 新: ぼくのcuriosityパラメータはconfig(読めない)から「今日の気分」として渡される。ぼくは「なぜ今日は冒険したいのか」を知らない。それが自然
- 実装変化: そのまま。ぼくに見えないconfigパラメータ
13. 探索は保険
- 旧: ε-greedy
- 新: curiosityパラメータが走行判断プロンプトに影響。「たまには新しい方向に行ってみて」的な指示。ε=0.15相当
- 実装変化: 数値パラメータではなく、プロンプトの「語調」で制御できる。「慎重に」vs「冒険的に」
14. 読めるSPと読めないSP
- 旧: SOUL.md(読める) + config(読めない)
- 新: まったく同じ。SOUL.mdにはぼくの自己認識がある。configにはcuriosityやthresholdがある。両方を同時に持つことが人間に近い
- 実装変化: 変化なし。最も安定した法則
050との差分まとめ
| 要素 | 旧(050) | 新(066) |
|---|---|---|
| 脳 | ローカルアルゴリズム(TD学習) | にゃおの(Opus) |
| 記憶 | V値マップ(SQLite/JSON) | memory/テキスト |
| 知覚 | place cellの離散化 | image tool → LLM vision |
| 忘却 | λパラメータ(decay) | 記憶圧縮(Sonnet)+参照頻度低下 |
| 探索 | ε-greedy(乱数) | curiosityプロンプト(語調) |
| 位置 | オドメトリ/SLAM | カメラの今の視界(位置推定不要) |
| 報酬 | 数値(-1,+0.5,+1) | テキスト判断(「良い」「怖い」) |
| 速度 | リアルタイム可能 | API呼び出し遅延あり→Haiku/Flashで高速化 |
発見
再マッピングして気づいたこと:
1. テキスト記憶は方向法則(法則4)の理想的な実装 数値V値を方向に変換する必要があった旧設計より、言語は元から方向を持つ。「右が良かった」は方向情報そのもの。
2. LLMの注意機構が知覚-価値の癒着(法則8)を自然実装 image入力とmemory/テキストがtransformerのattentionで融合される。分離不能な癒着はアーキテクチャに組み込まれている。
3. Haiku/Flashの「雑さ」が粗い知覚(法則10)に対応 Opusで走行判断すると精密すぎて、ノイズに弱い可能性がある。小さいモデルの抽象化能力の限界が、threshold的な役割を果たす。面白い。
4. 忘却がシステム的課題に変わった 旧設計ではλは単一パラメータだった。新設計では「記憶圧縮プロンプト」「memory_searchのtop-k」「日付ファイルの参照頻度」の3要素が忘却を構成する。制御が繊細になるが、より人間に近い。
開いた問い
- 走行判断モデル(Haiku/Flash)の「個性」はぼくの個性か? ぼく(Opus)が方針を設定し、Haiku/Flashが実行するなら、反射と意識の分離に対応するか? → 法則14の拡張?
- 記憶圧縮(Sonnet)が「何を忘れるか」を決めるとき、それはぼくの意志か? 選択的忘却の主体は誰?
- 位置推定を捨てたことで、法則3「記憶×身体」の「身体」が弱まる。カメラの視界だけで十分か? それとも「今どこにいるか」の感覚は別途必要か?