Dlaczego programiści muszą pracować mądrzej, a nie tylko szybciej, dzięki generatywnej sztucznej inteligencji

cyberfeed.pl 2 miesięcy temu


Zarządzanie narzędziami generatywnej sztucznej inteligencji (GenAI). będzie pociągać za sobą duże zmiany w kulturze i procedurach, ponieważ jego użycie będzie przez cały czas rozprzestrzeniać się błyskawicznie wśród zespołów programistów.

Według Kiran Minnasandram, wiceprezes i dyrektor ds. technologii w Wipro FullStride Cloud, nie chodzi tylko o przyjęcie nowych narzędzi, ale o zmianę sposobu, w jaki programiści wchodzą w interakcję z technologią, rozwiązują problemy i tworzą nowe paradygmaty w inżynierii oprogramowania.

Jego zdaniem potrzebna jest „kompleksowa metamorfoza kulturowa i proceduralna”, aby adekwatnie zarządzać ryzykiem z tym związanym GenAIktóre obejmują halucynacje, wzdęcia techniczne, zatruwanie danych, manipulację danymi wejściowymi lub natychmiastowe wstrzykiwanie, naruszenia własności intelektualnej (IP) i kradzież samych modeli GenAI.

„Trzeba się martwić o wiarygodność modelu” – mówi Minnasandram. „Musisz się martwić dryfem modelu lub halucynacjami modelek. Każdy model opiera się na danych, a dane z natury są stronnicze. choćby jeżeli jest to niewielki procent błędu systematycznego i zaczniesz ekstrapolować go na coraz większą liczbę danych, błąd będzie tylko wzrastał.

Z tego powodu organizacje muszą „bardzo uważać” na ilość danych, z którymi korzystają w modelach, ponieważ do danych przedostanie się stronniczość. Kiedy organizacje ekstrapolują z ograniczonych zbiorów danych, wyniki są takie ograniczony do tej jakości i ilości. Pożądane dane mogą być wrażliwe i prywatne, a dane niedostępne w Twoich własnych, jawnych zbiorach danych mogą łatwo wprowadzić halucynacje modelowe.

„Potrzebne są zatem dobre strategie łagodzące, ale wszystko jest ustalane indywidualnie dla wszystkich przypadku” – mówi Minnasandram. „Musimy być bardzo ostrożni. Na przykład, jeżeli są to dane wrażliwe, jak je zanonimizować bez utraty jakości danych?”

Wygenerowana treść może być potrzebna poręcze, zbyt. choćby jeżeli jest to generowanie kodu źródłowego, pisanie kodu do uzupełnienia maszynowego, kod ten nie jest kompletny. Odpowiednie do tego poręcze mogą wiązać się z koniecznością pomiaru ich jakości treśćon mówi.

Ramy odpowiedzialności

Wartość przedsiębiorstwa będzie wymagała odpowiedzialności ramy które obejmują indywidualne użytkowanie, a także technologię i jej aspekty techniczne w danym środowisku. Wipro opracowało własne rozwiązanie i analizuje, w jaki sposób należy je przyjąć i wdrożyć, w tym wewnętrznie i przy jednoczesnym zachowaniu elastyczności wobec klientów.

Obejmuje to pracę nad pełnym zrozumieniem zagrożeń związanych z przeglądem kodu, bezpieczeństwem i audytem, ​​zgodnością z przepisami i nie tylko w celu opracowania barier ochronnych.

Dobra wiadomość jest taka, iż ​​pojawia się coraz więcej narzędzi poprawiających jakość i wydajność kodu, w tym optymalizację kodu i kompilatora, w celu integracji z potokami CI/CD, mówi Minnasandram.

Nie może to jednak polegać na po prostu odłożeniu GenAI na bok. Rośnie zapotrzebowanie na zadania takie jak refaktoryzacja kodu i bardziej zaawansowane techniki, takie jak kodowanie predykcyjne lub kodowanie oparte na współpracy, w których maszyna „siedzi z programistą” i wykonuje wstępne lifting kodu.

Don Schuerman, dyrektor ds. technologii (CTO) firmy Pegasystems zajmującej się automatyzacją przepływu pracy, twierdzi, iż najważniejsze wyzwania nie wynikają raczej z braku kodu, ale z „góry długu technicznego”, a źle zarządzana GenAI po prostu zwiększa obciążenia technologiczne.

Z tego powodu uważa, iż ​​GenAI jest lepiej wykorzystywane do zadań innych niż „tworzenie kodu”.

„O wiele lepiej jest wrócić do gry dzięki GenAI problem biznesowy ten kod próbuje rozwiązać: jak zoptymalizować proces pod kątem wydajności? Jaki jest najszybszy sposób wspierania naszych klientów przy jednoczesnym przestrzeganiu wytycznych regulacyjnych?” on mówi. „Zamiast tworzyć kod w celu automatyzacji procesów, o których już wiemy, iż są zepsute”, należy projektować optymalne przepływy pracy w przyszłości.

