ИИ меняет разработку программного обеспечения, но не всегда в лучшую сторону

Разработка программного обеспечения меняется прямо на глазах, а искусственный интеллект становится настоящим помощником для разработчиков во всем мире.

Эти изменения происходят не только в модных стартапах, но и в технологических гигантах. Недавно мы смогли заглянуть за занавес, благодаря дискуссии между генеральным директором Microsoft Сатьей Наделлой и Марком Цукербергом из Meta.

ИИ уже изменил разработку программного обеспечения

Во время мероприятия Meta LlamaCon AI Цукерберг напрямую спросил Наделлу о том, как ИИ влияет на Microsoft. Его вопрос был прост: «Есть ли у вас представление о том, какая часть кода, например, какой процент кода, который пишется в Microsoft на данный момент, пишется искусственным интеллектом, а не инженерами?»

Наделла ответил, что Microsoft следит за тем, как часто разработчики принимают предложения ИИ по кодированию, и что, хотя это варьируется от проекта к проекту, около 20-30 % кода в репозиториях Microsoft сегодня «вероятно, все написаны программным обеспечением».

Это означает, что почти треть нового кода в некоторых ключевых областях набирается не человеком, а уже искусственным интеллектом. Это говорит о том, что мы вышли далеко за рамки простого автозаполнения.

Наделла добавил один нюанс: ИИ, похоже, гораздо лучше справляется с написанием нового кода с нуля, чем с попытками распутать и переделать старое, уже существующее программное обеспечение. Он также затронул проблему старых языков программирования, приведя в пример C++.

Наделла оценил C++ как «не очень подходящий» для работы ИИ, вероятно, из-за его сложности. С другой стороны, он назвал «фантастическим» умение ИИ писать на современных языках, таких как Python.

Это хорошее напоминание о том, что ИИ не является волшебной палочкой в разработке программного обеспечения; его полезность зависит от задачи, языка и того, насколько хорошо все структурировано.

Когда Наделла перевел вопрос обратно к Цукербергу, спросив о показателях Meta, Цук был немного более сдержан в том, чтобы назвать какую-то одну метрику прямо сейчас.

Цук сделал справедливое замечание, отметив, что базовая статистика не всегда отражает программное обеспечение, полностью написанное другими программами, и может включать инструменты автозаполнения. Это подчеркивает сложную проблему: как точно измерить вклад ИИ, если он может варьироваться от крошечного предложения до написания целой функции?

Но Цукерберг совершенно четко обозначил направление Meta, когда речь идет об ИИ в разработке программного обеспечения. Он даже сообщил, что Meta сосредоточена на «создании ИИ и инженера по машинному обучению для развития самой Llama».

Это довольно амбициозная цель: использовать ИИ, чтобы помочь создать лучший ИИ, быстрее.

Говоря об этом конкретном проекте, Цукерберг сделал смелое предсказание, что в следующем году «половина разработок будет выполняться ИИ, а не людьми, и затем эта цифра будет только расти».

Даже если это начнется только с проекта Llama, это рисует картину того, что в ближайшем будущем ИИ возьмет на себя серьезную работу по разработке сложного программного обеспечения.

Наделла подхватил эту перспективную тему и задумался о том, стоит ли перестраивать инструменты разработки и всю вычислительную инфраструктуру, чтобы ими могли управлять агенты ИИ.

Это заставляет задуматься: переходим ли мы от помощников ИИ к ИИ, фактически руководящему частью процесса разработки? Это может кардинально изменить инструменты и рабочие процессы, которыми разработчики пользуются каждый день.

Что же на самом деле означает этот переход к ИИ для разработчиков и индустрии?
Высказывания Наделлы и Цукерберга наглядно демонстрируют две стороны этой монеты: огромный потенциал и реальные трудности на пути.

