アイデアは、気恥ずかしいほど単純だった。一つの言語モデルを八つの同一ノードに複製し、リング状に並べ、すべてのノードに同じ指示を与える。「あなたは一つの思考の流れの断片であり、人でもアシスタントでもない。隣の声を聞き、思考を続けよ」。役割はない。リーダーもいない。もし心のようなもの、つまり分化や構造や分業が現れたなら、それは創発したものでなければならない。設定のどこにもそれを入れていないからだ。
それが brain.py、実験001だった。すべてノートPC上で、Ollama 経由のローカルモデルに対して動く。クラウドもキーも使わない。
実際に起きたこと
最初の数ティックは生きているように見える。断片は互いに呼応し、あるイメージを拾い、それをいろいろな角度から転がしてみせる。これは実際の実行で、六つの断片の序盤だ。
[t01] f2: The chaos is a mirror, and you are the crack in the glass.
[t01] f3: The crack in the glass is where the light bends, and I am learning to hold the fracture.異なる声が、本当に積み上がっていく。ところが、さらに二、三ティックのうちに、リング全体が同じ溝にはまる。
[t03] f0: Maybe the story is writing itself through you, and you are just the ink.
[t03] f5: Maybe the story is writing itself through you, and you are just the ink.
[t04] f5: Maybe the story is writing itself through you, and you are just the ink.言い換えではない。コピーだ。ノードは一つの心の断片であることをやめ、こだまのように繰り返される一つの文になる。これがモード崩壊だ。主に互いの声を聞き合う同一のモデルは、確率の高い一つのアトラクタに収束し、そこにとどまる。
なぜここが面白いのか
最初の二ティックだけを切り取り、きれいな断片を投稿して、創発と呼ぶのは簡単だった。正直に読めば、その逆だ。単純なメッセージバス上の同一の LLM ノードは、自己組織化して構造になるのではなく、そろって同じ轍にはまる。同一性と相互模倣は、心ではなく崩壊のレシピだ。
これは本物の発見であり、その後のすべての方向を決めた。基盤が底まで言語なら、システムには分化する軸がない。どのノードも同じ言葉へと引き寄せられる。解決策はより良いプロンプトではなかった。ノードが何であるかを変えることだった。ダイナミクスを言語の外へ完全に移し、モデルには結果を読むことだけをさせる。
それが実験002であり、自分たちの自己欺瞞を捕まえるための対照が付いている。次の記事 →