This blog post is also available in English

Die Welt der KI verändert sich rasant. Es scheint, als würde täglich irgendein Tool mit einem schicken Namen irgendeinen neuen Rekord brechen und zum neuen Gesprächsthema werden… bis 25 Minuten später der nächste Rekord gebrochen wird und der Nachrichtenzyklus weitergeht.

Hype? Nein, danke.

Ich bin allergisch gegen Hype. Sobald irgendein Marketer anfängt, eine aneinandergereihte Liste von Buzzword-Bingo zu spulen, um mich davon zu überzeugen, dass DIESES Ding tatsächlich die Wunderlösung ist, die all meine Probleme löst, ist mein Bauchgefühl, höflich zu nicken und heimlich alle Wege zu durchdenken, wie ich auch ohne dieses Ding perfekt zurechtkomme.

Der Vorteil dieses Ansatzes ist, dass ich keine kostbare Zeit und Energie an nutzlose Technologien verschwende, die gerade gehypt werden (ich schaue dich an, Blockchain!).

Echten Nutzen finden

Bleibt ein Thema länger bestehen, schaue ich irgendwann genauer hin – und versuche, hinter dem Lärm den tatsächlichen Mehrwert zu erkennen.

In diesem Blogpost geht es darum, den aktuellen KI-Hype einzuordnen – und herauszufinden, wo für uns als Entwickler:innen konkret Nutzen entsteht.

Nach meiner persönlichen Erfahrung hat KI in zwei verschiedenen Bereichen einen enormen Unterschied gemacht: Softwarearchitektur und Requirements Engineering (einschließlich Dokumentation) und agentischer Softwareentwicklung.

Chatbots wie ChatGPT und Claude AI machen nicht nur einen exzellenten Job beim Zusammenfassen, Formatieren und Übersetzen von Anforderungen, sie bieten auch ein Forum für den Ideenaustausch. Das Programmier-Prinzip „Rubber Duck Debugging”, bei dem wir unseren Code einem leblosen Objekt erklären, um ihn selbst besser zu verstehen, funktioniert hier ebenfalls – aber es ist sogar noch effektiver, wenn das leblose Objekt ein Chatbot ist, der deinen Gedankengang verfolgen und Vorschläge für existierende Lösungen oder Methoden machen kann, die für die Lösung deines Problems relevant sein könnten.

Ich glaube, das ist die wertvollste Kernkompetenz, die wir als Softwareentwickler:innen entwickeln können: die Fähigkeit herauszufinden, was das eigentliche Problem ist, Lösungen für dieses Problem zu durchdenken und (wo nötig) Software zu implementieren, die das Problem löst und Nutzen stiftet.

Routineaufgaben mit Agenten automatisieren

Genau an diesem letzten Schritt – dem Übergang von der Idee zur konkreten Lösung – kann agentische Softwareentwicklung ins Spiel kommen: Anstatt meinen eigenen Code mit viel Boilerplate und Copy/Paste-Arbeit zu schreiben, kann ich diese Aufgabe an einen Agenten delegieren, der die schwere Arbeit für mich übernimmt und in Minuten ein ordentliches Ergebnis produziert, anstatt der Stunden, die es mich kosten würde.

Das gibt meinem Gehirn Freiraum für echte Probleme wie das Verstehen des Geschäftsmodells meiner Kund:innen und herauszufinden, wie sich Barrierefreiheit und Benutzerfreundlichkeit für Endnutzer:innen verbessern lassen. Also das, worauf es eigentlich ankommt. 😉

Ich bin Full-Stack-Entwicklerin mit einer besonderen Leidenschaft für HTML, CSS und Barrierefreiheit. In letzter Zeit arbeite ich an einer serverseitig gerenderten Spring Boot-Anwendung mit einer angepassten Bootstrap-Pattern-Library und benutzerdefinierten Thymeleaf-Templates für UI-Felder, die sich in den Standard-Spring-Validierungsmechanismus einklinken, um Feldvalidierung zu bieten (und Feldbarrierefreiheit sicherzustellen).

