Interview über KI in der Softwareentwicklung: „Den AI Agent von Copilot gebe ich nicht mehr her!“

Wir sprachen mit unserem Senior-Entwickler Bernhard Reuberger darüber, wie unser Team Künstliche Intelligenz in der Entwicklung von autoscan und autosign einsetzt.

Foto von Bernhard Reuberger

Frage: Bei unserem letzten Gespräch über AI Ende 2023 hast du vor allem direkt mit ChatGPT gearbeitet – was hat sich geändert?

Bernhard: GitHub Copilot hat einen enormen Sprung gemacht, gerade in den letzten Wochen. Ende 2023 war der Copilot beim Programmieren noch eher nervig. Jetzt gibt es seit ein paar Wochen den AI Agent von GitHub Copilot als Preview. Und was soll ich sagen – ich gebe ihn nicht mehr her!

Was macht den AI Agent von GitHub Copilot so besonders?

Generell kann ich auswählen, welches AI-Modell als Basis für die aktuelle Aufgabe verwendet werden soll, z.B. ChatGPT von Open AI oder Claude von Anthropic. Das ist super, weil die Modelle unterschiedliche Stärken und Schwächen haben.

Außerdem kann der Agent jetzt Dinge, die vorher noch nicht funktionierten: Er versteht den Kontext besser, in dem gerade gearbeitet wird. Er kann Dateien referenzieren oder sucht sie selbstständig, wenn man bestimmte Wörter, Klassen, etc. erwähnt. Er legt auch selbst Dateien an und überlegt, wo sie hingehören. Und das alles macht er viel schneller, als ich es könnte – wofür ich 15 Minuten brauche, erledigt er in 30 Sekunden.

Es zeigt sich oft, dass der AI-generierte Code meistens “nur” zu ca. 50 – 70 Prozent stimmt. Das ist aber ein guter Startpunkt und bringt schon eine Menge Zeitersparnis.

Das klingt super: Du sagst dem AI Agent was zu tun ist und siehst ihm dann entspannt zu, wie er die Arbeit macht.

(lacht) Na, so einfach ist es doch wieder nicht: Denn zum einen muss ich mir gut überlegen, was ich ihm sage. Die Qualität der Prompts ist ausschlaggebend und aus meiner Sicht auch der Grund, warum die Meinungen zum neuen AI Agent auseinander gehen. So ein Prompt darf nicht zu weite aber auch nicht zu enge Vorgaben geben und muss möglichst klar sein.

Zum anderen passt der Code, den der AI Agent auswirft, selten zu 100 Prozent. Ich würde niemals den Code einfach so in den Live-Betrieb für unsere Produkte autoscan und autosign schicken. Unser „Production-ready Code“ muss stabil, sicher, getestet und gut wartbar sein. Grundvoraussetzung dafür ist, dass wir jede einzelne Zeile Code die generiert wurde auch komplett verstehen. Es zeigt sich oft, dass der AI-generierte Code meistens “nur” zu ca. 50-70 Prozent stimmt. Das ist aber ein guter Startpunkt und bringt schon eine Menge Zeitersparnis.

Welche Aufgaben macht der AI Agent besonders gut?

Er ist gut bei allen Dingen, die wiederkehrende Muster haben, über die man schon viel findet und für die es etablierte Lösungen gibt. Ich liebe es zum Beispiel, die AI unsere Tests schreiben zu lassen – in diesen Fällen ist das Ergebnis oft zu 100 Prozent richtig, vor allem wenn es bereits ähnliche Tests als Vorlage gibt. Ich kann mich auch nicht erinnern, wann ich das letzte Mal ein PowerShell Script komplett selbst geschrieben habe. Super ist die AI auch, wenn es ums Prototyping und Proof-of-Concept geht; da ist es egal, wenn der Code nicht perfekt ist.

Was nicht so gut funktioniert, sind Überlegungen zur groben Architektur oder zu Technologie- und Konzept-Entscheidungen. Da lohnt es sich, verschiedene Modelle zu probieren; meine Favoriten sind ChatGPT oder Grok. Generell switche ich gerne hin und her und schaue mir an, was welches Modell in der neuesten Version gerade kann – das ändert sich ja ständig!

Screenshot of a development environment (Visual Studio Code) with a C# file named Initiator.cs open. The focus is on a modification to the Initiator record, where a new PhoneNumber field of type string? has been added. In the right sidebar, the GitHub Copilot Agent is active, describing the change and noting that the new property has been integrated. At the bottom, a model selection dropdown is visible, with “GPT-4.1” currently selected.

Wie hat sich der Arbeitsalltag verändert?

Ein interessantes Thema ist, wie sich der Workflow geändert hat: Als Entwickler bist du normalerweise beim Coden wie in einem Tunnel – du tippst und tippst und tippst. Jetzt schreibe ich einen Prompt, sehe der AI beim Denken zu und muss verhindern, dass ich gedanklich abdrifte. Ich mache es so, dass ich währenddessen schon über die nächsten Schritte nachdenke, wie zum Beispiel die benötigten Tests oder die Doku. So vermeide ich einen gedanklichen Kontextwechsel, der einen so richtig schön rausreißen kann. Wenn der Agent dann fertig ist, kann ich einfach jede einzelne Änderung akzeptieren oder ablehnen.

Ich lehne mich jetzt aus dem Fenster und sage, dass es noch lange so sein wird, dass der Mensch die letzte Entscheidung trifft – es heißt ja auch beispielsweise GitHub Copilot und nicht GitHub Pilot.

Wie lange wird AI noch Menschen in der Softwareentwicklung brauchen?

Ich lehne mich jetzt aus dem Fenster und sage, dass es noch lange so sein wird, dass der Mensch die letzte Entscheidung trifft – es heißt ja auch beispielsweise GitHub Copilot und nicht GitHub Pilot. Trotz der vielen Herausforderungen, die der Einsatz von KI mit sich bringt, sehe ich in ihr ein äußerst mächtiges Werkzeug für uns. KI kann unsere eigenen Fähigkeiten verstärken oder gar potenzieren – und macht uns damit noch besser und schneller.

Wie wichtig ist die KI im AUTOSCAN-Team in der Zwischenzeit?

Sie macht uns als Team besser. Wir haben schon früh angefangen, uns damit zu beschäftigen, um gleich von Anfang an Berührungsängste abzubauen und dieses neue Werkzeug möglichst schnell kennenzulernen und zu nutzen. In der Zwischenzeit ist AI integraler Bestandteil unserer Softwareentwicklung. Mit Hilfe der AI-Werkzeuge kann man schätzungsweise die Arbeitsleistung unserer drei Entwickler mal 1,2 rechnen.

In welchen anderen Bereichen neben der Entwicklung seht ihr Potenzial, AI sinnvoll einzusetzen? Hast du dafür Beispiele?

Auf jeden Fall! Generell haben wir begonnen uns auch abseits der Entwicklung bei allen Tätigkeiten die Frage zu stellen, wie und ob uns KI dort unterstützen könnte. Ein Beispiel wäre ein interner KI-Bot, der uns bei Supportanfragen unterstützt. Dieser könnte unsere Produkt-Historie inklusive aller Features und gefixter Bugs sowie unsere Dokumentationen kennen. Das würde uns viel Recherche ersparen, die manchmal zum Lösen von komplexeren Support-Fällen notwendig ist. In den Produkten autoscan und autosign selbst wollen wir KI aber nur einsetzen, wenn es wirklich sinnvoll ist, nicht bloß als Selbstzweck!