Многое изменилось в мире разработки программного обеспечения с тех пор, как я был менеджером по продуктам в начале Aughts в бизнесе и мониторингах EmpiRix (приобретено Oracle в 2006 году). Но многое осталось прежним: давление, чтобы быстрее вводить новшества, одновременно остается неустанным.
Для разработчиков новейшие рабочие процессы агента искусственного интеллекта выходят за рамки возможностей помощников искусственного интеллекта для преобразования определения требований, генерации кода, модульного тестирования и любой другой фазы цикла разработки. Принятие этих инструментов может сократить труд и позволить командам разработчиков достичь новых уровней скорости и качества. В то же время ни один продукт не подходит для каждой задачи в SDLC.
За последние два года, такие как Copilot, запечатлели огромные ассистенты на основе модели языка, такие как Copilot, не говоря уже о значительной части ИТ -расходов среди ранних последователей. Поскольку технологические лидеры начинают оценивать возврат своих инвестиций LLM, обратная связь является смешанной. Для некоторых пользователей существует нетривиальный удар по производительности. Но реальные сообщения о подлинных трансформации кажутся недостатками, и пробег варьируется в зависимости от уровня старшинства, с улучшениями для более опытных разработчиков, особенно в восторге. Эта растущая реализация заставляет многих компаний более подробно представить свои потребности в инструментах искусственного интеллекта, и они все чаще рассматривают лучший подход, включающий специализированные инструменты, где оправданы. Принесите агентов!
Поскольку Gartner заявляет, что агент AI является номером один в своем списке 10 лучших стратегических технологических тенденций на 2025 год, вы можете быть уверены, что маркетинговые отделы в каждой компании -разработчике лихорадочно пытаются поймать волну, даже если все, что они могут предложить, это куча макросов Excel. Это агенты, верно? Неправильный. Давайте уточним.
Помощники ИИ против ИИ АГЕНТЫ
Когда дело доходит до ИИ, применяемого к написанию кода, основное различие между помощниками и агентами аналогично различиям между сотрудничеством и делегированием. Хотя оба режима операции могут создавать ценность при применении к соответствующей задаче, они являются совершенно разным опытом с различными требованиями ресурсов. Самое главное, что возможности создания стоимости от полного делегирования больших полос работы до заслуживающего доверия, компетентного, автономного агента затмевают то, что может предоставить сотрудничество с помощниками искусственного интеллекта.
Помощники искусственного интеллекта полезны для различных повседневных задач кодирования, предлагая поддержку и информацию в реальном времени. Эти инструменты предназначены для сотрудничества с разработчиками, предоставлением предложений по мере их кода, легко интегрируются в популярные интегрированные среды разработки (IDE) и предлагают функции, которые улучшают опыт кодирования. Некоторые ключевые варианты использования для помощников искусственного интеллекта в разработке включают в себя завершение кода, обнаружение ошибок, поиск документации и предложения по рефакторингу.
Между тем агенты ИИ могут преуспеть в автоматизации сложных процессов и принятия решений высокого уровня почти полностью без присмотра; революционизируя, как проекты управляются и выполняются. Предназначенные для выполнения сложных задач без вмешательства человека, агенты искусственного интеллекта делают автоматизацию дальше и обеспечивают полную делегирование.
Однако, как и в аналоговом мире, делегирование работает только тогда, когда агент делегируется компетентным и заслуживающим доверия.
Помощники против помощников: тематическое исследование
Давайте рассмотрим реальную вариант использования, чтобы проиллюстрировать различия между помощниками ИИ и агентами, и, тем самым, светит яркий свет на то, что значит сотрудничать против делегата.
Модульные тесты. Как правило, ненавидят разработчики, единичные тесты все еще широко рассматриваются как основание эффективного режима обеспечения качества программного обеспечения. Написание их часто может потреблять четверть до трети циклов кодирования разработчика, и усилия, как правило, рассматриваются как Scutwork. Очарование сокращения времени, затрачиваемого на разработку модульных тестов, является сильным, и многие разработчики с доступом к помощникам кодирования на основе LLM, по понятным причинам хотят передать им эту задачу. Это работает на практике?
Ответ иногда. Но в некоторых сценариях это также может потерпеть неудачу в некоторых сценариях.
Исследователи в DiffBlue (полное раскрытие: я там генеральный директор) принял три проекта с открытым исходным кодом, представившего в реальных приложениях и использовал ассистента кодирования на основе LLM (Github Copilot), чтобы создать для них модульные тесты. Они ушли со следующими тремя наблюдениями:
- Он превосходит статус -кво: Правило эмпирического правила заключается в том, что для создания твердого теста для создания твердого блока требуется примерно 15 минут ручной разработки. Конечно, ваш пробег будет варьироваться в зависимости от навыка разработчика и сложности тестируемого кода, но 15 минут на тест является разумной оценкой. Сотрудничая с Copilot, исследователи разработали тест каждые 26 секунд. На первый взгляд, это значительное повышение производительности. Поместите в это булавку.
- Это все еще настоящая работа. Сотрудничество с Copilot потребовало, чтобы наш разработчик/исследователь непрерывно участвовал в итерационном, интерактивном, полностью посещаемом процессе. После того, как он побудил инструмент для создания тестов на методе или уровне класса, вывод должен был быть оценен, выполнен, настраивается, проверил и в конечном итоге принят пользователем.
- Есть еще много хрупки: Исследование показало, что в зависимости от проекта от 30% до 45% отгенерированных LLM модульных тестов не смогли скомпилировать и/или пройти. В результате пользователю пришлось вмешаться, чтобы исправить их вручную, таким образом, тем самым тянули обратно в труд, которого они стремились избежать в первую очередь.
При применении к одной и той же проблеме эффективный агент может дать категорически разные результаты. В частности, использование агента по написанию модульного тестирования DiffBlue в этих трех проектах с открытым исходным кодом обеспечило совершенно другой опыт и результат.
- Во -первых, разработчик может по -настоящему делегировать задачу создания полного набора модульных тестов для каждого проекта. Он указал агенту на соответствующие репозитории, сказал «иди» и позволил агенту делать свое дело в течение нескольких часов. Не было необходимости взаимодействовать с агентом или постоянно контролировать его вывод. Вместо этого разработчик был освобожден для работы над другими приоритетами.
- Во -вторых, полученный результат агента был количественно и качественно превосходным. Из -за основополагающей генеративной технологии ИИ используется (подкрепление обучения в сочетании со статическим анализом и динамическим выполнением кода), каждый созданный тест был гарантированно компилировать и пройти, устраняя необходимость утомительного скрипания с помощью тестов, чтобы они работали, которая была определяющей частью опыта Copilot. Тесты были лучшим качеством, чем филот, достигая средних показателей тестирования на мутации 68% против 63%.
- В -третьих, общие строки кода, охватываемые тестами, сгенерированными агентом, были в четыре раза больше, чем у разработчика, использующего Copilot, когда оба подхода получали одинаковое количество времени. Но агент производительность агента направляется к 26 -кратному преимуществу, если учесть тот факт, что он будет работать круглосуточно каждый день года, в то время как разработчик может только ожидать, что он будет писать тесты в течение шести часов в течение рабочего дня, отправляться в отпуск и провести больные дни. Это огромное преимущество в производительности даже не считает, что многие разработчики, вероятно, уйдут, если их попросят ничего не делать, кроме как писать модульные тесты каждый день.
Заключение
Помощники кода на основе LLM являются огромным инновацией с широким спектром приложений для создания стоимости. Тем не менее, они также имеют некоторые существенные ограничения в определенных случаях использования. Неточности LLM, а иногда и их прямые неточности — могут быть смягчены постоянным участием разработчиков в анализе и настройке результатов. При полной автоматизации широкого спектра задач является целью, помощник модели не может масштабироваться. Именно здесь делегирование агентам имеет возможность обеспечить преобразующую ценность, и это значение полностью реализуется только в том случае, если результаты агента постоянно заслуживают доверия. Детерминизм, прозрачность и точность станут новой валютой агентов, которые получают право стать нашими делегатами.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Toffer Winslow привносит три десятилетия опыта лидерства в корпоративном программном обеспечении на свою роль генерального директора Diffblue, создателей первого в мире полностью автономного решения для тестирования AI. Ранее он был генеральным директором Stackstate, AIOPS и приобретенного инноватора AIOPS и наблюдения … Подробнее от Toffer Winslow