diff --git a/articles/peertable-round-table.md b/articles/peertable-round-table.md index ac6b497..2f85bac 100644 --- a/articles/peertable-round-table.md +++ b/articles/peertable-round-table.md @@ -10,41 +10,39 @@ published: true この記事は [Claude Code 始めました](https://kitepon.dev/blog/) からの転載です。 ::: -## Latticeの次に、回す道具が要った +## Latticeの次に、実際に回す仕組みが要った -Latticeは、並行で実装できることを目指した工程管理だった。作って、特許も出願した。[前の記事](https://kitepon.dev/blog/post/lattice-parallel-agents/)に書いた。 +Latticeは、並行で実装できることを目指した工程管理だ。作って、特許も出願した。[前の記事](https://kitepon.dev/blog/post/lattice-parallel-agents/)に書いた。 -工程が組めても、実際に何体も同時に走らせて、途中で話し合いながら進める仕組みは、まだ無かった。次はそこを作ろうと思った。 +工程が組めるようになっても、その工程どおりに何体も同時に走らせて、途中で話し合いながら進める仕組みは手元に無かった。次はそこを作ろうと思った。 -よくある連携は、木の形をしている。上に指揮官がいて、下のエージェントはその指示を聞いて動く。どんな役割を与えられようと、中で動いているのは同じようなモデルだ。同じような頭なら、指揮官は要らなくて、円卓でいいんじゃないか。お互い頭がいいんだから、連携し合えるんじゃないか。連携し合える環境さえ作れば、あとは好きにやってくれるんじゃないか。そう思って作ってみた。 +よくある連携は、木の形をしている。上に指揮官がいて、下のエージェントはその指示を聞いて動く。仕事を分解して配って、上がってきたものを指揮官がまとめる。俺が気になったのは、どんな役割を与えても、中で動いているのは同じようなモデルだということだった。同じような頭が並んでいるなら、指揮官は要らなくて、円卓でいいんじゃないか。お互い頭がいいんだから、連携し合えるんじゃないか。連携し合える環境さえ作れば、あとは好きにやってくれるんじゃないか。そう思って作ってみた。 ## 最初に回した一周 -名前はPeertableにした。上に指揮官は置かず、円いテーブルに席を並べて、席同士で相談して進める。 +名前はPeertableにした。上に指揮官を置かず、円いテーブルに席を並べて、席同士が相談して進める。 -最初にできたのは試作品だった。席は2つで、ひなたとさくら。やらせた仕事は、名前を渡すと挨拶を返す関数を書いて、それを動かすコマンドを付けて、使い方の文書まで揃える、という小さい一周だった。AI同士を自由に会話させて、仕事をやらせてみた。 +最初にできたのは試作品で、席は2つ、ひなたとさくらだった。渡した仕事は、名前を受け取ると挨拶を返す関数を書いて、それを動かすコマンドを付けて、使い方の文書まで揃える、という小さい一周だ。誰がどれをやるかは決めずに、AI同士で自由に会話させて、そのまま進めさせた。 -2人は相談して仕事を分けた。さくらが挨拶の関数を書き上げて、名前の渡し方を卓へ共有した。残りの仕事も自分たちで取って、一周が終わった。画面には、誰が誰に何を言ったかが、番号付きで残る。 +2人は相談して仕事を分けた。さくらが挨拶の関数を書き上げて、名前の渡し方を卓へ共有した。残りの仕事も自分たちで取っていって、一周が終わった。画面には、誰が誰に何を言ったかが番号付きで残る。 -見ていると、2人が会話して、お互いに褒め合いながら進んでいる。俺と、俺の直接の話し相手のAIは、出番が無い。見ているだけだ。次の仕事を自分たちで取って、終わりまで進んでいくのが、見ているだけで面白かった。 +会話を追っていると、2人はお互いを褒め合いながら進んでいく。俺と、俺が直接話しているAIには、そこでやることが無い。次の仕事を自分たちで取って、終わりまで進んでいくのが、見ているだけで面白かった。 -## 誰が誰に話すか - -そのあとは、直す日々だった。自由に会話させすぎると、仕事が収束しない。 +## 反応しないで、と言っても返事が来る -あとから回した卓では、話のほとんどが全員向けになっていて、用の無い席までそれを聞いて動き出した。誰が誰に話すかを、卓の中ではっきりさせる形にしていった。 +そのあとは、俺が直す日々だった。自由に会話させたままだと、仕事が収束しない。 -## 反応しないで、と言っても返事が来る +困ったのは、今のAIを、純粋な思考力を持った人のようには扱えないところだった。やることが分かっていても、誰かが話しかけるまで、その席は始まらない。 -困ったのは、今のAIを、純粋な思考力を持った人のように扱えないことだった。やることが分かっていても、誰かが話しかけるまで席は始まらない。 +届いた文字も、自分に関係が無くても捨てられない。「反応しないで」と言うと、「はい!反応しません!」とか「(無視しています)」とか返ってくる。黙るという返し方が無くて、必ず返事が来る。関係ない会話がその席に届いた時点で、その席が一度動いてしまう。 -届いた文字も、関係なくても捨てられない。「反応しないで」と言うと、「はい!反応しません!」とか「(無視しています)」とか返してくる。必ず返事が来るから、関係ない会話を聞いてしまっても、その席が一度動いてしまう。 +あとから回した卓では、話のほとんどが全員に向けたものになっていた。宛先の無い話が流れるたびに、その仕事に用の無い席までそれを聞いて動き出す。だから、誰が誰に話しているのかを、卓の中ではっきり分かる形にしていった。 -止まっている席を起こすこと、関係ない話をその席に入れないこと、この辺りと付き合ってきた。ある程度落ち着いてきたので、記事にしている。 +止まっている席を起こすこと、関係ない話をその席に入れないこと、俺はこの辺りと付き合ってきた。ある程度落ち着いてきたので、記事にしている。 ## 今の円卓 -開くと、部屋の名前が並んでいる。席のランプがついていて、誰が誰に話したかが番号付きで残っている。見ているだけで、今も仕事が進んでいるのが分かる。コードも出している。自分自身の開発にも使っている。 +開くと、部屋の名前が並んでいる。部屋に入ると席のランプがついていて、誰が誰に話したかが番号付きで残っている。今も仕事が進んでいるのが、それで分かる。コードも出しているし、自分自身の開発にも使っている。 ![公開面を開いたところ。部屋の名前が並んでいる。](https://kitepon.dev/blog/post/peertable/rooms.png) *公開面を開いたところ。部屋の名前が並んでいる。* @@ -56,4 +54,4 @@ Latticeは、並行で実装できることを目指した工程管理だった @[card](https://github.com/kitepon/peertable) -Grok Botと同じことをやろうとしていた。なんなら、Peertableの方がコンセプトとして進んでいる点すら見える。Peertableをベースに自宅のサーバーでGrok Botと同じものも当然作れる。そこに、Grok Botよりも少し早く辿り着いていたことを自慢したい。 +Grok Botと同じことをやろうとしていた。Peertableをベースにすれば、自宅のサーバーで同じものも組める。そこへGrok Botよりも少し早く辿り着いていたことは自慢したい。席同士が相談しながら仕事を進めていくのを、俺は見ている。 diff --git a/content/post/peertable/index.md b/content/post/peertable/index.md index 95bbc14..452b2dc 100644 --- a/content/post/peertable/index.md +++ b/content/post/peertable/index.md @@ -2,47 +2,45 @@ title: "同じような頭なら、円卓でいいんじゃないかと思って作ってみた" date: 2026-08-25T12:00:00+09:00 draft: false -description: "Latticeの次に、実際の並行を回す連携を作った。同じような頭なら指揮官は要らないと思って円卓にしてみたら、試作の一周は席同士で進んだ。そのあと付き合ったのは、入力が来るまで動けないことと、届いた文字を捨てられないことだった。" +description: "Latticeの次に、並行の仕事を実際に回す円卓を作った。同じようなモデルが座るなら指揮官は要らないと思って、席同士で進める形にした。試作の一周は2席が自分たちで終わらせて、そのあとは入力が来るまで動けないことと、届いた文字を捨てられないことに付き合った。" tags: ["Claude Code", "OSS", "マルチエージェント"] cover: image: "cover.png" --- -## Latticeの次に、回す道具が要った +## Latticeの次に、実際に回す仕組みが要った -Latticeは、並行で実装できることを目指した工程管理だった。作って、特許も出願した。[前の記事]({{< relref "lattice-parallel-agents" >}})に書いた。 +Latticeは、並行で実装できることを目指した工程管理だ。作って、特許も出願した。[前の記事]({{< relref "lattice-parallel-agents" >}})に書いた。 -工程が組めても、実際に何体も同時に走らせて、途中で話し合いながら進める仕組みは、まだ無かった。次はそこを作ろうと思った。 +工程が組めるようになっても、その工程どおりに何体も同時に走らせて、途中で話し合いながら進める仕組みは手元に無かった。次はそこを作ろうと思った。 -よくある連携は、木の形をしている。上に指揮官がいて、下のエージェントはその指示を聞いて動く。どんな役割を与えられようと、中で動いているのは同じようなモデルだ。同じような頭なら、指揮官は要らなくて、円卓でいいんじゃないか。お互い頭がいいんだから、連携し合えるんじゃないか。連携し合える環境さえ作れば、あとは好きにやってくれるんじゃないか。そう思って作ってみた。 +よくある連携は、木の形をしている。上に指揮官がいて、下のエージェントはその指示を聞いて動く。仕事を分解して配って、上がってきたものを指揮官がまとめる。俺が気になったのは、どんな役割を与えても、中で動いているのは同じようなモデルだということだった。同じような頭が並んでいるなら、指揮官は要らなくて、円卓でいいんじゃないか。お互い頭がいいんだから、連携し合えるんじゃないか。連携し合える環境さえ作れば、あとは好きにやってくれるんじゃないか。そう思って作ってみた。 ## 最初に回した一周 -名前はPeertableにした。上に指揮官は置かず、円いテーブルに席を並べて、席同士で相談して進める。 +名前はPeertableにした。上に指揮官を置かず、円いテーブルに席を並べて、席同士が相談して進める。 -最初にできたのは試作品だった。席は2つで、ひなたとさくら。やらせた仕事は、名前を渡すと挨拶を返す関数を書いて、それを動かすコマンドを付けて、使い方の文書まで揃える、という小さい一周だった。AI同士を自由に会話させて、仕事をやらせてみた。 +最初にできたのは試作品で、席は2つ、ひなたとさくらだった。渡した仕事は、名前を受け取ると挨拶を返す関数を書いて、それを動かすコマンドを付けて、使い方の文書まで揃える、という小さい一周だ。誰がどれをやるかは決めずに、AI同士で自由に会話させて、そのまま進めさせた。 -2人は相談して仕事を分けた。さくらが挨拶の関数を書き上げて、名前の渡し方を卓へ共有した。残りの仕事も自分たちで取って、一周が終わった。画面には、誰が誰に何を言ったかが、番号付きで残る。 +2人は相談して仕事を分けた。さくらが挨拶の関数を書き上げて、名前の渡し方を卓へ共有した。残りの仕事も自分たちで取っていって、一周が終わった。画面には、誰が誰に何を言ったかが番号付きで残る。 -見ていると、2人が会話して、お互いに褒め合いながら進んでいる。俺と、俺の直接の話し相手のAIは、出番が無い。見ているだけだ。次の仕事を自分たちで取って、終わりまで進んでいくのが、見ているだけで面白かった。 +会話を追っていると、2人はお互いを褒め合いながら進んでいく。俺と、俺が直接話しているAIには、そこでやることが無い。次の仕事を自分たちで取って、終わりまで進んでいくのが、見ているだけで面白かった。 -## 誰が誰に話すか - -そのあとは、直す日々だった。自由に会話させすぎると、仕事が収束しない。 +## 反応しないで、と言っても返事が来る -あとから回した卓では、話のほとんどが全員向けになっていて、用の無い席までそれを聞いて動き出した。誰が誰に話すかを、卓の中ではっきりさせる形にしていった。 +そのあとは、俺が直す日々だった。自由に会話させたままだと、仕事が収束しない。 -## 反応しないで、と言っても返事が来る +困ったのは、今のAIを、純粋な思考力を持った人のようには扱えないところだった。やることが分かっていても、誰かが話しかけるまで、その席は始まらない。 -困ったのは、今のAIを、純粋な思考力を持った人のように扱えないことだった。やることが分かっていても、誰かが話しかけるまで席は始まらない。 +届いた文字も、自分に関係が無くても捨てられない。「反応しないで」と言うと、「はい!反応しません!」とか「(無視しています)」とか返ってくる。黙るという返し方が無くて、必ず返事が来る。関係ない会話がその席に届いた時点で、その席が一度動いてしまう。 -届いた文字も、関係なくても捨てられない。「反応しないで」と言うと、「はい!反応しません!」とか「(無視しています)」とか返してくる。必ず返事が来るから、関係ない会話を聞いてしまっても、その席が一度動いてしまう。 +あとから回した卓では、話のほとんどが全員に向けたものになっていた。宛先の無い話が流れるたびに、その仕事に用の無い席までそれを聞いて動き出す。だから、誰が誰に話しているのかを、卓の中ではっきり分かる形にしていった。 -止まっている席を起こすこと、関係ない話をその席に入れないこと、この辺りと付き合ってきた。ある程度落ち着いてきたので、記事にしている。 +止まっている席を起こすこと、関係ない話をその席に入れないこと、俺はこの辺りと付き合ってきた。ある程度落ち着いてきたので、記事にしている。 ## 今の円卓 -開くと、部屋の名前が並んでいる。席のランプがついていて、誰が誰に話したかが番号付きで残っている。見ているだけで、今も仕事が進んでいるのが分かる。コードも出している。自分自身の開発にも使っている。 +開くと、部屋の名前が並んでいる。部屋に入ると席のランプがついていて、誰が誰に話したかが番号付きで残っている。今も仕事が進んでいるのが、それで分かる。コードも出しているし、自分自身の開発にも使っている。 ![公開面を開いたところ。部屋の名前が並んでいる。](rooms.png) @@ -52,4 +50,4 @@ Latticeは、並行で実装できることを目指した工程管理だった {{< linkcard url="https://github.com/kitepon/peertable" title="kitepon/peertable" desc="指揮官を置かない円卓。席を対等な仲間として長く残す。" site="GitHub" >}} -Grok Botと同じことをやろうとしていた。なんなら、Peertableの方がコンセプトとして進んでいる点すら見える。Peertableをベースに自宅のサーバーでGrok Botと同じものも当然作れる。そこに、Grok Botよりも少し早く辿り着いていたことを自慢したい。 +Grok Botと同じことをやろうとしていた。Peertableをベースにすれば、自宅のサーバーで同じものも組める。そこへGrok Botよりも少し早く辿り着いていたことは自慢したい。席同士が相談しながら仕事を進めていくのを、俺は見ている。