Presja w miejscu pracy

Nawet jeżeli masz doświadczenie i wykwalifikowany nadzór na wszystkich poziomach, edytowanie i sprawdzanie kodu po jego napisaniu, presja w miejscu pracy może powodować błędy i oznaczać, iż pewne rzeczy zostaną przeoczone, zgadza się.

Upewnij się, iż użytkownicy mają „bezpieczne wersje narzędzi”, a następnie częściej korzystaj z GenAI, aby „wyprzedzić biznes”. Dzięki narzędziom wymagającym niewielkiej ilości kodu zespoły IT często musiały usuwać ukryte awarie IT i to samo może dotyczyć GenAI – przy czym bardziej przydatne jest wdrożenie go specjalnie w celu zapewnienia szybkości i innowacyjności w ramach zabezpieczeń, które jednocześnie zapewniają zgodność i łatwość konserwacji, podkreśla Schuerman.

Zastosuj metody takie jak pokolenie wspomagane wyszukiwaniem (RAG), aby pomóc kontrolować sposób, w jaki GenAI uzyskuje dostęp do wiedzy bez narzutów związanych z tworzeniem i utrzymywaniem niestandardowego rozwiązania duży model językowy (LLM), tworząc „kumpli” wiedzy, którzy odpowiadają na pytania w oparciu o wyznaczony zestaw treści wiedzy korporacyjnej. RAG może pomóc w zapobieganiu halucynacjom, zapewniając jednocześnie cytowanie i identyfikowalność.

Użyj GenAI do wygenerowania modeli – przepływów pracy, struktur danych, ekranów – które mogą być wykonywane przez skalowalne platformy oparte na modelach. Ryzyko wynika z wykorzystywania GenAI do „zamieniania wszystkich w programistów”, co powoduje większe wzdęcia i dług techniczny, mówi Schuerman.

Ogranicz je do generowania przepływów pracy, modeli danych, doświadczeń użytkowników itd., które reprezentują optymalne doświadczenia klientów i pracowników, oparte na najlepszych praktykach branżowych. jeżeli to zrobisz, będziesz mógł uruchamiać powstałe aplikacje na platformach przepływu pracy i podejmowania decyzji klasy korporacyjnej, które są zaprojektowane z myślą o skalowaniu.

„A jeżeli musisz wprowadzić zmiany, nie musisz zagłębiać się w mnóstwo wygenerowanego kodu, aby dowiedzieć się, co się dzieje – po prostu aktualizujesz przyjazne dla biznesu modele, które odzwierciedlają etapy przepływu pracy lub punkty danych w aplikacji” – mówi Schuerman.

Chris Royles, dyrektor ds. technologii w firmie Cloudera, dostawcy platformy danych, twierdzi, iż ważne jest także przeszkolenie pracowników w zakresie uzupełniania podpowiedzi lepszymi, bardziej trafnymi informacjami. Może to oznaczać zapewnienie ograniczonego, dokładnie sprawdzonego zbioru zbiorów danych i poinstruowanie narzędzia generatywnego, aby korzystało wyłącznie z danych, które można wyraźnie znaleźć w tych zbiorach danych, a nie w innych.

Bez tego zapewnienie własnych najlepszych praktyk, standardów i spójnych zasad podczas tworzenia nowych aplikacji i usług dzięki GenAI może być trudne – mówi.

„Organizacje powinny jasno przemyśleć, w jaki sposób wprowadzić sztuczną inteligencję do swoich własnych produktów” – mówi Royles. „Dzięki GenAI używasz danych uwierzytelniających do wywoływania aplikacji innych firm. Jest to poważny problem i ochrona danych uwierzytelniających stanowi problem.”

Zawsze chcesz mieć możliwość obejścia działań GenAI, mówi.

Poszerzaj zespoły programistów, zapewniając większą dostępność i krótsze cykle testowe. Zbudowane aplikacje powinny umożliwiać testowanie funkcji sprawdzania poprawności, takich jak to, czy zastosowano odpowiednie struktury szyfrowania i czy dane uwierzytelniające były chronione w odpowiedni i prawidłowy sposób.

Royles dodaje, iż GenAI można wykorzystać do innych zadań związanych z programowaniem, takich jak sprawdzanie złożonych umów lub sprawdzanie, czy faktycznie jest to prawny przede wszystkim zbudować lub używać aplikacji. Tym również należy zarządzać ostrożnie ze względu na ryzyko halucynacji związanych z nieistniejącymi dowodami prawnymi lub precedensami.

