Christian Schaller, szef zespołu Fedora Desktop i grupy zajmującej się rozwojem systemów desktopowych w firmie Red Hat, opublikował wyniki oceny przydatności wykorzystania dużych modeli językowych w procesie tworzenia aplikacji graficznych dla systemu Linux. W ramach eksperymentu skorzystał z asystenta AI Claude, aby przetłumaczyć przestarzałą aplikację graficzną Xtraceroute na aktualne technologie.
Aplikacja Xtraceroute, wizualizująca trasę pakietów sieciowych na 3D-globusie, pierwotnie została napisana z użyciem GTK1 i OpenGL, a na początku lat 2000 była gotowa do portowania na GTK2, po czym przez 20 lat nie była aktualizowana. Dzięki zastosowaniu asystenta AI, Christianowi zajęło około pięciu godzin portowanie tej aplikacji na GTK4 oraz graficzny interfejs API Vulkan.
Było:

Stało się:

Następnie Christian skorzystał z AI do stworzenia nowej aplikacji na podstawie przygotowanego portu, demonstrującej lokalizację biur Red Hat na globusie oraz wyświetlającej na dole okna nowinki firmy. Christian zasugerował również wykorzystanie AI do automatyzacji weryfikacji dodatków do GNOME Shell oraz generowania poprawek uwzględniających zmiany wprowadzane w nowych wersjach GNOME Shell.

Według Christiana, w społeczności panuje sceptyczne i negatywne podejście do wykorzystania AI, a przeprowadzony eksperyment miał na celu pokazanie innym deweloperom otwartego oprogramowania, że nie warto ignorować możliwości, jakie oferuje AI w celu uproszczenia procesu rozwoju. Na przykład, AI oszczędza czas, eliminując potrzebę przeszukiwania dokumentacji API, śledzenia zmian w API oraz dobierania odpowiednich wywołań, a także znacznie ułatwia pisanie testów.
Jednocześnie AI jest postrzegane jako narzędzie wspomagające rozwój, ale nie zwalnia z odpowiedzialności za dodawany kod i wymaga kontroli jakości. Jako przykład przedstawiono próbę wygenerowania kodu do osadzenia wsparcia dla wyświetlania dokumentów PDF w aplikacji. AI zaproponowało kod wykorzystujący silnik przeglądarki WebKit do renderowania, który działał, ale wprowadzał ogromną nową zależność. Po doprecyzowaniu zadania, AI dostarczyło kod, który wykorzystuje do renderowania PDF kompaktową bibliotekę libpoppler.
Obecnie wiodące asystenty AI działają w formie zewnętrznych serwisów online, co budzi obawy związane z bezpieczeństwem i prywatnością. Aby rozwiązać ten problem, Red Hat rozwija własne narzędzie do generacji kodu Granite.code oparte na otwartej dużej modelu językowym Granite, które umożliwia uruchomienie modelu AI na komputerze programisty. Projekt ten na razie ustępuje możliwościami takim systemom, jak Claude, Gemini i ChatGPT, ale rozwiązuje problem z przekazywaniem danych osobom trzecim i eliminuje zależność procesów roboczych od zewnętrznych usług.
Źródło: opennet.ru
