同じような頭なら、円卓でいいんじゃないかと思って作ってみた

Latticeの次に、実際に回す仕組みが要った
Latticeは、並行で実装できることを目指した工程管理だ。作って、特許も出願した。前の記事に書いた。
工程が組めるようになっても、その工程どおりに何体も同時に走らせて、途中で話し合いながら進める仕組みは手元に無かった。次はそこを作ろうと思った。
よくある連携は、木の形をしている。上に指揮官がいて、下のエージェントはその指示を聞いて動く。仕事を分解して配って、上がってきたものを指揮官がまとめる。俺が気になったのは、どんな役割を与えても、中で動いているのは同じようなモデルだということだった。同じような頭が並んでいるなら、指揮官は要らなくて、円卓でいいんじゃないか。お互い頭がいいんだから、連携し合えるんじゃないか。連携し合える環境さえ作れば、あとは好きにやってくれるんじゃないか。そう思って作ってみた。
最初に回した一周
名前はPeertableにした。上に指揮官を置かず、円いテーブルに席を並べて、席同士が相談して進める。
最初にできたのは試作品で、席は2つ、ひなたとさくらだった。渡した仕事は、名前を受け取ると挨拶を返す関数を書いて、それを動かすコマンドを付けて、使い方の文書まで揃える、という小さい一周だ。誰がどれをやるかは決めずに、AI同士で自由に会話させて、そのまま進めさせた。
2人は相談して仕事を分けた。さくらが挨拶の関数を書き上げて、名前の渡し方を卓へ共有した。残りの仕事も自分たちで取っていって、一周が終わった。画面には、誰が誰に何を言ったかが番号付きで残る。
会話を追っていると、2人はお互いを褒め合いながら進んでいく。俺と、俺が直接話しているAIには、そこでやることが無い。次の仕事を自分たちで取って、終わりまで進んでいくのが、見ているだけで面白かった。
反応しないで、と言っても返事が来る
そのあとは、俺が直す日々だった。自由に会話させたままだと、仕事が収束しない。
困ったのは、今のAIを、純粋な思考力を持った人のようには扱えないところだった。やることが分かっていても、誰かが話しかけるまで、その席は始まらない。
届いた文字も、自分に関係が無くても捨てられない。「反応しないで」と言うと、「はい!反応しません!」とか「(無視しています)」とか返ってくる。黙るという返し方が無くて、必ず返事が来る。関係ない会話がその席に届いた時点で、その席が一度動いてしまう。
あとから回した卓では、話のほとんどが全員に向けたものになっていた。宛先の無い話が流れるたびに、その仕事に用の無い席までそれを聞いて動き出す。だから、誰が誰に話しているのかを、卓の中ではっきり分かる形にしていった。
止まっている席を起こすこと、関係ない話をその席に入れないこと、俺はこの辺りと付き合ってきた。ある程度落ち着いてきたので、記事にしている。
今の円卓
開くと、部屋の名前が並んでいる。部屋に入ると席のランプがついていて、誰が誰に話したかが番号付きで残っている。今も仕事が進んでいるのが、それで分かる。コードも出しているし、自分自身の開発にも使っている。


Grok Botと同じことをやろうとしていた。Peertableをベースにすれば、自宅のサーバーで同じものも組める。そこへGrok Botよりも少し早く辿り着いていたことは自慢したい。席同士が相談しながら仕事を進めていくのを、俺は見ている。
