Параллельная работа агентов в изолированных git-worktree✦
Что это и зачем нам✦
С точки зрения нашего опыта Orca — это замена стандартным терминалам (iTerm, PowerShell, cmd и т. п.) для работы с агентами. Вместо того чтобы запускать Claude Code, Codex или другой CLI-агент в обычном терминале, мы получаем среду, заточенную именно под управление несколькими агентами одновременно. Сам проект позиционируется шире — как ADE (Agent Development Environment), но его ядро — это терминал ghostty-класса со сплитами, поверх которого и строится вся оркестрация. Это открытый инструмент (лицензия MIT) для macOS, Windows и Linux.
Ключевая идея — изолированные git-worktree✦
Каждая задача выполняется в собственном изолированном git-worktree — без
переключения веток и без stash. git worktree — это отдельный рабочий
каталог со своими файлами и своей веткой, который «разделяет всё, кроме
пофайловых данных worktree, таких как HEAD, index» с основным репозиторием
(git-scm). Правки в одной сессии
физически не касаются файлов другой, поэтому агенты не мешают друг другу, а
конфликты откладываются на этап merge, где их ловит штатный git, а не тихие
коллизии во время работы
(Claude Code Docs).
Отсюда главный сценарий Orca: один и тот же запрос можно распараллелить сразу на несколько агентов («fan one prompt across five agents»), сравнить их результаты и слить (merge) лучший вариант. Агенты при этом могут быть разными — Claude Code, Codex, Cursor, Gemini, OpenCode и другие подключаются своими подписками.
Контекст: приём не уникален для Orca✦
Стоит держать в голове, что сама техника параллельных worktree — это общий
подход, а не эксклюзив Orca. Например, у Claude Code есть встроенный флаг
--worktree/-w, который создаёт изолированный worktree и запускает сессию в
нём. Ценность Orca — в удобной обёртке: единый дашборд статусов агентов,
сплиты терминала, review диффов и т. д.
Подводные камни✦
Внешние руководства отмечают то, о чём стоит помнить: worktree — это «чистый»
checkout, поэтому нетрекаемые файлы (.env, свой node_modules) в него не
попадают — зависимости приходится ставить в каждом worktree заново
(MindStudio),
а Claude Code решает это через файл .worktreeinclude
(Claude Code Docs). Удалить можно
только «чистый» worktree — без незакоммиченных изменений и нетрекаемых файлов
(git-scm). На практике без
спец-инфраструктуры комфортно управляются 3–5 параллельными агентами — дальше
растут накладные расходы на координацию и review
(MindStudio).