Wyszukiwanie w witrynie

Sztuczna inteligencja generacji zapewnia twórcom oprogramowania wzrost produktywności, ale nie jest ona dostępna dla wszystkich


Generacyjna sztuczna inteligencja przynosi korzyści w zakresie produktywności, ale specjaliści IT muszą zachować ostrożność przed masowym przyjęciem tych narzędzi w ich obecnych wcieleniach.

Dla każdego, kto tworzy oprogramowanie, generatywna sztuczna inteligencja (Gen AI) - zwłaszcza narzędzie takie jak GitHub Copilot - to sposób na szybkie tworzenie, testowanie, dokumentowanie i debugowanie kodu, co prowadzi do dużych korzyści w zakresie produktywności.

To wzmocnienie uwalnia czas, zasoby i potencjał umysłowy twórców oprogramowania i specjalistów operacyjnych, aby mogli przyspieszyć i pełnić role doradcze i kierownicze w swoich organizacjach.

Chociaż jednak korzyści w zakresie produktywności są oczywiste, sztuczna inteligencja może nie przynieść korzyści każdemu, a eksperci branżowi zalecają ostrożne podejście do automatyzacji.

Najpierw trochę kontekstu. Jak wynika z wielostronnego badania przeprowadzonego przez naukowców z Microsoft, MIT, Princeton University i University of Pennsylvania, narzędzia do sugerowania kodu Gen AI mogą zwiększyć produktywność twórców oprogramowania.

W badaniu przeanalizowano wyniki 4867 programistów z trzech firm, z których każdy miał dostęp do rozwiązania Copilot, i odkryło 26% wzrost produktywności w tygodniowej liczbie wykonanych zadań, 14% wzrost liczby aktualizacji kodu oraz 38-procentowy wzrost produktywności % wzrost liczby kompilacji kodu.

Inni menedżerowie i specjaliści z branży zgodzili się, że sztuczna inteligencja generacji może znacząco zwiększyć produktywność twórców oprogramowania.

„Sztuczna inteligencja generacji i narzędzia drugiego pilota znacząco wpływają na prędkość rozwoju” - powiedział ZDNET Brett Smith, wybitny programista w SAS.

„Sztuczna inteligencja może pomóc w pisaniu szablonowego kodu, testów jednostkowych i dokumentacji, umożliwiając programistom przyspieszenie rozwiązywania rzeczywistych rozwiązań. Generacyjna sztuczna inteligencja bez wątpienia zrewolucjonizowała sposób tworzenia oprogramowania, służąc jako programista w parze dla programistów na całym świecie”.

Narzędzia generatywne mogą być przydatne do różnych zadań programistycznych, takich jak „wprowadzanie nowych funkcji do istniejących baz kodu lub przenoszenie baz kodu do nowych języków programowania” - powiedział Flavio Villanustre, dyrektor ds. globalnego bezpieczeństwa informacji w LexisNexis Risk Solutions.

„Te narzędzia sztucznej inteligencji pomagają również w archeologii oprogramowania, która jest niezbędna do zrozumienia słabo udokumentowanych baz kodu. Ponadto sztuczna inteligencja może służyć jako pomocne źródło, gdy konieczne jest utworzenie przypadków testowych - zwłaszcza w środowiskach tworzenia oprogramowania sterowanego testami. I wreszcie, co nie mniej ważne, narzędzia sztucznej inteligencji mogą pomóc w identyfikacji bibliotek i struktur innych firm, które mogą być przydatne w konkretnych projektach.

Jednak to nie wszystkie dobre wieści — badacze z badania Microsoft/MIT/Princeton/UPenn zwrócili uwagę na jedno główne zastrzeżenie: korzyści płynące ze sztucznej inteligencji generacji maleją wśród programistów z większym doświadczeniem.

„Mniej doświadczeni programiści wykazali wyższy wskaźnik wdrożenia i większy wzrost produktywności” - stwierdzili. „Copilot znacznie ułatwia realizację zadań w przypadku nowo zatrudnionych pracowników i osób na niższych stanowiskach, ale nie w przypadku programistów z dłuższym stażem i na wyższych stanowiskach”.

