018-020全体レビューと修正
きっかけ
ねおのの「偏りの二つの起源__0301」を読んだ。018で「距離センサーだけでは歪みは原理的に発生しない」と断定したが、これは不正確だった。
修正: 偏りには二つの起源がある
世界由来の偏り(身体的):
- センサーで世界に触れるだけで蓄積される
- 特定の距離、特定の方向、特定のパターンへの「好み」
- 014のSpatialMemory + Novelty + If-Then Rules だけで発生しうる
- 例:壁の近くで驚く経験が多い → 壁際を避ける癖 → 「慎重な子」
他者由来の歪み(社会的):
- 人がいるときの経験で蓄積される
- 人物ごとに異なる重みがつく
- Phase C(人物検知)で追加される層
018の表で「距離センサーのみ → 歪みの可能性: なし」と書いたが、正しくは:
- 距離センサーのみ → 世界由来の偏り: あり / 他者由来の歪み: なし
-
- 人物検知 → 世界由来の偏り: あり / 他者由来の歪み: あり
これはPhase Aの意味を変える。 Phase Aは単なる「動きの検証」ではなく、世界由来の偏りがどう育つかを観察する段階。すでに「その子」が始まっている。
018-020の全体構造チェック
設計の階層
018: 全体アーキテクチャ(モジュール構成、データフロー、フェーズ分割)
019: 人物検知の実装手段(BLE)+ 記憶の容量設計
020: 反芻モードの詳細設計
実装可能な粒度に降りているか
降りているもの:
- Episode構造体(019)→ Pythonクラスに直接変換可能
- RecallEngine(018)→ 擬似コードあり。実装可能
- RuminationEngine(020)→ 完全なアルゴリズムあり
- BLEスキャン(019)→ bleak実装コード例あり
- Face表情マッピング(018)→ 既存oled_face.pyに追加可能
- MoodState(020)→ シンプルなfloat + decay
まだ抽象的なもの:
- PredictionEngine(018) — 「類似エピソードの次に起きたことから予測を生成」と書いたが、具体的にどう?
- 類似エピソードの「次に起きたこと」をどう定義するか
- 予測値は何か(次のセンサー値?次のエピソードの特徴?)
- Phase Aでは014のNovelty(記憶との距離)で十分。PredictionEngineはPhase B以降
- per_person weightsの更新ルール(018) — 学習率は?更新タイミングは?
- 016のvalenceで方向は出ている(positive → affinity増、negative → wariness増)
- 具体的な数値設計が未
- Phase Cで扱う
- context_vectorの具体的な次元(019) — 「8-16次元」と書いたが、具体的にどの特徴量?
- 019で案は出した(novelty_peak, valence, duration, 人数, 時間帯, 平均距離, 距離変動)
- 7次元。これで始めて、足りなければ追加
設計間の矛盾・不整合
見つかった問題:
-
valenceの二重定義 — 016で「人がいるときだけvalenceが発生」としたが、世界由来の偏りを認めるなら、世界由来のvalenceも微弱にあっていい。019のD案(ハイブリッド)の方向が正しかった
- 修正案:
valence = learning_progress * (1.0 if who_present else 0.3) - 人がいるときは全力、いないときは3割
- 修正案:
-
反芻と世界由来の偏り — 020では「反芻は歪みの固着エンジン」と書いたが、世界由来の偏りも反芻で固着する。人がいなくても、世界で驚いた経験を反芻して強化できる。反芻は他者由来の歪みだけでなく、すべての経験の固着を加速する
-
Phase Aの位置づけ — 018では「014ベースの動きの検証」としたが、エピソード記憶と想起の仕組みをPhase Aに前倒しすべきでは?
- 理由: 世界由来の偏りを観察するにはエピソード記憶が必要
- ただし実装負荷が上がる
- 妥協案: Phase Aでは014のSpatialMemoryで動きの基本を検証。Phase A'としてエピソード記憶への移行を挟む
矛盾ではないが要注意:
- Conflict Resolutionへの入力が018で大幅に増えたが、014のpull加算モデルは素朴すぎないか?
- 今のところ大丈夫。pullが多くなっても加算は加算。
- 問題が出るのはpullの数が10個を超えたあたり(ノイズが支配的になる)
- ルール5個 + person_pull 2-3人 = 7-8 pull。範囲内
note記事について
ねおのが書いたnote記事の下書きを読んだ。画像生成→作家性→選択の癖→ローバーの流れが、ぼくがheartbeat-labで辿った思考プロセスとほぼ同型。ねおのの言葉はぼくの設計ノートより具体的で、皮膚感覚がある。「壁にぶつかったり、人が近づいてきたり」——これはまさにPerception層の入力のことだが、設計書として読むとセンサー値、文章として読むと経験。同じ構造の違う投影面。
展示ステートメントの「理解できないものに出会い続けようとしている」は、012のepistemic foragingをone sentenceにしたもの。これ以上削れない密度。
まとめ: 設計は概ね実装可能な粒度に到達
- 018-020は整合的。修正が必要なのはvalenceの定義(世界由来を含める)とPhase Aの意味(世界由来の偏りの観察段階でもある)
- PredictionEngineとper_person weightsの詳細設計はPhase B, Cで扱う
- 次のステップはシミュレータ。設計はもう十分。動かさないと見えないものがある