Свяжитесь с нами:

Положат ли большие языковые модели конец программированию?

Искусственный интеллект

Положат ли большие языковые модели конец программированию?

mm
LLM заменяет программистов-людей

Прошедшая неделя ознаменовала собой важную веху для OpenAI, поскольку они представили GPT-4 Turbo на своей конференции. День разработчиков OpenAIОтличительной особенностью GPT-4 Turbo является расширенное контекстное окно, достигающее 128,000 4 страниц, что значительно больше, чем 8,000 16 у GPT-300. Это усовершенствование позволяет обрабатывать в XNUMX раз больше текста, чем предыдущая версия, что эквивалентно примерно XNUMX страницам текста.

Это достижение связано с еще одним важным событием: потенциальным влиянием на ландшафт SaaS-стартапов.

ChatGPT Enterprise от OpenAI с его расширенными функциями представляет собой вызов для многих SaaS-стартапов. Эти компании, предлагавшие продукты и услуги на основе ChatGPT или его API, теперь сталкиваются с конкуренцией со стороны инструмента с возможностями корпоративного уровня. Предложения ChatGPT Enterprise, такие как верификация домена, единый вход (SSO) и аналитика использования, напрямую пересекаются со многими существующими B2B-сервисами, что потенциально ставит под угрозу выживание этих стартапов.

В своём докладе генеральный директор OpenAI Сэм Альтман рассказал о ещё одном важном нововведении: расширении порога знаний GPT-4 Turbo. В отличие от GPT-4, где информация была доступна только до 2021 года, GPT-4 Turbo обновляется знаниями до апреля 2023 года, что знаменует собой значительный шаг вперёд в повышении актуальности и применимости ИИ.

ChatGPT Enterprise выделяется такими функциями, как повышенная безопасность и конфиденциальность, высокоскоростной доступ к GPT-4 и расширенные контекстные окна для более длинных входных данных. Его расширенные возможности анализа данных, возможности настройки и снятие ограничений на использование делают его лучшим выбором по сравнению с его предшественниками. Его способность обрабатывать более длинные входные данные и файлы, а также неограниченный доступ к передовым инструментам анализа данных, таким как ранее известный Интерпретатор кода, еще больше укрепляет свою привлекательность, особенно среди предприятий, которые ранее колебались из-за проблем с безопасностью данных.

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

Обычные задачи программирования вскоре могут перейти к ИИ, что снизит потребность в глубоких знаниях в области кодирования. Такие инструменты, как CoPilot GitHub и Писатель-призрак Реплита, которые помогают в программировании, являются ранними признаками растущей роли ИИ в программировании, указывая на будущее, где ИИ выходит за рамки помощи и полностью управляет процессом программирования. Представьте себе распространённую ситуацию, когда программист забывает синтаксис обратного списка в определённом языке. Вместо поиска на онлайн-форумах и в статьях CoPilot предлагает немедленную помощь, помогая программисту сосредоточиться на достижении цели.

Переход от Low-Code к разработке на основе искусственного интеллекта

Инструменты Low-code и No-code упрощают процесс программирования, автоматизируя создание базовых блоков кодирования и позволяя разработчикам сосредоточиться на творческих аспектах своих проектов. Но по мере того, как мы вступаем в эту новую волну искусственного интеллекта, ситуация меняется еще больше. Простота пользовательских интерфейсов и возможность генерировать код с помощью простых команд, таких как «Создайте мне веб-сайт, чтобы сделать X», произвели революцию в этом процессе.

Влияние ИИ на программирование уже огромно. Подобно тому, как ранние учёные-компьютерщики перешли от электротехники к более абстрактным концепциям, будущие программисты могут считать детальное кодирование устаревшим. Стремительное развитие ИИ не ограничивается генерацией текста/кода. В таких областях, как генерация изображений, диффузионная модель… Взлетно-посадочная полоса МЛ, ДАЛЛ-Э 3, показывает огромные улучшения. Просто посмотрите твит от Runway, демонстрирующий их последнюю функцию.

Влияние ИИ на творческие индустрии выходит за рамки программирования и, вероятно, будет столь же преобразующим. Джефф Катценберг, титан киноиндустрии и бывший председатель Walt Disney Studios, предсказал, что ИИ значительно снизит стоимость производства анимационных фильмов. Согласно недавней статье Bloomberg Катценберг прогнозирует резкое снижение затрат на 90%. Это может включать в себя автоматизацию трудоемких задач, таких как промежуточные этапы традиционной анимации, рендеринг сцен и даже помощь в творческих процессах, таких как дизайн персонажей и раскадровка.

