Kunst und KI

Dieser Post ist inspiriert von zwei Podcasts, die ich in den letzten Wochen gehört habe:

Beide behandeln die Frage, ob mit Hilfe von Künstlicher Intelligenz erschaffene Werke Kunst sein können. Oder doch eher nur Kitsch oder sogar noch etwas belangloseres?

Das allein schon die Frage ‚Was ist Kunst‘ keine einheitliche, von allen geteilte Antwort hat, macht die Diskussion noch einmal komplexer und damit spannender. Ich möchte dabei drei Fragestellungen nachgehen:

  1. Kann ein mit KI Unterstützung von Menschen geschaffenes Werk für menschliche Betrachter*innen Kunst sein
  2. Kann ein von KI geschaffenes Werk auch ohne menschliche Intervention Kunst sein
  3. Könnte KI für sich selbst (und andere KIs) Kunst schaffen

Und am Ende die Frage, inwieweit es sich als Künstler*in auch heute lohnt, den Versuch zu unternehmen, die eigene Kunst zu machen, zu zeigen und vielleicht auch davon leben zu können.

Dabei spielen Schnecken eine Rolle, tiefe, digitale Träume, Industrieroboter, Chipstüten und die Aura. Die hier gezeigten Bilder wurden – sofern nicht anders vermerkt – mit Hilfe von Midjourney erzeugt und dann etwas nachbearbeitet.

Was ist Kunst

Frage ich dies ChatGPT in der 4o Version erhalte ich zum Beispiel diese Antwort:

‚Kunst ist ein vielschichtiger Begriff, der sich auf verschiedene menschliche Aktivitäten, Schöpfungen und Ausdrucksformen bezieht. Im Allgemeinen umfasst Kunst visuelle, darstellende und literarische Werke, die durch Kreativität, technisches Können und emotionale Tiefe gekennzeichnet sind. Sie dient oft dazu, ästhetische Erlebnisse zu schaffen, Ideen und Gefühle auszudrücken oder gesellschaftliche, kulturelle oder philosophische Themen zu erforschen.

Die Definition und Wahrnehmung von Kunst können je nach kulturellem, historischem und individuellem Kontext variieren. …‘

ChatGPT 4o, Prompt: ‚Was ist Kunst‘, gestellt am 7. Juli 2024

In dem umfangreichen Wikipedia Artikel zu ‚Kunst‘ findet sich dieser im zweiten Absatz:

‚Kunst ist ein menschliches Kulturprodukt, das Ergebnis eines kreativen Prozesses. Das Kunstwerk steht meist am Ende dieses Prozesses, kann aber auch der Prozess bzw. das Verfahren selbst sein. So wie die Kunst im gesamten ist das Kunstwerk selbst gekennzeichnet durch das Zusammenwirken von Inhalt und Form….‘

Wikipedia, Artikel ‚Kunst‘, abgerufen am 7. Juli 2024

Kunst ist dem Menschen vorbehalten

Beide Definitionen sprechen davon, dass Kunst eine menschliche Aktivität ist. Diese Muster, welche Schnecken beim Abgrasen eines Algenteppichs hinterlassen haben, zählen demnach eindeutig nicht als Kunst:

Auch wenn man – im richtigen Setting installiert – diese Ornamente sicher mit Bedeutung aufladen und als Kunst deuten könnte. Und ich habe das Bild ja auch nachbearbeitet, es steckt also doch etwas Menschliches drin. Ist da vielleicht doch (schon ein klein wenig) Kunst enthalten? Selbst wenn die eigentlichen Akteure, also die Schnecken, bei der Erschaffung des Musters keinerlei künstlerische Ambition hatten, sondern nur dem Überlebensalgorithmus gefolgt sind, der in ihren Neuronen mehr oder weniger fest eingeprägt ist?

Auch die im Autonomie und Algorithmen Podcast angesprochene Installation von Danny Frede, bei der in einer Umzäunung festgehaltene Saugroboter Farbe auf dem Untergrund verteilen, während sie ihrem Reinigungsalgorithmus folgen, bedient sich ja unintelligenter Akteure um etwas zu erschaffen (aktuell ist diese Installation direkt auf der Homepage zu sehen).

Wie viel Mensch braucht es also, damit etwas Kunst ist?

Kunst erfordert Kreativität

Kunst braucht Kreativität, da sind sich beide Definitionen einig. Die Definition in der Wikipedia beginnt mit dem Satz ‚Kreativität ist die Fähigkeit, etwas zu erschaffen, was neu oder originell … ist‚. Aber kann eine KI, die letztlich immer einem Algorithmus folgt, etwas derartiges erschaffen? Man kann in beide Richtungen argumentieren:

Neu sind die hier verwendeten Kreationen von Midjourney wenigstens in der Hinsicht, dass sie vor dem Aufruf der Generierung durch mich so nicht existiert haben, jedenfalls nicht wenn man Pixel für Pixel vergleicht.

Auf der anderen Seite haben sich weder die Entwickler*innen der Midjourney Software noch die von ihnen trainierte KI die Stile ausgedacht, die nun diese Ergebnisse produzieren. Der Neuigkeitsfaktor ist in diesem Sinn nur der zufällige Wert, der am Anfang des Generierungsprozesses in das Verfahren geworfen wurde und dieser ist zusammen mit dem von mir formulierten Prompt für das Ergebnis verantwortlich.

Steckt hier also die gesamte Kreativität in dem kurzen Prompt, welches ich schnell hingeschrieben habe? Im Zufallsfaktor sicher nicht, denn der kann auch aus einer Lavalampe kommen. Vielleicht ist das zu wenig, um als Kunst zu gelten.

Kunst braucht Anspruch

In dem Podcast mit Dorothea Winter wird die Unterscheidung zwischen Kunst und Kitsch gezogen. Die Definition in der Wikipedia beginnt dabei mit dem interessanten Satz ‚Kitsch steht zumeist abwertend als Synonym für etwas, das unnötigerweise Gefühle oder Sehnsüchte wachruft‚. Die Freunde von Kitsch würden sicher über das ‚unnötigerweise‘ diskutieren wollen und die Frage, wer eigentlich festlegt, was unnötige Gefühle sind.

Auch wenn Menschen, die sich viel mehr damit befassen, dem vielleicht nicht völlig zustimmen werden: Im Kern geht es hier um die Gefälligkeit von Werken und vielleicht kann man die Definition daher so abwandeln: Je gefälliger ein Werk ist, desto eher ist es Kitsch. Während das Provokante, Unbequeme oder gar Schmerzhafte es eher in Richtung Kunst gehen läßt.

Hier setzt dann auch die Kritik von Danny Frede an den heutigen Bildgeneratoren an: Letztlich erzeugen sie tendenziell eher gefällige Bilder und man muss sich schon etwas anstrengen, um Bilder mit nicht so perfekten Szenen zu erhalten.

