Машините стават все по-добри в писането на собствен код
Експерти обаче успокояват, че още известно време програмистите ще имат работа

© ECONOMIC.BG / Twenty20
Компютрите стават все по-добри в писането на собствен код, но засега софтуерните инженери не е нужно да се притесняват, че ще загубят работата си, пише CNBC.
DeepMind – лаборатория за изкуствен интелект в Обединеното кралство, придобита от Google през 2014 г., обяви в сряда, че е създала част от софтуер, наречен AlphaCode, който може да кодира също толкова добре, колкото обикновен програмист човек.
Фирмата със седалище в Лондон тества способностите на AlphaCode в състезание за кодиране на Codeforces – платформа, която позволява на програмистите да се конкурират един срещу друг.
AlphaCode е на приблизително средно ниво, което отбелязва първия път, когато система за генериране на AI код е достигнала конкурентно ниво на производителност в състезания по програмиране“, каза екипът на DeepMind в блога си.
Но компютърният учен Дмитрий Багданау написа в Twitter, че кодирането на човешко ниво е „все още на светлинни години“.
Системата (AlphaCode) се нарежда зад 54.3% от участниците“, каза той, добавяйки, че много от програмистите в състезанието са ученици от гимназията или колежа, които само усъвършенстват уменията си за решаване на проблеми.
Банданау добавя, че повечето хора, които четат неговия туит, могат лесно да се научат да превъзхождат AlphaCode.
Изследователите се опитват да научат компютрите да пишат код от десетилетия, но концепцията все още не е станала масова, отчасти защото инструментите за AI, предназначени да пишат нов код, не са достатъчно гъвкави.
Учен изследовател на AI, който e предпочел да остане анонимен, е казал пред CNBC, че AlphaCode е впечатляващо техническо постижение, но се изисква внимателен анализ на вида задачи за кодиране, с които се справя добре, в сравнение с тези, с които не се справя.
Ученият казва, че инструментите за AI кодиране като AlphaCode вероятно ще променят естеството на софтуерното инженерство до известна степен, когато те узреят, но машините няма да могат да вършат работата на човека в цялост още известно време.
„Трябва да мислите за това като за асистент на програмиста – по същия начин, по който калкулаторът някога е помагал на счетоводителите“, каза Гари Маркъс, професор по изкуствен интелект в Нюйоркския университет.
Това не е нещо, което би заменило човек програмист. Ние сме десетилетия далеч от това.“
DeepMind далеч не е единствената технологична компания, разработваща инструменти за изкуствен интелект, които могат да пишат свой собствен код.
Миналия юни Microsoft обяви AI система, която може да препоръча код на разработчиците за софтуер, който да се използва, докато работят.
Системата, наречена GitHub Copilot, използва изходния код, качен в услугата за споделяне на код GitHub, която Microsoft придоби през 2018 г., както и други уебсайтове.
Microsoft и GitHub го разработиха с помощта на OpenAI, изследователска компания за изкуствен интелект, която Microsoft подкрепи през 2019 г. GitHub Copilot разчита на голям обем код на много езици за програмиране и огромната мощ за изчисления в облака Azure.
Нат Фридман, главен изпълнителен директор на GitHub, описва Copilot като виртуална версия на двоен програмист – когато двама разработчици работят рамо до рамо по един и същи проект. Инструментът разглежда съществуващия код и коментарите в текущия файл и предлага един или повече реда за добавяне. Тъй като програмистите приемат или отхвърлят предложенията, моделът се учи и става по-сложен с течение на времето.
Софтуерът прави кодирането по-бързо“, казва Фридман пред CNBC. „Стотици разработчици в GitHub използват функцията Copilot през целия ден, докато кодират, и повечето от тях приемат предложения и не изключват функцията.“
В отделен изследователски документ, публикуван в петък, DeepMind каза, че е тествал своя софтуер срещу технологията на OpenAI и се е представил по подобен начин.
Самим Уинигер, изследовател на AI в Берлин, каза пред CNBC, че всеки добър програмист знае, че е по същество невъзможно да се създаде „перфектен код“.
Всички програми са дефектни и в крайна сметка ще се провалят по непредвидими начини, поради хакове, грешки или сложност“, каза той.
„Следователно, компютърното програмиране в повечето критични контексти е основно за изграждане на „безопасни при отказ“ системи, които са „отчетни“.
През 1979 г. IBM каза, че „компютрите никога не могат да бъдат държани отговорни“ и „следователно компютърът никога не трябва да взема управленско решение“.
Уинигер твърди, че въпросът за отчетността на кода е до голяма степен игнориран въпреки шума около AI кодери, които превъзхождат хората.
„Наистина ли искаме хиперсложни, непрозрачни, неинтроспектиращи, автономни системи, които са по същество неразбираеми за повечето и неизброими за всички, за да управляват нашата критична инфраструктура?“ попита той.
Изследователят визира финансовата система, веригата на доставка на храни, атомните електроцентрали, оръжейните системи и космическите кораби.