DAJ CYNK

Microsoft uczy SI, by programiści mieli łatwiej. Oto GitHub Copilot

Anna Rymsza (Xyrcon)

Aplikacje

Microsoft GitHub Copilot

Microsoft uruchomił sztuczną inteligencję, która podpowie linijki, a czasem całe bloki kodu podczas programowania. Projekt został nazwany GitHub Copilot.

 

GitHub Copilot teoretycznie może działać w różnych IDE, ale Microsoft udostępnił na razie wtyczkę dla edytora Visual Studio Code. Podstawą GitHub Copilot jest model OpenAI Codex. Teoretycznie sztuczna inteligencja powinna poradzić sobie z dowolnym językiem programowania i frameworkiem – w końcu była trenowana na miliardach linii kodu w ogólnodostępnych repozytoriach. Na razie jednak radzi sobie dobrze z uzupełnianiem kodu w Pythonie, JavaScripcie, TypeScripcie, Ruby i Go.

Zobacz: Jaki język programowania wybrać? Python zwyciężył, choć ma drugie miejsce

GitHub Copilot to więcej niż autouzupełnianie nazw zmiennych czy linijek kodu według wzorca. Model sztucznej inteligencji jest w stanie przeanalizować kontekst zadania i wygenerować pasujący kod w ułamku sekundy. Jest nawet w stanie konwertować komentarze na kod – programista musi tylko napisać, czego się spodziewa, a SI zajmie się programowaniem. Ponadto GitHub Copilot ma możliwość proponowania alternatywnych rozwiązań problemu i podpowie całe funkcje, wykonujące zadanie na różne sposoby. Oczywiście jest w stanie również automatycznie uzupełniać kod, który się powtarza w jakimś stopniu.

GitHub Copilot, przykładowy kod
GitHub Copilot, przykładowy kod (GitHub)

Sztuczna inteligencja Microsoftu może też pomóc w testowaniu większych projektów. Po imporcie pakietu testów jednostkowych do projektu GitHub Copilot może podpowiedzieć, które testy warto wykonać i które pasują do danej implementacji.

Oczywiście GitHub Copilot nie pisze idealnego kodu, ale jest lepszy z dnia na dzień.

schemat działania GitHub Copilot (GitHub)
schemat działania GitHub Copilot (GitHub)

Czy Microsoft zabierze pracę programistom?

Krótka odpowiedź brzmi: nie.

Praca programistów będzie łatwiejsza, przyjemniejsza, będzie można skupić się na właściwych wyzwaniach. Być może dzięki takim narzędziom próg wejścia do branży będzie niższy. Jednak żadne, nawet największe ułatwienie nie zwalnia osób tworzących kod z odpowiedzialności za ewentualne błędy. Trzeba też pisać kod elegancki, podzielony na małe funkcje i opatrzony klarownymi komentarzami, bo bez tego SI guzik zrozumie i będzie podpowiadać bzdury.

Zobacz: Google Project Zero w akcji: GitHub ma poważny problem

GitHub Copilot testowany na Pythonie poradził sobie z 43% problemu za pierwszym razem i prawidłowo uzupełnił 57% kodu po 10 próbach. Model uczy się szybko, ale nie idealnie i na pewno nie pisze kodu wolnego od błędów. Microsoft gwarantuje jednak, że w kodzie nie będzie słów, które mogłyby kogokolwiek obrazić ani prawdziwych danych osobowych. Nie ma też raczej ryzyka, że GitHub Copilot podsunie gotowy kod, pochodzący z innego projektu. Podczas testów zrobił to w mniej niż 0,1% przypadków – w końcu to syntezator, a nie wyszukiwarka. Trzeba jednak pilnować, czy nie podsunie rozwiązania bazującego na niewspieranej już bibliotece, choć Microsoft stara się, by SI uczyła się wyłącznie dobrej jakości, współczesnego kodu.

Oczywiście fragmenty pisanego kodu będą przesyłane do usługi Microsoftu. Trafi tam także potwierdzenie, czy sugestia została przyjęta, czy odrzucona. To pomoże usprawnić działanie modelu. Microsoft zapewnia jednak, że transmisja jest zabezpieczona i nic nie trafi do innych użytkowników, a zapisywana jest jedynie telemetria.

Chcesz być na bieżąco? Obserwuj nas na Google News

Źródło zdjęć: Roman Synkevych (Unsplash)

Źródło tekstu: GitHub Copilot