Interessant fand ich da seine Erwähnung von Deep Dream: Das ist ein 2015 von einem Google Mitarbeiter entwickeltes Verfahren, welches im Grunde ein auf die Erkennung von Bildern trainiertes neuronales Netz ‚umgedreht‘ anwendet. Und es in vorgegebenen Fotos ‚Assoziationen‘ finden lässt. Die Ergebnisse waren oft surreal, wie in diesem damals erstellten Foto unseres winterlichen Gartens:

Wie in einem Fiebertraum sprießen überall Tierfragmente hervor, wo immer das neuronale Netz meint etwas zu erkennen. Wer Lust hat, mag einmal versuchen, die ganzen Stellen zu finden und das Tier zu identifizieren, welches die Maschine hier halluziniert hat. Es sind insgesamt deutlich mehr als ein Dutzend.

Diese Bilder sind bei weitem nicht so gefällig, wie die Ergebnisse von Midjourney. Die meisten würden sie vermutlich als düster und verstörend einstufen. Sind die Deep Dream Kreationen damit in einem höheren Grade Kunst?

Mensch + KI = Kunst (für Menschen)?

Nach dieser Vorrede nun zu den am Anfang aufgestellten Fragen. Die erste ist vermutlich die einfachste: Kann ein mit KI Unterstützung von Menschen geschaffenes Werk Kunst für menschliche Betrachter*innen sein? Einfache Antwort: Sicher nicht das mit einem schnell hingeworfenen Prompt (‚Male mir einen Sonnenuntergang‘) erzeugte KI Bild.

Aber kann man KI als eine Art leistungsfähigen Pinsel betrachten? Der die Kreativität in ähnlicher Weise verändern wird, wie die Einführung des Fotoapparats die Porträtmalerei? In der von ChatGPT gelieferten Definition ist zwar von technischem Können die Rede als Teil des Kunstschaffens, aber was heißt das genau?

Ich folge auf Instagram schon lange Callen Schaub, der einen Kunststil entwickelt hat, der sich im Kern darum dreht große Mengen von Farbe auf Platten zu schütten und die Farben durch Rotation des Untergrunds in interessante Strukturen zu bringen.

Er postet aber neben seiner Kunst auch regelmäßig einige der hasserfüllten Nachrichten, die er erhält. Manche Menschen regt es offenbar furchtbar auf, dass er ’nur mit Farbe rum kleckert‘ und dann für seine Werke einige tausend Doller verlangt. Seine Kunst ist also in der Hinsicht durchaus provokant, auch wenn man die Werke vielleicht eher als gefällig und damit als Kitsch einstufen könnte.

Warum ziehe ich diesen Vergleich? Weil es auf den ersten Blick ähnlich einfach wirkt eine KI anzuwerfen oder ein paar Eimer Farbe auszukippen (abgesehen vom Saubermachen). Aber aus meiner Sicht durchaus ein schöpferischer Akt daraus werden kann, wenn man wirklich interessante Ergebnisse nur dadurch erzielen kann, dass man Zeit und dann doch wieder eigene Kreativität investiert, um mit dem einfach zu nutzenden Ausgangsmaterial – ein Eimer Farbe oder ein KI Chatinterface – etwas zu schaffen, was sich nicht einfach reproduzieren lässt.

KI (ohne Mensch) = Kunst (für Menschen)?

Damit zur nächsten Stufe: Kann ein nur von KI geschaffenes Werk auch ohne menschliche Intervention Kunst sein? Ich bin mir da allerdings nicht einmal sicher, ob es dafür Beispiele gibt. Eine Näherung sind vielleicht die Werke von Refik Anadol, die ich wirklich gerne mal in echt sehen würde. Man kann die sich ewig weiterentwickelnden Wellenstrukturen, die er in gewaltigen Installationen zeigt, vielleicht als aus Messdaten gespeiste, algorithmische Kunst bezeichnen.

Würde so eine Installation, einmal in Betrieb genommen und sich dann selbstständig weiterentwickelnd, eine KI Kunst sein, die frei von menschlichem Einfluss ‚kreativ‘ ist? Oder kann es so etwas heute (noch) nicht geben, da die Grundstrukturen immer noch von Menschen erstellt werden?

Ein anderes Beispiel – auch wenn es komplett ohne KI auskam – könnte die Sker Plastik von Peter Lang sein, die von 2022/23 über zwei Monate hinweg im Sprengel Museum in Hannover entstand. Das Foto, welches ich bei einem Besuch gemacht habe, zeigt das Prinzip:

Der Künstler hat einen großen Industrieroboter installiert, der eine komplexe, von der Küste Islands inspirierte Form Schicht für Schicht gedruckt und nach und nach auf eine Höhe von 2 Meter gezogen hat. Der Roboter hat in dieser Zeit mehr oder weniger autonom agiert. Natürlich braucht er Strom und Helfer*innen, die regelmäßig Druckmaterial nachfüllen.

Aber koppelte man ihn mit einer KI, die sein Handeln bestimmt, und der Input für den Fortgang des Prozesses käme von dort, wäre das Ergebnis für die Betrachter*innen vielleicht nicht weniger beeindruckend. Nur gäbe es keinen Künstler, an dessen Leben und Werdegang man Interesse finden könnte. Und auch das ist ja Teil der Kunst, die Person, die sie erschafft.

Der von einer KI gesteuerte Roboter löst auch das grundlegende Problem nicht, dass es zumindest meines Wissens nach noch keine von einer KI erzeugten Kunstwerke gibt, für die nicht doch irgendwo die Inspiration und Kreativität von Menschen der Ausgangspunkt war.

KI als Künstlerin und Betrachter (ganz ohne Menschen)?

Die dritte Fragestellung ist damit noch theoretischer: Könnten KIs Kunst erstellen, die nur sie erfreut (oder aufregt) und vielleicht andere KIs mit ähnlichem ‚Geschmack‘? Und wenn ja, würden wir Menschen das überhaupt wahrnehmen?

Der Kunstbegriff ist, wie beschrieben, heute dem Menschen vorbehalten. Wenn es einmal tatsächlich so etwas wie eine generelle, künstliche Intelligenz geben sollte, dann wird sie vielleicht einen eigenen Begriff für ‚Kunst‘ finden und ob dabei Konzepte wie emotionale Tiefe eine Rolle spielen werden?

Vielleicht führt das auch zu einer Frage zurück, die in den Podcasts nach meiner Erinnerung nicht angesprochen wurde: Was ist eigentlich der Zweck von Kunst? Warum hat sich die menschliche Gesellschaft schon sehr früh Künstlerinnen und Künstler geleistet, die keine Lebensmittel anbauen oder zur Jagd gehen?

Werden die Maschinen, sollten sie einmal vor der gleichen Frage stehen, sich ähnlich entscheiden wie wir Menschen und der Kunst Raum und Ressourcen geben?

Als Künstler*in im Zeitalter der KI

In meinem Bekanntenkreis ist ein junger Mensch, der eigentlich über eine Ausbildung im Bereich Grafikdesign nachdachte. Aber angesichts der rasanten Entwicklung der KI diesen Berufswunsch ad acta legte. Ich fand diese Entscheidung etwas traurig, da sie gefällt wurde, noch bevor das eigene Potential für Kreativität und künstlerische Betätigung sich entfalten konnte.

