Christian Schaller, der das Fedora Desktop Team und die Entwicklungsgruppe für Desktop-Systeme bei Red Hat leitet, hat die Ergebnisse einer Bewertung der Eignung der Verwendung großer Sprachmodelle im Prozess der Entwicklung grafischer Anwendungen für Linux veröffentlicht. Als Experiment nutzte er den AI-Assistenten Claude, um die veraltete grafische Anwendung Xtraceroute auf aktuelle Technologien zu portieren.
Die Anwendung Xtraceroute, die den Pfad von Netzwerkpaketen auf einem 3D-Globus visualisiert, wurde ursprünglich mit GTK1 und OpenGL geschrieben und sollte Anfang der 2000er Jahre auf GTK2 portiert werden, danach wurde sie 20 Jahre lang nicht aktualisiert. Dank des AI-Assistenten benötigte Christian etwa fünf Stunden, um diese Anwendung auf GTK4 und die grafische API Vulkan zu portieren.
Früher:

Ist geworden:

Anschließend nutzte Christian AI, um basierend auf dem vorbereiteten Port eine neue Anwendung zu erstellen, die die Standorte der Red Hat-Büros auf dem Globus anzeigt und in der unteren Fensterhälfte Unternehmensnachrichten präsentiert. Christian äußerte auch die Idee, AI zur Automatisierung der Überprüfung von Erweiterungen für GNOME Shell und zur Generierung von Patches unter Berücksichtigung der Änderungen in neuen Versionen von GNOME Shell einzusetzen.

Laut Christian herrscht in der Community Skepsis und negative Einstellung gegenüber der Verwendung von AI, und mit dem durchgeführten Experiment wollte er anderen Open-Source-Entwicklern zeigen, dass man die Möglichkeiten, die AI zur Vereinfachung des Entwicklungsprozesses bietet, nicht ignorieren sollte. Beispielsweise spart AI Zeit, indem es die Notwendigkeit beseitigt, die API-Dokumentation durchzugehen, Änderungen in der API zu verfolgen und die richtigen Aufrufe auszuwählen, und es erleichtert auch erheblich das Schreiben von Tests.
Dabei wird AI als Werkzeug betrachtet, das bei der Entwicklung hilft, aber nicht die Verantwortung für den hinzugefügten Code übernimmt und eine Überprüfung und Qualitätskontrolle erfordert. Als Beispiel wurde der Versuch gezeigt, Code zur Unterstützung der Anzeige von PDF-Dokumenten in der Anwendung zu generieren. AI schlug Code vor, der die Browser-Engine WebKit zur Darstellung verwendete, was funktionierte, aber eine enorme neue Abhängigkeit hinzufügte. Nach einer Präzisierung der Aufgabe stellte AI Code zur Verfügung, der für die Darstellung von PDF die kompakte Bibliothek libpoppler verwendete.
Derzeit arbeiten führende AI-Assistenten als externe Online-Services, was Bedenken hinsichtlich Sicherheit und Datenschutz. Um dieses Problem zu lösen, entwickelt Red Hat ein eigenes Code-Generierungstool namens Granite.code, das auf dem offenen großen Sprachmodell Granite basiert und es ermöglicht, ein KI-Modell auf dem Computer des Entwicklers auszuführen. Dieses Projekt hinkt in seinen Möglichkeiten den Systemen wie Claude, Gemini und ChatGPT zwar hinterher, löst jedoch das Problem der Datenübertragung an Dritte und beseitigt die Abhängigkeit der Arbeitsprozesse von externen Diensten.
Quelle: opennet.ru
