Erfahrungen und Learnings im Umgang mit AI-Entwickleragenten
Meine Erfahrungswerte mit AI Agents sind über die letzten Monate immer positiver geworden. Es gibt aber einige Dinge, die man beachten muss, wenn man sinnvoll mit ihnen arbeiten möchte. Genau darüber möchte ich in diesem Beitrag sprechen.
Implizite Annahmen und unklare Anforderungen
AI Agents machen sehr viele implizite Annahmen. Das bedeutet: Je unkonkreter eine Anforderung formuliert ist, desto eher passieren Fehler.
Ein Beispiel: Ich habe eine statische Hugo-Seite und möchte, dass ein Agent dort ein neues Feature implementiert. Wenn ich ihm einfach sage: „Integriere dieses neue Feature in meine Hugo-Seite“, nehme ich als Mensch vielleicht implizit an, dass der Agent schon wissen wird, wie die exakte Struktur des Projekts aussieht und an welche Standards er sich halten soll.
Fakt ist aber: Das weiß er nicht in allen Fällen.
Es ist deshalb wichtig, im Prompt zu erwähnen, dass das Feature nicht einfach nur in eine Hugo-Seite implementiert werden soll. Der Agent sollte vorher die bestehende Struktur analysieren. Er sollte prüfen, wie sich das neue Feature sinnvoll in bestehende Features integrieren lässt, ohne zum Beispiel das Layout, vorhandene Komponenten oder die Farbwahl zu beschädigen.
Außerdem sollte er sich an den gängigen Standards von Hugo-Webseiten orientieren und die Implementierung möglichst anhand der Referenzen umsetzen, die Hugo selbst bereitstellt.
Gibt man das nicht an, erhält man oft — nicht immer, aber oft — Implementierungen, die vom Standard abweichen. Im schlimmsten Fall entsteht sogar kompletter Murks.
Ein großes Learning für mich ist deshalb: Der verwendete Software-Stack sollte mindestens im initialen Prompt klar benannt werden. Ebenso sollte der Agent direkt die Anweisung bekommen, sich innerhalb der Referenzimplementierungen und Standards dieses Stacks zu bewegen.
Visuelle Ergebnisse sind schwer zu bewerten
Ein weiterer Aspekt betrifft visuelle Arbeiten. Wenn Agents an Webseitenlayouts, Dokumenten oder anderen sichtbaren Ergebnissen arbeiten, sind sie nicht immer zuverlässig in der Lage, das visuelle Ergebnis wirklich zu bewerten.
Natürlich sind diese Tools mächtiger geworden. Sie können Webserver starten, Simulatoren für iPhones oder Android-Geräte öffnen und teilweise Screenshots oder Oberflächen analysieren. Trotzdem gelingt ihnen die Bewertung, ob ein Design wirklich korrekt aussieht, nicht immer zuverlässig.
Auch hier liegt das Problem oft in impliziten Annahmen. Der Benutzer oder die Benutzerin hat ein konkretes Bild im Kopf und wundert sich dann, dass das Ergebnis anders aussieht als erwartet.
Dieses Problem existiert allerdings nicht nur zwischen Mensch und Agent, sondern auch zwischen Menschen. Man hat eine bestimmte Vorstellung von der Implementierung einer Software oder ihrem Layout im Kopf. Wenn man diese Vorstellung nicht explizit darstellt, aufmalt oder durch ein Mockup sichtbar macht, können andere Menschen sie nicht richtig wahrnehmen. Sie stellen sich dann etwas anderes vor, basierend auf den Worten, die man verwendet.
Unter diese Problemstellung fallen AI Agents natürlich ebenfalls. Bei ihnen ist es sogar noch wichtiger, möglichst explizit zu beschreiben, was man erwartet.
Je präziser Anforderungen, Kontext, Tech-Stack, visuelle Erwartungen und Wartbarkeitsziele beschrieben werden, desto besser wird das Ergebnis. Gleichzeitig lernt man durch die Arbeit mit AI Agents, die eigenen Vorstellungen klarer zu formulieren.
Ich finde daran interessant, dass man durch die Arbeit mit Agents lernt, das gewünschte Ergebnis präziser zu beschreiben. Man formuliert gewissermaßen eine Art Lastenheft, damit am Ende das Ergebnis entsteht, das man sich vorgestellt hat.
Das schult die eigene Fähigkeit, eine Lösung, die man im Kopf hat, in Worte zu fassen. Und zwar so präzise, dass der Agent sie nachvollziehen kann. Diese Fähigkeit ist nicht nur im Umgang mit AI Agents hilfreich, sondern auch in der Kommunikation mit anderen Menschen.
Kontext geht nicht immer zuverlässig verloren — aber oft genug
Des Weiteren ist Agents nicht immer klar, in welchem Kontext sie weiterarbeiten sollen. Ich habe die Erfahrung gemacht, dass die Speicherung des Kontextverständnisses nicht immer zuverlässig funktioniert.
Das bedeutet: Ich habe schon eine größere Anzahl Tokens allein dafür verbraucht, dass Agents nach einem Neustart des Systems erneut den gesamten Tech-Stack analysieren mussten. Und das, obwohl sie im selben Thread waren und es sich teilweise sogar um Cloud-Agents handelte.
Trotzdem mussten sie sich erst wieder die bestehende Struktur anschauen, daraus den passenden Kontext ableiten und dann verstehen, wie das gewünschte Feature implementiert werden soll.
Das ist nicht unbedingt dramatisch, aber es ist ineffizient. Es zeigt, dass man sich nicht blind darauf verlassen sollte, dass ein Agent den bisherigen Kontext immer korrekt behält oder fortführt.
Auch hier hilft es, den initialen Kontext möglichst sauber zu formulieren. Je klarer der Rahmen am Anfang gesetzt wird, desto besser kann der Agent darin weiterarbeiten.
Wartbarkeit muss explizit eingefordert werden
Agents erzeugen Software, die bei präziser Formulierung gewisse Grundfunktionalitäten durchaus gut abbilden kann. Wenn sie korrekt gepromptet werden und man selbst genug Ahnung vom jeweiligen Tech-Stack hat, kann das Ergebnis auch sehr gut nutzbar und sinnvoll implementiert sein.
Es kann aber natürlich auch völlig nach hinten losgehen, wie ich in einem anderen Blogpost bereits erwähnt habe.
Eine gute Regel ist deshalb, dem Agent bereits im initialen Kontext mitzugeben, dass die Software simpel und möglichst gut für Menschen wartbar formuliert werden soll.
Das hängt natürlich auch davon ab, wie viel Erfahrung man selbst im jeweiligen Tech-Stack hat. Trotzdem ist es wichtig, bestimmte Dinge aktiv einzufordern.
Ein Agent kommt zum Beispiel in CSS nicht automatisch auf die Idee, eine zentral verwaltbare Farbdefinition anzulegen. Er denkt nicht unbedingt von selbst an ein flexibles Spacing-Grid, mit dem Textabstände dynamisch konfiguriert werden können, sodass man später selbst noch an den Reglern drehen kann.
Der Agent hat dafür schlichtweg keinen eigenen Bedarf.
Für Menschen, die später mit der Software arbeiten, sie erweitern oder daran weiterprogrammieren müssen, sind solche Strukturen aber enorm hilfreich. Genau deshalb sollten sie bewusst integriert werden.
Fazit
AI Agents bieten spannende Möglichkeiten und sind in den letzten Monaten für mich immer hilfreicher geworden. Sie können Arbeit abnehmen, Ideen schneller umsetzen und Entwicklungsprozesse beschleunigen.
Der entscheidende Punkt ist aber: Sie brauchen klare Führung.
Je präziser Anforderungen, Kontext, Tech-Stack, visuelle Erwartungen und Wartbarkeitsziele beschrieben werden, desto besser wird das Ergebnis. Gleichzeitig lernt man durch die Arbeit mit AI Agents, die eigenen Vorstellungen klarer zu formulieren.
Das ist vielleicht eines der interessantesten Learnings: Gute Arbeit mit Agents bedeutet nicht nur, bessere Prompts zu schreiben. Sie trainiert auch die Fähigkeit, technische und visuelle Ideen so präzise zu beschreiben, dass daraus bessere Software entstehen kann.
Am Ende bleibt die Verantwortung trotzdem beim Menschen. Der Agent kann unterstützen, aber er ersetzt nicht das Verständnis für Softwarequalität, Wartbarkeit und Kontext.