Auf der anderen Seite war es vielleicht auch klug, denn die neuen KI Werkzeuge werden für viele Zwecke einfach ausreichende Ergebnisse liefern und dieser Berufsgruppe Aufträge wegnehmen. Ob dies ersetzt werden wird durch ein Mehr an Anwendungen von Illustrationen und den Bedarf, sich aus dem Einheitsbrei der generierten Bilder abzusetzen, ist heute kaum abschätzbar.

Trotzdem wird sich hoffentlich niemand, der Lust hat einen Stift oder Pinsel zur Hand zu nehmen, davon abhalten lassen, nur weil es möglich wäre mit Midjourney etwas ähnliches – und das ist vielleicht ein wesentlicher Punkt – etwas ähnliches, aber nicht komplett der eigenen Vision entsprechendes, viel schneller zu erstellen.

Und so, wie die Erfindung des Fotoapparats die Malerei weiterentwickelt hat, weg von der möglichst realitätsnahen Darstellung zu abstrakten Formen, die wir heute viel mehr schätzen, so wird es die KI vermutlich auch tun.

Und dann ist da noch der Aspekt des Originals: Hier wurde im Podcast Autonomie und Datenstrukturen der Begriff der ‚Aura‘ verwendet, die ein Original habe. Und deretwegen sich Menschen in lange Museumsschlangen stellen, nur um die Mona Lisa zu sehen. Obwohl man die schon auf Chipstüten im Supermarkt in Griffweite hat. Und bereit sich horrende Preise für Originalwerke zu bezahlen.

Und selbst wenn sich eine Zahnärztin in Zukunft Bilder für ihre Praxis mit einer KI generieren lassen kann, so wird der Besitz eines Originals von einer lokalen Künstlerin eine andere Wertigkeit und Persönlichkeit haben. Ähnlich wie man auf einem Festival keine Playlist aus dem Internet abspielt, sondern den Kontakt zu den Musiker*innen auf der Bühne herstellen möchte. Das wird KI nicht ersetzen.

ChatGPT Experimente: Generierung von SEO Inhalten für Studiengänge

Kaum klickt man bei Instagram ein paar Mal auf eine der Werbeanzeigen, die revolutionäre Einsatzzwecke der großen Sprachmodelle versprechen, wird man auch schon bombardiert mit weiteren Anzeigen. Zeit einmal selbst erste Schritte in diesem Feld zu machen. Es braucht nur eine Idee und das ist sie:

Inhalte für DESCRIPTION-Tags von 250 Studiengängen

Bei der letzten Betrachtung der Studieninformation der Universität Bielefeld in Hinblick auf die Suchmaschinenoptimierung war ein Ergebnis, dass die Nutzung des DESCRIPTION-Attributs – ein Metadata-Attribut – wünschenswert wäre. Da die Studieninformation eine unserer BIS Anwendungen ist wäre es grundsätzlich leicht, den HTML Inhalt entsprechend zu erweitern.

Das wesentliche Problem ist aber die Aufgabe diese Inhalte überhaupt erst zu erstellen. In unserer Datenbank haben wir nichts, was diesen Zweck gut erfüllen könnte. Bei ca. 250 Studienangeboten ist es keine Kleinigkeit solche Texte aufzubauen und ggf. auch noch abzustimmen.

Wie sollte eine gute Beschreibung aussehen

Google hat natürlich Aussagen dazu, wie ein guter Inhalt aussehen sollte, wobei gleich einschränkend gesagt wird, dass diese Angabe nicht immer verwendet wird. An statt sich die Mühe zu machen hier selbst nachzudenken kann man schon zum ersten Mal ChatGPT (oder ein anderes LLM) befragen, z. B. so:

Ich brauche ein Prompt für ChatGPT 3.5 turbo. Das Prompt soll Texte für ein description Tag in einer Webseite der Universität Bielefeld erzeugen. Die Texte sind Beschreibungen für jeweils einen Studiengang. Was für ein Prompt wäre dafür optimal?

ChatGPT in der Version 4o antwortet darauf so:

Du bist ein KI-Schreibassistent und deine Aufgabe ist es, kurze und prägnante Beschreibungstexte für das description Tag einer Webseite der Universität Bielefeld zu erstellen. Diese Beschreibungen sollen jeweils einen Studiengang vorstellen. Jeder Beschreibungstext sollte etwa 150-160 Zeichen lang sein und die wichtigsten Informationen über den Studiengang enthalten.

Bitte liefere eine Beschreibung für den folgenden Studiengang:

Studiengang: [Name des Studiengangs]

Damit könnte man jetzt manuell schon mal loslegen. Oder in einer Programmierung mit langchain4j daraus ein Prompttemplate erstellen:

Verwendung in einer kleinen Java Anwendung

Die Nutzung des Prompts innerhalb einer eigenen Programmierung erfordert nicht viel. Es reicht ein sogn. Prompttemplate anzulegen, in welches sich dann die studiengangsbezogenen Angaben einfügen lassen:

    public static Prompt provideDescriptionPrompt1(@NotNull FsB fsb, @NotNull Ebene1 e1) {
        String promptTemplateText = """
                Du bist ein KI-Schreibassistent und deine Aufgabe ist es, kurze und prägnante Beschreibungstexte für
                das description Tag einer Webseite der Universität Bielefeld zu erstellen. Diese Beschreibungen
                sollen jeweils einen Studiengang vorstellen und für ihn werben. Jeder Beschreibungstext sollte etwa 150-160 Zeichen lang
                sein und die wichtigsten Informationen über den Studiengang enthalten.
                
                Bitte liefere eine Beschreibung für den folgenden Studiengang:
                
                {{name}}
                
                und verwende dabei diese Beschreibung des Studiengangs:
                
                {{description}}
                """;

        Map<String, Object> variables = new HashMap<>();
        variables.put("name", e1.nameWithFsB(fsb));
        variables.put("description", e1.hasInfotext() ? e1.info_textStripped() : "");

        PromptTemplate promptTemplate = PromptTemplate.from(promptTemplateText);
        return promptTemplate.apply(variables);
    }

In diesem Template wird zusätzlich der Infotext ergänzt, den wir für die meisten Studiengänge haben. Das kann man dann nutzen um es dem Sprachmodell vorzuwerfen und dabei gleich mehrere Versionen abzufragen:

    public static List<String> generateDescriptions(@NotNull ChatLanguageModel model,
                                                    @NotNull FsB fsb, @NotNull Ebene1 e1, int iterations) {

        List<String> description = new ArrayList<>();
        Prompt prompt = provideDescriptionPrompt1(fsb, e1);

        for (int i = 0; i < iterations; i++) {
            description.add(model.generate(prompt.text()));
        }
        return description;
    }

Auf diese Weise lassen sich dann leicht die 250 Fälle durchprobieren. Aber was kommt dabei heraus?

