Учебник 15: Git Worktrees — Параллельные агенты
Учебник 15: Git Worktrees — Параллельные агенты — простое руководство на основе официальной документации
Это часть официальной серии руководств Hermes Agent. Смотреть все руководства
Представьте: одна кухня, но два повара. Если они оба готовят на одной столешнице, то будут толкаться локтями, рассыпать муку и портить блюда друг друга. Git worktrees дают каждому повару свою столешницу — та же кухня, но отдельные рабочие места. Именно это функция делает для ваших ИИ-агентов.
Зачем это нужно? Проблема с одной рабочей копией
Hermes Agent считает папку, в которой вы его запускаете, корнем проекта. Если вы запустите двух агентов в одной папке, они будут делить все файлы. Это значит:
- Агент A может удалить файл, который редактирует агент B.
- Вы не сможете понять, какие изменения от какого эксперимента.
- Откаты становятся хаотичными — отмена одного агента может стереть работу другого.
Worktrees решают эту проблему, давая каждому агенту:
- Свою ветку (чтобы изменения не пересекались)
- Свою рабочую папку (чтобы файлы не конфликтовали)
- Свою историю чекпоинтов (чтобы
/rollbackвлиял только на этого агента)
Шаг 1: Создайте worktree (базовая команда)
Из вашего основного репозитория (того, где лежит .git/) выполните:
git worktree add ../my-agent-folder -b my-feature-branch
Разберем по частям:
../my-agent-folder— где будет жить новая папка (вне основного репозитория)-b my-feature-branch— создает новую ветку для этого агента
Теперь у вас есть свежая, изолированная копия проекта.
Шаг 2: Укажите Hermes на worktree
Использовать worktree можно двумя способами:
Вариант A: CLI (проще всего)
Просто перейдите в worktree и запустите Hermes там:
cd ../my-agent-folder
hermes chat
Вариант B: Мессенджер-шлюзы (например, Slack или Discord)
Если вы используете шлюз, отредактируйте ~/.hermes/config.yaml и укажите terminal.cwd на путь к worktree:
terminal:
cwd: /path/to/my-agent-folder
Теперь каждое сообщение, которое получит агент, будет обрабатываться в этой изолированной папке.
Шаг 3: Запустите несколько агентов параллельно
Создайте столько worktree, сколько нужно:
git worktree add ../agent-experiment-1 -b exp-1
git worktree add ../agent-experiment-2 -b exp-2
Затем запустите по одному сеансу Hermes в каждой папке. Они никогда не тронут файлы друг друга, и у каждого будет своя ветка для коммитов.
Шаг 4: Уборка после завершения
Когда эксперимент закончен, удалите worktree:
git worktree remove ../agent-experiment-1
git branch -d exp-1
Первая команда удаляет папку; вторая — ветку. Ваш основной репозиторий остается чистым.
Ключевые моменты
- Worktrees — это дешево – они не копируют весь репозиторий, только нужные файлы.
- У каждого агента своя история
/rollback– никаких катастроф с отменой между агентами. - Используйте ветки с умом – называйте их понятно (например,
refactor-login,fix-bug-42), чтобы было ясно, что сделал каждый агент.
Итог
Git worktrees позволяют запускать несколько агентов Hermes над одним проектом, не мешая друг другу. Создайте worktree для каждого агента, укажите его Hermes — и готово. Это как дать каждому повару свою разделочную доску — та же кухня, ноль столкновений.
Дальше: В Руководстве 16 мы развернем Hermes с помощью Docker — самовосстанавливающегося, постоянно работающего ассистента.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/git-worktrees