The Pulse #149: Новый тренд: программирование с помощью запуска параллельных ИИ-агентов
Кроме того: протокол ACP, инструменты для обеспечения безопасности ИИ, сравнение опыта проведения собеседований в 8 технологических компаниях и многое другое
The Pulse — это серия публикаций о событиях, инсайтах и тенденциях в сфере крупных технологических компаний и стартапов.
- Новая тенденция: программирование с помощью запуска параллельных ИИ-агентов. Всё больше разработчиков экспериментируют с параллельным запуском агентов для написания кода
- Протокол ACP. Новый протокол, разработанный командой Zed, который упрощает создание инструментов ИИ для IDE по сравнению с протоколом MCP
- Инструменты для обеспечения безопасности на основе ИИ работают на удивление хорошо? Инструменты для обеспечения безопасности на основе ИИ хорошо справляются с выявлением уязвимостей в зрелых проектах с открытым исходным кодом
- Является ли ИИ единственным двигателем экономического роста в США? Сорок процентов ВВП США в этом году приходится на расходы, связанные с ИИ, а 60% венчурного капитала направляется в сферу ИИ. Будем надеяться, что это не обернётся пузырём, который лопнет, как в 2001 году
- Сравнение собеседований в 8 крупных технологических компаниях. Пунит Патвариподал заявки в 8 крупных технологических компаний и получил 6 предложений. Он сравнивает свои впечатления от собеседований в Meta, Amazon, Uber и 5 других компаниях
1. Новая тенденция: программирование с использованием параллельных ИИ-агентов
Поскольку агентские интерфейсы командной строки, такие как Claude Code, OpenAI Codex, Cursor и многие другие, становятся всё более популярными, я наблюдаю тенденцию к тому, что всё больше разработчиков программного обеспечения экспериментируют с одновременным запуском нескольких агентов для выполнения отдельных задач.
Я поговорил с инженером-антропологом Сидом Бидасарией о том, как создается Claude Code, и в конце нашего разговора он упомянул, что у него было несколько агентов, работающих повсюду, и что это сделало его работу более продуктивной. Аналогичным образом, инженер-программист Саймон Уиллисон, которого я считаю экспертом в области искусственного интеллекта, опубликовал статью о “принятии образа жизни агента параллельного программирования.” Он пишет:
«Некоторое время назад я получил несколько сообщений от инженеров, которые запускают сразу несколько агентов для написания кода — несколько экземпляров Claude Code или OpenAI Codex одновременно, иногда в одном репозитории, иногда в нескольких контрольных версиях или рабочих деревьях git.Поначалу я относился к этому довольно скептически. Код, сгенерированный ИИ, нуждается в проверке, а это значит, что естественным ограничением во всём этом является скорость, с которой я могу проверять результаты. Сложно уследить за одной большой языковой моделью, учитывая, как быстро она генерирует данные. Какой смысл запускать несколько моделей одновременно, если это только отдаляет меня от цели?Несмотря на мои опасения, за последние несколько недель я заметил, что постепенно начинаю привыкать к образу жизни агента по параллельному кодированию.Я могу сосредоточиться только на проверке и внедрении одного существенного изменения за раз, но я обнаруживаю, что всё больше задач можно выполнять параллельно, не перегружая мозг основной работой.
Саймон делится советами о том, что ему помогает, упоминая в качестве примеров использования исследования, задачи по обслуживанию и целенаправленную работу.
Интересно поразмышлять о том, может ли параллельная работа с агентами изменить устоявшиеся за десятилетия методы разработки программного обеспечения. Предположим, что разработчики программного обеспечения, которые запускают сразу несколько агентов, становятся более продуктивными, чем их коллеги, работающие над одной задачей за раз. Если это так, то у этой практики есть шанс распространиться, если достаточное количество разработчиков программного обеспечения будет стремиться к повышению продуктивности или захочет не отставать от коллег, которые делают больше, чем раньше.
Но для многих продуктивных инженеров в докомпьютерную эпоху работа заключалась в том, чтобы находиться в состоянии потока. Состояние потока выглядит примерно так:
- Разбираться в движущихся частях
- Разработайте решение, проверьте его, доработайте
- Когда вы будете довольны результатом, отправьте запрос на проверку кода — или, если проверка не требуется, просто объедините и опубликуйте его
Прерывание этого процесса нарушает состояние потока, и требуется время, чтобы вернуться в него. Именно поэтому разработчики программного обеспечения стараются уделять первостепенное внимание времени, необходимому для сосредоточенной работы над кодом.
Конечно, это не универсальный подход для всех высокопродуктивных инженеров. Когда я был руководителем инженерной группы, самые продуктивные инженеры в моей команде часто переключались между задачами и умели делать несколько дел одновременно. Вот как выглядит обычный день старшего инженера, выполняющего функции технического руководителя:
- Рецензирование кода. Придя в офис, просмотрите открытые рецензии на код, оставленные с прошлой ночи
- Кодинг. Займитесь программированием самостоятельно
- Встаньте.Как обычно
- Ещё код. Выполняйте работу. По крайней мере, такова идея. На самом деле:
- Прерывания: обзоры кода, просьбы о помощи, похлопывания по плечу. Самый продуктивный инженер в команде регулярно получает сообщения с просьбой проверить код, чтобы разблокировать товарищей по команде или помочь кому-то еще, кто застрял, или менеджер (прошу прощения!) хлопает их по плечу, прося о помощи в чем-либо.
Интересно, будут ли старшие инженеры и выше «естественным образом» работать с параллельными ИИ-агентами, исходя из их существующих привычек и того, чем они занимаются сейчас:
- Держите в голове параллельные рабочие процессы, например то, чем в данный момент занимаются члены команды.
- Проверка кода в нескольких рабочих потоках: они являются основными проверяющими код и обычно проверяют все изменения кода в 2–5 рабочих потоках. Они могут не выполнять работу, но знают, когда она выполнена правильно.
- Умеют справляться с отвлекающими факторами: они научились добиваться успеха, несмотря на то, что их постоянно отвлекают.
- Умеют направлять коллег: поскольку их постоянно отвлекают, они научились делегировать задачи и объяснять членам команды, почему работа должна быть выполнена срочно.
- Навыки письма: эти инженеры часто пишут отзывы о коде, составляют такие документы, как RFC, в которых описывается работа, создают тикеты для разделения проектов на части и критикуют работу коллег. Все это требует эффективного письменного общения.
Благодаря ИИ-агентам инженеры, которые хотят работать продуктивнее, могут развить в себе качества, присущие хорошим техническим руководителям. На данный момент я слышал только о том, что параллельных агентов успешно используют старшие инженеры.
Впрочем, этот рабочий процесс подходит не всем: я спросил создателя Flask Армина Ронахера о его опыте работы с параллельными агентами. Он сказал мне:
«Иногда я отключаю параллельных агентов, но не так часто, как раньше.Дело в том, что мой разум может обработать лишь определённый объём информации!
Но теперь мы на новой территории, где любой разработчик может запустить параллельное кодирование с помощью агентов. Повысит ли это продуктивность инженеров или просто заставит людей чувствовать себя более продуктивными? Возможно, со временем станет ясно, что инженеры, которые делают что-то одно за раз и не отвлекаются, создают более надёжное программное обеспечение. Или, может быть, окажется, что работа с параллельными агентами приводит к тому, что больше задач остаётся нерешёнными, а итераций становится больше, что сводит на нет все преимущества.
Мы это выясним. Лично я вижу только то, что всё больше разработчиков экспериментируют с параллельными агентами.
Мне кажется, что при работе с ИИ-агентами важнее основы разработки программного обеспечения. Я начал использовать ИИ-агентов в своих сторонних проектах, и пока что успешно. Я делаю несколько вещей:
- Тестирование: во всех побочных проектах есть модульные тесты, потому что я научился не доверять своей работе без проверки
- Небольшие описательные задания: я даю небольшие по объёму задания, которые объясняю, и привожу примеры
- Рефакторинг: каждая третья или четвёртая задача заключается в том, чтобы агент рефакторил написанный им код (например, выделил его в метод или перенёс в новый класс)
- Отзыв: я слежу за тем, что делает агент
- Делайте мелочи сами: я не закрываю IDE и вручную меняю всё, что требует внесения изменений в несколько строк, чтобы быть в курсе состояния кодовой базы
Я постоянно слышу одно и то же от других инженеров: «обязательные» инженерные практики, такие как проверка агентом всех тестов перед продолжением работы, приводят к лучшим результатам. Это неудивительно, и именно поэтому такие практики становятся всё более популярными. ИИ-агенты недетерминированы и в некоторой степени ненадёжны; эти практики делают их гораздо более надёжными и удобными в использовании.
2. Протокол ACP
Компании JetBrains и Zed объявили о сотрудничестве в рамках протокола Agent Client Protocol. Крупнейшие конкуренты VS Code, использующие собственные интегрированные среды разработки, которые не являются ответвлениями VS Code, заявляют, что цель ACP — обеспечить взаимодействие между редакторами кода и агентами. Протокол ACP был изначально создан командой Zed.
Постоянные читатели этой публикации могут спросить: «Подождите, разве MCP не решает эту проблему?» И действительно, MCP (Model Context Protocol, «USB-C для приложений ИИ») был создан под влиянием интерфейсов IDE. И один из вариантов его использования заключается в том, что он значительно упрощает подключение IDE к агентам. Из статьи Протокол MCP: новый строительный блок для инструментов разработки ИИ:
Итак, зачем нужен новый протокол, почему бы просто не продолжать использовать MCP? Дело в том, что MCP создавался не для IDE: компания Anthropic разработала его как способ взаимодействия любого приложения с агентами. IDE взяли его на вооружение, потому что это было лучше, чем отсутствие возможности добавлять интеграцию с агентами.
ACP поддерживает несколько функций, которых нет в MCP:
- Двунаправленная связь между агентами и IDE
- Поддержка интерактивных рабочих процессов, таких как генерация кода и встроенные подсказки
- Поддержка вызова локальных инструментов в среде разработки, включая чтение файлов
ACP был сделан совместимым с MCP, и можно использовать существующие серверы MCP. Однако ACP позволяет поставщикам добавлять улучшенную поддержку сценариев использования, связанных с кодированием.
На первый взгляд, протокол ACP гораздо больше подходит для IDE, чем MCP. Учитывая, что Zed и JetBrains добавили поддержку, я ожидаю, что VS Code и его форки, такие как Cursor, Windsurf и другие, последуют их примеру. Поздравляю команду Zed с созданием этого протокола. Узнайте больше на сайте ACP.
3. Инструменты для обеспечения безопасности на основе ИИ работают на удивление хорошо?
Два недавних события показали, что инструменты на основе ИИ весьма полезны для выявления проблем в системе безопасности:
Обнаружены десятки уязвимостей в Curl (URL клиента) Популярный инструмент командной строки был выпущен в 1996 году и на сегодняшний день является очень зрелым программным обеспечением. Две недели назад инженер-программист Джошуа Роджерс отправил список проблем, которые он обнаружил с помощью инструментов на базе искусственного интеллекта. На основе этого разработчик Curl Дэниел Стенберг выпустил 22 исправления, и их число продолжает расти. Выяснилось, что все проблемы с безопасностью присутствовали, но разработчики пока не сообщали о них. Как здорово использовать инструменты искусственного интеллекта!
ИИ-агент Google для обеспечения безопасности кода: Поисковый гигант поделился подробностями о внутреннем проекте под названием CodeMender. Этот ИИ-инструмент использует статический анализ, динамический анализ, дифференциальное тестирование и другие методы для поиска проблем. Затем отладчик и браузер исходного кода генерируют и проверяют исправления. Google сообщает, что за последние 6 месяцев CodeMender помог исправить 72 уязвимости в проектах с открытым исходным кодом. CodeMender не является готовым продуктом, но тот факт, что Google делится этими результатами, говорит о том, что на основе этого исследования будет выпущен какой-то продукт для обеспечения безопасности с помощью ИИ.
Мне кажется, что инструменты на основе ИИ теперь полезны не только для выявления потенциальных проблем с безопасностью, но и для проверки, исправления и создания новых задач.
4. Является ли искусственный интеллект единственным фактором роста экономики?
В СМИ появились сообщения о том, что инвестиции в ИИ являются практически единственным фактором роста экономики США. Например, в статье Financial Times говорится, что Америка сделала большую ставку на ИИ:
«Сотни миллиардов долларов, которые компании инвестируют в ИИ, в этом году составляют поразительные 40 % от общего роста ВВП США. Некоторые аналитики считают, что эта оценка не отражает в полной мере расходы на ИИ, поэтому реальная доля может быть ещё выше.В 2025 году на долю компаний, занимающихся искусственным интеллектом, пришлось 80 % прироста акций в США. Это помогает финансировать и стимулировать рост экономики США, поскольку фондовый рынок, основанный на искусственном интеллекте, привлекает деньги со всего мира и способствует буму потребительских расходов среди богатых людей.
Более 60 % венчурных инвестиций направляется в компании, занимающиеся искусственным интеллектом. Из Pitchbook:
Тем временем цены на акции таких компаний, как AMD, резко выросли. Были заключены несколько интересных сделок, например, OpenAI пообещала купить чипы AMD на сотни миллиардов долларов (за деньги, которых у неё нет), а AMD предложила OpenAI до 10 % акций компании.
Это странная на первый взгляд сделка, которая пришлась по душе фондовому рынку. Вот как её охарактеризовал аналитик Bloomberg Мэтт Левин кратко:
«Как проходят переговоры [между OpenAI и AMD]? Если в общих чертах:OpenAI: нам бы понадобились ваши чипы мощностью шесть гигаватт для логического вывода.AMD: Потрясающе. Это будет стоить 78 миллиардов долларов. Как вы хотите заплатить?OpenAI: Мы думали объявить о сделке, и это увеличило бы стоимость вашей компании на 78 миллиардов долларов, что должно было покрыть расходы.AMD: …Открытый доступ: …AMD: Нет, я почти уверен, что за чипы нужно платить.OpenAI: Почему?AMD: Не знаю, просто кажется неправильным этого не делать.OpenAI: Хорошо. Почему бы нам не заплатить вам наличными за стоимость чипов, а вы вернёте нам акции, и когда мы объявим о сделке, акции вырастут в цене, и мы вернём свои 78 миллиардов долларов.AMD: Да, думаю, это сработает, хотя мне кажется, что мы должны получить хоть какую-то выгоду.OpenAI: Хорошо, можешь забрать половину. Ты даёшь нам акции на сумму около 35 миллиардов долларов, а остальное оставляешь себе».
Одновременно происходят три вещи:
- Инвестиции в ИИ в этом году составят ~40% ВВП США. По сути, если бы не эти масштабные инвестиции, мы могли бы оказаться на грани рецессии.
- Инвестиции в ИИ составляют ~60% всего венчурного капитала. По сути, если вы не технологическая компания, которая занимается ИИ, вам будет всё сложнее и сложнее привлекать деньги.
- Компании, занимающиеся искусственным интеллектом, используют бухгалтерский учёт для повышения цен на акции. OpenAI заинтересована в том, чтобы стоимость акций таких партнёров, как AMD, продолжала расти, если она заключает сделки, по которым OpenAI получает графические процессоры бесплатно, когда стоимость акций становится достаточно высокой.
С одной стороны, подобные сложные финансовые механизмы могут создать ощущение раздувающегося «пузыря» ИИ, который в какой-то момент может лопнуть — примерно так же, как сложные финансовые инструменты привели к мировому финансовому кризису 2007–2008 годов.
С другой стороны, ИИ и большие языковые модели являются революционными технологиями, которые позволяют нам создавать то, что раньше было невозможно! Мы видим это в разработке программного обеспечения: ИИ-агенты генерируют больше кода, который проверяется разработчиками, но не пишется ими. Некоторые разработчики отключают ИИ-агентов, и теперь вы можете назначить ИИ-агенту задачу, чтобы он в одно касание исправил ошибку — например, как это уже поддерживает Linear.
По сути, LLM позволяют добавлять диалоговый интерфейс к любому типу системы, которую мы создали заранее, плюс они обещают новые типы продуктов и варианты использования. И примеры использования искусственного интеллекта распространяются повсюду: разработка программного обеспечения и поддержка клиентов - это две области, в которых агенты нашли “соответствие продукта рынку”, и за ними наверняка последуют другие.
Если рассматривать это с точки зрения технологического прорыва, то инвестиции в ИИ вполне рациональны:
- Инвестиции в ИИ могут принести более высокую прибыль, чем вложения в другие перспективные направления. Для компании с бюджетом на исследования и разработки в размере 1 млн долларов США вложение большей части средств в эксперименты с ИИ сейчас кажется вполне разумным, поскольку эта технология обладает большим потенциалом. К тому же конкуренты делают то же самое!
- С точки зрения венчурного инвестора, инвестиции в ИИ кажутся лучшей краткосрочной инвестицией. Всего за 4 года стоимость OpenAI выросла в 25 раз: в 2021 году компания оценивалась в 20 миллиардов долларов, а сегодня её стоимость составляет 500 миллиардов долларов. Ещё более поразительно то, что Anthropic была основана в 2021 году (когда OpenAI уже оценивалась в 20 миллиардов долларов!) и стоит 183 миллиарда долларов! Инвесторы, вложившие деньги в первый раунд финансирования Anthropic в 2022 году (когда компания была оценена в 4 миллиарда долларов), получили 45-кратную прибыль всего за 3 года
- ИИ способствует росту фондового рынка. Инвесторы видят потенциал ИИ и спешат приобрести компании, которые вкладывают значительные средства в эту область, в надежде получить высокую прибыль, став одними из первых дальновидных «инвесторов в ИИ»
В последний раз мы наблюдали такие инвестиции и такой энтузиазм в сфере технологий на пороге нового тысячелетия (примерно в 1999 году), когда интернет начал стремительно развиваться: начался бум доткомов, который превратился в пузырь, а затем лопнул в 2001 году. Сектору потребовались годы, чтобы оправиться от этого краха, и невозможно сказать, не движемся ли мы сегодня к чему-то подобному. Есть множество признаков того, что рынок и экономика выигрывают от позитивного отношения к искусственному интеллекту, и неизвестно, изменится ли что-то в этом отношении и когда это произойдёт.
Даже после краха доткомов технологическая отрасль восстановилась и вернулась к росту в течение нескольких лет. А некоторые из крупнейших технологических компаний современности были основаны незадолго до этого или сразу после: Google в 1998 году (до краха) и Facebook в 2004 году (после краха).
5. Сравнение собеседований в 8 крупных технологических компаниях
Пунит Патвари (Puneet Patwari) недавно принял предложение о работе в Atlassian в качестве главного инженера-программиста. За три месяца он прошёл более 60 собеседований в 11 компаниях, рассказал он мне, при этом он отказался ещё от трёх собеседований после того, как принял предложение Atlassian, в том числе от Meta. После этого он сравнил собеседования в крупнейших компаниях:
Вот ещё несколько наблюдений, которыми поделился со мной Пунит (Puneet):
Amazon: собеседование с менеджером по подбору персонала в Amazon было одним из самых необычных, в которых я когда-либо участвовал. Мы так увлеклись беседой, что она заняла 160 минут вместо запланированных 60! Нам пришлось сделать перерыв между собеседованиями.
Atlassian: Два этапа собеседования, посвящённые лидерским качествам (ЛК) и ценностям, сыграли решающую роль в определении того, что я буду работать на уровне Principal. Конечно, собеседование по системному проектированию тоже сыграло свою роль. Atlassian уделяет большое внимание ЛК для инженеров уровня Principal.
Salesforce: этап проектирования системы был основан на фактических требованиях к работе. Это была задача на миграцию, в ходе которой интервьюер хотел проверить, смогу ли я полностью контролировать проект, в центре которого находятся клиенты.
Confluent: когда я говорю, что это было самое сложное с точки зрения умственных способностей собеседование, я имею в виду, что каждый навык проверялся на двух собеседованиях! То есть 2 собеседования по структурам данных и алгоритмам (СДА), 2 собеседования по проектированию систем, 2 поведенческих собеседования.
Я не могу не подчеркнуть, насколько важны поведенческие интервью на уровнях Staff+ и выше. Успешное прохождение этих собеседований сыграло решающую роль в получении предложений о работе на уровнях Staff и Principal. Конечно, нужно было хорошо разбираться в программировании и системном проектировании, но, по моему мнению, именно поведенческие аспекты определяли уровень и возможность получения предложения о работе.
Из рассказа Пунита о его собеседованиях в ведущих технологических компаниях я выделил несколько моментов:
- Собеседования по алгоритмическому программированию проводятся повсеместно! Чтобы претендовать на должность старшего специалиста и выше, вам нужно хорошо разбираться в таких сложных темах, как динамическое программирование. В этой статье мы расскажем, как успешно пройти такое собеседование. Как опытные инженеры справляются с собеседованиями по программированию
- Собеседования проходят тяжело и отнимают много времени. Даже после того, как Пунит получил предложения, ни одна компания не сократила процесс рассмотрения. Пуниту пришлось отказаться ещё от трёх собеседований, в том числе от собеседования в Meta, потому что к тому времени, когда они должны были состояться, он уже получил предложение от Atlassian и принял его.
- На сложном рынке труда по-прежнему востребованы «лучшие» кандидаты. Мы рассказали о том, насколько сложен текущий рынок труда в сфере технологий для соискателей, но Пунит прошёл собеседования в 11 компаниях и получил 6 предложений. Чтобы пройти отбор по резюме, его кандидатура должна была соответствовать многим требованиям: опыт работы более 10 лет и должность старшего инженера-программиста в Microsoft. Он также был действительно хорошо подготовлен.
- Невезение может случиться в любой момент. Похоже, что Пуниту не повезло на собеседовании в Uber: интервьюер был непреклонен и не готов к диалогу. Возможно, у него был тяжёлый день или он хотел поскорее закончить собеседование. Или это могло быть тем, что Стив Йегге называет антипетлёй интервьюера
Перевод: https://newsletter.pragmaticengineer.com/p/the-pulse-149-new-trend-programming