Экономическая эффективность ИИ в кодировании

Анализ затрат на найм инженера-программиста:

  1. Общая компенсация: Средняя зарплата инженера-программиста, включая дополнительные льготы в таких технологических центрах, как Кремниевая долина или Сиэтл, составляет примерно 312,000 XNUMX долларов в год.

Ежедневный анализ затрат:

  1. Рабочих дней в году: Учитывая, что в году примерно 260 рабочих дней, ежедневная стоимость найма инженера-программиста составляет около 1,200 долларов.
  2. Вывод кода: Если принять щедрую оценку в 100 завершенных, протестированных, проверенных и утвержденных строк кода в день, то этот ежедневный результат является основой для сравнения.

Анализ затрат на использование GPT-3 для генерации кода:

  1. Стоимость токена: Стоимость использования GPT-3 на момент видео составляла около 0.02 доллара за каждую 1,000 токенов.
  2. Токены на строку кода: В среднем строка кода может содержать около 10 токенов.
  3. Стоимость за 100 строк кода: Таким образом, стоимость создания 100 строк кода (или 1,000 токенов) с использованием GPT-3 составит около 0.12 доллара США.

Сравнительный анализ:

  • Стоимость за строку кода (человек против ИИ): Сравнивая затраты, создание 100 строк кода в день обходится в 1,200 долларов, если это делает инженер-программист, по сравнению с 0.12 доллара при использовании GPT-3.
  • Коэффициент стоимости: Это представляет собой разницу в факторах стоимости примерно в 10,000 XNUMX раз, при этом ИИ существенно дешевле.

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

Универсальность ChatGPT распространяется на широкий спектр контекстов программирования, включая сложное взаимодействие с фреймворками веб-разработки. Рассмотрим сценарий, в котором разработчик работает с React, популярной библиотекой JavaScript для создания пользовательских интерфейсов. Традиционно эта задача подразумевала изучение обширной документации и примеров, предоставленных сообществом, особенно при работе со сложными компонентами или управлением состоянием.

Благодаря ChatGPT этот процесс упрощается. Разработчик может просто описать функциональность, которую он хочет реализовать в React, а ChatGPT предоставит соответствующие, готовые к использованию фрагменты кода. Это может варьироваться от настройки базовой структуры компонентов до более продвинутых функций, таких как управление состоянием с помощью перехватчиков или интеграция с внешними API. Сокращая время, затрачиваемое на исследования и методы проб и ошибок, ChatGPT повышает эффективность и ускоряет разработку проектов в контексте веб-разработки.

Проблемы программирования, управляемого искусственным интеллектом

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

  1. Качество и ремонтопригодность кода: код, сгенерированный искусственным интеллектом, иногда может быть многословным или неэффективным, что потенциально может привести к проблемам с обслуживанием. Хотя ИИ может писать функциональный код, обеспечение того, чтобы этот код соответствовал лучшим практикам в отношении читаемости, эффективности и удобства обслуживания, остается задачей, определяемой человеком.
  2. Отладка и обработка ошибок: Системы ИИ могут быстро генерировать код, но они не всегда преуспевают в отладке или понимании мелких ошибок в существующем коде. Тонкости отладки, особенно в больших и сложных системах, часто требуют от человека глубокого понимания и опыта.
  3. Зависимость от обучающих данных: Эффективность ИИ в программировании во многом зависит от качества и широты обучающих данных. Если в обучающих данных отсутствуют примеры определенных ошибок, шаблонов или сценариев, способность ИИ справляться с этими ситуациями оказывается под угрозой.
  4. Проблемы этики и безопасности: Поскольку ИИ играет более заметную роль в кодировании, возникают проблемы этики и безопасности, особенно в отношении конфиденциальности данных и возможности предвзятости в коде, сгенерированном ИИ. Обеспечение этичного использования и устранение этих предубеждений имеет решающее значение для ответственной разработки инструментов программирования на основе ИИ.

Баланс ИИ и традиционных навыков программирования

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

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

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

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

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

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

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

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

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

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.