News

AI in Software Enginee­ring

ChatGPT

Ende 2022 machte OpenAI das Sprachmodell GPT-3 in Form von ChatGPT der Öffentlichkeit zugänglich. Der Chatbot fand weltweit enormen Anklang. Innert fünf Tagen hatten sich über eine Million Nutzer registriert und binnen 60 Tagen wurde die 100-Millionen-Nutzer-Marke geknackt. [1] Die erstaunlichen sprachlichen Fähigkeiten ChatGPTs erlauben eine einfache Nutzung und ermöglichten dieses beispiellose Wachstum. Durch sein breites Wissen kann ChatGPT über beliebige Domänen hinweg Antworten bieten. Es ist beispielsweise fähig selbst kleine Programme oder Code-Snippets zu generieren.

Vielfalt an Werkzeugen, Vielfalt der Anwendungen

GitHub Copilot wendet die Fähigkeiten grosser Sprachmodelle im Bereich des Software Engineerings an. Zuerst nur als mächtiges Autocomplete, später mit integriertem Chat, unterstützt GitHub Copilot den Entwickler bei allen Aspekten des Programmierens. Dies erweist sich bei repetitiven Aufgaben mit Boilerplate Code, Testdaten, dem Code-Review, Framework Konfigurationen und vielem mehr als sehr nützlich. Gegenüber Suchmaschinen gestaltet sich die Lösungsfindung direkter und auf das eigene Problem angepasster. Die Problemformulierung kann iterativ verfeinert werden. Der kurze Control-Loop und eigene Fachexpertise reduzieren dabei die negativen Auswirkungen frei erfundener Antworten, welche grosse Sprachmodelle plagen – sogenannte Halluzinationen. Der Entwickler merkt schnell, dass die Antwort keinen Sinn ergibt oder nicht funktioniert. Weitere Konkurrenzprodukte wie Jetbrains AI Assistant oder Amazon Codewhisperer existieren. Allen ist gemeinsam, dass Sie auf spezifisch trainierten, grossen Sprachmodellen basieren und bei der Anfragenformulierung den nutzereigenen Code miteinbeziehen. Sie zeichnen sich durch Alleinstellungsmerkmale wie einer stärkeren Integration in die Entwicklungsumgebung oder anderer Features aus.

Datenschutz

Alle Daten GitHub Copilots werden auf den Servern Microsofts verarbeitet. Eine kontinuierliche Verbesserung des Assistenten erfordert fortlaufend neue und qualitativ hochwertige Trainingsdaten. Forschern ist es wiederholt gelungen Trainingsdaten mittels Prompt-Engineering aus Sprachmodellen auszulesen. Für sicherheitsbewusste Organisationen stellt dies ein Datenschutz- und IP-Schutzrisiko dar. Obwohl Microsoft anbietet, die Daten nicht für Trainingszwecke zu verwenden, ist bereits die Bearbeitung von Daten ausserhalb des eigenen Kontrollbereichs oft nicht akzeptabel. [2] Die aktuelle Entwicklung dieser Produkte ist versucht diese Bedenken zu beseitigen. Jetbrains arbeitet an einer kundenbetriebenen Lösung, während CodeGeeX2 diese beispielsweise bereits anbietet. [3]

Ausblick

GitHub veröffentlichte eine Studie, welche neben Effizienzsteigerungen auch die Entwicklerzufriedenheit beleuchtete. [4] Wer GitHub Copilot oder ähnliche Produkte verwendet hat, möchte sie nicht mehr missen. Sprachassistenten bieten eine sinnvolle Ergänzung zur bestehenden Entwicklungsumgebung. Sie platzieren sich zwischen Suchmaschine, Dokumentation und intelligentem Editor mit mächtigen Tools für Refactoring und Sourcecodemanipulation. Sind die Produkte bezüglich Integration und Konformität erst ausgereift, steht einer breiteren Adoption nichts mehr im Wege. Als mächtige Werkzeuge werden wir sie in Zukunft mit einer Selbstverständlichkeit nutzen, wie wir es heute mit einer integrierten Entwicklungsumgebung tun.

Kontakt