Softwareentwicklung mit AI Unterstützung (Pre-Agentic-Coding)
Meine Erfahrungen beim Einsatz von AI in der Softwareentwicklung
02.12.2025
•6 Min. LesezeitEinführung
Nach der Veröffentlichung von ChatGPT von OpenAI am 30. November 2022 hat Künstliche Intelligenz auch die breite Masse erreicht. Mittlerweile gibt es mehrere Anbieter von Large Language Modellen, die jeweils ihr eigenes Feld der Expertise haben. Neben ChatGPT gibt es auch noch Anthropic mit ihren Modellen Claude Opus, Claude Sonnet und Claude Haiku, sowie LLama Modelle von Meta als auch DeepSeek R-Modelle aus China.
Während sich die Modelle entwickelt haben, habe ich natürlich damit angefangen die Modelle auf ihre Tauglichkeit in der Softwareentwicklung zu untersuchen. Dabei habe ich unterschiedliche Anwendungsfälle ausprobiert. Meine Erkenntnisse würde ich gerne hier mit euch in diesem Blog Post teilen.
Meine Anwendungsfälle
Starten wir zunächst mit meinen Anwendungsfällen. Diese wurden selbstverständlich immer umfangreicher und größer. Das lag vor allem daran, dass sich die Modelle schnell entwickelt haben und relativ schnell für einfache Anwendungsfälle gute Ergebnisse geliefert haben. Ich wollte prüfen, wie weit ich gehen kann, bevor das Modell mir gar keine nützlichen Inhalte mehr liefert. So habe ich in der Regel folgende Anwendungsfälle immer mal wieder ausprobiert:
- Funktionen erklären lassen – Super hilfreich, um in eine komplett fremde Codebase einzusteigen.
- Funktionen entwickeln lassen – Schnell mal eine Funktion schreiben lassen, die eine bestimmte Aufgabe erfüllt.
- App-Features entwickeln lassen – Nach dem erfolgreichen Erstellen einer Funktion wollte ich wissen, ob ich ein komplettes Feature schreiben lassen kann. Das würde mehrere Klassen und Funktionen beinhalten.
- Tests schreiben lassen – Tests sind super wichtig, aber auch ziemlich aufwendig zu schreiben. Hier wollte ich wissen, ob die Modelle mir helfen können.
- Applikationen auf Bugs und Performance-Probleme prüfen lassen – Nachdem ich ein Feature oder eine Funktion entwickelt habe, lasse ich diese gerne auf Bugs und Performance-Probleme prüfen.
- Applikationen auf die Einhaltung von Best Practices und Projektarchitekturen prüfen lassen – Hierzu lasse ich mir gerne Vorschläge machen, wie ich meinen Code verbessern kann: Wo weiche ich von Best Practices ab und wie kann ich das verbessern?
- Dokumentation von bestehendem Code erstellen lassen – Auch wenn man ein Projekt alleine startet, kommen früher oder später ein oder mehrere Entwickler dazu. Damit der Einstieg in das Projekt so reibungslos wie möglich verläuft, ist eine gute Dokumentation super wichtig, aber auch ziemlich aufwendig zu erstellen. Hier wollte ich wissen, ob die Modelle eine komplette Codebase verarbeiten können und dann eine korrekte Dokumentation erstellen können.
- Flussdiagramme zu Datenflüssen in einem unbekannten Softwareprojekt erstellen – Ein weiterer Punkt, der beim Einstieg in ein neues Projekt super hilfreich sein kann, sind Flussdiagramme, die einem den Datenfluss in der Applikation erklären.
Ein weiterer Punkt, der schwierig zu greifen ist, den ich jedoch gerne einfügen möchte, ist der Vibe-Faktor. Wie gut kann man mit dem Assistenten arbeiten, ist es bequem? Liefert der Assistent gute Ergebnisse? Passen die Ergebnisse zu meinem Stil? Oder muss ich ihm ständig sagen, dass er einen Fehler gemacht hat? All diese Punkte fließen in den Vibe-Faktor ein.
- Vibe-Faktor
Erste Schritte
Als ChatGPT herauskam, hat man selbstverständlich als Softwareentwickler versucht, Code aus dem Chat-Tool zu bekommen und in seine Programme einzubauen. Oder aber man versuchte, Konfigurationen vom LLM vervollständigen zu lassen. In der Regel war das jedoch nur eine kleine Hilfe und ziemlich umständlich. Man musste seine IDE verlassen, um auf der OpenAI-Website zu chatten, und die Ergebnisse dann wieder an die richtige Stelle im Programm zu kopieren und zu prüfen, ob der Funktionscode überhaupt stimmt. Anfangs konnte man tatsächlich nur kleinere Funktionen entwickeln lassen. Dies entwickelte sich jedoch schnell weiter, Coding-Assistenten wurden entwickelt und bereitgestellt, und parallel kamen neue Player wie Claude von Anthropic auf den Markt. Meine Erfahrungen mit den verschiedensten Tools könnt ihr hier nachlesen: Erfahrung mit KI-Coding-Assistenten.
Die Erfüllung meiner Use Cases mit ChatGPT (Webversion, Modell: GPT-3.5):
Claude Sonnet 3.5
Irgendwann habe ich dann von Claude erfahren und musste das selbstverständlich ausprobieren. Ich habe auch aus verschiedenen Subreddits erfahren, dass Claude Sonnet besser für das Programmieren geeignet ist. Das musste ich natürlich ausprobieren.
Erster Versuch
Zunächst habe ich, genauso wie bei ChatGPT, den Chat auf der claude.ai-Website eingesetzt. Auch hier muss man sagen: Auch wenn das Modell besser war und die Ergebnisse öfter dem entsprochen haben, was ich wollte, war das Hin und Her beim Kopieren von einzelnen Funktionen doch ziemlich nervig. Aber Claude hatte recht schnell seinen Kontext erweitert, und so konnte man ganze Klassen einfügen und ausbessern lassen.
Die Erfüllung meiner Use Cases:
Zweiter Versuch
Irgendwann wurde der Kontext von Claude größer, und man konnte mehr Informationen zum Prompt hinzufügen. Also musste man alle notwendigen Klassen aus dem Quellcode herauskopieren und im Prompt einfügen. Das Kopieren war mir dann zu lästig, und ich habe mir überlegt, wie ich mehr Kontext in die Anfrage auf der Website bekomme. Hierzu habe ich mir tatsächlich ein Hilfstool entwickelt, das mir aus meiner Codebase eine Markdown-Datei mit allen notwendigen Informationen erstellt. Dieses Tool findet ihr hier: GitHub Link
Die Erfüllung meiner Use Cases:
Copilot-Verbesserung
Wie im Artikel Erfahrung mit KI-Coding-Assistenten beschrieben, war ich anfangs mit dem Copilot nicht sonderlich glücklich. Die Autovervollständigung fand ich nicht besonders spannend, und die generierten Funktionen waren auch nicht sonderlich hilfreich. Man hat gesehen, dass der Copilot nicht genug Kontext des Problems hatte, um eine gut passende Funktion zu entwickeln. Die Modelle von OpenAI fand ich persönlich auch nicht so hilfreich. Als jedoch der Copilot auch die Modelle von Anthropics Claude Sonnet 3.7 eingebunden hat, waren die Ergebnisse in meinen Augen besser. Ich habe dann mehr und mehr den Copilot eingesetzt. Als man dann auch noch Dateien als Kontext an die Frage/Aufgabe übergeben konnte, haben mir die Ergebnisse noch mehr gefallen und meinen Arbeitsprozess beschleunigt.
Die Erfüllung meiner Use Cases:
Fazit
Zusammenfassend kann ich sagen, dass die Entwicklung der LLMs und deren Integration in meinen Arbeitsprozess mir anfänglich weniger geholfen haben. Mit der Zeit wurden die Modelle besser und der Kontext größer, sodass man auch bessere Ergebnisse erzielen konnte. Besonders hilfreich war die Möglichkeit, Dateien als Kontext zu übergeben. Dadurch konnte der Assistent den Code viel besser verstehen und passende Lösungen vorschlagen. Jedoch war ich noch nicht ganz glücklich mit dem KI-Assistenten. Es gab immer wieder Situationen, in denen der Assistent den Kontext nicht richtig verstanden hat und unpassende Lösungen vorgeschlagen hat. Auch wenn die Modelle besser wurden, gab es immer noch Situationen, in denen ich das Gefühl hatte, dass der Assistent nicht wirklich versteht, was ich will. Auch das Hin und Her beim Kopieren von Code hat mich nicht in einen Flow-State gebracht, sondern eher abgelenkt. Auch die Diskussionen mit dem Assistenten waren oft frustrierend, wenn man ihm zum x-ten Mal sagt, dass seine Lösung nicht passt. Wenn man ihm jedoch den passenden Tipp gibt, z. B. das passende Konzept, wie eine Funktion oder ein Feature implementiert werden soll, dann hat er das auch meistens verstanden und konnte passende Lösungen vorschlagen. Aber dann waren meistens schon die Limits des Anbieters erreicht.