Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 16 additions & 18 deletions articles/peertable-round-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
*公開面を開いたところ。部屋の名前が並んでいる。*
Expand All @@ -56,4 +54,4 @@ Latticeは、並行で実装できることを目指した工程管理だった

@[card](https://github.com/kitepon/peertable)

Grok Botと同じことをやろうとしていた。なんなら、Peertableの方がコンセプトとして進んでいる点すら見える。Peertableをベースに自宅のサーバーでGrok Botと同じものも当然作れる。そこに、Grok Botよりも少し早く辿り着いていたことを自慢したい
Grok Botと同じことをやろうとしていた。Peertableをベースにすれば、自宅のサーバーで同じものも組める。そこへGrok Botよりも少し早く辿り着いていたことは自慢したい。席同士が相談しながら仕事を進めていくのを、俺は見ている
36 changes: 17 additions & 19 deletions content/post/peertable/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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よりも少し早く辿り着いていたことは自慢したい。席同士が相談しながら仕事を進めていくのを、俺は見ている