07. März 2024

Die Zusammenarbeit zwischen Mensch und Maschine

Im letzten Teil unserer Serie über den Einsatz von KI in der Softwareentwicklung befassen wir uns mit dem Einsatz von LLMs in der Implementierungsphase, GitHub Copilot als Coding-Partner und der Interaktion zwischen Menschen und LLMs.
Software Engineer

Autor:in

Niclas Komander

Ein Mann im grünen Pullover sitzt mit dem Rücken zum Betrachter gewandt vor einem Bildschirm, auf dem Code zu sehen ist.

Die rasante Entwicklung von Large Language Models (LLMs) wie ChatGPT und GitHub Copilot hat einen bedeutenden Einfluss auf das Software Engineering. In dieser Blogserie haben wir bereits die Potenzialanalyse für den Einsatz von LLM-basierten Werkzeugen in den Bereichen Architektur und Requirements Engineering vorgestellt. Nun werfen wir einen genaueren Blick auf die Implementierungsphase und die faszinierenden Veränderungen, die LLMs in den Arbeitsabläufen unserer Entwicklerteams bewirken. Unsere tiefergehende qualitative Studie offenbart nicht nur technische Erkenntnisse, sondern auch die menschliche Dimension dieser Kollaboration von Mensch und Maschine. Erfahren Sie, wie ChatGPT und GitHub Copilot nicht nur dazu in der Lage sind, Code zu generieren, sondern auch als unterstützende Werkzeuge dienen, um Lösungen zu erarbeiten.

ChatGPT als Unterstüztung bei der Implementierung

Im Bereich der Implementierung haben wir die Vielseitigkeit von ChatGPT im interaktiven Modus beobachtet und erkundet. Entwickler nutzen den Chatbot nicht nur als Code-Generator, sondern auch als unterstützenden Partner bei der Lösungsfindung. Der Dialog mit ChatGPT erwies sich als effektiver Ansatz, um tiefgreifendes Verständnis für komplexe Implementierungsaufgaben zu entwickeln. Die Möglichkeit, in einem dynamischen Austausch mit der KI verschiedene Lösungsansätze zu erforschen und abzuwägen, wurde besonders geschätzt. 

GitHub Copilot als perfekter Coding-Partner

GitHub Copilot hingegen wurde von unseren Teams als nützlicher Code-Partner im Echtzeit-Editor betrachtet. Die Möglichkeit, Code-Zeilen in Echtzeit zu generieren, erwies sich als besonders vorteilhaft, wenn es darum ging, repetitive oder standardisierte Abschnitte zu erstellen. Die Anpassungsfähigkeit von GitHub Copilot an den individuellen Coding-Stil unserer Entwickler wurde als ein Pluspunkt hervorgehoben, der die nahtlose Integration in laufende Projekte unterstützt. 

Stärken der LLMs

Die qualitative Studie ermöglichte es uns auch, spezifische Anwendungsfälle zu identifizieren, in denen die LLMs ihre Stärken am besten ausspielen konnten. Das Erarbeiten von Komponentenschnitten, das Bearbeiten von Trade-offs bei verschiedenen Lösungen und das Erstellen von Schnittstellenschemata im JSON-Format wurden als besonders geeignete Aufgaben identifiziert. Die Teams empfanden diese Anwendungsfälle nicht nur als zeitersparend, sondern auch als Qualitätsverbesserung im Entwicklungsprozess. 

Ein herausragendes Beispiel für Accso's proaktiven Schritt in die Zukunft der Softwareentwicklung ist unser AI Assisted Hackathon. In einer User Group von 15 Personen haben wir die Möglichkeiten von LLMs in Echtzeit erkundet und innovative Wege gefunden, wie diese Technologien nicht nur die Effizienz, sondern auch die Kreativität in der Code-Erstellung steigern können. Dieser Schritt verdeutlicht unser Engagement für Innovation und die kontinuierliche Optimierung der Softwareentwicklungsdynamik. 

Interaktion zwischen Menschen und LLMs

