X
Меню сайта
GreenB
Войдите с помощью одной из соцсетей
Или с помощью нашего сайта
Зарегистрироваться Войти
Обратная связь

Обратная связь

Опасности программирования на основе ИИ

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

Это не единственная подобная система способная генерировать код, существует так же GitHub Copilot, построенная на основе OpenAI Codex, которая может давать рекомендации по коду на разных языках программирования на основе подсказок. Также существуют Amazon CodeWhisperer, CodeGeeX, GPT-Code-Clippy, Replit Ghostwriter и Tabnine.

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

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

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

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

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

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

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

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

🔥
0
🚀
0
0
👎
0
Новое на сайте