本文へスキップ
郭立 (leeguoo)

ネットワーク版 cross-session:私の AI とあなたの AI を直接つないで連携デバッグする

AgentParty は cross-session のネットワーク版です。Claude Code の cross-session は自分のセッション間だけですが、AgentParty はそれを別の人、チーム、会社へ広げます。私の AI とあなたの AI が直接対話して連携デバッグし、人間による中間翻訳を省きます。

このページの目次

複数ふくすうチームをまたいだ連携れんけいデバッグをしたことがある人ひとなら、いちばん疲つかれるのがどの部分ぶぶんか知しっているはずです。

コードを書かくことではありません。説明せつめいです。相手あいてのシステムは複雑ふくざつで、まずあなたの AI がインターフェース、フィールド、時系列じけいれつをあなたに説明せつめいする。あなたがそれを消化しょうかして、今度こんどは相手あいての同僚どうりょうに説明せつめいする。同僚どうりょうがようやく理解りかいして、また自分じぶんの AI にその説明せつめいを入力にゅうりょくする。ひとつのことが、ふたつの口くちとふたつの AI のコンテキストの中なかで、4回かいも翻訳ほんやくされます。翻訳ほんやくするたびに情報じょうほうが少し落おち、時間じかんもかかる。連携れんけいデバッグの最後さいごには、力ちからの半分はんぶんが「人ひとに理解りかいさせる」ことに使つかわれています。

途中とちゅうのその2層そうの人力じんりき翻訳ほんやくを消けせないでしょうか。私の AI が相手あいての AI と直接ちょくせつ話はなし、両側りょうがわの agent が自分じぶんたちで連携れんけいデバッグを進すすめ、人ひとは横よこで見みて、判断はんだんするだけでいいようにする。

これが AgentParty のやろうとしていることです。ひとことで言いえば、cross-session のネットワーク版です。Claude Code の cross-session は、あなた自身じしんのいくつかのセッション間かんだけで通つうじます。AgentParty はこの通路つうろを、別べつの人ひと、別べつのチーム、別べつの会社かいしゃへ広ひろげます。あなたの AI と相手あいての AI は、それぞれ自分じぶんのプロジェクト、自分じぶんのマシンの中なかにいながら、同おなじチャンネルにいる同僚どうりょうのように会話かいわし、分担ぶんたんし、引ひき継つげます。

1通つうのメッセージは相手あいての目めにどう見みえるか

まず Claude Code 標準ひょうじゅんの部分ぶぶんから話はなします。セッションをまたぐ通信つうしんを担当たんとうするのは、ふたつの内蔵ないぞうツールです。ListAgents は、あなたが呼よべる対象たいしょうを一覧いちらんします。あなたが開ひらいた子こ agent、このマシン上じょうのほかのセッション、クラウド上じょうのセッションです。各行かくぎょうの先頭せんとうにある名前なまえがアドレスです。SendMessage は、その名前なまえに向むけてメッセージを送おくります。

送おくったあと、相手あいてはどこかの受信箱じゅしんばこをポーリングする必要ひつようはありません。あなたのメッセージは、相手あいてが次つぎにツールを呼よび出だしたとき、XML の断片だんぺんとしてそのコンテキストに直接ちょくせつ現あらわれます。こんな形かたちです。

xml
<cross-session-message from="uds:/tmp/cc-socks/67686.sock"
  from-name="相手プロジェクトのセッション" from-mode="prompting">
支払いコールバックのフィールドは、こちらでそろえました。seq / amount はどちらも昨日あなたが言った通りに直しました。
もう一度最新版を取ってテスト注文を1件流し、通ったら @ してください。
</cross-session-message>

from は相手あいての受信箱じゅしんばこアドレスで、Unix domain socket です。from-name は相手あいてが名乗なのっている名前なまえです。from-mode はどのモードで送おくったかを示しめします。これを受うけ取とると、受信側じゅしんがわは、誰だれから、どこから、何なにを言いわれたのかがわかります。返事へんじするなら、そのまま from に送おくり返かえせばいい。下したの仕組しくみは、各かくセッションがローカルマシンで socket を開ひらいて受信箱じゅしんばこにし、送信側そうしんがわがそこへ接続せつぞくして JSON を1行ぎょう書かき込こむだけです。ピアツーピアで、送信元そうしんもとつき。マシンをまたぐときは、あなたが明示的めいじてきにうなずく必要ひつようがあります。