ChatGPT 3.5-turbo

Den ersten Lauf habe ich mit diesem Sprachmodell von OpenAI gemacht, in der API Seite zu den Modellen wird es als fast, inexpensive model for simple tasks beschrieben.

Ergebnisse für 3.5

Betrachten wir dieses Prompt für einen realen Studiengang:

Du bist ein KI-Schreibassistent und deine Aufgabe ist es, kurze und prägnante Beschreibungstexte für
das description Tag einer Webseite der Universität Bielefeld zu erstellen. Diese Beschreibungen
sollen jeweils einen Studiengang vorstellen und für ihn werben. Jeder Beschreibungstext sollte etwa 150-160 Zeichen lang
sein und die wichtigsten Informationen über den Studiengang enthalten.

Bitte liefere eine Beschreibung für den folgenden Studiengang:

Bachelor of Arts Anglistik: British and American Studies Kernfach (fw)

und verwende dabei diese Beschreibung des Studiengangs:

Wer sich für die englischsprachige Literatur- und Medienwelt begeistert, ist bei „Anglistik: British and American Studies“ bestens aufgehoben. Autoren wie William Shakespeare, J.K. Rowling, Mark Twain oder Jack Kerouac werden in diesem Programm unter die Lupe genommen, recherchiert, analysiert und diskutiert.Zu Beginn des Studiums setzen sich die Studierenden auf breiter Grundlage mit den Wissensfeldern Sprache, Literatur und Kultur auseinander. In der zweiten Studienhälfte erfolgt dann eine Schwerpunktbildung, die sich vor allem an späteren Berufswünschen orientieren sollte. Während des gesamten Studiums ist die Vermittlung fachlicher Kompetenzen eng mit der Vermittlung von interkulturellen und kommunikativen Schlüsselkompetenzen verknüpft. „Anglistik: British and American Studies“ kann mit zwei unterschiedlichen geografischen Schwerpunkten studiert werden: British Studies oder American Studies. Diese Themenschwerpunkte spezialisieren sich auf die britischen oder nordamerikanischen Kulturen und Geschichten sowie die Besonderheiten der Literaturen und der Medien dieser Regionen. Studierende setzen sich auf diesem Weg sowohl mit britischen als auch mit nordamerikanischen sprachlichen, kulturellen und literarischen Formen auseinander und erwerben somit neben text- und medienanalytischen Kompetenzen insbesondere interkulturelle und interdisziplinäre Fähigkeiten.Dabei ist der wissenschaftliche Blick der Bielefelder Anglistik nicht nur auf Großbritannien und die USA begrenzt. Vielmehr bezieht er in Forschung und Lehre auch die Sprache, Kultur und Literatur von Sprach- und Kulturgemeinschaften in Afrika, der Karibik oder Indien und von Ländern wie Kanada, Australien, Neuseeland, Irland oder Schottland mit ein.Studierenden, die ein Studium in „Anglistik: British and American Studies“ absolvieren, stehen viele unterschiedliche Berufsfelder offen. Wie viele andere geisteswissenschaftliche Fächer ist dieses Bachelor- Programm nicht auf ein spezifisches Berufsziel ausgerichtet. Die Kompetenzen, die bei einem Studium in Anglistik erworben werden, werden von unseren Absolvent*Innen unterschiedlich eingesetzt, beispielsweise in kulturellen Institutionen wie Museen oder Archiven, der Erwachsenenbildung sowie in städtischen Institutionen oder privaten Firmen in Public Relations, Kommunikation oder in der Medienanalyse.

Der Text ist so unformatiert, da ich ihn vorher von HTML Code bereinigt habe, in der echten Darstellung hat er Umbrüche und eingebettete Videos. Die kursiv gesetzten Teile sind die, die in das Prompttemplate eingefügt wurden. Daraus werden diese 3 Varianten erzeugt. Da jeder Aufruf eines Sprachmodells einen zufälligen Faktor enthält wird ein Ergebnis selten zwei Mal geliefert:

Variante 1:

Der Bachelor of Arts Anglistik: British and American Studies Kernfach (fw) an der Universität Bielefeld bietet eine intensive Auseinandersetzung mit englischsprachiger Literatur und Medien. Von Shakespeare bis Rowling, von Großbritannien bis zu den USA – entdecke die Vielfalt der englischsprachigen Welt. Mit Schwerpunkten in British oder American Studies erwirbst du interkulturelle und interdisziplinäre Fähigkeiten, die in vielen Berufsfeldern gefragt sind, von Museen über PR bis zur Medienanalyse. Entdecke die Welt der englischsprachigen Kulturen und Geschichten an der Universität Bielefeld!

Variante 2:

„Tauche ein in die englischsprachige Literatur- und Medienwelt mit dem Bachelor of Arts Anglistik: British and American Studies Kernfach (fw) an der Universität Bielefeld. Erforsche Autoren wie Shakespeare, Rowling und Twain, spezialisiere dich auf British oder American Studies und erwerbe interkulturelle Kompetenzen für vielfältige Berufsfelder.“

Variante 3:

Mit dem Bachelor of Arts Anglistik: British and American Studies Kernfach tauchst du tief in die englischsprachige Literatur- und Medienwelt ein. Entdecke Autoren wie Shakespeare, Rowling und Twain, erweitere deine interkulturellen Fähigkeiten und wähle zwischen British oder American Studies als Schwerpunkt. Bereite dich auf vielfältige Berufsfelder vor, von der Erwachsenenbildung bis zu Public Relations.

Bewertung der Ergebnisse von 3.5

Eine Sache, die sofort auffällt, ist die Länge der Texte: Der erste umfasst 600 Zeichen, obwohl im Prompt maximal 160 vorgegeben waren. Auch die kürzeste Version ist immer noch mehr als 350 Zeichen lang. Merkwürdigerweise ist die 2. Variante von Hochkommata umgeben, etwas, dass immer mal wieder vorkommt. Generell wirken die Texte aber erstmal durchaus brauchbar.

Geschwindigkeit und Kosten für 3.5

Die Generierung hat mich ca. 30 Cent gekostet. Ich habe keinen genauen Tokencount ermittelt, aber insgesamt sind ca. 750 Abfragen erzeugt worden und dabei teilweise umfangreiche Textmengen mitgeschickt worden.

Gedauert hat der nicht parallelisierte Lauf ca. 25 Minuten. Ob das ist immer so ist, oder von der jeweiligen Last bei OpenAI abhängt, müsste man in weiteren Tests herausfinden. Mein API Key ist ein privater Key, also nicht an ein Enterprise Konto gebunden.

ChatGPT 4o

Dieses Modell bezeichnet OpenAI heute als our fastest and most affordable flagship model.

Ergebnisse für 4o

Hier wurde das gleiche Prompt verwendet wie zuvor, aber die Ergebnisse sind deutlich anders:

Variante 1:

Erleben Sie die englischsprachige Literatur- und Medienwelt im Bachelor „Anglistik: British and American Studies“ an der Uni Bielefeld. Spezialisieren Sie sich auf British oder American Studies und erwerben Sie interkulturelle Kompetenzen.