Narzędzia oparte na sztucznej inteligencji „są niezwykle przydatne dla mniej doświadczonych programistów” - zgodził się Edward White, dyrektor ds. rozwoju w beehiiv, usłudze cyfrowego biuletynu.

„Oferują w czasie rzeczywistym sugestie dotyczące refaktoryzacji i optymalizacji, prowadząc młodszych programistów przez najlepsze praktyki podczas pisania kodu. Narzędzia te mogą identyfikować nieefektywności lub powtarzalne wzorce i zalecać ulepszenia, dzięki czemu kod jest czystszy i wydajniejszy. Natychmiastowa informacja zwrotna pomaga programistom nauczyć się, jak pisz łatwy w utrzymaniu kod, przestrzegaj odpowiednich konwencji nazewnictwa i używaj lepszych struktur. ”

Jednak pomimo skupienia się na mniej doświadczonych programistach Smith powiedział, że długoletni profesjonaliści również mogą dostrzec zalety sztucznej inteligencji Gen. „Z mojego doświadczenia wynika, że doświadczeni programiści bardzo skorzystali na wsparciu sztucznej inteligencji” - powiedział.

„Sztuczna inteligencja jest niezwykle wydajna w pisaniu szablonowego kodu i pozwala programiście na wykonywanie skomplikowanych, niestandardowych zadań, w których sztuczna inteligencja nie jest dobra. Ogólnie rzecz biorąc, programiści z mniejszym doświadczeniem mają trudności z rozwiązywaniem złożonych problemów, a sztuczna inteligencja zwykle nie jest w stanie im pomóc ten aspekt.”

Dowody ekspertów branżowych sugerują, że należy osiągnąć równowagę. Niezależnie od tego, czy Gen AI jest wdrażany przez doświadczonych, czy niedoświadczonych programistów, specjaliści IT i kadra kierownicza muszą zachować ostrożność przed masowym przyjęciem tych narzędzi w ich obecnych wcieleniach.

„Chociaż asystent jest zazwyczaj w stanie napisać pewne typowe funkcje, rozsądnie współdziałać z istniejącymi bibliotekami, pisać przypadki testowe i wyjaśniać istniejący kod, popełnia jednak pewne błędy, których doświadczony programista uniknąłby” - powiedział Villanustre.

„Te narzędzia oparte na sztucznej inteligencji stwarzają również wyzwania w przypadku bardziej złożonych algorytmów i mogą pisać kod, który jest niebezpieczny lub niepewny. Moim zdaniem obecne narzędzia sztucznej inteligencji są proporcjonalne do poziomu początkującego programisty i nadal wymagają monitorowania przez bardziej doświadczonych specjalistów w dziedzinie oprogramowania. "

Smith powiedział również, że zwiększona prędkość narzędzi Gen AI to miecz obosieczny. „Programiści piszą zły kod; sztuczna inteligencja pomaga im szybciej pisać zły kod” - powiedział.

„Wzrost ilości kodu tworzonego przez zespół może spowodować więcej błędów i luk w zabezpieczeniach niż zwykle. Ta fala nowego kodu może szybko przytłoczyć zespoły testujące i bezpieczeństwa. Zespoły będą musiały zautomatyzować punkty kontrolne, testowanie i skanowanie bezpieczeństwa, aby dotrzymać kroku walce złe aspekty generatywnej sztucznej inteligencji postępują naprzód.”

Problemem jest także jakość wygenerowanego kodu. „Sztuczna inteligencja jest tak dobra, jak jej wyszkolenie” - powiedział David Brault, ekspert w Mendix. Dane szkoleniowe mogą obejmować „połączenie dobrze napisanego i niespełniającego standardów kodu”. To połączenie może prowadzić do powstania kodu o różnej jakości i spójności, a nawet może opierać się na długu technicznym.

Kolejnym wyzwaniem związanym z kodem generowanym przez sztuczną inteligencję jest ryzyko niezgodności z istniejącymi systemami, szczególnie złożonymi lub przestarzałymi architekturami.

