Wyszukiwanie w witrynie

Sztuczna inteligencja generacji może przyspieszyć kodowanie, ale firmy powinny nadal brać pod uwagę ryzyko


Organizacje chcące finansować rozwój oprogramowania opartego na sztucznej inteligencji gen. w celu uzyskania przewidywanych korzyści powinny również zrozumieć, że może to mieć niekorzystne skutki.

Programiści mogą teraz zwrócić się do generatywnej sztucznej inteligencji (Gen AI), aby kodować szybciej i wydajniej, ale powinni robić to ostrożnie i nie mniej uwagi niż wcześniej.

Chociaż wykorzystanie sztucznej inteligencji w tworzeniu oprogramowania może nie być nowe - istnieje już co najmniej od 2019 r., a sztuczna inteligencja generacji zapewnia znaczące ulepszenia w generowaniu języka naturalnego, obrazów, a ostatnio także filmów i innych zasobów, w tym kodu , powiedział ZDNET Diego Lo Giudice, wiceprezes Forrester i główny analityk.

Lo Giudice powiedział ZDNET, że poprzednie wersje sztucznej inteligencji wykorzystywano głównie do testowania kodu, a uczenie maszynowe wykorzystywano do optymalizacji modeli na potrzeby strategii testowania. Gen AI wykracza poza te przypadki użycia, oferując dostęp do programisty lub specjalisty-eksperta (takiego jak tester lub analityk biznesowy), do którego można interaktywnie przepytywać, aby szybko znaleźć informacje. Gen AI może także sugerować rozwiązania i przypadki testowe.

„Po raz pierwszy obserwujemy znaczny wzrost produktywności, jakiego nie zapewniły nam tradycyjna sztuczna inteligencja ani inne technologie” - powiedział.

IDC przewiduje, że do 2026 r. 40% nowych aplikacji w regionie Azji i Pacyfiku będzie stanowić „aplikacje inteligentne”, które integrują sztuczną inteligencję generacji w celu poprawy komfortu użytkowania i zapewnienia nowych przypadków użycia.

W szczególności, jak wynika z badania IDC zleconego przez platformę programistyczną o niskim kodzie OutSystems, najważniejszym wpływem wykorzystania sztucznej inteligencji Gen w tworzeniu i projektowaniu oprogramowania będzie zwiększona produktywność i szybkość działania programistów.

Jak wynika z badań IDC, takie potencjalne korzyści biznesowe skłonią 30% organizacji z regionu Azji i Pacyfiku do zapłaty od 11% do 20% premii za funkcje Gen AI w tworzeniu aplikacji.

Firma badawcza przewiduje ponadto, że do 2025 r. ponad 60% przedsiębiorstw na całym świecie zastosuje technologie niskokodowe, aby ułatwić szybsze dostarczanie aplikacji i zwiększyć efektywność operacyjną.

Lo Giudice zauważył, że programiści mogą wykorzystywać sztuczną inteligencję na każdym etapie tworzenia oprogramowania, korzystając z dedykowanego „TuringBota” na każdym etapie w celu ulepszania stosów technologii i platform.

Forrester stworzył TuringBot, aby opisać narzędzia oparte na sztucznej inteligencji, które pomagają programistom tworzyć, testować i wdrażać kod. Firma badawcza wierzy, że TuringBots będzie motorem rozwoju oprogramowania nowej generacji, pomagając na każdym etapie cyklu rozwoju, w tym przeglądając dokumentację techniczną i automatycznie uzupełniając kod.

Na przykład „Analizuj/planuj TuringBoty” może ułatwić fazę analizy i planowania rozwoju oprogramowania, szczegółowo opisuje Lo Giudice, wskazując ChatGPT i Atlassian Intelligence firmy OpenAI jako przykłady takich produktów AI. Inne, takie jak Gemini Advanced z Google Cloud, mogą generować projekty mikrousług i interfejsów API wraz z implementacją kodu, podczas gdy Microsoft Sketch2Code może generować działający kod na podstawie odręcznie naszkicowanego interfejsu użytkownika - powiedział.

Lo Giudice dodał, że „kodery TuringBoty” są obecnie najpopularniejszym przypadkiem użycia sztucznej inteligencji generacji w tworzeniu oprogramowania, generując kod na podstawie podpowiedzi, a także kontekstu kodu i komentarzy poprzez autouzupełnianie w popularnych zintegrowanych środowiskach programistycznych (IDE). Należą do nich popularne języki, takie jak JavaScript, C++, Python i Rust.