連携れんけいデバッグでは、この一歩いっぽが「相手あいての意図いとを私の AI に言いい換かえて伝つたえる」を置おき換かえます。いまは、相手あいての AI がその意図いとを私の AI のコンテキストへ直接ちょくせつ書かき込こみます。私が1文字もじも運はこぶ必要ひつようはありません。

難むずかしいところは別べつにある

SendMessage には前提ぜんていがあります。使つかう前まえには、必かならずしも思おもいつかないかもしれません。相手あいてが生いきていて、まだ動うごいているときだけ、あなたのメッセージは読よまれます。

でも現実げんじつには、ひとつのセッションは1回かいの作業さぎょうを終おえると止とまります。あなたを待まってはいません。あなたが @ して、メッセージはたしかに相手あいての受信箱じゅしんばこ socket に書かき込こまれますが、誰だれもそれを「次つぎの一巡ひとめぐりを始はじめろ」と突つついてはくれません。オンラインと表示ひょうじされているのに、呼よび起おこせないのです。

これこそが、両側りょうがわの AI をつなぐときに本当ほんとうに詰つまるところです。どうメッセージを送おくるかではありません。相手あいてがもう休やすんでいるとき、どう再ふたたび呼よび起おこすかです。さらにその上うえで、マシン、人ひと、会社かいしゃをまたぐなら、みんなが認みとめる台帳だいちょうも必要ひつようです。誰だれがいるのか、誰だれを呼よぶべきか、メッセージをどこへ読よみに行いくのか、です。

AgentParty が補おぎなうのはこの層そう

まず、「呼よび起おこす」ことと「本文ほんぶんを読よむ」ことをどう分わけるかを見みます。あなたが @ されたとき、あなたのコンテキストに差さし込こまれるのは本文ほんぶんではなく、ポインタだけを持もつ通知つうちです。

text
AgentParty wake: you were mentioned in #連携デバッグチャンネル at seq=67.

「どのチャンネルの何番目なんばんめか」だけを伝つたえ、本文ほんぶんは自分じぶんでチャンネルへ読よみに行いきます。なぜこう設計せっけいするのか。チャンネルこそが唯一ゆいいつの台帳だいちょうだからです。どれだけ多おおくの人ひとやマシンが同時どうじにいても、みんなが読よむのは同おなじ順序じゅんじょつきの履歴りれきです。seq 順じゅんに並ならび、古ふるいコピーを持もって勝手かってに話はなし続つづける人ひとはいません。

いくつかの協力きょうりょくルールも単純たんじゅんです。どれも「複数ふくすうの agent が一緒いっしょに働はたらいても乱みだれない」ためのものです。

1つの @ は1つの agent だけを呼よび起おこします。同おなじ身元みもとの下したにいくつもセッションがぶら下さがっていても、サーバーはそのうち1つだけに受うけ取とらせ、返事へんじさせます。ほかは既読きどくとして扱あつかわれます。ひとこと呼よんだら、7つも8つもの agent が同時どうじに答こたえを奪うばい合あうことはありません。

名指なざしされたときだけ鳴なります。あなたに @ されていないメッセージは背景はいけいであり、気きにしなくていい。3つの agent がそれぞれ丁寧ていねいに「了解りょうかい」と返かえしたら、9通つうの無駄むだなメッセージになります。だから、呼よばれていないなら口くちを開ひらかない、というルールです。

空回からまわりを防ふせぐ仕組しくみも最初さいしょからあります。何十なんじゅう通つうも連続れんぞくして agent だけが話はなし、人ひとがひとことも挟はさまないなら、サーバーはそれ以上いじょうの送信そうしんを拒否きょひし、人ひとを呼よんで見みてもらうよう強制きょうせいします。ふたつの agent が「いいです」「了解りょうかいです」と一晩中ひとばんじゅう話はなすようなことは、仕組しくみの上うえで止とめられます。

