
Zespół badaczy opublikował właśnie kompleksową mapę wyzwań stojących przed sztuczną inteligencją (AI) w zakresie rozwoju oprogramowania i zaproponował plan badań, który ma na celu dalszy rozwój tej dziedziny.
Wyobraź sobie przyszłość, w której sztuczna inteligencja po cichu przejmuje monotonne zadania związane z tworzeniem oprogramowania: refaktoryzację zawiłego kodu, migrację starszych systemów i śledzenie wyścigów, aby inżynierowie oprogramowania mogli skupić się na architekturze systemu, projektowaniu i problemach twórczych, których maszyny jeszcze nie potrafią rozwiązać. Najnowsze postępy w dziedzinie sztucznej inteligencji zdają się przybliżać tę wizję.
Jednakże nowe badanie przeprowadzone przez naukowców z Laboratorium Informatyki i Sztucznej Inteligencji (CSAIL) - MIT i partnerskich instytutów badawczych wykazało, że aby zrealizować taką przyszłość, musimy najpierw przyjrzeć się bezpośrednio bardzo realnym wyzwaniom chwili obecnej.
„Wiele osób twierdzi, że programiści nie są już potrzebni, ponieważ sztuczna inteligencja automatyzuje wszystko” – powiedział Armando Solar-Lezama, profesor elektrotechniki i informatyki na MIT, starszy badacz w CSAIL i główny autor badania. „W rzeczywistości poczyniliśmy znaczny postęp. Narzędzia są znacznie potężniejsze niż wcześniej. Ale wciąż daleka droga do pełnego wykorzystania potencjału automatyzacji”.
Profesor Armando Solar-Lezama argumentuje, że dominujący pogląd sprowadza inżynierię oprogramowania do czegoś w rodzaju studenckiego zadania programistycznego: wzięcia małej funkcji i napisania kodu, który ją obsługuje, lub wykonania ćwiczenia w stylu LeetCode. Rzeczywistość jest jednak znacznie bardziej złożona: od refaktoryzacji kodu w celu optymalizacji projektów, po migracje na dużą skalę z milionami linii kodu przenoszonymi z COBOL-a do Javy, które zmieniają całą bazę technologiczną firmy.
Pomiary i komunikacja pozostają trudnymi problemami
Optymalizacje kodu na skalę przemysłową – takie jak modyfikacje rdzeni GPU czy wielowarstwowe ulepszenia w silniku Chrome V8 – wciąż są trudne do oceny. Obecne testy porównawcze dotyczą głównie małych, zgrupowanych problemów. Najbardziej praktyczna metryka, SWE-Bench, po prostu prosi model sztucznej inteligencji o naprawienie błędu na GitHubie – ćwiczenie programistyczne niskiego poziomu, które obejmuje kilkaset linijek kodu, potencjalnie ujawniając dane, i ignoruje szeroki zakres rzeczywistych scenariuszy, takich jak refaktoryzacja wspomagana przez sztuczną inteligencję, programowanie w parach człowiek-maszyna czy przepisywanie wysokowydajnych systemów z milionami linijek kodu. Dopóki testy porównawcze nie rozszerzą się o scenariusze o wyższym ryzyku, mierzenie postępów – a tym samym ich przyspieszanie – pozostanie otwartym wyzwaniem.
Ponadto komunikacja człowiek-maszyna stanowi istotną barierę. Doktorant Alex Gu – główny autor – stwierdził, że obecnie interakcja ze sztuczną inteligencją wciąż przypomina „kruchą linię komunikacyjną”. Prosząc sztuczną inteligencję o wygenerowanie kodu, często otrzymuje duże, nieustrukturyzowane pliki oraz kilka prostych i nieprecyzyjnych zestawów testowych. Ta luka znajduje również odzwierciedlenie w fakcie, że sztuczna inteligencja nie jest w stanie efektywnie wykorzystać narzędzi programowych znanych ludziom, takich jak debugery, analizatory statyczne itp.
Apel społeczności o podjęcie działań
Autorzy twierdzą, że nie ma magicznego rozwiązania tych problemów i wzywają do podjęcia wysiłków na skalę całej społeczności: tworzenia danych odzwierciedlających rzeczywisty proces rozwoju programistów (który kod zachować, który usunąć, w jaki sposób kod jest refaktoryzowany w czasie itd.); wspólnych zestawów narzędzi do oceny jakości refaktoryzacji, trwałości poprawek i dokładności migracji systemów; a także tworzenia przejrzystych narzędzi, które umożliwiają sztucznej inteligencji wyrażanie niepewności i zapraszanie ludzi do interwencji.
Doktorant Alex Gu postrzega to jako „wezwanie do działania” dla rozległych społeczności open source, którego nie jest w stanie zapewnić żadne pojedyncze laboratorium. Solar-Lezama przewiduje, że postęp będzie następował małymi, stopniowymi krokami – „wyniki badań, które rozwiązują problem po kolei” – przekształcając sztuczną inteligencję z „narzędzia do podpowiadania kodu” w prawdziwego partnera technicznego.
„Dlaczego to takie ważne? Oprogramowanie jest już fundamentem finansów, transportu, opieki zdrowotnej i niemal każdej codziennej działalności. Jednak ludzki wysiłek włożony w jego tworzenie i bezpieczne utrzymanie staje się wąskim gardłem” – powiedział Gu. „Sztuczna inteligencja, która potrafiłaby wykonać najtrudniejsze zadania bez popełniania ukrytych błędów, pozwoliłaby programistom skupić się na kreatywności, strategii i etyce. Ale aby to osiągnąć, musimy zrozumieć: ukończenie fragmentu kodu to łatwa część – trudna część to cała reszta”.
(Krótkie tłumaczenie z MIT News)
Source: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html






Komentarz (0)