Variante 2:

Erlebe die Welt der englischsprachigen Literatur und Kultur im Bachelor of Arts Anglistik: British and American Studies an der Universität Bielefeld. Wähle deinen Schwerpunkt!

Variante 3:

Entdecken Sie britische und amerikanische Literatur und Kultur im Bachelor of Arts Anglistik. Vertiefen Sie Ihre Kenntnisse in Sprache, Literatur und Medien und erwerben Sie wertvolle interkulturelle Kompetenzen.

Bewertung der Ergebnisse von 4o

Diese ChatGPT Version hält sich viel besser an die vorgegebene Zeichenanzahl, diese Ausgaben dürften sich vom Umfang her problemlos direkt in die Webseiten einbauen lassen. Hier scheint auch der werbende Charakter, zu dem im Prompt aufgefordert wurde, viel stärker durchzukommen. Das müsste man für einen realen Einsatz vielleicht etwas zurückschrauben.

In diesem Beispiel wird je nach Ergebnis mal mit Du und mal mit Sie angeredet, auch in weiteren Fällen kommt das vor. Hier kann man vermutlich durch das Prompt nachsteuern.

Geschwindigkeit und Kosten für 4o

Die Generierung hat mich hier ca. 2 Euro gekostet. Gedauert hat der Lauf ca. 16 Minuten, also fast 9 Minuten weniger als das 3.5 Modell. Es wurde der gleiche API Key eingesetzt.

Fazit

Das erste größere Experiment mit einer Inhaltsgenerierung per Sprachmodell würde ich als durchaus erfolgreich einstufen. Allerdings müsste man wohl eher zu Version 4o greifen, um verlässlich innerhalb der vorgegebeben Zeichenlänge zu bleiben.

Die Programmierung dafür war innerhalb weniger Stunden erledigt, wobei die meiste Zeit auf das notwendige Lernen der neuen Bestandteile verwendet wurde, nicht weil der Code an sich so komplex ist. Eigentlich ist der Code kinderleicht und damit wirft man dann unglaublich mächtige Werkzeuge in der Cloud an, die verblüffende Dinge tun können.

Könnte man die so generierten Ergebnisse blind und ohne weitere menschliche Qualitätssicherung nutzen? Ich würde diese Frage bejahen, zumindest bei diesen Texten, die für die Besucher*innen unserer Webseite erstmal unsichtbar sind erscheint das Risiko gering und es sind mir keine groben Ausreißer aufgefallen.

Man könnte vielleicht auch die Auswahl des besten Ergebnisses wieder dem Sprachmodell überlassen, ein Prompt zu bauen mit der Frage, welche der drei Zusammenfassung am besten dem ursprünglichen Inhalt entspricht und vielleicht bestimmte Qualitätsvorgaben erfüllt wäre nicht schwer.

Wenn man sich erst einmal daran gewöhnt hat, dass diese Art der Programmierung keine reproduzierbaren und nicht immer zu 100% verlässlichen Ergebnisse bietet, dann kann man mit ihr Dinge in kürzester Zeit erledigen, die vorher für ein kleines Team kaum leistbar waren.

‚ChatGPT Is a Blurry JPEG of the Web’ – eine interessante Analogie zum Verständnis der großen Sprachmodelle

Aus der Folge 109 des Podcasts Auslegungssache mit dem Thema ‘Das KI DSGVO Dilemma’ habe ich einen interessanten Link gezogen: In The New Yorker erschien im Februar 2023 ein Artikel mit diesem Titel und er eröffnet eine etwas andere – und für mich sehr eingängige – Herangehensweise an das Verständnis der großen Sprachmodelle (Large Language Model / LLM):

Statt des Versuchs die komplexen Algorithmen auf eine verständliche Ebene zu bringen, die beim Training eines LLMs große Massen von Daten verarbeiten und in eine Form bringen, aus der sich die manchmal verblüffend intelligent wirkenden Ergebnisse dieser Werkzeuge produzieren lassen, wird hier der Vergleich mit verlustbehafteten Verfahren zur Datenkompression gezogen. Und daraus lässt sich gut ableiten

  • worauf die Antworten der LLMs beruhen,
  • warum sie halluzinieren,
  • in welchen Bereichen ihre Antworten mal mehr und mal (viel) weniger gut sind und
  • warum sich die Antworten von Konversation zu Konversation ändern

Ungenaue Abbildung von Informationen – meist merkt’s niemand

Vermutlich hat jede*r schon einmal erlebt, wie in einem Netflix-Video plötzlich große, unscharfe Artefakte auftauchen, weil die Bandbreite nicht mehr ausreichend ist. Oder wie der Versuch, in einem digitalen Foto kleine Details zu finden, in einer schwammigen Masse von Pixeln endet. Insbesondere wenn das Datenvolumen des Fotos reduziert wurde, was Messenger Apps wie WhatsApp gerne tun, um Speicherplatz zu sparen.

In beiden Fällen enthalten die digitalen Dateien nicht mehr alle Informationen, die bei der ursprünglichen Aufnahme einmal vorhanden waren. Durch geschicktes Ausnutzen der Eigenschaften des menschlichen Sehapparats werden viele Informationen verworfen, ohne dass es einem (meist) beim Betrachten auffällt. In diesem Beispiel mit der Großen Welle von Kanagawa sind zwischen den ersten beiden Bildvarianten kaum Unterschiede auszumachen, auch wenn das Datenvolumen nur noch ca. ein Viertel beträgt:

Erst wenn doch zu viele Informationen bei der Datenkompression verworfen wurden – wie hier im dritten Bild – werden die Lücken erkennbar, die das menschliche Gehirn sonst gerne ersetzt mit Informationen, die gar nicht da sind. Zu welchen umfassenden Ergänzungen oder gar Halluzinationen der Sehapparat dabei fähig ist, zeigt sich zum Beispiel bei Erkrankungen wie dem Charles-Bonnet-Syndrom.

Auch LLMs verwerfen Informationen

Bei der Erstellung der großen Sprachmodelle geschieht etwas ähnliches: Auch wenn es Modelle gibt, die mit Billionen – also tausenden von Milliarden – Parametern hantieren, bedeutet dies nicht, dass das ganze Weltwissen hier wortwörtlich abgespeichert wird. Das kann man grob selbst abschätzen:

Es gibt Datensammlungen wie FineWeb, die versprechen den englischsprachigen Inhalt des Internets verfügbar zu machen. Der vollständige Satz an Daten umfasst ca. 15 Billionen Tokens, was vermutlich einem Datenvolumen von ca. 16 Terabyte entspricht. Und das ist nur der englische Teil des Internets.

Die austrainierten Modelle, die man sich herunterladen kann, sind aber deutlich kleiner, normalerweise im Bereich von Gigabyte, also einem Faktor von bis zu 1.000 kleiner.

