~/VibeHandbook
PDF бесплатно

Глава 19 · 04

Фоновые и параллельные агенты

Стоит вам начать доверять агенту на очерченной задаче, следующий ход очевиден: запустить несколько сразу. Современные инструменты позволяют запускать фоновых агентов — каждого в своей ветке или рабочем дереве (worktree — отдельная рабочая копия проекта, чтобы правки одного агента никогда не сталкивались с правками другого) — так что три-четыре очерченные задачи продвигаются, пока вы заняты другим.

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

  • Делите по границам, а не по числу строк. Дайте каждому агенту кусок, не пересекающийся с другими, — отдельные модули, отдельные фичи, отдельные файлы. «Агент A делает экспорт, агент B пишет документацию» — чисто. «Оба агента правят app.js» — забронированная головная боль со слиянием.
  • Изолируйте рабочие пространства. Запускайте каждого агента в своей ветке или рабочем дереве, чтобы они не наступали на незакоммиченные изменения друг друга. Сливайте их обратно по одному, прогоняя проверки при каждом слиянии.
  • Держите число честным. Вам всё равно придётся проверить каждый результат. Четыре работающих агента — это четыре diff'а на прочтение и четыре набора тестов, которым нужно доверять. За пределами горстки вашим узким местом становится очередь на ревью, а не агенты.

Каждый агент работает в собственном изолированном worktree, так что их правки никогда не сталкиваются; вы вливаете их обратно по одному, прогоняя проверки на каждом гейте:

              ┌─────────────────────────────┐
              │  ВЫ делите по границам      │
              └──────────────┬──────────────┘
            ┌────────────────┼────────────────┐
            ▼                ▼                 ▼
   ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
   │ АГЕНТ A      │ │ АГЕНТ B      │ │ АГЕНТ C      │
   │ worktree-a/  │ │ worktree-b/  │ │ worktree-c/  │
   │ экспорт      │ │ доки         │ │ стр. настроек│
   └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
          │ branch-a       │ branch-b       │ branch-c
          └────────────────┼────────────────┘
                           ▼
                  ┌──────────────────┐
                  │ СЛИЯНИЕ по одному│  проверки на каждом слиянии
                  │  → main          │
                  └──────────────────┘
   изолир. копии = нет коллизий   · очередь ревью — вот предел

Ошибка — считать параллелизм бесплатным. Это не так — вы переместили работу с написания на ревью и интеграцию. Часто это отличная сделка, но только если вы и вправду делаете ревью.

Хотите офлайн-версию?

Скачайте всю книгу в PDF или EPUB — бесплатно.