Фоновые и параллельные агенты
Стоит вам начать доверять агенту на очерченной задаче, следующий ход очевиден: запустить несколько сразу. Современные инструменты позволяют запускать фоновых агентов — каждого в своей ветке или рабочем дереве (worktree — отдельная рабочая копия проекта, чтобы правки одного агента никогда не сталкивались с правками другого) — так что три-четыре очерченные задачи продвигаются, пока вы заняты другим.
Это настоящее ускорение, но только для независимой работы. Цена, которую вы платите взамен, — координация. Два агента, правящих один файл, выдадут конфликтующие diff'ы, и слить их вручную может стоить дороже сэкономленного.
- Делите по границам, а не по числу строк. Дайте каждому агенту кусок, не пересекающийся с другими, — отдельные модули, отдельные фичи, отдельные файлы. «Агент A делает экспорт, агент B пишет документацию» — чисто. «Оба агента правят
app.js» — забронированная головная боль со слиянием. - Изолируйте рабочие пространства. Запускайте каждого агента в своей ветке или рабочем дереве, чтобы они не наступали на незакоммиченные изменения друг друга. Сливайте их обратно по одному, прогоняя проверки при каждом слиянии.
- Держите число честным. Вам всё равно придётся проверить каждый результат. Четыре работающих агента — это четыре diff'а на прочтение и четыре набора тестов, которым нужно доверять. За пределами горстки вашим узким местом становится очередь на ревью, а не агенты.
Каждый агент работает в собственном изолированном worktree, так что их правки никогда не сталкиваются; вы вливаете их обратно по одному, прогоняя проверки на каждом гейте:
┌─────────────────────────────┐
│ ВЫ делите по границам │
└──────────────┬──────────────┘
┌────────────────┼────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ АГЕНТ A │ │ АГЕНТ B │ │ АГЕНТ C │
│ worktree-a/ │ │ worktree-b/ │ │ worktree-c/ │
│ экспорт │ │ доки │ │ стр. настроек│
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ branch-a │ branch-b │ branch-c
└────────────────┼────────────────┘
▼
┌──────────────────┐
│ СЛИЯНИЕ по одному│ проверки на каждом слиянии
│ → main │
└──────────────────┘
изолир. копии = нет коллизий · очередь ревью — вот предел
Ошибка — считать параллелизм бесплатным. Это не так — вы переместили работу с написания на ревью и интеграцию. Часто это отличная сделка, но только если вы и вправду делаете ревью.