<iframe width="560" height="315" src="https://gospodari.com/embed-2?id=39554" frameborder="0" allowfullscreen></iframe>

Изкуствен интелект помага на програмисти в писането на кодове

31 Юли 2019
0 1511

През последната година, изкуствените интелекти сериозно подобриха способността си да генерират текстове.

 

Чрез сканиране на огромни набори от данни, софтуерите с машинно обучение може да произвеждат убедителни образци на всичко – от кратки истории до текстове на песни.

 

 

Сега, същите тези техники се прилагат в света на програмирането посредством нова програма, наречена Deep TabNine.

 

 

Deep TabNine е програма, която сама допълва или помага на програмиста при изписването на кода, който пише. Програмистите могат да я инсталират като добавка в техния редактор по избор и когато започнат да пишат, тя ще ви помага с писането на всеки ред код. Представете си, че това е функцията Smart Compose на Gmail, но за програмиране.

 

 

Джейкъб Джексън, специалистът по компютърни науки в Университета във Ватерло, който е и създателят Deep TabNine, твърди, че този вид софтуер не е нов, но машинното обучение значително е подобрило това, което той може да предложи.

 

 

„За мен проблемът е решен“, каза той пред The ​​Verge.

 

 

Джаксън започнал работа по оригиналната версия на софтуера – TabNine, през февруари миналата година, преди да го пусне през ноември.

 

 

По-рано този месец обаче, той пусна обновена версия, която използва алгоритъм за генериране на текст наречен GPT-2, който е проектиран от изследователската лаборатория OpenAI, за да подобри способностите на софтуера.

 

 

Актуализацията сериозно впечатли програмистите, които нарекоха програмата „невероятна“, „безумна“ и „абсолютно умопомрачителна“ в Twitter.

 

 

"Софтуерът предлага по-добри предложения, защото работи на прогнозна основа", казва Джаксън.

 

 

Повечето такива софтуери трябва да анализират това, което потребителят вече е написал, за да направят предложения. За сравнение, Deep TabNine разчита на способността на машинното обучение и намира статистически модели в данните, за да прави своите прогнози.

 

 

По същия начин, по който алгоритмите за генериране на текст се обучават върху огромни набори от данни на книги, статии и филмови скриптове, Deep TabNine се обучава върху 2 милиона файлове от GitHub.

 

 

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

 

 

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

 

 

То улеснява добавянето на поддръжка за нови езици, като за начало. Трябва само да пуснете повече данни за тях в настройките на Deep TabNine и софтуерът ще започне да се обучава", добави той.

 

 

Това означава, че Deep TabNine поддържа около 22 различни езика, докато повечето нейни алтернативи работят само с един.

 

 

Пълният списък с езици, които поддържа Deep TabNine е следният: Python, JavaScript, Java, C ++, C, PHP, Go, C #, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl , SQL, HTML, CSS и Bash.

 

 

Най-важното е, че благодарение на аналитичните способности на софтуера предложенията, които Deep TabNine прави са и високо качество.

 

 

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

 

 

Софтуерът не е перфектен, разбира се. Програмата понякога прави грешки в предложенията си и не е полезна за всички видове кодиране.

 

 

Както бихте очаквали, много програмисти вече изразиха мнение относно как софтуерът работи със съществуващите им редактори и работния процес.

 

 

Едно оплакване, с което Джексън се съгласява е, че Deep TabNine е по-подходящ за определени видове кодиране. Той работи най-добре при автоматично довършване на сравнително ротационен код – такъв вид програмиране, който се прави хиляди пъти с малки вариации.

 

 

Deep TabNine обаче, изпитва много повече трудности, когато програмистът решава нов проблем, тъй като предложенията на софтуера идват от открити в архивни данни.

 

 

Колко полезна е програмата той наистина за средностатистическия програмист?

 

 

Това ще зависи от множество фактори. Например какъв език за програмиране използва и какво се опитва да постигне, но Джексън казва, че софтуерът му е по-скоро по-бърз метод на въвеждане, отколкото на кодиращ партньор на програмиста.

 

 

„Представете си, че всички програмисти в момента използват еквивалента на клавиатури за мобилни телефони, а преминаването към Deep TabNine е нещо като преминаване към обикновена клавиатура“, казва той.

 

 

Софтуерът подобрява колко бързо можете да въвеждате информация и това ви прави много по-продуктивни, „защото можете да прекарвате повече време в размисъл за неща по-важните неща, а не за подробностите“.

 

 

В момента Джаксън обмисля какво да направи със софтуера и дали си струва да го комерсиализира и да направи кариера от него. Той казва, че вече има работа на пълен работен ден, обвързана с голяма технологична компания, от която не иска да се отказва, но има „голям интерес“ от различни сектори.

 

 

„Все още не съм решил какво искам да правя с него“, каза той.

 

 

В момента, лиценз за TabNine струва 49 долара за лична употреба и 99 за бизнеса, като хората трябва да се регистрират за бета версията на Deep TabNine, за да получат достъп до новите функции.

 

 

На уебсайта Джаксън обосновава цената така: „TabNine ще ви спести поне 1 секунда в минута. Ако оценявате времето си над  1,40 долара на час, софтуерът ще ви се изплати за по-малко от година"

 

 

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

 

 

„Целта на всеки, който работи в тази индустрия, е да каже на компютъра какъв код иска да напише и той да го прави вместо него“, каза той.

 

 

"В момента не сме близо до това, но виждам Deep TabNine това като инструмент, който прави малко по-удобно изразяването на вашите мисли", добави той.

 

 

Източник: The Verge

 

Прочети повече Прочети малко

Коментари

Реакции