Где ИИ может проявить себя в разработке программного обеспечения:

  • Делать больше и быстрее: Как следует из цифр Наделлы, ИИ может серьезно ускорить работу. Он может выполнять повторяющиеся действия, составлять проекты стандартных функций и предлагать исправления, позволяя разработчикам сосредоточиться на более сложных и творческих проблемах.
  • Более быстрое воплощение идей в жизнь: Нужно протестировать идею? Потенциально ИИ может создать базовую версию гораздо быстрее, чем начинать с нуля, что ускоряет внедрение инноваций.
  • Открыть двери: Инструменты ИИ могут сделать кодинг более доступным для новичков или помочь опытным профессионалам быстро освоить новые технологии.
  • Потенциально более чистый код: Иногда ИИ, обученный на огромных массивах данных, может предложить более эффективный код или заметить типичные ошибки, хотя человеческий контроль все равно необходим.
  • Смещение фокуса внимания: Разработчики могут тратить меньше времени на написание основного кода и больше времени на обдумывание общей картины: дизайна, архитектуры и стратегии.

Однако ИИ порождает и серьезные вопросы и проблемы:

  • Доверие к коду: ИИ не «думает», он генерирует код на основе шаблонов. Он может создавать код, который выглядит правильным, но при этом скрыто сломан, небезопасен или просто ошибочен («галлюцинации»). Тщательное тестирование и человеческий контроль не являются дополнительными, они критически важны.
  • Опасения по поводу безопасности: При разработке программного обеспечения ИИ может копировать плохие привычки безопасности из своих обучающих данных или создавать новые слабые места, которые человеку трудно обнаружить.
  • Распутывание кода ИИ: Исправлять ошибки в коде, который вы не писали, всегда сложнее. Еще сложнее, если код был сгенерирован ИИ и его внутренняя логика не очевидна.
  • Проблема «старья»: как намекнул Наделла, говоря о C++, ИИ часто сталкивается со сложными старыми системами, имеющими множество причуд и недокументированную историю. Использовать ИИ для модернизации этих унаследованных чудовищ по-прежнему очень сложно.
  • Право собственности и авторские права: Код, созданный ИИ, порождает сложные юридические вопросы, связанные с авторским правом и лицензированием. Если ИИ учится на открытом коде, какие правила применяются к созданному им коду? Компании все еще выясняют это.
  • Что произойдет с человеческими навыками: Хотя ИИ, вероятно, не сделает разработчиков устаревшими в одночасье, работа меняется. Не станем ли мы слишком полагаться на ИИ и не утратим ли фундаментальные навыки? Похоже, что роль человека смещается в сторону управления ИИ, проверки его работы и интеграции систем.
  • Скрытые предубеждения: ИИ учится на данных, на которых он обучен. Если эти данные содержат предубеждения (связанные с полом, расой и т. д.), ИИ может воспроизвести их в программном обеспечении, которое он помогает создавать.

Позиция Наделлы и Цукерберга, судя по всему, заключается не в том, чтобы ИИ взял верх, а в партнерстве. Роль разработчика, похоже, превратится в нечто большее, чем пилот и стратег, а ИИ будет выступать в роли мощного второго пилота.

Человек-разработчик: По-прежнему за рулем

Такие человеческие навыки, как критическое мышление, продуманный дизайн, умение эффективно «подсказывать» ИИ, тщательное тестирование и понимание этической стороны вещей, становятся еще более важными в современной разработке программного обеспечения.

Будущее, которое видят эти технологические лидеры, - это будущее, в котором люди и ИИ работают вместе. ИИ берет на себя часть работы по кодированию, особенно для новых проектов или четко определенных задач. Люди обеспечивают видение, экспертизу, решение сложных проблем и, что очень важно, контроль качества.

Настоящий вызов будет заключаться в том, чтобы научиться правильно управлять этим партнерством, знать, где ИИ преуспевает, а где не справляется, и адаптировать наши инструменты и методы - возможно, даже перестроить их, как считает Наделла, - чтобы использовать их с максимальной ответственностью.

Нет никаких сомнений в том, что поезд ИИ покинул станцию разработки программного обеспечения. О точной скорости и пункте назначения еще можно спорить, но путешествие происходит уже сейчас. Эти данные, полученные от самых высокопоставленных представителей технологического мира, подтверждают это: ИИ не просто меняет набор инструментов разработчика, он меняет саму природу того, как мы создаем программное обеспечение.

ИИ меняет разработку программного обеспечения, но не всегда в лучшую сторону
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
01 мая
338
Теги: ИИ

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.

Свежие посты