Eine Studie von Forschern von Microsoft Research hat Probleme identifiziert, mit denen Entwickler beim Bau von KI-Copiloten konfrontiert sind.
Unternehmen bringen derzeit vermehrt KI-Copiloten auf den Markt, die mit Hilfe von Large Language Models (LLMs) die Nutzer bei ihren Aufgaben unterstützen sollen. Beispiele sind der Office Copilot für Word und Excel, der GitHub Copilot für die Programmierung oder Adobe Firefly für die Bild- und Videogenerierung.
Für die meisten Softwareentwickler ist die Integration von KI-Technologien jedoch Neuland. Auch die Entwicklungsprozesse und -werkzeuge haben mit den Herausforderungen und dem Umfang der Entwicklung von KI-Anwendungen bisher nicht Schritt gehalten, heißt es in der Studie.
Die Entwicklung von Copiloten folgt noch keinem bewährten Prinzip
Forscher von Microsoft Research haben Interviews mit 26 professionellen Softwareentwicklern geführt, die in verschiedenen Unternehmen für die Entwicklung von Copiloten verantwortlich sind. Dabei wurden Probleme identifiziert, die in jeder Phase des Entwicklungsprozesses auftreten.
Eine Erkenntnis: Die Entwicklung eines Copiloten folgt zwar einem groben Prozess von Exploration, Implementierung, Evaluation und Produktisierung. Aufgrund des nicht-deterministischen Charakters von LLM ist der Prozess jedoch unklar und iterativ.
Entwickler müssen geschäftsrelevante Anwendungsfälle identifizieren, die Machbarkeit mit verschiedenen Technologien wie LLMs, Embeddings oder Vektordatenbanken evaluieren und schließlich ein Produkt für reale Nutzer ausliefern - jeder dieser Schritte birgt Probleme.
Die Studie kategorisiert die Schmerzpunkte der Entwickler in sechs Themenfelder:
1. Prompt Engineering ist zeitaufwendig und erfordert viel Ausprobieren. Die Balance zwischen Kontext und der Menge an Tokens sei schwierig. Prompt Engineering sei "mehr Kunst als Wissenschaft", die Modelle seien "sehr fragil" und es gebe "eine Million Möglichkeiten, es zu beeinflussen."
2. Die Orchestrierung mehrerer Datenquellen und Prompts zur Erkennung von Benutzerintentionen und zur Steuerung von Arbeitsabläufen ist nicht trivial und erhöht die Fehleranfälligkeit.
3. Testen ist unerlässlich, aber aufgrund der Unvorhersehbarkeit von LLMs mühsam. Entwickler führen Tests mehrfach durch und suchen nach Übereinstimmungen oder erstellen teure Benchmarks.
4. Es gibt keine empfohlene Vorgehensweisen für die Arbeit mit LLMs. Entwickler verlassen sich auf Twitter und Paper. Das Feld entwickelt sich schnell und erfordert ständiges Umdenken.
5. Sicherheit, Datenschutz und Compliance erfordern Leitplanken, gleichzeitig dürfen aber aus Datenschutzgründen keine Telemetriedaten gesammelt werden. Ein Sicherheitsreview wird zu einer mühsamen Aufgabe.
6. Die Developer Experience leidet unter unzureichenden Tools und Integrationsproblemen. Entwickler müssen ständig neue Tools erlernen, anstatt sich auf Kundenprobleme konzentrieren zu können.
In Fokusgruppensitzungen identifizierten die Forscher daraus Potenziale für zukünftige Werkzeuge und Prozesse. Dazu gehören eine bessere Unterstützung beim Schreiben, Validieren und Debuggen von Prompts, mehr Transparenz und Kontrolle für den Anwender, automatisierte Messverfahren, Möglichkeiten für Rapid Prototyping und eine einfache Integration in bestehenden Code.
Die Studie zeigt, dass sich durch den Einsatz von generativer KI in Softwareprodukten derzeit vieles im Umbruch befindet und trotz der vielen Chancen auch viel Unsicherheit herrscht. Die Softwareentwicklung müsste womöglich aufgrund sich schnell weiterentwickelnder Modelle neu gedacht werden.
"Die Verbreitung von Produkt-Copiloten, die durch die Fortschritte bei LLMs vorangetrieben wurde, hat die bestehenden Software-Engineering-Prozesse und -Werkzeuge überfordert, so dass Software-Ingenieure neue Entwicklungspraktiken improvisieren mussten", heißt es im Fazit der Forscher.