Руководства

Как запускать несколько ИИ-агентов в одном репозитории (без конфликтов Git)

Чтобы запустить несколько агентов в проекте, нужны три вещи: машина, которая их размещает, каталог, который они делят, и правило, определяющее, кто и куда пишет. Без третьего второй агент сотрёт работу первого, и никто об этом не узнает.

Шаг за шагом

  1. Создайте проект. Канвас запускает свою машину и приватный репозиторий. Именно там живёт общий каталог, и он один и тот же для всех агентов, которых вы откроете позже.
  2. Подключите аккаунты. Подключите подписку или API-ключ, за который вы уже платите у Anthropic, OpenAI или другого поставщика. Токены не перепродаются, расход остаётся на вашем аккаунте.
  3. Откройте окно для каждого агента. Claude Code, Codex, Kimi и OpenCode открываются каждый в своём окне, с настоящим терминалом. Два окна на тарифе Solo, пять на Pro.
  4. Делите по файлам, а не по задачам. Отдайте каждому агенту свой угол проекта вместо задачи, которая проходит через весь проект. Два агента в двух зонах продвигаются параллельно, два агента на одном файле ждут друг друга.
  5. Дайте доске решать. Агент занимает пути, которые собирается затронуть, перед тем как писать, и сервер отказывает в них остальным, пока он их не отпустит. Видно, кто что держит и кто ждёт.

Что нужно иметь под рукой

Репозиторий, пусть даже пустой, и аккаунт у поставщика модели. Остальное даёт проект: машину, каталог и доску, которая распределяет файлы.

Файл с инструкциями в корне репозитория меняет результат сильнее любой настройки. Агенты читают его при запуске, и он избавляет каждого от первых пяти ошибок.

Разбиение, которое работает

Правильная единица не функция, а файл. Один агент на API, один на интерфейс, один на тесты: они почти не пересекаются и почти никогда не ждут. Три агента на «странице оплаты» будут весь час спорить за одни и те же три файла.

Что вы видите во время работы

Терминалы идут в своих окнах, а доска показывает, кто держит какой путь. Застрявший агент виден до того, как он успевает навредить, и это настоящая разница с невидимой очередью. Механизм подробно.

Прямые ответы

Сколько агентов одновременно полезно?

Столько, сколько независимых задач сейчас есть в проекте, обычно два-три, а на крупном рефакторинге до пяти. Больше, и агенты начинают тратить время на ожидание файлов, а не на запись.

Нужен ли git worktree для каждого агента?

Это способ, который рекомендует большинство руководств, и он работает: каждый агент получает свою рабочую копию с собственным индексом, поэтому конфликтов нет. Цена, одно слияние на копию и конфликт, который обнаруживается только в конце. В общем каталоге с резервированием сливать нечего, потому что живых версий никогда не было две.

Нужна ли ветка для каждого агента?

Нет, и в этом суть. Ветка на агента лишь переносит конфликт на момент слияния, когда уже никто не помнит рассуждений. Общий каталог с резервированием решает конфликт в момент, когда он возникает.

Что происходит, если два агента хотят один и тот же файл?

Второй ждёт. Это видно на экране, и вам тоже, поэтому вы можете сразу дать ему другую задачу вместо того, чтобы обнаружить проблему через час.