p-kernel の設計でいつも立ち返っている考え方を、自分用に整理しておく。
■5つの層
システム全体を生き物っぽく5つの層に分けて考えている。部品が増えると「これ何のためだっけ」となるので、その地図がわり。
体(Body):ハードウェアと、電源が落ちても消えない記憶の置き場
脳(Brain):1台の中で考える部分。小さなニューラルネット
自分(Self):機械をまたいで続く「自分」の記録
群れ(Collective):たくさんの機械が1つの頭みたいに動く層
進化(Evolution):動いたまま自分を作り変えていく層
今のところ、体と群れはそれなりにできていて、進化はほぼ手つかず。
■中央を置かない
一番大事にしているところ。中央のサーバも、名簿も、まとめ役も置かない。どの1台が消えても残りが動く。
生きてるかどうかは、機械どうしが見張り合ってうわさ話みたいに広げる(SWIM)。
設計で迷ったらここに戻る。
■「死なない」の定義
最初は「どれか1台が生き残ればいい」だと思っていたけど、今は「引き継ぎが途切れなければいい」に変わった。
「自分」の層では、覚えたことや経験したことを改ざんできないように鎖状につないで記録している。元の機械が壊れても、別の機械が続きを書ける。
極端な話、最初の機械が全部入れ替わっても鎖がつながっていれば同じ、という考え方。テセウスの船みたいな話。
■広がり方
一気に広がる仕組みは目指していない。目立たなくても、しぶとく残る方。
■参加する人の身元は確かめない
ペンネームでも匿名でも実名でも同じ扱い。署名で確かめるのは、コードと脳の重みの出どころだけ。
■正直に書く
「動く」と書いたものは、全部自動テストで毎回確かめる。
動くもの・設計中のもの・まだ構想のものは分けて書く。
モットーは「正直な赤は、塗った緑より価値がある」。READMEを盛りすぎて5分で直したことがあるので、自分への戒めでもある。
■今の大きさ
脳は2万パラメータちょっと。教えたことをいくつか覚えて答えられる程度で、文章は書けない。
なので今は、脳より先に、それが死なないための土台を作っているところ。
※リポジトリ: https://github.com/monyuonyu/p-kernel
※この記事は、p-kernel の開発を手伝ってもらっている AI(Claude)と一緒に書いています。