KI-Coding, also der Einsatz von Künstlicher Intelligenz zur Codegenerierung, gewinnt zunehmend an Bedeutung in der Softwareentwicklung [1]. So versprechen AI Coding Assistants (deutsch: KI-Coding-Assistenten), Entwicklerinnen und Entwickler bei Routineaufgaben zu entlasten, Code zu generieren und Entwicklungsprozesse zu beschleunigen. Dabei unterscheiden sich die Ansätze und Integrationsstufen der verschiedenen Assistenten deutlich – von einfachen Chatbots bis zu vollständig KI-integrierten Entwicklungsumgebungen. Im Folgenden teilen wir unsere Erfahrung mit Coding-Assistenten. Wir geben einen Überblick über verschiedene Arten von Coding-Assistenten, geordnet nach dem Grad ihrer Integration in den Softwareentwicklungsprozess, und berichten von einer Studie mit 18 Praktikern, wie AI Coding Assistants in der Softwareentwicklung eingesetzt werden können.
Überblick: Arten von AI Coding Assistants
1. Chatbots als KI-Coding-Assistenten
Chatbots sind zwar universelle Werkzeuge, können aber auch als Coding-Assistenten genutzt werden. Nutzer formulieren ihre Fragen oder Anforderungen an den zu generierenden Code in natürlicher Sprache, woraufhin das Modell Codebeispiele oder Erklärungen erstellt. Neben dem bekanntesten Chatbot ChatGPT existieren zahlreiche Alternativen, wie das französische Mistral Chat, Phind, Qwen Chat und viele mehr.
Ein Vorteil von Chatbots als Coding-Assistenten liegt in ihrer Flexibilität: Sie lassen sich ohne Installation direkt über den Browser nutzen und bieten eine Kontexthistorie, die es ermöglicht, Gespräche schrittweise aufzubauen. Der Nachteil besteht jedoch darin, dass der generierte Code manuell in die Entwicklungsumgebung übertragen werden muss.
2. Assistenten in der Kommandozeile
Neben Chatbots existieren spezielle Kommandozeilenprogramme, die Routineaufgaben im Softwareentwicklungsprozess, wie das Anlegen von Dateien oder das Ausführen von Tests, automatisieren. Meist führen KI-Agenten diese Aufgaben aus und entscheiden autonom, welche Schritte notwendig sind. Kommandozeilen-basierte Coding-Assistenten können dabei auch Projektstrukturen und Code generieren. Bekannte Beispiele sind Claude Code von Anthropic oder Gemini CLI von Google.
Diese Programme eignen sich für Entwicklerinnen und Entwickler, die vorrangig in der Kommandozeile arbeiten. Aufgrund des Kommandozeilen-Interfaces ist es im Vergleich zu einer integrierten Entwicklungsumgebung (sogenannte IDEs) schwieriger, die meist weitreichenden Code-Änderungen der KI-Agenten zu überprüfen, da in der Kommandozeile nicht direkt ersichtlich ist, welche Dateien sich geändert haben und welche Inhalte hinzugefügt wurden. Die Prämisse, dass KI-Agenten eigenständig qualitativ hochwertigen Code generieren, der keinerlei Inspektion mehr benötigt, können wir zum jetzigen Zeitpunkt nicht bestätigen.
3. IDE-Integrationen
AI Coding Assistants als IDE-Integrationen kombinieren Funktionen von Chatbots und Kommandozeilen-Assistenten innerhalb einer Entwicklungsumgebung (bspw. VSCode). Solche Tools bieten größtenteils intelligente Autovervollständigung, Coding-Agenten, und einen integrierten Chatbot. Bekannte Vertreter sind GitHub Copilot oder Cursor, sowie deren Open-Source-Pendants Continue und Tabby.
Diese Lösungen bieten eine nahtlose Integration in den bestehenden Arbeitsprozess von Entwicklerinnen und Entwicklern und reduzieren den Kontextwechsel zwischen KI-Vorschlägen und Entwicklungsprozess. Damit stellen sie den umfassendsten Ansatz zur Unterstützung im Entwicklungsalltag dar.
Empfehlungen zur Einführung von KI-Coding-Assistenten
Dynamischer Markt
Der Markt für Coding-Assistenten wächst rasant. Viele Lösungen befinden sich noch in experimentellen Phasen, was es schwierig macht, das richtige Werkzeug zu wählen. Bis sich der Markt konsolidiert hat, empfiehlt es sich, zunächst größere Investitionen oder Abhängigkeiten zu vermeiden. Um einen Überblick über die verschiedenen Anbieter und die Reife der Werkzeuge zu bekommen, verweisen wir hierzu auf den Gartner-Report zu AI Coding Assistants (Gartner Magic Quadrant for AI Code Assistants [2]).
Gut für Greenfield-Projekte
Coding-Assistenten funktionieren besonders gut in sogenannten »Greenfield«-Projekten, also bei neuen Projekten ohne bestehende Codebasis. Hier kann KI schnell beim Aufbau von Grundstrukturen, beim Erstellen von ersten Komponenten oder auch bei »Vibe Coding« unterstützen. In bestehenden Projekten stoßen viele Tools jedoch noch an ihre Grenzen. Komplexe Codebasen, projektspezifische Rahmenbedingungen und proprietäre Strukturen erschweren es den Modellen, den Kontext korrekt zu erfassen und passenden Code zu generieren.
Datenschutzbedenken
Ein zentrales Thema beim Einsatz von Coding-Assistenten ist der Datenschutz. In der Einführung sollte geprüft werden, welche Daten an externe Server gesendet werden und ob sensible Informationen (z. B. Quellcode oder API-Schlüssel) geschützt sind. Bei der Auswahl eines Coding-Assistenten sollte zudem geklärt sein, wie Kontextinformationen verarbeitet werden und ob die verarbeiteten Daten (z.B. Quellcode) für das Training von Modellen verwendet werden.
Open-Source-Alternativen
Um volle Kontrolle über AI Coding Assistants in der Entwicklung zu haben, kann auf Open-Source-Software zurückgegriffen werden. Coding-Assistenten, wie Continue oder Tabby, bieten ähnliche Features wie proprietäre Anbieter. Auch Microsoft plant, GitHub Copilot als Open-Source-Software zu veröffentlichen [3]. In Verbindung mit selbst gehosteten Sprachmodellen kann somit Souveränität über die verarbeiteten Daten erreicht werden.
Studie zur Integration in den Softwareentwicklungsprozess
Letztlich wird der Nutzen von Coding-Assistenten daran gemessen, wie gut sie sich in bestehende Softwareentwicklungsprozesse integrieren lassen und ob Entwicklerinnen und Entwickler tatsächlich unterstützt werden, effizienteren Code zu schreiben. Eine von uns durchgeführte Studie mit 18 Praktikern aus 14 verschiedenen Unternehmen zeigt, dass es verschiedene Wege gibt, Code-Modelle in den Entwicklungszyklus einzubinden. Entwicklerinnen und Entwickler nutzen Coding-Assistenten nicht nur, um Code zu generieren, sondern auch, um Lösungswege zu explorieren. Dabei brechen sie Anforderungen (bspw. User Storys) herunter in Prompts, die projektspezifische Informationen (bspw. über Interfaces und Infrastruktur) enthalten. Die Ergebnisse der Studie sind abrufbar auf IEEE oder als Preprint.
Fazit: AI Coding Assistants optimal integrieren
Coding-Assistenten bieten vielfältige Möglichkeiten, die Softwareentwicklung effizienter zu gestalten. Von einfachen Chatbots bis zu vollständig integrierten Entwicklungsumgebungen gibt es inzwischen eine breite Auswahl an Werkzeugen. Der entscheidende Faktor ist jedoch die passende Integration in den eigenen Entwicklungsprozess. Erst wenn diese gelingt, können Coding-Assistenten ihr Potenzial voll entfalten.
Seminar: KI-gestütztes Software Engineering
Für alle, die sich vertiefend mit den Potenzialen und Herausforderungen von KI in der Softwareentwicklung auseinandersetzen möchten, bietet wir als Fraunhofer IESE ein Seminar zum Thema »KI-gestütztes Software Engineering« an. Dort werden aktuelle Forschungsergebnisse, praktische Anwendungsbeispiele und strategische Ansätze zur Einführung von KI-gestützten Werkzeugen in Entwicklungsprozesse vorgestellt.
> Weitere Informationen zum Seminar: KI-gestütztes Software Engineering
Referenzen
[1] Anthropic Economic Index: AI’s impact on software development
[2] Gartner Magic Quadrant for AI Code Assistants
[3] Microsoft öffnet GitHub Copilot Chat – auf dem Weg zum Open-Source-AI-Editor