Ich verwende testgetriebene Entwicklung bei der UI-Entwicklung. Mein Ansatz ist normalerweise folgender:

  1. einen UI-Test schreiben, um den Happy Path für meine Formularvalidierung zu testen
    • prüfen, dass das Formular existiert und die richtigen Methoden und Aktionen hat
    • prüfen, dass Formularfelder mit ordentlichen Labels existieren
    • prüfen, dass das Absenden des Formulars erfolgreich ist und das tut, was ich will
  2. den Controller-Code implementieren
  3. das UI-Template implementieren
  4. debuggen und anpassen, bis der Test durchläuft
  5. Schritte 1–4 wiederholen, um Formularvalidierung für diesen Endpoint zu testen und zu implementieren

Der Agent, den ich verwende, ist Claude Code. Mit Claude Code kann ich die Schritte 2–4 meines Prozesses weitgehend automatisieren. Ich muss das UI immer etwas anpassen, aber meist nur ein paar Details. Ich kann auch Prompts wie „schau dir bitte Templates X und Y an, weil die UI-Komponenten, die ich verwenden will, ähnlich sind” einwerfen, was das Ergebnis verbessert.

Nachdem ich das UI angepasst habe, kann ich normalerweise den Prompt „implementiere bitte Tests für die Formularvalidierung des Endpoints” hinzufügen und die KI generiert die fehlenden Tests.

Dann mache ich ein Code Review meines eigenen Codes und passe ein paar Dinge an, falls ich nicht zufrieden damit bin.

Dann bin ich fertig.

Immer noch Softwareentwicklung

Normalerweise überprüfe ich den Code noch ein paar Mal, nur um sicherzustellen, dass wirklich alles da und in Ordnung ist, weil es sich subjektiv immer noch viel zu schnell anfühlt.

Aber weißt du, wonach es sich nicht anfühlt?

Magie.

Als wir das erste Mal von KI hörten, hörten wir Dinge wie „warte nur ab… diese Technologie wird die Softwareentwicklung revolutionieren! Niemand wird mehr programmieren müssen” usw.

Das Tooling hat sich gewandelt und verändert. Wir müssen nicht mehr stundenlang Routinearbeit machen, wenn wir einen KI-Agenten bitten können, es in Minuten für uns zu tun.

Aber weißt du, wie man es nennt, wenn man einem Computer eine Aufgabe beschreibt, damit er sie ausführt?

Softwareentwicklung.

Und wie nennt man es, wenn man das Ergebnis anschließend überarbeitet, verbessert oder neue Funktionen ergänzt?

Genau – immer noch Softwareentwicklung.

Selbst wenn wir nicht mehr die Tasten drücken müssen, um die Codezeilen zu schreiben.

Wir müssen immer noch selbst herausfinden, worin das eigentliche Problem liegt, das es zu lösen gilt – und genau dabei kann ein Chatbot als Sparringspartner durchaus hilfreich sein. Wir müssen immer noch eine Vorstellung davon haben, was wir bauen wollen. Wir müssen immer noch unsere Ergebnisse iterieren, bis sie die tatsächlichen Probleme lösen. Und vielleicht noch wichtiger jetzt: Wir müssen sicherstellen, dass der Code, den wir produzieren, verständlich, lesbar und damit wartbar ist.

Das waren schon immer die Kernkompetenzen eines Softwareentwicklers und das hat sich nicht geändert.

In einem seltenen Moment der Ehrlichkeit (nach einem expliziten Prompt meinerseits) sagte mir ein KI-Chatbot, dass mein Workflow-Beispiel hier zu banal sei, weil ich verherrlichte Code-Generierung beschreibe, was nicht gerade bahnbrechend ist.

Ich stimme zu. Es ist absolut nicht bahnbrechend, aber dennoch vollkommen nützlich.

So viele der Aufgaben, die wir als Softwareentwickler:innen erledigen müssen, sind im Grunde gelöste Probleme. Aber der wahre Wert, den wir unseren Kunden liefern können, ist nicht der Code, den wir schreiben, sondern sicherzustellen, dass wir das Richtige bauen.

Ich habe denselben KI-Agenten auch eingesetzt, um komplexeren Code zu erzeugen – mit ziemlich guten Ergebnissen. Wir arbeiten gerade an einem Verteilungsalgorithmus für einen Kunden, und ich konnte damit mehrere Varianten auf Basis unterschiedlicher Ansätze generieren und vergleichen. Diese Experimente hätten mich vermutlich ein paar Tage gekostet, hätte ich alles von Hand geschrieben. Stattdessen hatte ich in 15 Minuten eine neue Algorithmus-Variante vom Agenten.

