{"id":17172,"date":"2024-08-31T10:03:47","date_gmt":"2024-08-31T08:03:47","guid":{"rendered":"https:\/\/www.centigrade.de\/?post_type=blog&#038;p=17172"},"modified":"2024-09-06T14:07:52","modified_gmt":"2024-09-06T12:07:52","slug":"mein-praktikum-bei-centigrade-projekt-abwesenheitsnotiz","status":"publish","type":"blog","link":"https:\/\/www.centigrade.de\/de\/blog\/mein-praktikum-bei-centigrade-projekt-abwesenheitsnotiz\/","title":{"rendered":"Mein Praktikum bei Centigrade: Projekt \u201eAbwesenheitsnotiz\u201c"},"content":{"rendered":"<p>Mein Name ist Maria Shabanova und ich habe im Juli 2024 mein Sch\u00fclerpraktikum bei Centigrade im Bereich <a href=\"https:\/\/www.centigrade.de\/de\/leistungen\/ux-design\">UX-Design<\/a> gemacht. Mir wurde die Aufgabe gegeben, einen KI-Assistenten mit OpenAI (GPT-4) zu erstellen. Centigrade arbeitet viel mit <a href=\"https:\/\/www.leanscope.ai\/\" target=\"_blank\" rel=\"noopener\">LeanScope AI<\/a> und hat dort die M\u00f6glichkeit geschaffen, KI-Assistenten zu erstellen, wovon viele auch schon im Einsatz sind. Meine Aufgabe bestand darin, einen Prompt (Instruktion) f\u00fcr einen Assistenten zu erstellen. Dabei hat mich Jonas Enck, der mich bei meinem Praktikum zusammen mit Luzie Seeliger und Thomas Immich betreut hat, unterst\u00fctzt. Dies ist ein Tagebuch, das meinen Fortschritt und die Entstehung des Assistenten dokumentiert.<\/p>\n<p><!--more--><\/p>\n<h2><strong>Abwesenheitsnotizen mit Seele &amp;<\/strong> <strong>Humor erstellen<\/strong><\/h2>\n<p>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\u00f6glich vom Benutzer verlangen. Ein Standardtext w\u00fcrde nicht ausreichen &#8211; Ziel ist es, der Abwesenheitsnotiz eine Pers\u00f6nlichkeit zu geben und den Abwesenheitsgrund, wenn gew\u00fcnscht mit etwas Humor, anzugeben sowie Vertretungen zu benennen. Es soll zwei Varianten der Notiz geben: eine f\u00fcr die internen Kolleg*innen und eine f\u00fcr externe Kontakte, wie zum Beispiel Kunden und Projektpartner.<\/p>\n<h2><strong>Eddie: Die Entstehung meines Chatbots<\/strong><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17181 aligncenter\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5.png\" alt=\"Persona Eddi\" width=\"300\" height=\"239\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5.png 727w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5-300x239.png 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5-24x19.png 24w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5-36x29.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild4-5-48x38.png 48w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17183 aligncenter\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4.png\" alt=\"Eule Eddie\" width=\"300\" height=\"272\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4.png 865w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4-300x272.png 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4-768x696.png 768w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4-24x22.png 24w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4-36x33.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild5-4-48x44.png 48w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Dieses \u201ePersona Bild\u201c f\u00fcr den Assistenten habe ich selbst gezeichnet, mit etwas Inspiration von dieser Eule, die in unserem B\u00fcro wohnt.<\/p>\n<h3>Der Anfang: erster Entwurf und Aufgabenverteilung<\/h3>\n<p>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\u00e4hert und bin in kleinen Schritten vorgegangen, um die Komplexit\u00e4t in den Griff zu bekommen. F\u00fcr den Anfang habe ich die folgenden Punkte bearbeitet:<\/p>\n<ul>\n<li>Deutsche und englische Version<\/li>\n<li>R\u00fcckkehrdatum<\/li>\n<li>Kontaktperson f\u00fcr dringende F\u00e4lle und deren Kontaktdaten<\/li>\n<li>Administrationskontaktdaten als alternativer Kontakt<\/li>\n<\/ul>\n<h3>Der erste Auftrag: Information erfragen<\/h3>\n<p>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\u00f6tigten Informationen:<\/p>\n<ul>\n<li>Das R\u00fcckkehrdatum<\/li>\n<li>Die Vertretungsperson und ihre\/seine E-Mail und Telefonnummer<\/li>\n<\/ul>\n<p>Die gr\u00f6\u00dfte Schwierigkeit f\u00fcr 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.<\/p>\n<h3>Projekte &amp; Ansprechpartner f\u00fcr interne Kollegen<\/h3>\n<p>Als n\u00e4chstes habe ich den Prompt, neue Informationen abzufragen, eingef\u00fcgt:<\/p>\n<ul>\n<li>Projekte, an denen man teilnimmt<\/li>\n<li>Vertretungspersonen\/Ansprechpartner f\u00fcr diese Projekte<\/li>\n<li>Kontaktdaten der Ansprechpartner<\/li>\n<\/ul>\n<h3>Witzige Anmerkung<\/h3>\n<p>Die n\u00e4chste Erweiterung war, der Notiz etwas Humor zu verleihen, um sie etwas lebendiger zu machen. Die Idee war, einen Kommentar \u00fcber das Reiseziel einzuf\u00fcgen.<\/p>\n<p>Beides wurde vom Bot recht schnell \u00fcbernommen, nachdem die Anfrage gut angepasst war.<\/p>\n<h3>Hilfe anbieten<\/h3>\n<p>Ziel war es, dass er, wenn er ohne Auftrag angesprochen wird, nicht nur seine Hilfe anbietet, sondern auch erkl\u00e4rt, wie er helfen kann und was er daf\u00fcr braucht.<\/p>\n<div id=\"attachment_17185\" style=\"width: 710px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17185\" class=\"wp-image-17185\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-1500x545.png\" alt=\"Abwesenheitsbot Chat\" width=\"700\" height=\"254\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-1500x545.png 1500w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-300x109.png 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-768x279.png 768w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-24x9.png 24w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-36x13.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5-48x17.png 48w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild6-5.png 1523w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><p id=\"caption-attachment-17185\" class=\"wp-caption-text\">Default<\/p><\/div>\n<div id=\"attachment_17187\" style=\"width: 710px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17187\" class=\"wp-image-17187\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5.png\" alt=\"Abwesenheitsbot Chat Antwort\" width=\"700\" height=\"374\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5.png 993w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5-300x160.png 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5-768x410.png 768w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5-24x13.png 24w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5-36x19.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild7-5-48x26.png 48w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><p id=\"caption-attachment-17187\" class=\"wp-caption-text\">Ergebnis<\/p><\/div>\n<h3>Intern &amp; extern<\/h3>\n<p>Als n\u00e4chstes lasse ich die externe und die interne Variante erstellen.<\/p>\n<ul>\n<li>Nur bei den Notizen f\u00fcr interne Kollegen gibt er den Grund der Abwesenheit an und macht die witzige Bemerkung.<\/li>\n<li>Nur bei internen Kollegen gibt er die Projekte und die Projektvertreter an.<\/li>\n<li>Bei externen Notizen ist die Anrede f\u00f6rmlicher.<\/li>\n<\/ul>\n<p>Nun erstellt der Assistent vier Versionen: &#8211; eine deutsche und eine englische Version der internen und der externen Version.<br \/>\nAu\u00dferdem habe ich aus Datenschutzgr\u00fcnden eine Abfrage eingef\u00fcgt, ob er einen Abwesenheitsgrund angeben darf. Nur wenn er das darf, fragt er nach dem Grund und f\u00fcgt ihn in die Notiz ein.<\/p>\n<h3>Beispieldaten beschaffen<\/h3>\n<p>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\u00e4ndig die Kontaktdaten der Mitarbeitenden und die Ansprechpartner*innen f\u00fcr die Projekte. Es dauerte eine Weile, bis er aufh\u00f6rte, 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\u00f6sen muss.<\/p>\n<h3>Name des Nutzers und Projekte<\/h3>\n<p>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\u00e4hlen und in die Notiz einf\u00fcgen. Es hat eine Weile gedauert, bis er nicht nur ein Projekt ausgew\u00e4hlt hat, aber jetzt f\u00fcgt er alle Projekte mit Projektleitung oder, wenn die Person selbst die Projektleitung ist, mit Mitarbeitenden als Vertreter*innen in die interne Abwesenheitsnotiz ein.<\/p>\n<div id=\"attachment_17189\" style=\"width: 510px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-17189\" class=\"wp-image-17189\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-775x1024.png\" alt=\"Testdaten Personen\" width=\"500\" height=\"660\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-775x1024.png 775w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-227x300.png 227w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-768x1014.png 768w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-18x24.png 18w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-27x36.png 27w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5-36x48.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild8-5.png 958w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><p id=\"caption-attachment-17189\" class=\"wp-caption-text\">Eine Liste von \u201eKolleg*innen\u201c und Kontaktdaten, die wir mit ChatGPT als Testdaten generiert haben.<\/p><\/div>\n<h3>R\u00fcckkehrdatum<\/h3>\n<p>Idealerweise sollte er bei der Abfrage des R\u00fcckkehrdatums pr\u00fcfen, ob es auf ein Wochenende oder einen Feiertag f\u00e4llt und in diesem Fall den n\u00e4chsten Werktag als R\u00fcckkehrdatum 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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17191\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4.png\" alt=\"Chatgpt Datum geben\" width=\"907\" height=\"170\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4.png 907w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4-300x56.png 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4-768x144.png 768w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4-24x4.png 24w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4-36x7.png 36w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Bild9-4-48x9.png 48w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/p>\n<h3>Probleme<\/h3>\n<p>Es gab einige Probleme w\u00e4hrend des Prozesses, wie z. B. die Anforderung von Daten, die bereits vorhanden waren (meistens Projekte), das Schreiben der Notiz ohne alle Informationen oder das \u201eErfinden\u201c einer Information. Ein Problem, das ich leider nicht l\u00f6sen 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\u00e4ftsf\u00fchrer, \u00fcberpr\u00fcfte, 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 \u201e\u00fcbermorgen\u201c vom heutigen Datum abzuz\u00e4hlen und dabei herausgefunden, dass das heutige Datum f\u00fcr 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\u00dflich haben wir einige Wiederholungen aus dem Prompt entfernt und eine nummerierte Anweisung geschrieben, mit der es jetzt zu funktionieren scheint!<\/p>\n<h2>Fazit<\/h2>\n<p>Als mein erstes Sch\u00fclerprakikum finde ich Centigrade auf jeden Fall eine sehr gute Wahl. Ich habe einiges \u00fcber UX-Design und die Entstehung von Bots\/Assistants gelernt, und es ist ein sehr sch\u00f6nes Gef\u00fchl, etwas zu erstellen, was im Alltag genutzt werden kann, auch wenn es vorher vielleicht noch etwas feinschliff ben\u00f6tigt. Es war eine gro\u00dfartige Erfahrung f\u00fcr mich, und ich w\u00fcrde gerne alle danken, die diese m\u00f6glich gemacht haben.<\/p>\n","protected":false},"author":79,"featured_media":0,"template":"","tags":[984,1003,989,839,390],"class_list":["post-17172","blog","type-blog","status-publish","hentry","tag-ai-de","tag-chatbot","tag-chatgpt","tag-ki","tag-ux-design"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/17172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/users\/79"}],"version-history":[{"count":7,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/17172\/revisions"}],"predecessor-version":[{"id":17200,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/17172\/revisions\/17200"}],"wp:attachment":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/media?parent=17172"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/tags?post=17172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}