ChatGPT срещу човека: Дуел за титлата "Най-добър програмист"

От десетилетия програмистите създават код за модели с изкуствен интелект, а сега самият ИИ се използва за писане на код. В проучване, публикувано в юнския брой на IEEE Transactions on Software Engineering се оценява работата на генератора на код с изкуствен интелект ChatGPT 3.5 на OpenAI по отношение на функционалност, сложност и сигурност.

Резултатите показват, че успехът на ChatGPT при писането на функционален код варира от 0,66% до 89% в зависимост от сложността на задачата, езика за програмиране и други фактори. Въпреки, че в някои случаи ИИ може да създава код по-добре от хората, анализът разкрива и проблеми със сигурността на генерирания от ИИ код.

Проучването, ръководено от Джутиан Танг, преподавател в Университета в Глазгоу установи, че генерирането на код на базата на ИИ може да подобри производителността и да автоматизира задачите за разработване на софтуер. Важно е обаче да се разберат силните и слабите страни на тези ИИ-модели. Екипът на Танг е тествал способността на ChatGPT да реши 728 задачи на платформата LeetCode на пет езика за програмиране: C, C++, Java, JavaScript и Python.

Общата успеваемост на решенията на задачите от ChatGPT е висока, особено за задачите преди 2021 година. Например за лесни, средни и трудни задачи успеваемостта е съответно 89%, 71% и 40%. За задачите след 2021 година обаче способността на ChatGPT да генерира правилен код значително намалява – от 89 % на 52 % за лесни задачи и от 40 % на 0,66 % за трудни задачи.

Това се дължи на факта, че ChatGPT е обучен върху данни отпреди 2021 година и не е бил изложен на нови задачи и решения. На него му липсва човешко критично мислене и може да решава само задачи, които е виждал преди.

Освен това ChatGPT е в състояние да генерира код с по-ниски разходи по отношение на времето за изпълнение и паметта в сравнение с поне 50 % от човешките решения на същите задачи на LeetCode. Изследователите са проучили и способността на ChatGPT да коригира грешките си след получаване на обратна връзка от LeetCode. От 50 произволно избрани сценария, в които ChatGPT първоначално генерира неправилен код, той се справя добре с поправянето на грешки при компилиране, но не винаги успява да поправи логически грешки.

Установено е също, че генерираният от ChatGPT код има уязвимости, като например не проверява за null, но много от тях се отстраняват лесно. Установено е, че най-сложният код е кодът, написан на C, следван от C++ и Python, чиято сложност е подобна на написания от човека код.

Ютян Танг отбелязва, че за да се подобри работата на ChatGPT, разработчиците трябва да предоставят допълнителна информация и да посочват потенциални уязвимости, за да може ИИ да разбира по-добре задачите и да избягва грешки.

Така че, въпреки че е постигнат значителен напредък в използването на ИИ за генериране на код, човешкият надзор и допълването остават важни за създаването на сигурен и функционален софтуер.

Източник: kaldata.com

Видеа по темата

Facebook коментари

Коментари в сайта

Трябва да сте регистриран потребител за да можете да коментирате. Правилата - тук.
Последни новини