Модели и платформы ИИ
Будут ли крупные языковые модели положить конец программированию?
На прошлой неделе OpenAI достигла значительного рубежа, представив GPT-4 Turbo на своей OpenAI DevDay. Одной из выдающихся особенностей GPT-4 Turbo является расширенное окно контекста размером 128 000, что существенно отличается от 8 000 у GPT-4. Это улучшение позволяет обрабатывать текст, размером в 16 раз больше, чем у предыдущей модели, что эквивалентно примерно 300 страницам текста.
Это достижение связано с еще одним значительным развитием: потенциальным влиянием на ландшафт стартапов SaaS.
OpenAI’s ChatGPT Enterprise, с ее расширенными функциями, представляет собой вызов для многих стартапов SaaS. Эти компании, которые предлагали продукты и услуги на основе ChatGPT или ее API, теперь сталкиваются с конкуренцией со стороны инструмента с возможностями уровня предприятия. Предложения ChatGPT Enterprise, такие как верификация домена, SSO и анализ использования, напрямую перекрываются с многими существующими сервисами B2B, потенциально подвергая угрозе выживание этих стартапов.
В своей ключевой речи генеральный директор OpenAI Сэм Альтман раскрыл еще одно значительное развитие: расширение срока действия знаний GPT-4 Turbo. В отличие от GPT-4, которая имела информацию только до 2021 года, GPT-4 Turbo обновлена знаниями до апреля 2023 года, что представляет собой значительный шаг вперед в актуальности и применимости ИИ.
ChatGPT Enterprise выделяется функциями, такими как повышенная безопасность и конфиденциальность, высокоскоростной доступ к GPT-4 и расширенные окна контекста для более длинных входных данных. Ее расширенные возможности анализа данных, варианты настройки и удаление ограничений на использование делают ее лучшим выбором по сравнению с предыдущими моделями. Ее способность обрабатывать более длинные входные данные и файлы, а также неограниченный доступ к расширенным инструментам анализа данных, таким как ранее известный Code Interpreter, еще больше укрепляет ее привлекательность, особенно среди бизнесов, ранее колебавшихся из-за проблем с безопасностью данных.
Эра ручного создания кода уступает место системам, управляемым ИИ, которые обучаются вместо программирования, что знаменует собой фундаментальную смену в разработке программного обеспечения.
The mundane tasks of programming may soon fall to AI, reducing the need for deep coding expertise. Tools like GitHub’s CoPilot and Replit’s Ghostwriter, which assist in coding, are early indicators of AI’s expanding role in programming, suggesting a future where AI extends beyond assistance to fully managing the programming process. Imagine the common scenario where a programmer forgets the syntax for reversing a list in a particular language. Instead of a search through online forums and articles, CoPilot offers immediate assistance, keeping the programmer focused towards to goal.
Переход от Low-Code к разработке на основе ИИ
Low-code & No code инструменты упростили процесс программирования, автоматизируя создание базовых блоков кода и освобождая разработчиков от необходимости сосредотачиваться на творческих аспектах своих проектов. Но когда мы вступаем в эту новую волну ИИ, ландшафт меняется еще больше. Простота пользовательских интерфейсов и возможность генерации кода с помощью простых команд, таких как “Build me a website to do X”, революционизирует процесс.
Влияние ИИ на программирование уже огромно. Аналогично тому, как ранее компьютерные ученые переходили от электротехники к более абстрактным понятиям, будущие программисты могут считать детальное программирование устаревшим. Быстрый прогресс в ИИ не ограничивается генерацией текста/кода. В таких областях, как генерация изображений, модели диффузии, такие как Runway ML, DALL-E 3, показывают значительные улучшения. Просто посмотрите на твит Runway, демонстрирующий их последнюю функцию.
https://twitter.com/runwayml/status/1723033256067489937
Расширяясь за пределы программирования, влияние ИИ на творческие отрасли будет столь же трансформационным. Джефф Катценберг, титан киноиндустрии и бывший председатель Walt Disney Studios, предсказал, что ИИ существенно сократит стоимость производства анимационных фильмов. Согласно недавней статье в Bloomberg, Катценберг предвидит сокращение затрат на 90%. Это может включать автоматизацию трудоемких задач, таких как интерполяция в традиционной анимации, рендеринг сцен и даже помощь в творческих процессах, таких как проектирование персонажей и раскадровка.
Экономическая эффективность ИИ в кодировании
Анализ затрат на найм программиста:
- Общая компенсация: Средняя зарплата программиста, включая дополнительные льготы в технологических хабах, таких как Кремниевая долина или Сиэтл, составляет примерно 312 000 долларов в год.
Ежедневный анализ затрат:
- Рабочие дни в году: Учитывая, что в году примерно 260 рабочих дней, ежедневная стоимость найма программиста составляет около 1 200 долларов.
- Производительность кода: Предполагая щедрую оценку в 100 завершенных, протестированных, рассмотренных и утвержденных строк кода в день, эта ежедневная производительность является основой для сравнения.
Анализ затрат на использование GPT-3 для генерации кода:
- Стоимость токена: Стоимость использования GPT-3 на момент видео составляла примерно 0,02 доллара за каждый 1 000 токенов.
- Токены на строку кода: В среднем строка кода может содержать около 10 токенов.
- Стоимость 100 строк кода: Следовательно, стоимость генерации 100 строк кода (или 1 000 токенов) с помощью GPT-3 составит примерно 0,12 доллара.
Сравнительный анализ:
- Стоимость строки кода (человек против ИИ): Сравнивая затраты, генерация 100 строк кода в день стоит 1 200 долларов, когда это делает человеческий программист, в отличие от 0,12 доллара с помощью GPT-3.
- Коэффициент стоимости: Это представляет собой разницу в стоимости примерно в 10 000 раз, при этом ИИ является существенно дешевле.
Этот анализ указывает на экономический потенциал ИИ в области программирования. Низкая стоимость кода, сгенерированного ИИ, по сравнению с высокой стоимостью человеческих разработчиков предполагает будущее, в котором ИИ может стать предпочтительным методом для генерации кода, особенно для стандартных или повторяющихся задач. Этот сдвиг может привести к значительной экономии затрат для компаний и переоценке роли человеческих программистов, потенциально сосредотачивая их навыки на более сложных, творческих или контролирующих задачах, которые ИИ еще не может выполнить.
Универсальность ChatGPT распространяется на различные контексты программирования, включая сложные взаимодействия с веб-разработочными фреймворками. Рассмотрим сценарий, в котором разработчик работает с React, популярной библиотекой JavaScript для построения пользовательских интерфейсов. Традиционно эта задача включала бы изучение обширной документации и примеров, предоставляемых сообществом, особенно при работе с сложными компонентами или управлением состоянием.
With ChatGPT, этот процесс становится упрощенным. Разработчик может просто описать функциональность, которую он хочет реализовать в React, и ChatGPT предоставляет соответствующие, готовые к использованию фрагменты кода. Это может варьироваться от настройки базовой структуры компонента до более сложных функций, таких как управление состоянием с помощью хуков или интеграция с внешними API. Уменьшая время, потраченное на исследования и пробные ошибки, ChatGPT повышает эффективность и ускоряет разработку проекта в контексте веб-разработки.
Проблемы в программировании на основе ИИ
Когда ИИ продолжает менять ландшафт программирования, важно признать ограничения и проблемы, которые возникают при полном доверии ИИ программированию. Эти проблемы подчеркивают необходимость сбалансированного подхода, который использует сильные стороны ИИ, признавая при этом его ограничения.
- Качество и поддерживаемость кода: Код, сгенерированный ИИ, может иногда быть многословным или неэффективным, потенциально приводя к проблемам с поддержкой. Хотя ИИ может писать функциональный код, обеспечение того, что этот код соответствует лучшим практикам для читаемости, эффективности и поддержки, остается задачей, требующей человеческого участия.
- Отладка и обработка ошибок: Системы ИИ могут генерировать код быстро, но они не всегда хорошо справляются с отладкой или пониманием тонких ошибок в существующем коде. Нюансы отладки, особенно в больших и сложных системах, часто требуют человеческого понимания и опыта.
- Зависимость от обучающих данных: Эффективность ИИ в программировании в значительной степени зависит от качества и объема его обучающих данных. Если обучающие данные не содержат примеров определенных ошибок, шаблонов или сценариев, способность ИИ справиться с этими ситуациями компрометируется.
- Этические и безопасные проблемы: С увеличением роли ИИ в программировании возникают этические и безопасные проблемы, особенно в отношении конфиденциальности данных и потенциальных предубеждений в коде, сгенерированном ИИ. Обеспечение этического использования и решение этих предубеждений имеет решающее значение для ответственного развития инструментов программирования на основе ИИ.
Баланс между ИИ и традиционными навыками программирования
В будущих командах разработки программного обеспечения может появиться гибридная модель. Менеджеры продукта могут переводить требования в директивы для генераторов кода ИИ. Человеческий надзор может по-прежнему быть необходим для обеспечения качества, но фокус сместится от написания и поддержки кода к проверке и точной настройке выходных данных ИИ. Этот сдвиг предполагает уменьшение внимания к традиционным принципам программирования, таким как модульность и абстракция, поскольку код, сгенерированный ИИ, не обязательно должен соответствовать стандартам поддержки, ориентированным на человека.
В этой новой эпохе роль инженеров и компьютерных ученых будет трансформирована существенно. Они будут взаимодействовать с большими языковыми моделями, предоставляя обучающие данные и примеры для выполнения задач, смещая фокус от детального программирования к стратегической работе с моделями ИИ.
Базовая единица вычислений сместится от традиционных процессоров к огромным, предварительно обученным моделям ИИ, что знаменует собой отход от предсказуемых, статических процессов к динамическим, адаптивным агентам ИИ.
Фокус смещается от создания и понимания программ к управлению моделями ИИ, переопределяя роли компьютерных ученых и инженеров и меняя нашу взаимодействие с технологиями.
Постоянная необходимость человеческого понимания в коде, сгенерированном ИИ
Будущее программирования заключается не в кодировании, а в управлении интеллектом, который будет управлять нашим технологическим миром.
Верование в то, что обработка естественного языка ИИ может полностью заменить точность и сложность формальных математических обозначений и традиционного программирования, является, в лучшем случае, преждевременным. Сдвиг в сторону ИИ в программировании не исключает необходимости строгости и точности, которые могут обеспечить только формальное программирование и математические навыки.
Кроме того, задача тестирования кода, сгенерированного ИИ, на проблемы, которые ранее не были решены, остается значительной. Техники, такие как тестирование на основе свойств, требуют глубокого понимания программирования, навыков, которые ИИ в своем текущем состоянии не может воспроизвести или заменить.
В заключение, хотя ИИ обещает автоматизировать многие аспекты программирования, человеческий фактор остается важным, особенно в областях, требующих творчества, сложного решения проблем и этического надзора.