Der Code landet zwar nicht direkt in der Produktion, aber er hat uns geholfen, die Daten besser zu verstehen und die bestehende Codebasis gezielter zu verbessern. In dem Sinne war das definitiv ein Erfolg.

Schnelle Feature-Entwicklung ermöglicht schnellere Feedback-Schleifen. Sie ermöglicht es uns, schneller zu iterieren.

Hier möchte ich anmerken, dass die Code-Qualität des betreffenden Projekts die Qualität der Ergebnisse, die die KI produzieren konnte, erheblich verbessert hat. Wir haben eine umfangreiche Test-Suite, die testet, ob die Geschäftsanforderungen erfüllt werden, sodass der Agent bei der Entwicklung des neuen Algorithmus die existierenden Tests in seiner Feedback-Schleife verwenden konnte, um eine korrekte Implementierung sicherzustellen.

Das bringt mich zurück zu meinem Punkt über Kernkompetenzen für Softwareentwickler: Wir müssen immer noch gute Tests schreiben können (und alle Tests lesen können, die ein Agent für uns generiert), um zu verifizieren, dass die Software das tut, was sie tun soll.

Limitierungen

Ich kann nachvollziehen, dass meine echte Begeisterung für das neue agentische Programmiermodell in diesem Artikel vielleicht wie genau das klingt, was ich eigentlich vermeiden will: marketingartiges „Blah blah“. Deshalb will ich zum Schluss auch noch sagen, wo aus meiner Sicht Vorsicht geboten ist – und wo wir beim Einsatz von KI nicht einfach blind vorangehen sollten.

Ein zentraler Punkt ist für mich das Thema Halluzinationen: KI-Modelle erkennen oft nicht, wann ihnen Informationen fehlen, um eine fundierte Antwort zu geben. Ich hatte ChatGPT einmal gebeten, mir ein Bild von einem Nachtlicht zu zeichnen – was damals nicht funktionierte, weil das Modell das Konzept offenbar nicht verstand (heute kann es das, damals eben nicht). In einem anderen Fall bat ich einen Chatbot, eine Aussage zu überprüfen, die ich in einem Buch gelesen hatte. Statt einer Einordnung bekam ich die scheinbar überzeugende Antwort, dass es dafür keine Belege gäbe – also müsse die Aussage wohl falsch sein. Das war falsch, aber es klang plausibel.

Das ist einer der Vorteile der Arbeit mit Agenten: Ein Agent kann die Ausgabe eines LLM gegen ein reales System prüfen, um zu verifizieren, dass das Ergebnis gültig ist, und alle Halluzinationen verwerfen, sobald sie auftreten.

Dennoch müssen wir derzeit unsere Denkmützen aufbehalten und jede Ausgabe, die von KI produziert wird, kritisch bewerten. Sie weiß nicht, was sie nicht weiß.

Das ist die Zukunft, die ich mir beim Arbeiten mit KI vorstelle: Neue Tools und Methoden werden uns unterstützen, aber Menschen werden weiterhin die Führung und Aufsicht bieten, um sicherzustellen, dass die richtigen Probleme gelöst werden. Ich betrachte es auch als unsere Verantwortung, diese Führung und Aufsicht weiterhin zu bieten, weil ich skeptisch bleibe, dass eine KI ohne Gewissen finale Entscheidungen treffen sollte.

Ich bin optimistisch, dass wir auch in Zukunft vor allem eines tun werden: Software entwickeln, die echten Nutzen für Endanwender:innen bringt. Die Kernkompetenzen der Softwareentwicklung bleiben wichtig – sie zeigen sich heute nur in leicht veränderter Form.

Wir sollten unsere skeptische Haltung bewahren – gerade gegenüber Hype und Buzzwords – und genau hinschauen, wo echte Probleme wie Halluzinationen auftreten. Aber genauso wichtig ist es, sinnvolle technologische Fortschritte nicht vorschnell abzulehnen.

KI verdient eine faire Chance – ohne übertriebene Erwartungen, aber auch ohne reflexhafte Ablehnung.