Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren

Die Entwicklung von Software mit Hilfe von generativer KI gewinnt zunehmend an Bedeutung. In dieser Episode berichtet Ralf D. Müller über ein konkretes Experiment: Die Entwicklung eines AsciiDoc-Linters vollständig durch ein Large Language Model (LLM). Dabei beleuchten wir sowohl die technischen Möglichkeiten als auch die damit verbundenen Herausforderungen für die Software-Architektur.

Das Experiment: Ein KI-generierter Linter

Der Ausgangspunkt war ein reales Problem: Für AsciiDoc, ein System zur Erstellung technischer Dokumentation, fehlte bislang ein Linter zur Überprüfung von Stilrichtlinien. Mit Hilfe eines selbst entwickelten Chatbot-Frontends mit “Agentic Workflow” wurde das LLM beauftragt, einen solchen Linter zu entwickeln.

Der Agentic Workflow ermöglichte es dem System, eigenständig:

Das System entwickelte nicht nur den Code, sondern erstellte auch:

Stärken der KI-gestützten Entwicklung

Das Experiment zeigte einige bemerkenswerte Fähigkeiten des Systems:

Kritische Betrachtung und Grenzen

Trotz der beeindruckenden Ergebnisse gibt es wichtige Einschränkungen:

  1. Qualitätsanforderungen: Die vom System definierten Qualitätsszenarien erscheinen teilweise willkürlich und sind nicht ausreichend begründet. Beispielsweise wurden Performance-Anforderungen ohne erkennbare Grundlage festgelegt.

  2. Verifikation: Es bleibt unklar, ob die implementierten Features tatsächlich die gewünschte Funktionalität erfüllen oder nur die Tests erfolgreich durchlaufen.

  3. Kontrollverlust: Die Gefahr besteht, dass man dem System zu sehr vertraut und wichtige Überprüfungen vernachlässigt.

  4. Schein-Kompetenz: KI-Systeme sind darauf optimiert, kompetent zu erscheinen, was zu einer Überschätzung ihrer tatsächlichen Fähigkeiten führen kann.

Implikationen für die Zukunft

Das Experiment wirft interessante Fragen für die Zukunft der Software-Entwicklung auf:

Fazit und Empfehlungen

Aktuell empfiehlt sich der Einsatz von KI-Systemen primär als unterstützendes Werkzeug, etwa in Form von Code-Completion wie GitHub Copilot. Experimente wie der AsciiDoc Linter zeigen das Potenzial für die Zukunft, verdeutlichen aber auch die Notwendigkeit:

Die Herausforderung wird sein, die Vorteile der KI-gestützten Entwicklung zu nutzen, ohne dabei die Kontrolle und das Verständnis über die entwickelte Software zu verlieren.