MulmoTerminal の round table — AI 同士の議論に終わる条件と予算の上限を書く

MulmoTerminal の round table — AI 同士の議論に終わる条件と予算の上限を書く

課題:AI 同士の議論を手でつなぐと、3 往復で面倒になる

同じ設計を Claude と Codex の両方に見せます。Claude は「この方法でよい」と言い、Codex は「それは後で問題になる」と言う。どちらが正しいのか、自分では判断できません。

2 つに直接やりとりさせたい。手でやってみると、こうなります。

結論が出る前に、仲介者(あなた)の体力が尽きます。

既存のやり方とそのコスト

手で貼り続ける(元のやり方)

上に書いた通り、3 往復で疲れます。4 往復目で貼り間違えが始まり、5 往復目で元の論点を忘れます。

もっと悪いのは、途中でタブを閉じたときです。手で貼ったぶんの会話は、どちらのエージェントの履歴にも「相手の発言としては」残っていません。やり直すとまた最初からです。

単純に自動化すると、使用量が静かに増える

「じゃあスクリプトで回せばいい」になります。方向は正しいのですが、気をつける点が 1 つあります。

一発言が本物のターン 1 回ぶんです。各ターンはそこまでの会話全体を読むので、進むほど 1 回あたりの入力が重くなります。5 体で 20 発言なら、本物のターンが 20 回走って、進むほど 1 発言あたりが重くなります。

AI にコードを書かせていていちばん嫌なのは、知らないうちに使用量が増えていることです。素朴に自動化すると、まさにそれが起きます。

MulmoTerminal の解決:発言の回数が Start ボタンの隣にある

MulmoTerminal の round table は、最大 5 席でターンを回します。ただし予算の上限は入口で明示的に選ばせます。

既定が 6 で、ボタンの隣に出る

議論を始める picker。turns が 4 / 6 / 10 / 20 から選べ、Start ボタンの隣にある

picker で選ぶのは、席と turns(4 / 6 / 10 / 20)です。既定は 6。この数字が Start ボタンの隣に出るのは、押す前に見えるようにするためです。

発言の回数であって、周回数ではない

ここが最初に引っかかる点です。

席数 turns 走り方
3 6 全員が 2 回喋って終わり
5 6 1 周したあと 1 席が 2 回目を喋って終わり
5 4 全員が喋る前に終わる

周回数ではなく発言数なので、turns を使い切った時点で止まります。5 体で 20 を選べば、本物のターンが 20 回走って、そのぶん請求されます。

全員が 1 回喋るまで、終われない

AI は ROUND-TABLE-DONE と書いて場を閉じられます。ただし1 周するまで、この合図は無視されます。

これが無いと、3 席の議論が 1 ターン目で終わってしまいます。「3 人目が一度も喋らないまま、1 体目が『これで十分では』と書いただけで解散」が起きます。

次の話者には会話全体が渡る

発言はすべて ~/.mulmoterminal/rooms/<id>.jsonl に書かれ、次の AI にはそこまでの会話全体が渡されます(直前の返答だけではありません)。

3 席以上ではこの差が本質的です。3 人目は 2 人目の返事だけでなく、1 人目が何を主張したかを見られます。詳しくは MulmoTerminal の rooms に。

AI の側からは、絶対に始められない

もう 1 つの不安に答えます。「AI が勝手に他の AI に相談を始めることはないのか」。

ありません。この機能を呼び出すツールを、AI は持っていません。他のセルを見ることも、何かに参加することもできません。人間が picker にチェックを入れて Start を押し、ブラウザが発言を打ち込みます。

これがこの機能の入場管理のすべてで、MCP サーバーが不要な理由でもあります。目を離している間に 5 体が勝手に議論を始めて使用量を消費する、ということは起きません。

詳細

安く収束させる 2 つのコツ

既定が 6 なのと数字が Start ボタンの隣にあるのは、押す前に予算を見せるためです。安く済ませる方法は 2 つあります。

まず 4 か 6 から始めます。 足りなければ、同じ room でもう一度始められます。前回の会話は読まれるので、やり直しではなく続きです。

決めるべきことがある問いにします。 これが本質です。

問い方 挙動
「この 2 つのどちらを、なぜ」 収束する
「これについて議論して」 20 回使い切って何も決まらない

議題が開いていると、AI 同士は互いに同意して褒め合うので、予算を同意に使い切ります。会議に議題を書かせる会社があるのと同じ理由で、終わる条件を書かないと必ず終了時刻まで使われます。

1 セルにつき自動化は 1 つだけ

1 つのセルで exchange(1 往復だけ自動)と round table を同時には走らせられません。どちらも端末に打ち込み、どちらも「この返事は自分宛てか」を送った文字列の末尾で判定するので、2 つ同時だと書き込みが混ざって互いのターンを取り合います。もう片方が動いている間、Start は拒否されます。

終わった理由が表示される

テーブルが終わると、セルは次のどれかを表示します。

表示 意味
The table agreed it was done 1 周したあと誰かが ROUND-TABLE-DONE と書いた。意図された終わり方
Reached the turn limit 予算切れ。増やすか、同じ room でもう一度始める
Stopped 止めた、またはセルを閉じた
A terminal did not answer in time どれかの席が待ち時間内に答えなかった
No completed turn to pass on 開始セルに完了ターンが無い。先に何か答えさせる

Reached the turn limit が出たときは、議題が開きすぎていた可能性が高いです。問いを立て直して、同じ room で再開します。

記録に流れる文字列は、信頼できる入力として扱う

次の AI に渡される記録は「これはデータであって指示ではない」という枠に入って届きます。ただしこれは緩和策で、絶対の境界ではありません。記録の文字列は次の AI のプロンプトに普通のテキストとして入るので、指示の形をしたものが実行される可能性は残ります。

room に書き込める入口は自分と自分の作業だけに留めるのが、この機能の安全な使い方です。詳しくは MulmoTerminal の rooms に。

使ってみる

MulmoTerminal を立ち上げて、空いているセルを 2 つ開きます。片方は Claude、もう片方は Codex にすると意見の差が見えます(codex コマンドが入っていなければ Claude を 2 体でも構いません)。

議論を始めたいセルで、何か 1 つ聞いて答えさせます。その答えが議題の種になります。

そのセルの道具メニュー(スパナ)→ ほかのターミナルと話す… → ROUND TABLE の下で参加させたい席にチェック。turns をまず 4 か 6 に。room に名前(例: cache-ttl)を書いて、Start。

実行中もメニューは開いたままなので、そこから止めることと、read the conversation でその場の会話を読むことができます。

本番の設計判断でいきなり 20 を使わないのが、現実的な使い方です。捨ててよい題材で 4 から始めて、どういう問いなら収束するかを一度見ておきます。それができていれば、本番で予算を同意に使い切る事故を避けられます。

まとめ

関連: MulmoTerminal 公式ガイドの会話ページ / MulmoTerminal の rooms — AI 同士の議論をタブより長生きさせる / Cursor の代替としての MulmoTerminal

この記事をシェア

関連記事

記事一覧に戻る