Wer „etwas mit KI“ machen will und KI auch für die Programmierung einsetzen möchte, dem fällt oft Agentic Coding als Stichwort ein. Das ist keine gute Idee. Ein Beweis am konkreten Beispiel.
Agentic Coding ist der Einsatz eines KI-Agenten, um Programmcode zu schreiben. Der Mensch (meist kein Programmierer) tippt dazu seine Anweisung in eine Chatbox und wartet auf der fertige Endergebnis.
Ein Beispiel für eine solche Anweisung, die auch als Prompt bezeichnet wird:
Erstelle einen Python Code, der eine Webseite auf Sicherheitslücken testet.
Dies ist nur ein simples Beispiel, bitte nicht nachmachen! Der Prompt ist ungenau und sollte so nicht verwendet werden. Es geht in diesem Beitrag nur um die Betrachtung von Ausgaben der KI als künstlicher Programmierer.
Ein KI-Agent arbeitet anders als ein reines Sprachmodell, welches auch als Programmiermodell eingesetzt werden kann. Agenten sind in einem extra Artikel ausführlicher beschrieben. Kurz gesagt, läuft das Agentic Coding in einer autonomen Schleife, während bei der „normalen“ KI-Programmierung der Mensch nach jedem Schritt eingreift, Entscheidungen trifft und neue Anweisungen gibt.