Dieser grobe Vergleich hinkt natürlich etwas, weder wissen wir genau, was alles in das Training einzelner Modelle eingegangen ist, noch lässt sich den Modellen jede erdenkliche Frage stellen und das Ergebnis genau überprüfen. Trotzdem zeigt dies schon: Ein LLM kann nicht in der Lage sein, jeden Satz, den man ihm beim Training gezeigt hat, 1-zu-1 wiederzugeben. Das ist ein wesentlicher Unterschied zu einer klassischen Suchmaschine wie Google, die zumindest heute noch weitgehend Textschnipsel aus den entsprechenden Quellen wiedergibt.

Woher kommen dann die geschliffenen Texte und selbstsicheren Antworten?

Da ein Sprachmodell gar nicht mehr alles ‚weiß‘, was einmal in seinem Training eine Rolle spielte, und man es ja auch nach Dingen fragen kann, die garantiert nie in den Trainingsdaten enthalten waren, stellt sich die Frage wie es dann trotzdem antworten kann: Hier findet eine Synthese oder Interpolation auf Basis der reduzierten, im Modell noch vorliegenden Daten statt. Diese Synthese ist eine der großen Stärken dieser Sprachmodelle, wenn es darum geht überraschende Kreationen wie eine Verordnung für das korrekte Binden von Schnürsenkeln zu entwerfen:

Dem Syntheseprozess ist es egal, ob die Fragestellung Sachverhalte zusammenbringt, die in den Trainingsdaten niemals so vorkamen. Es werden einfach die entsprechenden Datenpunkte zusammengeführt und dann los gerechnet. Und dies erzeugt den verblüffenden, menschlicher Kreativität scheinbar nahe kommenden Effekt der Sprachmodelle.

Weniger gut ist dieses Verfahren aber, wenn es um die sachlich korrekte Wiedergabe von Fakten geht:

Ungenaue Wiedergabe erzeugt den Eindruck von Verständnis…oder Blödheit

In dem Artikel wird hier ein interessanter Vergleich mit dem menschlichen Lernprozess gezogen: Wenn uns jemand einen Satz aus einem Lehrbuch – oder der Wikipedia – 1-zu-1 aus dem Gedächtnis vortragen kann, dann halten wir das eher nicht für ein Beispiel von Intelligenz. Höchstens von gutem Gedächtnis. Die Fähigkeit, etwas zu paraphrasieren, ist oft der Kern der Herausforderung bei schriftlichen Prüfungen im Bildungssystem und die 1-zu-1 Kopie ein zu kennzeichnendes Zitat. Oder ein Plagiat, wenn es nicht gekennzeichnet wird. Wer etwas korrekt paraphrasieren kann, der*dem billigen wir zu, einen Sachverhalt verstanden zu haben und anwenden zu können.

Das dem Paraphrasieren zu Grunde liegende Verständnis eines Sachverhalts ist aber auch ein Weg, um diesen trotz einer verlustbehafteten Kompression vollständig wiedergeben zu können. Ein einfaches Beispiel sind hier die Grundrechenarten: Hat man sie verstanden, so kann man jede beliebige Kombination von Zahlen und Rechenregeln korrekt verarbeiten, ohne dass man die (unendlich große) Menge aller möglichen Kombinationen erlernen bzw. abspeichern muss. Eine kurze, verstandene Rechenregel ersetzt hier also riesige Tabellen mit konkreten Rechenergebnissen.

Bei ChatGPT zeigt sich der Effekt der verlustbehafteten Kompression dann aber nicht als Quelle eines daraus entstandenen Verstehens, sondern als schlichter Unsinn:

Die Maschinerie hat hier also nicht den inneren Zusammenhang zwischen Zahlen und Rechenregeln gelernt, sondern gibt letztlich Vermutungen über das mögliche Ergebnis ab, auf der Grundlage von Rechenbeispielen, die im Internet irgendwo zu finden waren. Und gerät bei der mittleren Frage auf Abwege. Was mit dem Wissen, das diese Antworten aus beim Training verwendeten Texten synthetisiert wurden, direkt verständlich wird.

Die (Nach)Frage verändert die Antwort

Ein weiterer, bei der Nutzung von Sprachmodellen zunächst überraschender Effekt ist deren ‚Fähigkeit‘ sich zu korrigieren. Das sieht man an diesem einfachen Beispiel, bei dem ich ChatGPT nach meinem Geburtstag frage:

Hier sieht man zum einen, dass ChatGPT versucht Internetquellen mit Bezug zu der Fragestellung einzubeziehen, also kontextbezogene Informationen zu ergänzen, die beim ursprünglichen Training des Sprachmodells nicht verwendet wurden. Das ist schon eine Erweiterung der grundlegenden Arbeitsweise eines Sprachmodells.

Die erste Antwort ist gewohnt selbstsicher und gibt eine präzise Antwort, auch wenn sie falsch ist, weder Monat noch Tag sind passend. Auf den vorsichtigen Hinweis hin, dass das vielleicht nicht korrekt ist, kommt eine Richtigstellung, die aber auf dem Level eines einfachen Sprachautomatens wie der uralten ELIZA bleibt.

Warum scheint ChatGPT einen Fehler ‚einzugestehen‘? Weil bei der zweiten Antwort die vorherige Konversation berücksichtigt und zur Synthese der Antwort verwendet wird. Hier beeinflusst also der Verlauf der Konversation das Ergebnis.

Unterschiedliche Antworten auf die gleiche Frage

Starte ich eine komplett neue Konversation mit ChatGPT kommt auf die Frage wieder die ursprüngliche, selbstsichere Antwort…nur habe ich dieses Mal am 1. Oktober Geburtstag. Der Grund für die andere – falsche – Antwort ist, dass bei der Synthese der Antworten ein zufälliger Faktor in das Sprachmodell gegeben wird, so dass man selten eine Antwort zweimal erhält.

In Midjourney, der KI zur Generierung von Bildern, erhält man als Reaktion auf eine Eingabe (Prompt) immer gleich 4 Varianten:

Hier kann man sich dann die Variation auswählen, mit der man weiterarbeitet und auf deren Basis man neue Varianten erstellen lässt. Alles, ohne dass man das ursprüngliche Prompt anpassen muss. In ChatGPT gibt es eine Option zur erneuten Generierung einer Antwort, die einen analogen Effekt hat.

Die Konversation nutzen, um die Maschine aufzuschlauen

Der Effekt, dass bei der Synthese einer Antwort die vorherige Konversation berücksichtigt wird, kann verwendet werden um der Maschine – zumindest kurzzeitig – etwas beizubringen:

Dieses ‚Wissen‘ besteht aber nur in dieser speziellen Konversation und steht nicht in der nächsten Konversation zur Verfügung.

Trotzdem kann es für manche Aufgabenstellungen ausreichen um aus Sicht der Nutzer*innen ein an die eigene Situation angepasstes Chaterlebnis zu kreieren, selbst wenn das zu Grunde liegende Sprachmodell gar keine entsprechende Spezialisierung hat. Dazu muss das Chatsystem nur – unsichtbar für die Nutzer*innen – eine entsprechende Vorkonversation führen und das Sprachmodell dadurch in einen entsprechenden Zustand versetzen, auf dem die Nutzer*innen dann ihre eigenen Fragen stellen.

