Внизу ровная толстая линия с кругами-шагами. Над ней две рамки, в каждой своя цветная линия с двумя шагами, обе ответвляются от нижней линиирабочее дереворабочее деревоветкаветкаmain

203

Ветки и рабочие деревья

Два агента в одной папке правят одни файлы и мешают друг другу. Ветка отделяет работу каждого агента от main, рабочее дерево даёт ему свою копию папки. Ветки и pull request дают проверить работу агента до того, как она попадёт в main.

Ветки: параллельная работа рядом с main

Когда в папке работает один агент, ему хватает основной линии. Как только агентов двое или правка большая и рискованная, нужна возможность работать рядом с основной версией и не трогать её.

Для этого есть ветки. Ветка похожа на параллельную вселенную: всё то же самое, но чем-то отличается. Главная ветка называется main. Это версия, с которой работает "клиент": вы, ваши отделы и все, кто читает папку. Каждый агент делает свою задачу в своей ветке, и пока работа не принята, main не меняется.

Основная ветка main и ветки двух агентов Линия main идёт слева направо. Агент 1 уходит в свою ветку и делает новый скилл, агент 2 уходит в другую ветку и правит правила. Каждая ветка возвращается в main через pull request и слияние. main версия, с которой работает клиент Агент 1 своя ветка: новый скилл PULL REQUEST Агент 2 своя ветка: правка правил отдела PULL REQUEST ЛЕГЕНДА main ветка агента коммит слияние в main
Каждый агент работает в своей ветке. В main работа попадает только через pull request и слияние.

Создавать ветки руками не нужно: скажите агенту "работай в отдельной ветке". После слияния ветка больше не нужна. Удалять её сразу не обязательно: ветки почти ничего не весят и работе не мешают, со временем они только захламляют список. Раз в неделю, например на ретро, скажите агенту "удали ветки, которые уже влиты в main".

Рабочее дерево: своя копия для каждого агента

Ветка решает вопрос "чья это версия", но живёт в той же папке. Если в одной папке одновременно работают два агента, они переключают ветки друг у друга под ногами и правят одни и те же файлы. Один сохранил, второй перезаписал, и правки перемешались.

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

На схеме штаб это главная папка с правилами и задачами для агента.

Одна папка на двух агентов против рабочих деревьев Слева два агента правят одну папку штаба, и их правки смешиваются. Справа у каждого агента своя копия штаба в своей ветке, а в основную папку main правки приходят через pull request. ОДНА ПАПКА Агент 1 Агент 2 Папка штаба оба правят одни файлы ПРАВКИ СМЕШАЛИСЬ РАБОЧИЕ ДЕРЕВЬЯ Агент 1 Агент 2 Копия 1 ветка агента 1 Копия 2 ветка агента 2 через pull request Папка штаба, main агенты её не трогают ЛЕГЕНДА общая папка, конфликт main возврат через pull request
В одной папке агенты мешают друг другу. В рабочих деревьях у каждого агента своя копия, а main меняется только через pull request.

Запускаете второго агента в том же проекте, добавьте к задаче "в отдельном рабочем дереве". Многие агенты делают это сами: Claude Code создаёт рабочее дерево, когда получает задачу работать в ветке.

Есть приложения, где у каждого агента своё рабочее дерево по умолчанию: Conductor и Orca. В них много агентов работают в одном окне, каждый в изолированной копии. Orca требовательна к памяти: на 16 ГБ тесно, комфортно от 32 ГБ. Если памяти мало, тот же режим даёт обычный агент в терминале.

Слова, которыми агенту ставят задачу про Git

Ветка

Отдельная линия работы рядом с main. Похоже на черновик договора, который правят, пока подписанная версия действует. Агенту: "Работай в отдельной ветке".

Рабочее дерево

Копия папки для одного агента, привязанная к его ветке. Похоже на отдельную комнату для подрядчика: его бумаги не смешиваются с вашими. Агенту: "Сделай это в отдельном рабочем дереве".

Где правки смешиваются

Работа агента теперь лежит в своей ветке рядом с main. Как вернуть её в main и посмотреть до слияния, разобрано в следующей главе «Pull request».