Mein Name ist Maria Shabanova und ich habe im Juli 2024 mein Schülerpraktikum bei Centigrade im Bereich UX-Design gemacht. Mir wurde die Aufgabe gegeben, einen KI-Assistenten mit OpenAI (GPT-4) zu erstellen. Centigrade arbeitet viel mit LeanScope AI und hat dort die Möglichkeit geschaffen, KI-Assistenten zu erstellen, wovon viele auch schon im Einsatz sind. Meine Aufgabe bestand darin, einen Prompt (Instruktion) für einen Assistenten zu erstellen. Dabei hat mich Jonas Enck, der mich bei meinem Praktikum zusammen mit Luzie Seeliger und Thomas Immich betreut hat, unterstützt. Dies ist ein Tagebuch, das meinen Fortschritt und die Entstehung des Assistenten dokumentiert.
Abwesenheitsnotizen mit Seele & Humor erstellen
Mein Ziel war es, einen Assistenten zu erstellen, der eine Abwesenheitsnotiz erstellt, die man in Outlook eintragen kann. Der Assistent sollte so wenig Informationen und Aufwand wie möglich vom Benutzer verlangen. Ein Standardtext würde nicht ausreichen – Ziel ist es, der Abwesenheitsnotiz eine Persönlichkeit zu geben und den Abwesenheitsgrund, wenn gewünscht mit etwas Humor, anzugeben sowie Vertretungen zu benennen. Es soll zwei Varianten der Notiz geben: eine für die internen Kolleg*innen und eine für externe Kontakte, wie zum Beispiel Kunden und Projektpartner.
Eddie: Die Entstehung meines Chatbots
Dieses „Persona Bild“ für den Assistenten habe ich selbst gezeichnet, mit etwas Inspiration von dieser Eule, die in unserem Büro wohnt.
Der Anfang: erster Entwurf und Aufgabenverteilung
Zuerst machte ich einen Entwurf, der auf dem Beispiel und einer Whiteboard-Skizze basierte, die ich mit Jonas Enck gemacht hatte. Diese Skizze stellte den Idealfall dar. Ich habe mich diesem schrittweise angenähert und bin in kleinen Schritten vorgegangen, um die Komplexität in den Griff zu bekommen. Für den Anfang habe ich die folgenden Punkte bearbeitet:
- Deutsche und englische Version
- Rückkehrdatum
- Kontaktperson für dringende Fälle und deren Kontaktdaten
- Administrationskontaktdaten als alternativer Kontakt
Der erste Auftrag: Information erfragen
Als erstes musste ich so den Auftrag formulieren, dass der Chat-Bot Informationen erfragt, wenn er noch nicht alle Informationen hat. An dieser Stelle waren die benötigten Informationen:
- Das Rückkehrdatum
- Die Vertretungsperson und ihre/seine E-Mail und Telefonnummer
Die größte Schwierigkeit für mich war dabei sicherzustellen, dass er noch keine Abwesenheitsnotiz erstellt, solange ihm noch Informationen fehlen. Nachdem ich das geschafft hatte, musste ich noch sicherstellen, dass er nichts nachfragt, was ihm schon bekannt ist. Leider funktioniert das nicht so gut.
Projekte & Ansprechpartner für interne Kollegen
Als nächstes habe ich den Prompt, neue Informationen abzufragen, eingefügt:
- Projekte, an denen man teilnimmt
- Vertretungspersonen/Ansprechpartner für diese Projekte
- Kontaktdaten der Ansprechpartner
Witzige Anmerkung
Die nächste Erweiterung war, der Notiz etwas Humor zu verleihen, um sie etwas lebendiger zu machen. Die Idee war, einen Kommentar über das Reiseziel einzufügen.
Beides wurde vom Bot recht schnell übernommen, nachdem die Anfrage gut angepasst war.
Hilfe anbieten
Ziel war es, dass er, wenn er ohne Auftrag angesprochen wird, nicht nur seine Hilfe anbietet, sondern auch erklärt, wie er helfen kann und was er dafür braucht.
Intern & extern
Als nächstes lasse ich die externe und die interne Variante erstellen.
- Nur bei den Notizen für interne Kollegen gibt er den Grund der Abwesenheit an und macht die witzige Bemerkung.
- Nur bei internen Kollegen gibt er die Projekte und die Projektvertreter an.
- Bei externen Notizen ist die Anrede förmlicher.
Nun erstellt der Assistent vier Versionen: – eine deutsche und eine englische Version der internen und der externen Version.
Außerdem habe ich aus Datenschutzgründen eine Abfrage eingefügt, ob er einen Abwesenheitsgrund angeben darf. Nur wenn er das darf, fragt er nach dem Grund und fügt ihn in die Notiz ein.
Beispieldaten beschaffen
Wir haben als Testdaten eine Beispielliste von Mitarbeitenden und deren Kontaktdaten sowie eine Liste von Projekten mit jeweils einer Projektleitung von ChatGPT generieren lassen. Nun findet der Bot in dieser Liste selbständig die Kontaktdaten der Mitarbeitenden und die Ansprechpartner*innen für die Projekte. Es dauerte eine Weile, bis er aufhörte, nach Dingen zu fragen, die er bereits wusste, und manchmal fragt er immer noch nach Projekten. Aber wenn man diese Nachfragen ignoriert, findet er die Informationen selbst. Das ist ein Problem, das ich noch lösen muss.
Name des Nutzers und Projekte
Wir haben die Liste der Projekte noch um eine Liste der beteiligten Kolleg*innen erweitert. Dann habe ich den Prompt so angepasst, dass er nach dem Benutzernamen fragt. Mit dem Benutzernamen kann er nun die Projekte, an denen man arbeitet, selbst auswählen und in die Notiz einfügen. Es hat eine Weile gedauert, bis er nicht nur ein Projekt ausgewählt hat, aber jetzt fügt er alle Projekte mit Projektleitung oder, wenn die Person selbst die Projektleitung ist, mit Mitarbeitenden als Vertreter*innen in die interne Abwesenheitsnotiz ein.
Rückkehrdatum
Idealerweise sollte er bei der Abfrage des Rückkehrdatums prüfen, ob es auf ein Wochenende oder einen Feiertag fällt und in diesem Fall den nächsten Werktag als Rückkehrdatum eintragen. Da GPT keinen Zugriff auf den aktuellen Kalender hat, musste ich den Prompt so erweitern, dass er den Wochentag aus dem Datum errechnen kann. Da er nur Zugriff auf das Jahr 2023 hat, habe ich dies entsprechend beschrieben.
Probleme
Es gab einige Probleme während des Prozesses, wie z. B. die Anforderung von Daten, die bereits vorhanden waren (meistens Projekte), das Schreiben der Notiz ohne alle Informationen oder das „Erfinden“ einer Information. Ein Problem, das ich leider nicht lösen konnte, war der Versuch, den Assistenten dazu zu bringen, den Nachnamen von Mitarbeitenden zu erfragen, deren Vorname mehr als einmal vorkommt, wenn er nicht angegeben ist. Er scheint zu verstehen, dass er den Nachnamen in der Notiz angeben soll, aber er fragt nur selten nach, welcher Mitarbeitende gemeint ist, und nimmt normalerweise einfach den ersten Namen in der Liste. Als ich mein Ergebnis mit Thomas Immich, unserem Geschäftsführer, überprüfte, fanden wir einige Fehler nicht nur in meinem Prompt, sondern auch in den KI-Personas im Allgemeinen. Zum Beispiel haben wir versucht, der KI beizubringen, bei relativen Zeitangaben wie „übermorgen“ vom heutigen Datum abzuzählen und dabei herausgefunden, dass das heutige Datum für den Assistenten nach dem 25.04.2023 liegt. Im Moment muss man das aktuelle Datum angeben, und es braucht eine Erweiterung, um das Datum von extern zu bekommen. Schließlich haben wir einige Wiederholungen aus dem Prompt entfernt und eine nummerierte Anweisung geschrieben, mit der es jetzt zu funktionieren scheint!
Fazit
Als mein erstes Schülerprakikum finde ich Centigrade auf jeden Fall eine sehr gute Wahl. Ich habe einiges über UX-Design und die Entstehung von Bots/Assistants gelernt, und es ist ein sehr schönes Gefühl, etwas zu erstellen, was im Alltag genutzt werden kann, auch wenn es vorher vielleicht noch etwas feinschliff benötigt. Es war eine großartige Erfahrung für mich, und ich würde gerne alle danken, die diese möglich gemacht haben.