Witaj na blogu Hawatel!
30 sierpnia 2023 | Oprogramowanie
GitHub Copilot - czym jest i dlaczego warto go używać?
Era ułatwiających pracę narzędzi, opartych o sztuczną inteligencję już się rozpoczęła. Wśród nich znajdują się potężne narzędzia, takie jak ChatGPT i DALL·E 3, które pozwalają na szybkie generowanie zarówno tekstów, jak i obrazów. Programiści powinni zwrócić swoją uwagę na jeszcze jednego pomocnika z rodziny AI - GitHub Copilot. Jeśli chciałbyś dowiedzieć się, jak możesz go wykorzystać w swojej pracy, ten artykuł jest dla Ciebie. Miłej lektury!
Na wstępie zachęcamy również do zapoznania się z naszym artykułem o OpenAI API.
GitHub Copilot to rozszerzenie opracowane przez GitHub (należący do Microsoftu), które znacznie ułatwia proces tworzenia kodu źródłowego. Copilot to w zasadzie drugi programista, który pomaga pisać kod - dostarcza sugestie, autokomplementacje i odpowiada na zadawane pytania.
Jak korzystać z GitHub Copilot?
W celu korzystania z rozszerzenia należy założyć konto na GitHubie, a następnie pobrać GitHub Copilot. Dodajmy, że rozszerzenie jest płatne i w wersji dla osoby prywatnej kosztuje 10 dolarów miesięcznie.
GitHub Copilot jest bardzo prosty w obsłudze. Dzięki integracji z Visual Studio Code jest w stanie wyświetlać podpowiedzi w czasie pisania kodu.
![unexpectedcopilot8.jpg](/api/uploads/unexpectedcopilot8_73e2abed9d.jpg)
Źródło: GitHub
Główne funkcje GitHub Copilot
Bez wątpienia jedną z najbardziej przydatnych funkcji jest autokomplementacja kodu. W momencie gdy zaczynasz pisanie, rozszerzenie automatycznie sugeruje możliwe dalsze linijki kodu. W dużym stopniu przyspiesza to proces tworzenia oprogramowania i minimalizuje ryzyko popełniania błędów. Z tą funkcjonalnością wiąże się również rozumienie zwykłego języka mówionego. Jeśli zastanawiasz się, jak rozwiązać jakiś problem, możesz zwyczajnie zadać to pytanie GitHub Copilotowi, a on napisze kod, którego w danym momencie potrzebujesz.
![GitHub Copilot, border, source: GitHub](/api/uploads/unexpectedcopilot6_7af98be4a0.png)
Źródło: GitHub
Copilot dba również o refaktoryzację kodu. Sugeruje odpowiednią strukturę, uzupełnia kod o komentarze, które ułatwią zrozumienie kodu przez innych programistów. To narzędzie stanowi nieocenioną pomoc w procesie optymalizacji i poprawy jakości pracy, co przekłada się na efektywność i czytelność całego projektu.
GitHub Copilot - czy jest bezpieczny?
Jak zapewniają twórcy oprogramowania, GitHub Copilot wykorzystuje zaawansowaną infrastrukturę Azure oraz szyfrowanie, a także opiera się na systemie zapobiegania podatnościom opartym na sztucznej inteligencji, który blokuje niebezpieczne wzorce kodowania w czasie rzeczywistym.
W transporcie danych wykorzystywane jest szyfrowanie TLS, a dane (przechowywane w ograniczonym zakresie), są szyfrowane w spoczynku przy użyciu szyfrowania danych od Microsoft Azure.
GitHub Copilot wyświetlając podpowiedzi również dba o bezpieczeństwo kodu. Korzysta z systemu zapobiegania podatnościom opartego na AI, który blokuje niebezpieczne wzorce kodowania w czasie rzeczywistym. Dzięki temu, programista unika najbardziej podatnych wzorców kodowania, takich jak wprowadzone na stałe dane uwierzytelniające, wstrzyknięcia SQL i wstrzyknięcia ścieżek. System wykorzystuje duże modele językowe do przybliżenia zachowań narzędzi analizy statycznej i może nawet wykrywać podatne wzorce w niekompletnych fragmentach kodu.
Efektywność GitHub Copilot
GitHub zbadał już efektywność swojego narzędzia w ankiecie z 2022 roku. Jej wyniki zostały opublikowane w artykule “Research: quantifying GitHub Copilot’s impact on developer productivity and happiness”, co można przetłumaczyć jako “Badanie wpływu GitHub Copilot na produktywność i satysfakcję programistów”. W ankiecie wzięło udział ponad 2 000 programistów. Według 88% z nich, dzięki rozszerzeniu "są bardziej produktywni".
W tym miejscu wiele osób zada sobie pytanie o stronniczość tego badania, ponieważ zarówno rozszerzenie Copilot, jak i ankieta na temat jego efektywności została opracowana przez GitHub. Mimo wszystko jednak, GitHub podszedł do tematu ankiety solidnie, ponieważ oprócz pytań stworzono test, który rozwiązywało 95 programistów. Okazało się, że grupa korzystająca z GitHub Copilot była o 55% szybsza i miała 7% wyższą skuteczność w wykonywaniu zadań.
![Ankieta GitHub Copilot, border, źródło GitHub](/api/uploads/Ankieta_Git_Hub_Copilot_zrodlo_Git_Hub_d2ca424285.png)
Źródło: GitHub
W ankiecie badano nie tylko efektywność. Stwierdzono, że GitHub Copilot ma znaczny wpływ na poprawę zadowolenia programistów. Między 60 a 75% ankietowanych zgłosiło, że korzystając z GitHub Copilot czują się bardziej zadowoleni z pracy, mniej frustrują się podczas kodowania i są w stanie skupić się na bardziej satysfakcjonujących zadaniach. Co więcej, zapytani programiści twierdzą, że GitHub Copilot pomogło im zachować odpowiedni "flow" (73%) i zachować zdolność koncentracji podczas powtarzalnych zadań (87%). To przekłada się na zadowolenie programistów, ponieważ przerwy i zmiany mogą zakłócić pracę programisty, co obniża nie tylko satysfakcję z pracy, ale i efektywność.
Co oznaczają wyniki ankiety?
Bezpośredni wniosek, który nasuwa się po przeanalizowaniu wyników ankiety jest taki, że stosowanie GitHub Copilot zwyczajnie się opłaca. Dzięki niemu praca jest szybsza i bardziej efektywna, a do tego sprawia większą satysfakcję.
Ale to nie wszystko. Narzędzia takie jak Copilot mają przed sobą świetlaną przyszłość, a korzystający z nich programiści będą lepiej radzić sobie na rynku pracy i będą bardziej doceniani przez pracodawców i kontrahentów. Dlatego warto już dzisiaj wyrabiać sobie nawyk stosowania narzędzi, które dają przewagę w pracy i na rynku pracy.