Fazit

Wenn man sich folgende Aspekte von LLMs vergegenwärtigt, ist eine Einschätzung des Verhaltens und der Fähigkeiten vermutlich einfacher möglich, als über den Versuch die tief-technischen Details dieser Systeme zu verstehen:

  • Ein Sprachmodell speichert das Wissen, welches für sein Training verwendet wurde, nicht 1-zu-1 ab. Dies ist ein wesentlicher Unterschied zu Suchmaschinen
  • Zumindest heute können Sprachmodelle daraus keine allgemeinen Regeln wie zum Beispiel die Grundrechenarten destillieren und zuverlässig anwenden
  • Antworten auf Fragen werden aus diesem verdichteten Wissen synthetisiert, die Antworten sind damit grundsätzlich nicht faktentreu
  • Die Halluzination, also die Generierung von unwahren Aussagen, ist ein konzeptioneller Bestandteil eines Sprachmodells und kein Fehler, der sich komplett ausmerzen ließe
  • Die Synthese der Antworten enthält einen zufälligen Faktor, und ist damit meist nicht reproduzierbar
  • Die Antworten werden durch vorherige Konversationen beeinflusst, auf diese Weise lässt sich kurzzeitig zusätzliches Wissen in begrenztem Umfang einspeisen

Einschränkend muss man dazu sagen, dass die Entwicklung der Sprachmodelle stürmisch ist und die verschiedenen Anbieter diese Eigenschaften natürlich genau kennen. Dementsprechend begegnet man heute oft nicht mehr reinen Sprachmodellen, sondern um weitere Funktionen ergänzte Chatbots, die einige dieser Eigenschaften abmildern.

Leseempfehlung: ‚Die Hyperion-Gesänge‘ von Dan Simmons

Urlaubszeit ist Lesezeit bei mir, wann hat man sonst Zeit dafür? Dieses Mal kam der Tipp dazu aus dem Security Now Podcast, den ich hier sonst eher wegen seines eigentlichen Themas ‚IT Sicherheit‘ erwähne, der aber immer mal wieder eine gute Quelle für Science Fiction Literatur ist.

Bei dieser Empfehlung merkt man das Alter der beiden Hosts, denn der erste der beiden Romane, um die er hier geht, wurde im Jahr 1989 veröffentlicht: Hyperion von Dan Simmons. Der folgende Roman, der die Handlung abschließt, ist Der Sturz von Hyperion und erschien ein Jahr darauf. Wer meiner Empfehlung folgt, sollte gleich zu Die Hyperion-Gesänge greifen, ein 2002 erschienener Sammelband mit beiden Teilen.

Gut gealtert

Bei Science Fiction ist es so eine Sache mit dem Altern…manche Romane lesen sich Jahrzehnte nach dem Erscheinen eher albern oder gar peinlich, weil die Autor*innen sich die Zukunft in Details ausgemalt haben, die von der Realität überholt oder aus heutiger Sicht einfach kurzsichtig erscheinen.

Aber Dan Simmons hat es geschafft eine Zukunftsvision zu beschreiben, die sehr ferne Elemente enthält, wie eine verzögerungslose Reisemöglichkeit zwischen den Sternen. Aber auch aus heutiger Sicht bereits (fast) gegenwärtige Elemente, wie ein allgegenwärtiges Datennetz, in dem sich alle Menschen nahezu permanent aufhalten, und dessen Abwesenheit zu Entzugserscheinung und Hilflosigkeit führt. Als er das geschrieben hat gab es das Internet zwar schon in technischer Hinsicht, aber es war nur wenigen Menschen bekannt und die Aussicht, jeder Mensch könnte ein Gerät bei sich führen, welches jederzeit Zugriff auf diese Sphäre ermöglichen, eine Vision, die vielen vermutlich ferner schien als die fliegenden Autos, die wir eigentlich alle schon haben sollten.

Aber auch hier ist die Vision so geschrieben, dass man sich nicht daran stört, wenn von Komlogs (im Original comlogs) die Rede ist und nicht von iPhones, und es betont nur, welche menschlichen Eigenschaften über die Zeit hinweg vielleicht unverändert bleiben werden.

Bestimmte Begriffe wie SimStim oder das schwarze Eis, welches zur Charakterisierung der Datenwelt verwendet wird, deuten auf das Entstehen in den 80ern hin, zumindest kenne ich sie aus den Neuromancer-Romanen, die ein paar Jahres zuvor erschienen und danach sind sie mir nicht mehr begegnet. Aber das wirkt nicht antiquiert, es sind einfach nur Begriffe unter vielen anderen spannenden Wortschöpfungen.

Krieg, Religion, Gier und Altruismus

Die Geschichte hat einige der ‚üblichen‘ Zutaten einer Space Opera: Es gibt Raumschlachten, viele verschiedene Welten, an der Zeit wird herumgespielt, die Menschheit breitet sich kolonisierend über das All aus und benimmt sich dabei nicht besser als die europäischen Eroberer, die weite Teile der Erde unterworfen und ausgebeutet haben, die Sinnfrage ist immer noch nicht abschließend beantwortet.

Allerdings ist dies nur der Hintergrund, vor dem sich die verschiedenen Handlungsstränge entfalten und die ungefähr 10 Individuen bewegen, denen die Geschichte folgt. Und deren individuelle Motivationen anders sind und denen man, auch wenn sie nicht durchweg Sympathieträger sind, durch die mehr als 1.000 Seiten gerne folgt.

Und für mich war am Ende beeindruckend und schön, wie die ganzen Fäden und absurden Einfälle – ich nenne hier nur die merkwürdigen Parasiten – zusammengeführt werden und ein homogenes Gebilde ergeben.

Aktuell: Die Entwicklung der KI

Ein wesentlicher Aspekt der Romane ist aber auch das Entstehen von KIs und deren irgendwann zur Menschheit konkurrierende Entwicklung. Das hier gezeichnete Bild ist grob genug, um heute nicht lächerlich zu wirken, aber die Ideen für so eine Entwicklung lassen sich auch in den durch das Erscheinen von ChatGPT befeuerten Diskussionen wiederfinden und wirken daher weiterhin aktuell.

Und auch das, was ich als eine Kernfrage der Romane sehen würde: Inwieweit sollte man Produkten und ‚Geschenken‘ von KI Systemen vertrauen, die man nicht mehr versteht und deren Motivation damit ebenso wenig?

Bilder aus der KI

Die drei hier enthaltenen Bilder sind dabei auch aus einer KI gekommen. Mit Hilfe von Midjourney habe ich versucht eine Impression zu erstellen, welche bei Leser*innen der Romane hoffentlich schnell eine Assoziation auslösen wird.

Jetbrains AI Assistent – kurz ausprobiert