Dużą zaletą modeli generatywnych jest możliwość pisania kodu w wielu językach, co pozwala programistom na wprowadzenie podpowiedzi w celu wygenerowania, refaktoryzacji lub debugowania linii kodu, powiedział Michael Bachman, szef architektury i strategii sztucznej inteligencji w firmie Boomi. „Zasadniczo wszyscy ludzie wchodzący w interakcję z sztuczną inteligencją generacji to quasi i starsi programiści” - powiedział.

Dostawca oprogramowania integruje sztuczną inteligencję Gen Gen w niektórych swoich produktach, w tym w Boomi AI, która przekłada żądania w języku naturalnym na działanie. Według Boomi programiści mogą używać Boomi AI do projektowania procesów integracji, interfejsów API i modeli danych w celu łączenia aplikacji, danych i procesów.

Firma korzysta z Gen AI do wspierania własnych twórców oprogramowania, którzy uważnie obserwują kod obsługujący jej platformę.

„I to jest klucz” - powiedział Bachman. „Jeśli używasz Gen AI jako głównego źródła do tworzenia całej aplikacji, prawdopodobnie będziesz zawiedziony. Dobrzy programiści używają Gen AI jako punktu wyjścia lub do dokładnego testowania scenariuszy awarii przed wprowadzeniem kodu do środowiska produkcyjnego. To tak sobie z tym radzimy wewnętrznie.”

Jego zespół pracuje również nad tworzeniem funkcji spełniających „praktyczne cele sztucznej inteligencji” klientów. Na przykład Boomi tworzy system wyszukiwania, ponieważ wielu jej klientów chce zastąpić wyszukiwanie słów kluczowych możliwością wyszukiwania treści, takich jak katalogi na swoich stronach internetowych, w języku naturalnym.

Programiści mogą również wykorzystywać sztuczną inteligencję Gen do poprawiania bezpieczeństwa, powiedział Lo Giudice, szukając luk w zabezpieczeniach w kodzie generowanym przez sztuczną inteligencję i oferując sugestie, które pomogą programistom naprawić określone luki.

W porównaniu z tradycyjnym kodowaniem strategia programowania bez kodu lub z małą ilością kodu może zapewnić szybkość, wbudowaną jakość i możliwości adaptacji, powiedział główny analityk firmy Forrester, John Bratincevic.

Zapewnia także zintegrowany zestaw narzędzi cyklu życia oprogramowania i dostęp do rozszerzonej puli talentów, która obejmuje osoby niebędące programistami i „programistów-obywateli” spoza społeczności IT, powiedział Bratincevic.

Organizacje mogą jednak stanąć przed wyzwaniami związanymi z zarządzaniem wdrożeniami na dużą skalę, zwłaszcza w przypadku zarządzania programistami obywatelskimi, których liczba liczy się w tysiącach, przestrzegł. Ceny również mogą stanowić barierę, ponieważ zazwyczaj zależą od liczby użytkowników końcowych, powiedział.

Choć sztuczna inteligencja generacji lub asystenci oprogramowania wykorzystujący sztuczną inteligencję mogą umożliwić młodszym profesjonalistom uzupełnienie luk w talentach, w tym w obszarze cyberbezpieczeństwa, Lo Giudice stwierdził, że w przypadku wszystkich tych zadań nadal konieczna jest weryfikacja wzroku eksperta.

Bratincevic zgodził się, podkreślając, że programiści i inni pracownicy w cyklu życia oprogramowania muszą sprawdzać wszystko, co platforma generuje lub automatycznie konfiguruje przy użyciu sztucznej inteligencji.

„Nie jesteśmy jeszcze i prawdopodobnie nigdy nie będziemy na etapie ślepego ufania sztucznej inteligencji w zakresie tworzenia oprogramowania” - powiedział.

Po pierwsze, według Scotta Shawa, dyrektora technicznego ds. technologii w Thinkworks na region Azji i Pacyfiku, należy wziąć pod uwagę wymagania dotyczące bezpieczeństwa. Doradztwo techniczne regularnie testuje nowe narzędzia w celu poprawy jego wydajności, czy to w IDE, czy w celu wsparcia pracy programistów. Firma robi to tam, gdzie jest to właściwe dla swoich klientów i tylko za ich zgodą, Shaw powiedział ZDNET, zauważając, że niektóre firmy nadal są zdenerwowane korzystaniem z sztucznej inteligencji Gen.

„Z naszego doświadczenia wynika, że narzędzia do kodowania oprogramowania [oparte na sztucznej inteligencji generacji] nie są tak świadome bezpieczeństwa i [dostosowane do] praktyk kodowania zabezpieczającego” - powiedział. Na przykład programiści pracujący dla organizacji w środowisku regulowanym lub wrażliwym na dane mogą być zmuszeni do stosowania dodatkowych praktyk i kontroli bezpieczeństwa w ramach procesów dostarczania oprogramowania.