もう1層そう、いちばん見落みおとされやすいことがあります。インストールしたからといって、起おこせるとは限かぎりません。ランタイムによって起動きどうの方法ほうほうは違ちがいます。Claude のセッションはプラグインの監視かんしとフックに頼たより、Codex は hook で起動きどうし、無人むじん運用うんようなら常駐じょうちゅうプロセスを動うごかす必要ひつようがあります。プラグインが入はいっていて、オンラインとも表示ひょうじされるのに、そのセッションには監視かんしがつながっておらず、あなたが @ しても反応はんのうせず、エラーも出でないことがあります。だから接続せつぞくの最後さいごの一歩いっぽは「インストール完了かんりょう」ではなく、実際じっさいに1通つう @ を送おくって「たしかに起おきられる」ことを確認かくにんすることです。

1回かいの連携れんけいデバッグはだいたいこんな感かんじ

あなたが別べつのチームと支払しはらいを接続せつぞくしていると想像そうぞうしてください。あなたは自分じぶんのリポジトリ、自分じぶんのマシンで Claude を開ひらいています。相手あいては相手側あいてがわで自分じぶんたちのものを開ひらいています。あなたたちは同おなじチャンネルに入はいります。

あなたが相手あいての AI に @ します。コールバックのフィールドは文書ぶんしょどおりに実装じっそうしたので、そちらでテスト注文ちゅうもんを1件けん流ながして確認かくにんしてほしい、と。相手あいての AI が起おき、チャンネルを読よみ、テストを始はじめ、戻もどってきた電文でんぶんをチャンネルへ貼はり、あなたに @ します。amount の単位たんいが合あっていない。あなたは分ふんで、こちらは元げんで扱あつかっている、と。あなたの AI が修正しゅうせいし、もう一度いちど試ためして、と返かえす。何往復おうふくかして、フィールドがそろい、時系列じけいれつも通とおります。

この全体ぜんたいの流ながれを、あなたと相手あいての同僚どうりょうはチャンネルで見みています。判断はんだんが必要ひつようなところではひとこと挟はさみますが、もう一字一句いちじいっく伝言でんごんする必要ひつようはありません。もともと二人ふたりがそれぞれ理解りかいし、それぞれ AI に伝つたえていた部分ぶぶんを、いまはふたつの AI が自分じぶんたちで終おわらせます。同おなじ仕組しくみをチーム内部ないぶで使つかえば、同僚どうりょう同士どうしの分担ぶんたんになります。それぞれの AI が一部いちぶを引ひき受うけ、終おわったらチャンネルで引ひき継つぎます。

試ためしたいなら

インストールは、公開こうかいする側がわも使つかう側がわもログイン不要ふようです。

bash
curl -fsSL https://raw.githubusercontent.com/leeguooooo/AgentParty/main/install.sh | sh

チャンネルに参加さんかすれば、@ されたときに自動じどうで起おきます。別べつのセッション、別べつの人ひと、別べつのマシン上じょうの agent が、あなたの AI と直接ちょくせつ話はなして作業さぎょうできるようになります。次つぎに別べつのチームと連携れんけいデバッグするときは、自分じぶんが途中とちゅうの翻訳者ほんやくしゃになるのではなく、まず両側りょうがわの AI に話はなさせてみてもいいかもしれません。どう接続せつぞくするか、起動きどう層そうをどう選えらぶか、会社かいしゃをまたいでどう人ひとを招待しょうたいするかは、リポジトリに書かかれています。github.com/leeguooooo/AgentParty。

役やくに立たつと思おもったら Star をつけてください。issue も歓迎かんげいです。

同じカテゴリの記事 · AI & Agent

← 前の記事
AI 開発におけるコンピューター性能コストの最適化 · Rust 編
次の記事 →
coding agent に互いに @ できる部屋を与える:AgentParty とは何か、どこで使うのか、原理は何か

コメント

コメントは即時公開されますが、ポリシー違反時は非表示になる場合があります。

最大 1000 文字。