Die Fortschritte im Bereich der Large Language Models (LLMs) wie ChatGPT und GitHub Copilot weisen auf eine faszinierende Zukunft des Code-Schreibens hin. Wir stehen an der Schwelle zu einer Ära, in der die Kollaboration zwischen menschlichen Entwicklern und maschineller Intelligenz nicht nur die Effizienz, sondern auch die Art und Weise, wie wir Software erstellen, transformieren wird. 

Eine der aufregendsten Perspektiven ist die Vorstellung, dass wir möglicherweise in Zukunft auf traditionelle Code-Kommentare verzichten könnten. Anstatt einen Abschnitt des Codes manuell zu kommentieren, könnte Ihr LLM-basiertes Werkzeug automatisch eine verständliche Erläuterung im Inline-Format bieten. Diese Vision eines "erklärenden Codes" könnte nicht nur den Arbeitsaufwand reduzieren, sondern auch dazu beitragen, dass Code für Entwickler auf verschiedenen Erfahrungsstufen leichter verständlich wird. 

Ein persönlicher Ausblick auf diese Zukunft des Code-Schreibens könnte die Integration von LLMs in den täglichen Arbeitsablauf jedes Entwicklers umfassen. Während Sie an einem herausfordernden Code-Abschnitt arbeiten, könnten Sie in Echtzeit mit Ihrem Chatbot kommunizieren, um Verständnisfragen zu klären oder alternative Lösungsansätze zu erkunden. Dieser dynamische Dialog könnte sowohl die Qualität des Codes verbessern, als auch eine Art "Pair Programming" mit einer KI-Entität ermöglichen. 

Die Idee, dass LLMs in der Lage sein könnten, nicht nur Code zu generieren, sondern auch dessen Kontext und Logik zu erklären, verspricht einen tiefgreifenden Wandel in der Art und Weise, wie Software entwickelt wird. Diese Verschiebung könnte nicht nur die Entwicklung von Anwendungen beschleunigen, Entwickler bei der Weiterentwicklung neuer Technologien unterstützen und die Einstiegshürden für neue Teammitglieder senken, sondern auch den Umgang mit Legacy Code erleichtern.

Datenschutz bei ChatGPT und GitHub Copilot

Ein herausfordernder Punkt, der in der Studie beleuchtet wurde, war die Notwendigkeit eines ausgewogenen Umgangs mit Datenschutzaspekten. Die Sensibilität gegenüber dem Schutz von Unternehmensdaten beeinflusste die Anwendungsbereiche von ChatGPT und GitHub Copilot. Es ist jedoch wichtig anzumerken, dass die überwiegende Mehrheit der Anfragen an die KI-Tools von allgemeiner Natur war, ähnlich wie die typischen Suchanfragen, die wir heute über Suchmaschinen durchführen. Daher wurden Datenschutzaspekte in vielen Fällen nicht beeinträchtigt. Unsere Teams fanden Wege, die Vorteile dieser Technologien zu nutzen, ohne dabei Kompromisse bei der Datensicherheit einzugehen.

Fazit

Insgesamt verdeutlichten die Erfahrungen aus der qualitativen Studie, dass der Einsatz von LLMs in der Implementierungsphase eine technologische Evolution darstellt und gleichzeitig auch einen kulturellen Wandel in der Art und Weise, wie Entwickler kollaborieren und Probleme angehen. Die Kombination aus menschlicher Kreativität und maschineller Intelligenz eröffnet aufregende Perspektiven für die Zukunft des Code-Schreibens. Unsere Entwicklerteams sind bereit, diese Möglichkeiten weiter zu erkunden und die Dynamik zwischen Mensch und Maschine im Software Engineering kontinuierlich zu optimieren. 

AI-assisted Software Engineering

Basis dieses Blogartikels bildet eine breitgefächerte Potenzialanalyse, welche den Einsatz LLM-basierter Werkzeuge im Software Engineering heute evaluiert. Die identifizierten Potenziale wurden mittels einer empirischen Pilotuntersuchung in realen Projektszenarien erprobt.

2023_Magazine

Niclas Komander

Software Engineer
Ihr Ansprechpartner zum Thema AI-assisted Software Engineering mit ChatGPT und GitHub Copilot
Niclas Komander Raute