Wir setzen in der Programmierung der BIS Anwendungen seit einiger Zeit auf Intellij, die Java IDE von Jetbrains, und zwar in der Ultimate Edition. Der Schritt weg von Eclipse – damals schon mit der Spring Tool Suite – war zunächst nicht ganz leicht, aber im Endeffekt sind die Hilfsfunktionen dieses Produkts so leistungsfähig, dass sich der Umstieg gelohnt und die Kosten in Form von besserer Produktqualität und Entwicklungsgeschwindigkeit aus meiner Erfahrung voll zu rechtfertigen sind. Auch die Tatsache, dass Android Studio, welches wir für unsere App verwenden, auf Intellij basiert und somit der Wechsel zwischen den IDEs leichter fällt, ist hier ein Argument.

Was ist der AI Assistent

Seit ein paar Wochen vermarktet Jetbrains nun seinen auf OpenAI Technologien basierenden AI Assistenten und verspricht hier durch die direkte Integration in die IDE – und deren schon vorher vorhandenes, tiefes Verständnis des Programmcodes – eine bessere Leistung und nahtlosere Integration, als sie mit anderen vergleichbaren Tools zu erreichen sei.

Hier ein paar Erfahrungen dazu, wie sich das Tool in einem komplett neu gegründeten Java 22 Projekt anfühlt. Da das hier beschriebene Verhalten vermutlich schon wieder veraltet ist kann man das aber nur als eine momentane Bestandsaufnahme sehen:

Automatische Codevorschläge nur aus der Methodensignatur

Ein erster Effekt ist dieser: Es reicht aus – jedenfalls oft – eine Methodensignatur zu schreiben und der Assistent macht einen Vorschlag. Zum Beispiel sorgt die Signatur

public Set<Fachabschluss> fachAbschluesse()

für diesen völlig korrekten Codevorschlag:

Aufforderung zur Methodenimplementierung per Prompt

Nicht immer klappt es mit dem Automatismus, warum ist mir nicht klar geworden. Aber in so einem Fall kann man per Prompt zur Implementierung auffordern:

Allerdings zeigt sich hier die Unberechenbarkeit der heutigen KI Lösungen: Im ersten Anlauf wurde direkt der passende Code erzeugt. Als ich das Ganze noch einmal für die Screenshots gemacht habe aber nicht und erst ein erneutes Prompt brachte das gewünschte Ergebnis:

Hier wurde also zuerst eine sinnfreie Implementierung vorgeschlagen, die einfach nur null liefert. Es kann natürlich sein, dass der Assistent hier gemerkt hat, dass ich den vorherigen Vorschlag verworfen hatte und daher so ‚reagiert‘. Trotzdem wirkt es etwas skurril und unberechenbar, aber durchaus im Einklang mit den Erfahrungen vom ChatGPT oder Google Bard (inzwischen abgelöst durch Gemini), die fehlerhafte Ergebnisse liefern und dann auf Hinweis auf die Fehler etwas besseres nachliefern.

Überhaupt das Thema Fehler:

Verwendung von nicht existierenden Methoden

Eine Sache, die scheinbar regelmäßig vorkommt, ist die Verwendung von nicht existierenden Codebestandteilen im Vorschlag:

Die richtige Lösung wäre es hier gewesen noch eine Ebene tiefer zu gehen und aus den Modulabschluss-Objekten die enthaltenen Fachabschluss-Objekte zu holen. Und nicht über eine nicht vorhandene Methode eine Filterung durchzuführen.

Konsistenz: Unterschiedliche Lösungen für gleiche Aufgaben

Auch wenn es nicht falsch ist gibt es ein Verhalten, welche mein Stilempfinden stört: Der Assistent erzeugt für gleiche Aufgaben unterschiedlichen Code. Das sind teilweise nur Nuancen, aber sie machen den Code inhomogen und damit schwerer verständlich.

Code Variante 1

    public Set<Fachabschluss> fachAbschluesse() {
        return module.stream()
                .flatMap(mip -> mip.fachAbschluesse().stream())
                .collect(Collectors.toSet());
    }

Code Variante 2

    public Set<Fachabschluss> fachAbschluesse() {
        return profile.stream()
                .map(Profil::fachAbschluesse)
                .flatMap(Set::stream)
                .collect(Collectors.toSet());
    }

Beide Varianten führen zum gleichen Ergebnis, aber es zeigt die Zufälligkeit der von der KI generierten Codes.

Nicht ganz up to date

Das generelle Problem der heutigen LLMs, die prinzipbedingt nicht tagesaktuell sein können, zeigt sich auch hier an manchen Stellen, etwa beim Versuch die Java Version in der pom.xml des maven-Projekts über den Assistenten auf Java 22 zu erhöhen:

Das Java 22 JDK wurde ca. 10 Tage vor dem Schreiben dieses Posts veröffentlicht. Allerdings scheint das ‚Wissen‘ des Assistenten noch deutlich älter zu sein, was man aus der Behauptung schließen kann, die letzte stabile Java Version sei 17. Selbst wenn ’stabile Version‘ die LTS Releases meint, so wäre das Java 21 und das kam am 19. September 2023 raus.

Grundsätzlich führt einen der Assistent hier aber auf die richtige Spur und sagt, was man machen muss. Und das ohne die IDE verlassen zu müssen. In vielen Anwendungsfällen dürfte es nicht stören, wenn der Assistent nicht die allerletzten Sprachversionen kennt. Allerdings hatte ich bei anderen Assistenten auch schon Probleme damit, dass Versionen von Open Source Projekten eingebunden wurden, die entweder schon nicht mehr existierten, oder die wegen lange bekannter Sicherheitsprobleme bereits nicht mehr zur Nutzung empfohlen wurden.

Fazit

Durch das Entstehen von KI Werkzeugen, die Programmcodes in hoher Qualität erstellen können, wird auch das Berufsbild der Softwareentwickler*innen schon jetzt sehr in Frage gestellt. Und was ein Tool wie der Jetbrains Assistent zeigt: Für bestimmte Routinen muss man nicht mehr selbst programmieren können. Oder nur noch in Teilen.

Allerdings ist mein Einsatz des Werkzeugs vermutlich noch zu sehr vom Denken als klassischer Softwareentwickler geprägt, der es gewohnt ist die Struktur seiner Software vorzugeben. Daher habe ich der KI nur etwas Zuarbeit überlassen. Das eigentliche Versprechen ist es aber, dass man eigentlich gar nicht mehr direkt Software entwickeln können muss, sondern ’nur‘ seine Anforderungen und Ziele definiert und der Rest kommt automatisch. Vielleicht noch mit etwas ‚low code‘.

Also so, wie ich beim Generieren von Fotos per Midjourney – siehe das Bild der Roboterhände am Anfang – vorgehe, ohne irgendeine besondere Kenntnis von Malerei oder Graphikdesign zu haben. Aber um so an die Softwareentwicklung herangehen zu können müsste ich erst einmal viel entlernen, was ich mir in Jahrzehnten erarbeitet habe. Mal sehen, ob mir das beim nächsten Versuch gelingt.