Softwaredokumentation: Tipps für mehr Freude und Effektivität

Seite 2: Generative KI kann unterstützen

Inhaltsverzeichnis

iX: Tools auf Basis von Künstlicher Intelligenz (KI) – insbesondere generativer KI – lassen sich inzwischen in vielen Bereichen des Entwickleralltags unterstützend verwenden, etwa in Form von Coding-Assistenten. Inwiefern verwendet ihr bereits KI bei der Dokumentation oder plant diese in Zukunft einzusetzen?

Charlotte: Es gab bei uns einmal die Idee, die Dokumentation durch KI generieren zu lassen. Ich habe da auch etwas herumprobiert, damals mit GPT-3.5 von OpenAI, denn das war eines der wenigen KI-Modelle, die aufgrund ihrer Nutzungsbedingungen für uns in Frage kamen. Leider war das Modell für unsere Anforderungen nicht mächtig genug, weshalb das Projekt zunächst auf Eis gelegt wurde. Es gibt aber bereits Pläne, das Thema wieder aufleben zu lassen und mit neueren KIs zu probieren, ob das machbar ist. Eine klare Empfehlung kann ich aktuell nicht geben.

Alexander: Dokumentation sollte zunächst konsistent sowie grammatikalisch und syntaktisch korrekt sein. Außerdem sollte sie Listen und Tabellen statt Fließtext bevorzugen und aktive Sprache verwenden, um gut lesbar zu sein. In der Vergangenheit beschränkten sich Unterstützungswerkzeuge in der Regel auf das Meckern: Dieser Satz sei zu lang, das Verb passiv und die Grammatik und Syntax falsch. Nach und nach wurde die Grammatikprüfung immer besser, doch auf einmal kann generative KI nun wirklich helfen. Sie kann ganze Abschnitte umschreiben, auf aktive Sprache trimmen und Grammatikfehler korrigieren. Damit können Autoren, die wenig Übung haben oder in einer anderen Sprache als ihrer Muttersprache schreiben, deutlich einfacher qualitativ hochwertige Dokumentation erstellen. In der Interaktion mit der KI können sie über die Zeit hinweg ihren Schreibstil verbessern.

Generative KI kann auch fehlende Bildbeschreibungen ergänzen, was die Barrierefreiheit verbessert. Manchmal kann sie Diagramme zu einem bestehenden Text entwerfen, die die Autoren dann anpassen. Daneben kann sie eine Rohfassung der Dokumentation erstellen. Allerdings besteht die Gefahr, dass die KI Dinge erfindet, die die Software noch nicht kann. Solche Abschnitte müssen Menschen beim Korrekturlesen finden und entfernen. Wenn die Idee gut ist, sollte sie als Änderung in einem nächsten Release der Software umgesetzt werden.

Ist die Dokumentation einmal geschrieben, ist sie der perfekte Input für eine generative KI. Gewährt man der KI Zugriff auf die Dokumentation, so kann sie anschließend Fragen zu der Software beantworten und so Nutzerinnen und Nutzern helfen. Dabei sollte sie neben der Antwort immer den Link zur Dokumentation anbieten, sodass die Menschen dort weiterlesen können.

Falk: Ich wäre da erst einmal vorsichtig. KI ist nur so gut, wie wir sie sinnvoll mit Input füttern. Und wir müssen immer die Ergebnisse prüfen und hinterfragen. Werkzeuge wie ChatGPT können uns aber bei der Erstellung der Dokumentation unterstützen. Sei es als geduldiger Sparringspartner, mit dem wir Inhalte diskutieren und uns alternative Formulierungen vorschlagen lassen können, oder auch zum Erstellen von textuellen Diagrammen nach dem “as-Code”-Prinzip, wie mit dem Dokumentationswerkzeug PlantUML. ChatGPT stellt beispielsweise Plug-ins zur Verfügung, die basierend auf unseren Eingaben Architekturdiagramme erstellen.

Gernot: Bestimmt haben wir alle schon versucht, uns von generativer KI – Datenschutz-Compliance vorausgesetzt – Codefragmente erklären zu lassen. Meine eigenen Experimente in dieser Hinsicht waren ziemlich erfolgreich, auch heftig geschachtelte Stellen hat die KI für mich entwirrt. Bislang funktioniert das jedoch primär auf Low-Level-Konstrukten, beispielsweise einzelnen Funktionen oder Methoden. Ein Verständnis aus Vogelperspektive hat mir KI zumindest aktuell noch nicht vermitteln können. KI kann bis heute keinen Überblick im Großen liefern, in arc42-Begrifflichkeiten also weder eine Kontextabgrenzung noch eine Bausteinsicht Ebene 1. Außerdem scheitert sie kläglich an den Begründungen, die zu bestimmten Entscheidungen geführt haben. Für meine praktische Arbeit hat das die Konsequenz, dass ich mich mehr als zuvor auf den High-Level-Überblick sowie die eher strategischen Themen konzentrieren kann.

Aber es lohnt sich ein Blick auf das Requirements Engineering: KI hat sich als erstaunlich gut darin erwiesen, konkrete Qualitätsanforderungen auf mess- und prüfbare Weise zu formulieren. Diese Arten von Anforderungen – wie Usability, Performance, Security und Wartbarkeit – gehören zu den wichtigsten Teilen der technischen Dokumentation, weil sie Requirements, Architektur und Entwicklung verbinden. Unter quality.arc42.org gibt es fast hundert Beispiele konkreter Qualitätsanforderungen, von denen sicher ein Dutzend mit Hilfe von ChatGPT auf Basis von GPT-4 entstanden ist.