Der Vorteil des Agenten: Der Mensch muss ihn nur mit einer initialen Anweisung starten und kann dann andere Dinge tun. Das Ergebnis ist im Idealfall ein perfekt laufendes Programm. Die Realität sieht anders aus, wie nachfolgend gezeigt wird.
Ein Zwischenergebnis des Agenten könnte folgende Routine sein, die auf einer Webseite (HTML) prüft, ob ein Eingabefeld in einem Javascript-Code ausgewertet wird:
def _input_name_used_in_js(name: str, js_content: str) -> bool:
escaped = re.escape(name)
patterns = [
rf'getElementById\s*\(\s*["\']{ e }["\']',
rf'querySelector\s*\(\s*["\']#{ e }["\']',
rf'querySelector\s*\(\s*["\'][^"\']*#{ e }[^"\']*["\']',
rf'["\']{ e }["\'].{{0,200}}(?:innerHTML|eval|location|fetch|write)',
rf'(?:innerHTML|eval|location|fetch|write).{{0,200}}["\']{ e }["\']',
]
return any(re.search(p, js_content, re.DOTALL) for p in patterns)
Dieser Code (hier leicht gekürzt) sieht nicht nur kompliziert aus, er ist es auch. Kein Mensch, auch nicht der beste Programmierer der Welt, sieht sofort, was hier passiert. Grund sind sogenannte reguläre Ausdrücke, die zum sehr schnellen und flexiblen Finden von Texten nützlich sind.
Im genannten Code fehlt ein wichtiger Sonderfall, der sehr häufig auftritt: Die Berücksichtigung der populären Javascript-Bibliothek jQuery. Beim manuellen Prompten der KI, mit der Bitte um Berücksichtigung von jQuery, kam dann folgendes heraus:
def _input_name_used_in_js(name: str, js_content: str) -> bool:
escaped = re.escape(name)
patterns = [
rf'getElementById\s*\(\s*["\']{ e }["\']',
rf'querySelector\s*\(\s*["\']#{ e }["\']',
rf'querySelector\s*\(\s*["\'][^"\']*#{ e }[^"\']*["\']',
rf'\$\(\s*["\']#{ e }["\'\s)][^;]{{0,80}}\.val\s*\(',
rf'#{ e }["\'][^;]{{0,80}}\.val\s*\(',
rf'\$\s*\(\s*["\']#{ e }["\']',
]
return any(re.search(p, js_content, re.DOTALL) for p in patterns)
Dem geübten Auge fällt auf, dass drei neue Muster-Zeilen (patterns) von der KI hinzugefügt wurden und zwei vorher vorhanden Zeilen (oben fett gedruckt) gelöscht wurden. Um dies herauszufinden, war es nicht nötig, den Code vollständig zu verstehen. Zählen und „gesunder“ Software-Entwickler-Verstand reichten aus.
Richtig wäre es gewesen, die drei neuen Muster-Zeilen hinzuzufügen (was passiert ist) und die zwei gelöschten Zeilen nicht herauszulöschen, sondern beizubehalten.
Dem Menschen (mir) ist dies aufgefallen.
KI-Agenten verfälschen mitunter unbemerkt Ergebnisse.
Bei Nutzung eines KI-Agenten wäre dieses Problem unbemerkt entstanden. Niemand hätte es bemerkt. Das Programm wäre falsch gewesen, weil es wichtige Konstellationen nicht berücksichtigt hätte. Das wäre irgendwann jemandem aufgefallen. Dann hätte derselbe unfähige „Programmierer“, der den KI-Agenten bedient hat, wieder den KI-Agenten bemühen müssen, um vielleicht und nach vielen unbefriedigenden, kostspieligen Versuchen das gewünschte Ergebnis zu erhalten.
Nebenbei
Ein „Prozessautomatisierer“ hat meinen Beitrag auf LinkedIn kommentiert. Er meinte, dass solche "Copy & Paste Fehler" in seinem Prozess nicht vorkommen. Außerdem sprach er davon, dass „gute Agenturen“ solche Probleme vermeiden können.
Erstens handelt es sich nicht um ein Copy & Paste Problem, sondern um einen KI-Fehler.
Zweitens würde sich keine Software-Entwickler-Firma, die etwas auf sich hält, als „Agentur“ bezeichnen. Wer den Agenturbegriff entleiht, der hat es anscheinend sehr nötig. Der häufigste Grund für solche sprachlichen Ausflüge dürfte eine fehlende Kompetenz in der Software-Entwicklung sein.
Fazit
Die meisten, die KI-Agenten für die Programmierung nutzen, können nicht programmieren. Deshalb nutzen sie Agenten.
Wer privat oder als Einzelunternehmer mit Agenten programmiert, macht erst einmal nichts falsch. Immerhin entstehen so Ergebnisse, die ansonsten gar nicht entstanden wären. Viel Spaß allerdings beim Debuggen (Fehler finden). Auch hier gilt, wie in allen anderen Lebensbereichen: A Fool With A Tool Is Still A Fool.
Wenn allerdings mittelständische Unternehmen mit mehreren Angestellten mit Agentic Coding anfangen, dann zeugt das von gewissen Missständen. Das werden einige dieser Firmen nicht einsehen. Sie werden weiter Ressourcen verbrennen oder Potential auf der Straße liegen lassen.
Eine Black Box zu durchschauen, indem man sie transparent macht, gelingt nur einem Experten.
Richtig funktioniert Programmierung ohne KI-Agenten, aber mit Hilfe von KI. Wer ohne KI programmiert, hat die Kontrolle über sein Leben verloren. Wer mit KI-Agenten programmiert, hat noch weniger Kontrolle.
Wie das gezeigte Programm-Beispiel demonstriert, kann ohne KI nicht mehr effektiv programmiert werden. Wie es mit KI richtig geht, erfahren Sie gerne in einem Workshop für Entwickler.
Auch dieses Widget wurde mit Hilfe von KI entwickelt. Möglich sind diverse Stile. Was hier wie eine Spielerei aussieht, erlaubt es, in wirtschaftlicher Weise moderne Websites und ansprechende Bestellformulare zu bauen.

Grundlage ist „nur“, dass der KI-Programmierer weiß, wie man programmiert und wie man mit KI richtig programmiert.
KI-Beratung, KI-Lösungen
Leistungsangebot:
- Erstberatung inkl. Machbarkeitsaussagen
- Schulungen und Workshops für Führungskräfte, Berufsgeheimnisträger, Angestellte, Entwickler
- KI-Lösungen mit und ohne ChatGPT/Azure. Cloud oder eigener KI-Server

gekennzeichnet.

Mein Name ist Klaus Meffert. Ich bin promovierter Informatiker und beschäftige mich seit über 30 Jahren professionell und praxisbezogen mit Informationstechnologie. In IT & Datenschutz bin ich auch als Sachverständiger tätig. Ich stehe für pragmatische Lösungen mit Mehrwert. Meine Firma, die 