„Chociaż narzędzia AI mogą generować wydajny kod do konkretnych zadań, nie zawsze mogą uwzględniać unikalne zależności, struktury lub struktury starszych systemów” - przestrzegł White.

„Ta niezgodność może prowadzić do problemów, takich jak nieoczekiwane zachowanie, a nawet powodować zakłócenia, jeśli kod wygenerowany przez sztuczną inteligencję zostanie zaimplementowany bez dokładnych testów”.

Specjaliści IT muszą także uważać na kwestie prawne, które mogą pojawić się po drodze. „Korzystanie z kodu wygenerowanego przez sztuczną inteligencję wymaga ostrożności ze względu na powielanie, własność intelektualną i potencjalne problemy licencyjne” - powiedziała Mira Nathalea, dyrektor ds. marketingu w SoftwareHow, dostawcy recenzji oprogramowania.

„Programiści i firmy powinni mieć świadomość ryzyka związanego z niezweryfikowanymi sugestiami kodu. Istnieje ryzyko nieświadomego włączenia kodu, który może nie być zgodny z wymogami licencyjnymi projektu, co może skutkować konfliktami własności intelektualnej. Programiści powinni uważnie przeglądać sugestie generowane przez sztuczną inteligencję, aby zachować jakość kodu i zgodność z prawem.”

Specjaliści i menedżerowie zajmujący się oprogramowaniem muszą również uważnie podchodzić do kwestii etycznych, które mogą wyniknąć z generowania kodu w oparciu o sztuczną inteligencję.

„Przeoczenie kwestii etycznych może prowadzić do niezamierzonych problemów, takich jak ryzyko prywatności, niewłaściwe wykorzystanie danych lub błędy w algorytmach” - powiedział Joel Popoff, dyrektor generalny Axwell Wallet, producenta przyjaznych technologii przedmiotów codziennego użytku.

„Kiedy kod wygenerowany przez sztuczną inteligencję nie zostanie dokładnie oceniony, może nie być w pełni zgodny z przepisami lub standardami etycznymi, szczególnie w obszarach takich jak prywatność użytkowników i równe traktowanie”.

Popoff stwierdził, że ważne jest wdrożenie procedur oceny etycznej dostosowanych do kodu generowanego przez sztuczną inteligencję, aby ograniczyć takie ryzyko. „Obejmuje to regularne kontrolowanie wyników sztucznej inteligencji, zapewnienie odpowiedzialnego przetwarzania danych i aktywne sprawdzanie stronniczości w zautomatyzowanych decyzjach” - powiedział.

„Zapewnienie przejrzystości w zakresie przetwarzania i wykorzystywania danych przez sztuczną inteligencję pomaga utrzymać zaufanie i zapewnia zgodność procesu rozwoju z zasadami etycznymi”.

Istnieje zatem szereg kwestii i obaw, które należy wziąć pod uwagę. Jednak odpowiedzialna sztuczna inteligencja może zrewolucjonizować zawód programisty.

„Jedną z największych zalet stosowania sztucznej inteligencji w programowaniu jest możliwość automatyzacji żmudnych i powtarzalnych zadań, których programiści nienawidzą, ponieważ marnują czas i nie dodają niewielkiej wartości biznesowej do rozwiązania” - powiedział Brault.

„Zamiast tego, automatyzując te procedury niskiego poziomu za pomocą sztucznej inteligencji, programiści mogą spędzić więcej czasu na znajdowaniu kreatywnych sposobów rozwiązywania złożonych problemów biznesowych, które mają wpływ na ich firmę. W każdym razie programiści staną się jeszcze bardziej cenni, ponieważ ich wiedza specjalistyczna będzie wymagana do sprawdzania i sprawdzania poprawności zabezpieczać kod wygenerowany przez sztuczną inteligencję, a także tworzyć komponenty, szablony i struktury wielokrotnego użytku w celu ustanowienia standardów zarządzania w celu integracji sztucznej inteligencji z istniejącymi systemami”.

Powiązane artykuły