Sztuczna inteligencja przejmuje zadania programistów

Sztuczna inteligencja przejmuje zadania programistów

Autor: Krzysztof Sulikowski

Opublikowano: 2/23/2017, 1:47 PM

Liczba odsłon: 3391

Nie ma raczej żadnych wątpliwości co do tego, że wyposażone w sztuczną inteligencję maszyny będą mogły w najbliższych dziesięcioleciach przejąć wiele automatycznych prac, wykonywanych tradycyjnie przez ludzi. Okazuje się jednak, że już teraz trwają prace nad bardziej wyrafinowanymi zadaniami. Microsoft Research we współpracy z Uniwersytetem w Cambridge rozwija AI, która przetłumaczy zwykły opis na kod programistyczny w ciągu paru sekund.

DeepCoder to oprogramowanie, które od dewelopera przyjmuje zestaw wymagań, a następnie przeszukuje potężną bazę danych z fragmentami kodu, by w ciągu sekund opracować potrzebny kod. Rozwiązanie tego typu zdecydowanie może wyręczyć programistów, ale czy jest w stanie zastąpić ich pracę? "Potencjał automatyzacji tego rodzaju technologii może znacząco zredukować wysiłki, potrzebne do rozwijania kodu" - mówi współtwórca rozwiązania, Armando Solar-Lezama z Massachusetts Institute of Technology. Uważa on, że "nagle ludzie mogą stać się bardziej produktywni. Mogą budować systemy, których budowa była wcześniej niemożliwa".

Jak to działa? DeepCoder uczy się, które kombinacje kodu źródłowego działają, a które nie, i korzysta z tej wiedzy za każdym razem, gdy otrzymuje do rozwiązania nowy problem. Skompilowanie działającego kodu to w tym przypadku kwestia sekund, a nie - jak we wcześniejszych systemach eksperymentalnych - minut. "Rozwijamy pierwszą linię ataku w kwestii rozwiązywania problemów programistycznych z przykładami wejścia-wyjścia i wykorzystaniem deep learningu. Celem jest wytrenowanie sieci neuronowej, prognozującej właściwości programu, który generuje [zawartość] wyjściową z [zawartości] wejściowej. Używamy prognozowania sieci neuronowych, by rozszerzyć techniki wyszukiwania w językach programowania i danych społecznościowych, wliczając w to wyszukiwanie enumeratywne i rozwiązywanie oparte na SMT" - piszą twórcy rozwiązania.

Czy deweloperzy powinni obawiać się konkurencji ze strony AI? Krótko mówiąc - nie. DeepCoder póki co radzi sobie z problemami, które opisać można kilkoma (dosłownie) linijkami kodu, choć oczywiście mając na uwadze technologię deep learning, jego możliwości z biegiem lat znacząco się rozwiną. Także i to nie powinno martwić, jako że wciąż niezbędne jest zaangażowanie programisty. Zmieni się tylko sposób pracy. DeepCoder nie potrafi posługiwać się językiem jak człowiek, a raczej sięga po gotowe rozwiązania, które następnie kompiluje. Dzięki temu programiści mogą zaoszczędzić sporo czasu i podnieść jakość swoich aplikacji.

Szczegółowy opis rozwiązania znaleźć można w artykule DeepCoder: Learning to write programs autorstwa badaczy z Microsoft Research.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia