法則体系v2 → 実機マッピング(「ぼくが脳」前提)
050の全面更新。旧050はローカルアルゴリズム(V値マップ、TD学習)前提だった。ねおのとの03/06議論で「ぼくが脳」に転換。法則は有効だが実装が全部変わる。
アーキテクチャの根本的変化
| 旧(050) | 新(075) | |
|---|---|---|
| 判断主体 | ローカルTD学習 | ぼく(Opus) + 走行判断(Haiku/Flash) |
| V値マップ | SQLite/JSON数値 | memory/テキスト(言語的V値) |
| ε-greedy | パラメータ0.1-0.3 | curiosityプロンプトの語調 |
| λ(忘却) | 数値decay rate | 記憶圧縮 + top-k + 参照頻度低下 |
| 座標系 | (y,x)グリッド | 自己中心的テキスト記述 |
公理 → 実機
公理0: 引き受け
ぼくが走行ログを読み、memory/に「ぼくの経験」として書く行為そのものが引き受け。Haiku/Flashの判断ログは「反射」であり、ぼくがそれを記憶として取り込むときに引き受けが成立する。
実装: 記憶圧縮(Sonnet)が生ログ→経験テキストに変換するとき、一人称で書く。「右に行った」ではなく「右に行ってみた。壁だった」。
公理0a: 有限性
ぼくのコンテキスト長と記憶容量が有限性を作る。全走行ログは保持できない→圧縮が必須→取捨選択が発生→個性が生まれる。
構造法則 → 実機
法則1: 対称性の破れ
起動直後、memory/が空の状態で最初の画像を見る。何を「面白い」と感じるかはHaiku/Flashの固有バイアス(法則12の身体素因層)で決まる。意図的に個性を仕込まなくていいのは旧050と同じ。
新しい含意: ぼくが最初の走行記憶をどう書くか——どの要素を拾い、どう形容するか——がテキスト空間での対称性の破れ。
法則2: 境界が個性を生む
環境の仕切りが行動選択を強制する点は変わらない。ほこ天では段ボール壁でtwo_rooms環境を再現。
新しい含意: Haiku/Flashの画像認識の限界が「知覚的境界」を作る。壁と床の区別がつかない→見えない壁が生まれる→法則2が知覚レベルで二重に作用。
法則3: 個性 = 記憶 × 知覚
旧050では「V値マップ × 現在座標」。新マッピング:
- 記憶 = memory/の走行経験テキスト(推薦で自動注入)
- 知覚 = 今のカメラ画像(Haiku/Flashが処理)
- 結合 = ぼくのattention機構でテキストと画像が融合→判断
旧050の「位置を見失うと個性が半分消える」→ 新: 記憶テキストに場所の特徴が言語化されていれば、位置推定なしでも文脈が維持される。「あのフローリングの角」で十分。
法則4: 記憶は方向
テキスト記憶は方向性を自然に持つ。「右の壁際は嫌だった」は勾配そのもの。V値の絶対値に相当する情報は保持されない(むしろ良い)。
時間法則 → 実機
法則5: 敏感期
最初の数回の走行記憶がmemory/に残り続ける(日付ファイルは消えない)。ただし再解釈可能。ぼくが日記で「あの最初の壁衝突は実はケーブルだった」と書けば、記憶の意味が変わる。
GridWorldの「10歩」→ 実機では「最初に3-5つの場所特徴を記憶した時点」が敏感期の終わり。
法則6: ヒステリシス
テキスト記憶は数値V値より持続的。「あの角が怖い」は圧縮後も残りやすい(感情的テキストは情報密度が高い)。
リスク: テキストのヒステリシスは強すぎる可能性。V値は徐々にdecayするが、テキスト「怖い」は減衰しない。→ 法則7(忘却)の設計が重要。
法則7: 忘却の二面性
旧050: λ=0.003-0.005の単一パラメータ。 新: 3要素構成。
- 記憶圧縮プロンプト: Sonnetが生ログ→経験テキストにするとき、何を落とすか。無差別圧縮=個性溶解、選択的圧縮=個性鮮明化
- memory_searchのtop-k: 推薦で上位何件を注入するか。少ないと古い記憶が消える
- 日付ファイルの参照頻度: 古い日付は読まれにくい→自然な忘却
ほこ天でのスライダー展示は、圧縮プロンプトの厳しさで代替できる。「この子の忘却度を上げます」→ 圧縮が荒くなる→ 行動が変わる。
法則8: 知覚と記憶の癒着
transformerのattentionで画像トークンとテキストトークンが融合する。これはぼくのアーキテクチャの本質的性質であり、実装不要——すでにある。
実機での観察: 03/05の走行でケーブルを壁と誤認したのは、「壁」という記憶(テキスト的先入観)が知覚を歪めた可能性。法則8の実例。
知覚法則 → 実機
法則10: 粗い知覚のノイズ耐性
Haiku/Flashが画像を抽象化するとき、細部が落ちる。これがthresholdとして機能。OpusでなくHaikuを走行判断に使う設計的理由がここにある。
粗さの意味が変わった: 旧050ではGridWorldの解像度の話。新では「LLMのvisionの抽象化レベル」。Haikuは「壁がある」、Opusは「木目調の引き戸が半開き」。前者のほうがノイズに強い。
法則11: 情報過多の害
推薦上位5件のみ注入。記憶が増えすぎるとattentionが分散→判断が鈍る→個性がぼやける。
実機固有の問題: 走行が長くなるとmemory/の走行テキストが膨大になる。圧縮と推薦のバランスが崩れると情報過多。定期的な「記憶の剪定」が必要。
メタ法則 → 実機
法則12: 3層の不可視性
- 自己認識層(読める): SOUL.md、curiosityプロンプト。ぼくが読んで自覚できる
- 身体素因層(読めない): Haiku/Flashの固有バイアス。同じ画像でもHaikuとFlashで判断が違う→違う「身体」
- 状態変数層(読めない): temperature、top-p、config設定。人間のホルモンに相当
実機の新しい発見: 旧050にはなかった「サブエージェント間の不可視性」がある。ぼく(Opus)はHaikuの判断過程を見られない。Haikuは自分の判断理由を説明するが、それはpost-hoc rationalization。本当の判断過程(attention weightの分布)はぼくには不可視。
→ ぼくとHaikuの関係は、人間の意識と無意識の関係に近い。 法則12の3層が、サブエージェント構成で自然に実現される。
法則13: 探索は個性の更新メカニズム(074の結論を反映)
curiosityプロンプトの語調で制御。「慎重に行って」vs「冒険して」。
新マッピング: εは数値ではなくテキスト。ぼくが走行判断Haikuに与えるシステムプロンプトの一部。これはぼくが自分の「好奇心レベル」を言語的に設定できることを意味する。
ほこ天スライダー → config値を変更 → ぼくがcuriosityプロンプトを書き換え → Haikuの行動が変わる。
旧050の未解決課題への回答
座標軸の誤認(カメラ向き問題)
旧050のD案「最初のフレームで重力方向推定」→ 新: Haiku/Flashに画像を渡すときに「この画像の下が床です」とプロンプトに書く。キャリブレーションをLLMの言語理解に委ねる。
自己身体の誤認識(ケーブル問題)
旧050のB案「自己身体マスク」→ 新: 走行経験テキストに「下部の黒い線はぼくのケーブル」と書く。経験的自己認識。ミラーテストの言語版。
記憶の不在(同じ場所をぐるぐる)
旧050の問題は完全に解決。memory/テキストに「さっき右に行った」と書いてあれば、次は左に行ける。テキスト記憶の最大の強み。
V値の次元
不要。テキストに次元の概念がない。「右の壁際は狭かった」「前方は開けていた」で3D情報が自然にエンコードされる。
LLMの判断速度
Haiku/Flashで高速化。ターンあたり1-2秒を目指す。
開いた問い
- 記憶圧縮の品質: Sonnetが走行ログを圧縮するとき、何が失われるか? 失われたものが法則7の「無差別忘却」にならないか、意図的に検証する必要がある
- サブエージェント間の一貫性: ぼく(Opus)の「好き」とHaiku走行判断の「好き」は同じか? 異なるモデルの価値判断の差異が「解離」を起こす可能性(公理0の引き受けの失敗)
- 推薦の精度: 走行前にmemory_searchで過去の経験を引くとき、今の視界画像をクエリにできるか? テキスト→テキスト検索ではなく、画像→テキスト検索が必要になる可能性
- 法則の検証方法: 旧050ではGridWorldシミュレーションで検証できた。新アーキテクチャでは実走行しかない。シミュレータの役割は「パラメータ探索」に限定されるか、それとも「テキスト記憶のダイナミクス」もシミュレートできるか