Параллельная работа с ИИ-агентом: как ускорить вайбкодинг
Заставь агента работать бригадой, а не одинокой улиткой
Параллельное выполнение задач с ИИ-агентом: какие куски кода можно делать разом, что строго по очереди и как не словить конфликт двух агентов в одном файле.
Что такое параллельное выполнение простыми словами
Представь ремонт. Можно нанять одного мастера: он красит стены, потом кладёт плитку, потом собирает шкаф. По очереди. Всю неделю. А можно позвать бригаду: маляр работает в зале, плиточник - на кухне, сборщик возится в спальне. Всё разом. Объём тот же. А времени в три раза меньше.
С ИИ-агентом история один в один. Обычно мы гоняем его как одинокого мастера: сделай это, потом то, потом вон то. Но его можно научить раскидывать независимые куски так, чтобы они шли параллельно. Это и есть параллельное выполнение Параллельное выполнение - когда несколько кусков работы делаются одновременно, потому что они друг другу не мешают. Противоположность - последовательное, по очереди. .
Зачем вайбкодеру уметь распараллеливать задачи
Ты вайбкодер. Код руками не пишешь - ты режиссёр процесса. И если понимаешь, как раскидывать работу по дорожкам, то выигрываешь сразу на всех фронтах:
- результат приходит в разы быстрее - пять проверок за время одной;
- ты не киснешь у экрана, пока агент полчаса гоняет тесты - за это время делается что-то ещё;
- ты не устраиваешь аварий, когда два потока лезут в один и тот же файл;
- ты умеешь сказать «сделай быстро» так, чтобы это реально ускорило, а не сломало.
Разница между «просидел весь вечер над одной задачей» и «всё было готово за час» - это чаще всего разница в одном навыке: видеть, что можно делать разом, а что нельзя. Поехали.
Как агент строит карту дорожек
Главный фокус опытного агента: превратить спешку в карту зависимостей ещё до того, как он начал что-то делать. Не бросаться в бой. А сначала задать себе вопрос: какие куски независимы, а какие держатся друг за друга?
Шаг 1. Назови цель и «сигнал готовности»
Прежде чем дробить работу, агент решает: что вообще надо получить и по какому признаку понятно, что готово. Без этого «быстро» легко превращается в «быстро сделал не то». А переделывать всегда дольше.
Шаг 2. Разрежь работу на дорожки
Дорожка Дорожка (lane) - отдельный самостоятельный кусок работы, который можно вести независимо от других: например, проверка кода, правка бэкенда, правка интерфейса. - это один самостоятельный кусок. Осмотреть проект - дорожка. Поправить кнопку на сайте - дорожка. Прогнать тесты - тоже дорожка. Чем чётче нарезка, тем понятнее, что с чем не пересекается.
Шаг 3. Помечай каждую дорожку
У каждой дорожки три варианта судьбы:
- Параллельная - можно делать прямо сейчас, никому не мешает.
- По очереди - идёт только после другой. Нельзя красить стену, пока её не оштукатурили.
- Жди сигнала - запускается лишь после твоего подтверждения, потому что опасная. Например, деплой в прод.
Шаг 4. Читать - толпой, писать - по одному
Вот оно, золотое правило всего урока. Любые чтения - осмотреть файлы, поискать по коду, проверить статус, глянуть пару сайтов - можно запускать пачкой разом: они друг другу не мешают. А вот записи - правки файлов - держи порознь: разные файлы, разные ветки, разные папки. Иначе два потока перепишут одно и то же. И будет каша.
Шаг 5. Долгое - в фон
Тесты, сборка, заливка данных, деплой бывают долгими. Опытный агент кидает их в фон и потом поглядывает, а не караулит прогресс-бар. Пока тесты крутятся, можно успеть пробежать ещё одну дорожку. Время не простаивает.
Что можно делать параллельно, а что только по очереди
- Чтения и поиск: осмотреть проект, найти по коду, глянуть статус - всё пачкой сразу.
- Правки в разных файлах, которые между собой не пересекаются.
- Несколько проверок разом: линтер, тесты, скриншот сайта.
- Большие независимые куски - в изолированных рабочих копиях (worktree).
- Две правки в одном и том же файле - гарантированный конфликт.
- Опасные команды: удаление, миграции базы, заливка в прод - только с подтверждением.
- Запись в одну и ту же таблицу из двух потоков сразу.
- Шаг, который зависит от итога другого - сначала первый, потом второй.
Пример: как параллельно проверить проект перед публикацией
Ты просишь агента: «проверь мой сайт перед публикацией». Наивный путь - он всё делает по очереди: минут пять читает код, потом запускает тесты и ждёт, потом открывает сайт и смотрит, потом проверяет ссылки. Двадцать минут. И всё это время ты гипнотизируешь экран.
А теперь как поступит понимающий вайбкодер. Сначала - карта дорожек:
Мне нужно быстро проверить проект перед публикацией. Сначала составь план дорожек, не торопись действовать.
- Раздели работу на независимые дорожки и для каждой укажи: можно ли делать её параллельно, что она затрагивает и как понять, что она прошла.
- Все дорожки только на чтение и проверку запусти разом: осмотр файлов, поиск по коду, проверка статуса.
- Длинные проверки, вроде тестов и сборки, запусти в фоне и потом вернись за результатом.
- Ничего не удаляй, не правь и не публикуй без моего отдельного подтверждения.
- В конце дай таблицу: какая дорожка прошла, какая упала и что именно ты проверил.
Частые ошибки при распараллеливании задач
- Кричать «быстрее» без плана. Скорость даёт карта дорожек, а не понукание. Сначала раздели работу - потом ускоряйся.
- Параллелить записи в один файл. Классическая авария: два потока перепишут друг друга. Писать - по одному, без исключений.
- Параллелить опасное. Удаление, миграции, деплой в прод - никогда не запускай пачкой без подтверждения. Один неверный шаг здесь стоит дорого.
- Запустить в фоне и забыть. Процесс крутится, агент рапортует «готово» - а там ошибка. Всегда возвращайся за результатом.
- Путать «быстро» с «готово». Пять дорожек пролетели - это ещё не успех. Успех - когда проверка показала, что всё сходится.
- Прятать пропущенные проверки за бодрым отчётом. «Всё ок!» без таблицы - красный флаг. Требуй конкретику: что прошло, что упало.
TL;DR - если коротко
- Скорость берётся не из «давай быстрее», а из умения делать независимые куски разом. Сначала карта, потом газ.
- Золотое правило: читать можно толпой, писать - по одному. Два агента в одном файле = драка.
- Режь работу на дорожки и помечай каждую: параллельная, по очереди или «жди сигнала».
- Долгое - тесты, сборку, деплой - кидай в фон и поглядывай. Не сиди столбом у экрана.
- «Быстро» не равно «готово». В финале - таблица проверки, а не бодрое «вроде работает».
- Опасное - удаление, миграции, прод - никогда не параллелим. Только за подтверждением.