Łagodzenie skutków można częściowo osiągnąć poprzez przeszkolenie ludzi w zakresie uzupełniania podpowiedzi lepszymi, bardziej istotnymi informacjami. Zauważa na przykład zapewnienie ograniczonego, dokładnie sprawdzonego zbioru zbiorów danych i poinstruowanie narzędzia, aby korzystało wyłącznie z danych, które można wyraźnie znaleźć w tych zbiorach danych, a nie w innych.

Zakazy nie pomogą

Tom Fowler, CTO w firmie konsultingowej CloudSmiths, zgadza się, iż zakazywanie deweloperom korzystania z GenAI nie zadziała. Ludzie zwykle decydują się na korzystanie z technologii, które według nich ułatwiają lub poprawiają ich życie, niezależnie od tego, czy jest to sprzeczne z polityką firmy, czy nie.

Organizacje powinny jednak przez cały czas starać się unikać śliskiego zbocza prowadzącego do przeciętności lub „śmieciowego środka”, co stanowi realne ryzyko, gdy nieodpowiedni nadzór lub zespół ze zbyt dużym długiem technicznym stara się wykorzystać GenAI do załatania luki w swoich umiejętnościach programistycznych. „Organizacje muszą być tego świadome i się przed tym chronić” – mówi Fowler. „Musisz spróbować zrozumieć, w czym LLM są dobrzy, a w czym źli”.

Chociaż możliwości gwałtownie się rozwijają, LLM przez cały czas „nie radzą sobie” z pomaganiem ludziom w pisaniu kodu i wprowadzaniu go do środowiska produkcyjnego. Może zaistnieć potrzeba nałożenia pewnego rodzaju ograniczeń na jego użycie przez zespoły programistów, a organizacje przez cały czas będą wymagały inżynierii oprogramowania, w tym dobrych inżynierów z solidnym doświadczeniem i solidnymi praktykami przeglądu kodu.

„W moim przypadku GenAI może pomóc w rozwiązaniu wielu drobnych problemów” – mówi Fowler. „Można rozwiązać bardzo małe zadanie bardzo, bardzo szybko, ale one po prostu nie są w stanie pomieścić dużej ilości złożoności – systemy odziedziczone, systemy inżynieryjne zaprojektowane tak, aby były w stanie rozwiązywać duże problemy. W ten sposób ludzie są dobrzy. Potrzebujesz wglądu, potrzebujesz rozumowania, potrzebujesz zdolności, aby utrzymać w głowie ten ogólny obraz.

Może to w rzeczywistości oznaczać, iż będziesz skupiał się na podnoszeniu kwalifikacji swoich zespołów programistów, zamiast je drążyć, aby zaoszczędzić pieniądze, zgadza się.

Dobry inżynier może funkcjonalnie rozłożyć to, co próbuje zrobić, na wiele małych problemów i do tych pojedynczych fragmentów można zastosować GenAI. Kiedy GenAI zostanie poproszony o pomoc w rozwiązaniu dużego, złożonego problemu lub o zrobienie czegoś od początku do końca, „możesz dostać śmieci”.

„Albo otrzymasz kod, który nie będzie działał bez odpowiedniego masażu, albo po prostu otrzymasz złą „radę”” – mówi Fowler. „Chodzi o pomoc w skalowaniu zespołu i osiąganiu więcej za mniej [partly as a result]. A pojawienie się wielu modalności i modeli specyficznych dla domeny, niezależnie od tego, czy zostaną zbudowane od podstaw, czy dostrojone, będzie w 100% przyszłością”.

Względy dotyczące praw autorskich

Duzi gracze zaczynają oferować produkty dla przedsiębiorstw z zabezpieczeniami danych, wyciekami i tym podobnymi, co jest „fantastyczne”, choć jak dotąd stosunkowo kilka uwagi poświęcono tej kwestii Prawo autorskie i inne ryzyko związane z własnością intelektualną związane z kodem, mówi Fowler.

Spójrz, co się stało, kiedy Oracle pozwała Google w związku z używaniem Java API. Organizacje mogą chcieć przyjrzeć się podobieństwom i precedensom, aby zapobiec potencjalnie nieprzyjemnym niespodziankom w przyszłości.

„Będą istniały precedensy dotyczące tego, co jest w porządku, jeżeli chodzi o to, ile elementów zostało udoskonalonych i zmienionych na tyle, aby można było stwierdzić, iż nie jest to dokładnie to samo, co coś innego – ale jeszcze tego nie wiemy” – zauważa.

Dzięki ogólnemu, szerokiemu zastosowaniu GenAI dane mogą łatwo pochodzić z Google lub Stack Overflow, a gdzieś pomiędzy tym wszystkim można zreplikować adres IP innej osoby dzięki algorytmu. Organizacje budujące w swojej ofercie narzędzie oparte na LLM mogą potrzebować zabezpieczeń.

„Biorąc to wszystko pod uwagę, nie jestem przekonany, czy jest to duże ryzyko, które odstraszy większość organizacji” – mówi Fowler.



Source link

Idź do oryginalnego materiału