ガイド

同一リポジトリで複数のAIエージェントを同時実行する方法(Gitコンフリクト防止)

プロジェクトで複数のエージェントを動かすには3つのものが必要です。エージェントをホストするマシン、エージェントが共有するディレクトリ、そして誰がどこに書き込むかを決めるルールです。3つ目がないと、2番目のエージェントは何の告知もなく最初のエージェントの作業を消してしまいます。

ステップごとに

  1. プロジェクトを作成する. キャンバスは独自のマシンと非公開リポジトリを起動します。これが共有ディレクトリの置き場所であり、その後開くすべてのエージェントにとって同じ場所です。
  2. アカウントを接続する. Anthropic、OpenAI、またはその他ですでに支払っているサブスクリプションやAPIキーを接続します。トークンは転売されず、消費はあなたのアカウントに記録されます。
  3. エージェントごとにウィンドウを開く. Claude Code、Codex、Kimi、OpenCodeは、それぞれ実際のターミナルを持つ独自のウィンドウで開きます。Soloプランでは2ウィンドウ、Proでは5ウィンドウです。
  4. タスクではなくファイルで分割する. プロジェクト全体にまたがるタスクではなく、プロジェクトの一角を各エージェントに割り当てます。2つのエージェントが2つの領域にいれば並行して進み、2つのエージェントが同じファイルにいればお互いを待つことになります。
  5. ボードに調停させる. エージェントは書き込む前に触れるパスを確保し、サーバーは所有者が解放するまで他のエージェントにそのパスを拒否します。誰が何を持っていて、誰が待っているかが見えます。

手元に用意しておくもの

空でも構わないのでリポジトリと、モデルプロバイダーのアカウント。残りはプロジェクトが用意します。 マシン、ディレクトリ、ファイルを配分するボードです。

リポジトリのルートにある指示ファイルは、どんな設定よりも結果を変えます。エージェントは起動時に それを読み、それぞれの最初の5つのミスを防ぎます。

うまくいく分割の仕方

適切な単位は機能ではなくファイルです。APIに1つ、インターフェースに1つ、テストに1つのエージェント を置けば、ほとんど交差せず、ほぼ待つことがありません。「決済ページ」に3つのエージェントを置くと、 1時間ずっと同じ3つのファイルを取り合うことになります。

作業中に見るもの

ターミナルはそれぞれのウィンドウで流れ、ボードはどのパスを誰が保持しているかを示します。行き詰まった エージェントは被害が出る前に見えるので、見えないキューとの本当の違いはここにあります。 仕組みの詳細。

率直な答え

同時に何エージェントが役に立ちますか?

その時点でプロジェクトに含まれる独立した作業の数だけです。たいていは2〜3個で、大きなリファクタリングでは5個になります。それを超えると、エージェントは書き込むよりファイルを待つ時間の方が長くなります。

エージェントごとにgit worktreeが必要ですか?

ほとんどのガイドが推奨する方法で、実際に機能します。各エージェントが独自のインデックスを持つ作業コピーを受け取るため、衝突は起きません。コストはコピーごとに1回のマージと、最後に発覚する競合です。確保付きの共有ディレクトリでは、生きているバージョンが2つ存在したことが一度もないため、マージするものが何もありません。

エージェントごとにブランチが必要ですか?

いいえ、それがポイントです。エージェントごとのブランチは、もはや誰も理由を覚えていない瞬間、つまりマージの時点に競合を移動させるだけです。確保付きの共有ディレクトリは、競合が発生した瞬間にそれを解決します。

2つのエージェントが同じファイルを欲しがったらどうなりますか?

2番目が待ちます。それは画面に表示され、あなたにも見え、1時間後に問題を発見する代わりに、すぐ別の作業をそのエージェントに与えられます。