Статьи про ИИ: Новый тренд: программирование запуском параллельных AI-агентов
Источник: The Pragmatic Engineer (blog.pragmaticengineer.com) · Автор: Gergely Orosz
URL: https://blog.pragmaticengineer.com/new-trend-programming-by-...
С тем, как агентные интерфейсы командной строки (agentic command line interfaces) — Claude Code, OpenAI Codex, Cursor и многие другие — становятся мейнстримом, я вижу тренд: всё больше software engineers (программистов) экспериментируют с тем, чтобы запускать работу несколькими агентами одновременно над разными задачами.
Я разговаривал с инженером Anthropic Sid Bidasaria о том, как устроен Claude Code, и в конце нашего разговора он упомянул, что у него постоянно работало несколько агентов и это делало его более продуктивным в работе. Аналогично, software engineer Simon Willison, которого я считаю экспертом по AI engineering, написал о том, как он «принимает образ жизни параллельных coding agents» (embracing the parallel coding agent lifestyle). Он пишет:
«Уже какое-то время я слышу от инженеров, которые гоняют несколько coding agents одновременно — запускают сразу несколько инстансов Claude Code или OpenAI Codex, иногда в одном и том же репо, иногда против нескольких чек-аутов или git worktrees.
Сначала я был довольно скептичен. AI-сгенерированный код нужно ревьюить, что значит, что естественное узкое место (bottleneck) во всём этом — насколько быстро я могу ревьюить результаты. Уже сложно поспевать даже за одной LLM, учитывая, как быстро они выдают результат — какой смысл в запуске нескольких параллельно, если это просто оставит меня ещё дальше позади?
Несмотря на мои сомнения, за последние несколько недель я заметил, как тихо начал принимать образ жизни параллельных coding agents.
Я могу одновременно фокусироваться на ревью и приземлении только одного значимого изменения, но обнаруживаю всё больше задач, которые всё равно можно запустить параллельно, не добавляя слишком большой когнитивной нагрузки на основную работу.»
Simon делится советами о том, что у него работает: research (исследования), maintenance tasks (задачи по сопровождению) и направленная работа — все упомянуты как use cases.
Интересно подумать, есть ли у параллельной работы с агентами потенциал перевернуть десятилетия практик software engineering. Допустим, software engineers, запускающие несколько агентов сразу, действительно становятся более продуктивными, чем «однопоточные» (single-threaded) коллеги, работающие над одной проблемой за раз. Если так, у этой практики есть шанс распространиться, если достаточно software engineers захотят быть продуктивнее — или захотят не отстать от тех коллег, кто делает больше, чем раньше.
Но инженерия в до-AI эпоху для многих продуктивных инженеров была про пребывание в потоке (flow). Состояние flow примерно такое:
Понять движущиеся части
Построить решение, валидировать его, итерировать
Когда удовлетворён тем, как работает, отправить pull request на code review — или, если ревью не нужно, просто смержить и зашипить
Прерывание этого процесса разрушает состояние flow, и нужно время, чтобы вернуться в него: вот почему software engineers стремятся приоритизировать focus time, чтобы продвигать кодинг.
Конечно, это не универсально среди всех высоко продуктивных инженеров; когда я был engineering manager, самые продуктивные инженеры в моей команде делали много context switching и были искусны в жонглировании несколькими вещами одновременно. Вот как выглядит средний день senior engineer, выполняющего роль tech lead:
Code reviews. Прийти в офис, пройти открытые ревью с прошлой ночи
Coding (программирование). Сделать какую-то часть собственной работы по коду
Standup (стендап). Как обычно
Ещё coding. Сделать работу. По крайней мере, такова идея. По факту:
Прерывания: code reviews, просьбы о помощи, похлопывания по плечу. Самый продуктивный инженер в команде регулярно получает сообщения с просьбами поревьюить код, чтобы разблокировать коллег по команде, помочь кому-то, кто застрял, или менеджер (я — извини!) хлопает по плечу за помощью с чем-то.
Я думаю, не окажутся ли senior+ инженеры «прирождёнными» в работе с параллельными AI-агентами, исходя из их существующих привычек и того, что они делают сейчас:
Держат параллельные workflows в голове; например, что члены команды делают в данный момент.
Code reviews по нескольким workstreams: они — go-to код-ревьюер, и обычно ревьюят все изменения кода по 2-5 workstreams. Они могут не делать саму работу, но знают, когда сделано правильно.
Умеют справляться с прерываниями: они научились продвигаться, когда их фокус постоянно нарушается.
Хороши в направлении коллег: поскольку их регулярно прерывают, они также научились делегировать и объяснять срочную работу членам команды.
Навык письма: эти инженеры пишут много code reviews, составляют документы вроде RFCs, описывающих работу, создают тикеты, чтобы разбить проекты, и критикуют усилия коллег; всё это включает эффективное письменное общение.
С AI-агентами качества, делающие хорошим tech lead, становятся доступны инженерам, которые хотят быть более продуктивными. Пока единственные, о ком я слышал, что они успешно используют параллельных агентов, — это senior+ инженеры.
С другой стороны, этот workflow прижился не у всех: я спросил создателя Flask Armin Ronacher о его опыте с параллельными агентами. Он сказал мне:
«Я иногда запускаю параллельных агентов, но не так часто, как раньше.
Дело в том, что мой ум может ревьюить только определённое количество!»
Но мы сейчас в новой территории, где любой dev может запустить параллельный кодинг с coding agents. Сделает ли это инженеров более продуктивными, или просто заставит людей чувствовать, что они более продуктивны? Возможно, окажется, что инженеры, делающие одно дело за раз и сохраняющие фокус, со временем покажут, что производят более надёжный софт. Или, может, выяснится, что работа с параллельными агентами ведёт к тому, что больше проблем проскальзывает и больше итераций — что уничтожает любой выигрыш.
Мы это узнаем. Лично я могу видеть только то, что больше девов будут экспериментировать с параллельными агентами.
У меня ощущение, что основы software engineering важнее при работе с AI-агентами. Я начал использовать AI-агентов для своих сайд-проектов, пока с успехом. Я делаю несколько вещей:
Тестирование: у всех сайд-проектов есть unit tests, потому что я научился не доверять собственной работе без валидации
Маленькие, описательные задачи: я даю задачи достаточно небольшого scope, объясняю и привожу примеры
Refactoring (рефакторинг): каждая третья или четвёртая задача — для агента отрефакторить какой-то код, который он написал (например, вынести в метод, переместить в новый класс)
Review (ревью): я отслеживаю, что делает агент
Делать мелочи руками: держу IDE открытым и любые изменения в несколько строк делаю руками, чтобы оставаться в курсе кодовой базы
Я продолжаю слышать то же самое от других инженеров: «обязательные» инженерные практики — например, чтобы агент проходил все тесты прежде чем продолжить, — ведут к лучшим результатам. Это неудивительно и поэтому такие практики становятся популярными. AI-агенты недетерминированы и в какой-то мере ненадёжны; эти практики делают их гораздо надёжнее и применимее.
Это была одна из пяти тем, освещённых в The Pulse #149. Полное издание дополнительно покрывает:
ACP protocol. Новый протокол, построенный командой Zed, который пытается сделать создание AI-тулинга для IDE проще, чем позволяет MCP protocol
AI security tooling работает на удивление хорошо? AI-powered security tools, кажется, хорошо находят security-уязвимости в зрелых open source проектах
AI — единственный двигатель экономического роста США? 40% ВВП США в этом году основано на AI-связанных тратах, тогда как 60% венчурного капитала идёт в AI. Будем надеяться, это не закончится пузырём, лопающимся как в 2001 году
Сравнение интервью в 8 крупных tech-компаниях. Puneet Patwari подал заявку в 8 крупных tech-компаний и получил 6 офферов. Он сравнивает свой опыт интервью в Meta, Amazon, Uber и 5 других местах