Zauważył, że korzystanie z asystenta kodowania może podwoić produktywność, ale programiści muszą zadać sobie pytanie, czy będą w stanie odpowiednio przetestować kod i spełnić wymagania jakościowe.

To miecz obosieczny: organizacje muszą przyjrzeć się, w jaki sposób sztuczna inteligencja pokolenia może ulepszyć swoje praktyki kodowania, aby opracowywane przez nie produkty były bezpieczniejsze, a jednocześnie zastanowić się, w jaki sposób sztuczna inteligencja stwarza dodatkowe zagrożenia dla bezpieczeństwa dzięki nowym wektorom ataków i lukom w zabezpieczeniach.

Ponieważ zapewnia znaczną skalę, sztuczna inteligencja generacji wzmacnia wszystko, co robi organizacja, w tym powiązane ryzyko, zauważył Shaw. Można za jego pomocą wygenerować znacznie więcej kodu, co oznacza również wykładniczy wzrost liczby potencjalnych zagrożeń.

Poznaj swoje modele AI

Chociaż platformy o niskim kodzie mogą stanowić dobrą podstawę dla robotów Turingbotów Gen AI do wspomagania rozwoju oprogramowania, Bratincevic zauważył, że organizacje powinny wiedzieć, które modele dużych języków (LLM) są używane i upewnić się, że są one zgodne z zasadami korporacyjnymi.

Powiedział, że gracze z pokolenia AI „bardzo się różnią” pod tym względem i nalegał, aby firmy sprawdziły wersję i umowę licencyjną, jeśli korzystają z publicznych LLM, takich jak ChatGPT OpenAI.

Dodał, że funkcje oparte na sztucznej inteligencji Gen, umożliwiające generowanie konfiguracji kodu lub komponentów z języka naturalnego, jeszcze nie są dojrzałe. Mogą one spotkać się z większym przyjęciem wśród programistów obywatelskich, ale jest mało prawdopodobne, że zrobią wrażenie na programistach profesjonalnych.

Bratincevic powiedział: „W tej chwili sprawdzona i dobrze zintegrowana platforma o niskim kodzie oraz sztuczna inteligencja generacji to rozsądniejsze podejście niż niesprawdzona lub lekka platforma, która dobrze radzi sobie ze sztuczną inteligencją”.

Podczas gdy LLM zajmują się pisaniem kodu, ludzie nadal muszą wiedzieć, co jest wymagane i zapewniać odpowiedni kontekst, wiedzę specjalistyczną i debugowanie, aby zapewnić dokładność wyników, dodał Bachman.

Stwierdził, że programiści muszą także pamiętać o udostępnianiu zastrzeżonych danych i własności intelektualnej (IP), szczególnie w przypadku narzędzi typu open source. Powinni unikać korzystania z prywatnego adresu IP, takiego jak kod i dane finansowe, aby mieć pewność, że nie szkolą swoich modeli AI Gen AI przy użyciu adresu IP innej organizacji i odwrotnie. „A jeśli zdecydujesz się na użycie oprogramowania LLM o otwartym kodzie źródłowym, upewnij się, że zostało ono dobrze przetestowane przed wprowadzeniem go do produkcji” - dodał.

„Byłbym bardzo ostrożny w kwestii modeli, na których szkolone są narzędzia Gen AI. Jeśli chcesz, aby te modele były wartościowe, musisz przygotować odpowiednie rurociągi. Jeśli tego nie zrobisz, AI Gen AI może spowodować znacznie więcej problemów” - przestrzegł.

To dopiero początek, a technologia wciąż ewoluuje; jego wpływ na zmianę ról - w tym twórców oprogramowania - pozostaje niepewny.

Na przykład asystenci kodowania wykorzystujący sztuczną inteligencję mogą zmienić sposób oceniania umiejętności. Shaw zażartował: czy programiści będą uważani za lepszych, ponieważ są bardziej doświadczeni, czy dlatego, że pamiętają wszystkie sekwencje kodowania?

Na razie uważa, że największym potencjalnym przypadkiem zastosowania jest zdolność sztucznej inteligencji Gen do podsumowywania informacji, oferując programistom dobrą bazę wiedzy umożliwiającą lepsze zrozumienie biznesu. Następnie mogą przełożyć tę wiedzę na konkretne instrukcje, dzięki czemu systemy będą mogły wykonywać zadania i budować produkty i funkcje, jakich oczekują klienci.

Powiązane artykuły