Was generative KI in der Softwareentwicklung leistet
Die Fachhochschule Graubünden hat einen Bachelorstudiengang zu KI in Software Engineering lanciert. Studienleiter Florian Herzog spricht über die Chancen und Herausforderungen von KI-Tools in der Softwareentwicklung sowie über die Frage, welche Kompetenzen künftig gefragt sind – und welche weniger.

KI-Assistenten prägen die Art und Weise, wie man Software entwickelt, testet und wartet. Wo sehen Sie die grössten Chancen?
Florian Herzog: Der grösste Vorteil von KI-Assistenten in der Softwareentwicklung ist die Automatisierung von beschränktem und klar abgegrenztem Software-Code wie beispielsweise Funktionen sowie die Kommentierung von bestehendem Code. Ebenfalls sehr hilfreich ist es, mithilfe von KI-Assistenten Code zu verstehen und zu analysieren. Neue Tools, die wie KI-Agenten funktionieren, können auch schon grössere Code-Bestandteile erstellen, weil sie in der Lage sind, in einer Schleife aus Code-Erzeugung und Code-Ausführung selbstständig Fehler zu finden und so Code für grössere Aufgaben zu entwickeln.
Wie sieht es mit den Risiken aus? Und wie sensibilisieren Sie die Studierenden dafür?
Die grössten Risiken kommen vom Halluzinieren und von Code, der zwar funktioniert, die gestellte Aufgabe aber nicht funktional erfüllt. Dadurch steigt die Bedeutung von Tests während der Entwicklungsphase. Ein weiteres Risiko besteht darin, dass die KI-Assistenten umfangreiche und komplexe Software nicht wirklich verstehen, weil sie Abhängigkeiten nicht erkennen und deswegen mitunter Code-Bestandteile erzeugen, die im Zusammenspiel fehlerhaft sind.
Für welche Aufgaben in der Softwareentwicklung sind KI-Tools besonders gut geeignet und wo stossen sie an ihre Grenzen?
Die Tools eignen sich vor allem für Funktionen mit klaren Aufgaben und zugehörigen Tests. Je klarer und präziser eine Aufgabe definiert ist und je besser ein KI-System den Kontext mitberücksichtigen kann, desto besser sind die Antworten. Was beispielsweise gut funktioniert, ist der Einsatz von KI-Assistenten zur Erstellung erster Prototypen. An ihre Grenzen stossen solche Tools allerdings bei komplexen Architekturen, da sie Mühe damit haben, kontextbezogene Zusammenhänge zu verstehen.
Der Einsatz von KI-Tools kann den Entwicklungsprozess beschleunigen – doch vor lauter Tempo könnte die Sorgfalt auf der Strecke bleiben. Wie wirkt sich Ihrer Ansicht nach der Einsatz von KI in der Softwareentwicklung auf die Qualität von Code aus?
Wer mit KI-Tools an Software arbeitet, muss von Anfang an eine klare Strategie verfolgen und streng methodisch vorgehen. Zudem muss man KI-generierten Code durch dieselben Prüfungen und Reviews begutachten, wie man dies auch bei von Menschen entwickeltem Code erwartet. Sorgfalt und Qualität sind keine Frage der Tools, sondern eine Frage der Einbettung und der konsequenten Anwendung.
Es wäre denkbar, dass Software Engineers, die sich zu stark auf KI verlassen, bestimmte Fähigkeiten vernachlässigen. Wie beurteilen Sie das Risiko, dass der Einsatz von KI-Tools im Entwicklungsprozess zu einer Abhängigkeit führt?
Es besteht zwar grundsätzlich die Gefahr, dass man der KI sozusagen blind vertraut und dies eines Tages dazu führt, dass man nicht mehr versteht, wie Code entsteht. Doch die Entwicklerinnen und Entwickler, die sich mit solchen Tools befassen, verstehen schnell, dass insbesondere komplexe Softwarearchitekturen nicht allein durch KI zustande kommen – und dass die Stärke von KI-Assistenten vor allem darin liegt, Boilerplate-Code, das heisst basale Codesegmente zu generieren. Dennoch ist es wichtig, dass man in der Softwareentwicklung eine Kultur des Verstehens, der Kontrolle und Qualität etabliert und pflegt.
Bei der Arbeit mit KI-Tools wird kritisches Denken zu einer Schlüsselkompetenz. Wie kann man das am besten vermitteln?
«First-Principles first» beziehungsweise ein Verständnis der Grundlagen gewinnt in der Ausbildung an Bedeutung und wird wichtiger als die Vermittlung von Wissen zu Frameworks und Bibliotheken. Eine gute Schulung in den Informatik-Grundlagen und Engineering Foundations sowie ein kritisches Herangehen an KI-generierte Code-Bestandteile sind der Schlüssel, um das Potenzial von KI in der Softwareentwicklung zu nutzen und um dort einzugreifen, wo KI heute noch keine zureichende Qualität liefert.
Ein grundsätzliches Problem von GenAI-Anwendungen besteht in ihrem Hang zum Halluzinieren, das heisst, in der Tatsache, dass diese Dienste dazu neigen, Falschinformationen zu erfinden. Wie gehen Sie in der Lehre damit um?
Im Bereich der Softwareentwicklung hat man den Vorteil, dass Softwaresprachen viel begrenzter sind als natürliche Sprachen und sich das Halluzinieren dementsprechend auf Dinge wie erfundene Bibliotheken oder nicht ausführbaren Code beschränkt. Solche Fälle behandeln wir im Unterricht und diskutieren auch mögliche Prüfverfahren. Das Problem hat sich allerdings ein Stück weit entschärft, seitdem es AI Code Editors mit agentischen Fähigkeiten gibt, die Code intern prüfen und Fehler finden können. Hinzu kommt, dass solche Tools mittlerweile auch Retrieval-Augmented Generation (RAG) nutzen und daher externe Daten und Bibliotheken einbeziehen können.
Sind KI-Halluzinationen sozusagen therapierbar respektive ein technisch lösbares Problem? Oder sollten die User vielmehr lernen, diesen gelegentlichen Wahn heutiger KI-Assistenten als deren Schwäche zu akzeptieren?
Generativer KI kann man das Halluzinieren mit höchster Wahrscheinlichkeit nie vollständig abgewöhnen. Man kann KI-Halluzinationen jedoch stark reduzieren, zum Beispiel durch Techniken wie Chain-of-Thought. Somit bringt man ein Large Language Model sozusagen dazu, über eine Aufgabe nachzudenken, bevor es einen Output generiert.
Wie beurteilen Sie den Einfluss von KI auf den Arbeitsmarkt für Software Engineers?
KI-Tools sind nur Assistenten und der Entwickler beziehungsweise die Entwicklerin bleibt im Fahrersitz. Ich glaube, dass die gesteigerte Effizienz, die man durch KI in der Softwareentwicklung erreichen kann, eher dazu führt, dass das Outsourcing abnimmt – ebenso wie der Bedarf an Support-Tätigkeiten. Das tangiert jedoch nicht die Kernaufgaben der Softwareentwicklung. Dementsprechend gehe ich davon aus, dass sich die Beschäftigungssituation in der Informatik nicht grundlegend durch KI verändern wird.
Wie verändern sich die Rollen von Programmiererinnen und Programmierern durch den zunehmenden Einsatz von KI in der Softwareentwicklung?
Software Engineers entwickeln sich zu Architekten, Designern oder Brückenbauern zum Business. Im Gegenzug dürfte die Nachfrage nach hochspezialisierten Expertinnen und Experten mit Know-how über bestimmte Frameworks und Technologien abnehmen, weil es wohl nicht mehr lange dauert, bis KI-Assistenten speziell für solche Zwecke auf den Markt kommen.
Welchen guten Rat geben Sie den Studierenden mit auf den Weg?
Lernt die Grundlagen und nutzt die neuen Technologien extensiv. Lernt verstärkt, gesamtheitlich zu denken und kritisch mit den KI-Tools umzugehen.

Sci-Fi-Filme irren sich immer im Jahr

Wie Unternehmen mit künstlicher Intelligenz im Arbeitsalltag durchstarten

So geht Zeitsparen mit KI

Update: Bezirksgericht Frauenfeld verhängt Drohnenverbot über Swift-Rechenzentrum

Was generative KI in der Softwareentwicklung leistet

KI-Trend im ITSM – ein Balance-Akt zwischen Effizienz und Datenschutz

Update: Zürcher Kantonsräte setzen auf Gegenvorschlag zur Initiative für digitale Integrität

Apptiva: Schweizer Pionier für individuelle Softwarelösungen und KI-Chatbots

Zukunftssichere Unternehmenskommunikation durch innovative KI
