HeadlinesBriefing favicon HeadlinesBriefing.com

Почему проверка кода важнее чем когда-либо в эпоху ИИ

ByteByteGo •
×

Почему проверка кода важнее чем когда-либо в эпоху ИИ

Дать агенту токен доступа, и он распространяется: в окно контекста, в логи вызовов инструментов, в заметки, которые он сохраняет между шагами. Каждая копия работает из любой точки, даже спустя долгое время. Relay хранит учетные данные в Work OS. Ваш агент называет пользователя, Work OS прикрепляет этот токен, обновляет его и выпускает только на разрешенные хосты. Захваченная сессия агента — это живой процесс, который можно убить. Узнайте, как это работает →Разрыв между кодом, который выполняется корректно, и кодом, который на самом деле безопасен для доверия, растет всё быстрее. В течение многих лет написание кода было медленным и дорогим шагом, а его проверка — небользадачей в конце. С Aufstieg der KI-assistierten Programmierung меняется этот баланс. Инструменты ИИ теперь могут создать функцию, работающую за секунды, и полную фичу за минуты. Команды способны писать больше машин-сгенерированного кода каждый месяц. Другими словами, производство кода теперь быстро и относительно легко, а проверка кода — более сложная часть. Рецензенту всё ещё нужно читать изменения, понимать их и решать, следует ли они в производство. На самом деле, чем больше кода написано, тем больше кода нужно проверять. Мы недавно имели возможность поговорить с Андреа Малагоди, CTO Sonar (компании, которая построила некоторые из самых используемых программ для проверки кода). Он предоставил глубокие взгляды в проверку кода, особенно в контексте ИИ и то, как Sonar адаптируется к последним изменениям. В этой статье мы рассмотрим, как работает проверка кода, почему рост кода, сгенерированного ИИ, создает на неё больше давления, вместе с глубокими взглядами Андреа о том, каким может стать будущее. Сдвиг в отношении генерации кода и проверки виден, когда мы смотрим на данные. Одним из самых наглядных сигналов является исследование DORA Google, долгосрочное исследование того, как тысячи команд строят и выпускают программное обеспечение. Их недавняя работа показала, что с adoption большего количества ИИ, стабильность доставки упала. Доверие к коду, сгенерированному ИИ, осталось низким, с более чем третью разработчиков сообщая о little confidence в то, что эти инструменты произвели [2]. Другими словами, большая скорость написания кода привела к большему давлению дальше в линию. Контролируемое исследование группы METR дает аналогичный сигнал. Его участники были опытными открытыми разработчиками, работающими на своих зрелых проектах, и каждое задание было случайно назначено с разрешения или запретом инструментов ИИ. Разработчики ожидали, что ИИ ускорит их примерно на четверть. Однако результат показал совершенно другую картину. Задачи, выполненные с помощью ИИ, заняли примерно на 19 процентов больше времени [3]. Кроме того, это произошло после того, как разработчики внутренне считали, что ИИ помог им быть более продуктивными. Оказалось, что много дополнительного времени ушло на создание промптов, ожидание, чтение выходных данных и их исправление. Для справедливости тот же zespół позже сообщил о более запутывающем последующем сигнале. Это частично потому, что разработчики предпочли сохранить свои инструменты ИИ [4]. Тем не менее, если мы рассмотрим эти результаты вместе, очевидно, что хотя ИИ действительно увеличивает количество написанного кода, он также приводит к большему количеству проверочной работы в дальнейшем. Давайте сначала поймем, что такое проверка кода на самом деле. Проверка кода — это общий термин для каждой проверки, которая обеспечивает, является ли код правильным, безопасен и достаточно поддерживаем для отправки в производство. Другими словами, это работа по заработку достаточного доверия, чтобы положить изменение перед реальными пользователями. Ключевое слово, которое стоит отметить, — «заработок». Потому что доверие приходит градусами. Оно накапливается проверка за проверкой, а не предоставляется одним ударом. Подумайте о задаче составления контракта. Написание слов — это часть этой задачи. Однако проверка, правовые проверки и подписи превращают эти слова в то, что люди могут действительно доверять. Написание кода работает аналогично. Момент, когда код выходит из редактора и коммитится в репозиторий кода, несет неявное утверждение о функциональности.