Hey. I hat unseren Alltag übernommen,
egal wo man hinsieht, es gibt ein neues I Tool für nahezu alle
Aspekte unseres Lebens und zwischen Chachi Auto GT mit
Journey, Dolly und Co Pilot können wir mittlerweile coden,
Texte generieren, Sachen bauen, Antworten erhalten und teilweise
wunderschöne Kunstwerke generieren.
Zumindest können das manche von uns und warum ist das eigentlich
so? Warum bekommen manche bessere
Ergebnisse als andere gezeigt, wenn es um generative EI geht
und die Antwort ist prompt Engineering und damit herzlich
willkommen zu einer neuen Folge vom to Cast.
Die Podcasts mit Malte Landin und mir.
Robin Manuel Thiel. Hi Robin Manuel, Schön, dass wir
das brennende aktuelle Thema heute diskutieren können.
Wir hatten ja letzte Woche schon n bisschen zu dem Thema
ausgetauscht und heute auch im Podcast.
Aber bevor wir in das Thema einsteigen, kurz ein paar
Danksagungen an. Zum einen den Lenner und zum
anderen an Micha D. Uns beide jeweils 3 Kaffee
ausgegeben haben, vielen Dank dafür.
Ansonsten zum Thema Kaffee, Wir hatten ja letztes Mal darüber
gesprochen, dass wir Kaffeetassen verlosen für alle
die gezählt haben, wie oft das Wort Copilot.
In der letzten Folge gefallen ist.
Man wird sich erinnern, wir haben über die Microsoft Build
gesprochen und die Microsoft Build drehte sich nicht nur um
das Thema EI, sondern um das Thema Copilot in allen seinen
Facetten und dementsprechend ist es sehr oft gefallen, dieses
Wort irgendwie zwischen 40 und 45 mal und wir haben ein paar
Schätzungen von euch bekommen beziehungsweise mehrere von euch
haben nachgezählt plus eine EI das nochmal kontrollieren
lassen. Also vielen Dank dafür, hat uns
echt geholfen, wir haben es nochmal kontrolliert und haben
tatsächlich einige Gewinner identifiziert.
Gekriegt eine Tasse, sprich wenn ihr uns eine Email geschrieben
habt, kriegt ihr eine Tasse, weil wir wollen alle belohnen,
die das gemacht haben und dementsprechend wenn eine Email
eingegangen ist, werdet ihr eine Tasse bekommen, die machen wir
in den kommenden Wochen fertig und schicken sie zu euch raus,
ihr bekommt dann eine Email von uns wo wir nochmal nach ihrer
Adresse fragen, das heißt aber auch die Aktion ist quasi jetzt
hiermit beendet, also jetzt bitte keine Emails mehr
schicken, das war quasi nur für die letzte Folge, aber.
Schön, dass so viele mitgemacht haben, großen Spaß gemacht und
man konnte auch ganz ganz gut sehen das so IS die Wörter
zählen oder transkribieren war schon sehr weit fortgeschritten,
sind aber vielleicht mal nicht damit klarkommen wenn man sich
etwas ins Wort fällt oder wenn gerade so Podcast senario man
vielleicht auch irgendwie Überschneidungen hat und auf
beiden Tonspuren das Wort gesagt wurde, eigentlich eine gute
Studie zum Thema wie weit ist denn generative?
Ja natürlich ganz viele von euch so clever waren die Folge mal
durch die ein oder andere EI zu jagen und gerade sind wir auch
dabei. Ein paar dieser itunes selber
auszuprobieren für den Podcast um zu schauen, können wir auch
ein bisschen Subtitles generieren.
Können wir das Ganze irgendwie als Video aufbereiten, können
wir ins Englische übersetzen und haben wirklich gemerkt, die KI
ist schon sehr gut, aber tatsächlich nicht perfekt.
Aktuell muss man noch relativ viel händisch nacharbeiten, aber
ich denke in den nächsten Wochen und Monaten werdet ihr das eine
oder andere von uns sehen, also bleibt dran, wir halten euch auf
dem Laufenden, wir uns da auch die KI in unserem kleinen 2 Mann
Team unter die Arme greifen kann.
Um noch ein bisschen mehr Content auch auf andere Kanäle
zu bringen. Aber damit zurück zum Thema,
Prompt Engineering und Project Engineering ist die Möglichkeit
sinnvoll mit KI zu arbeiten und eine Sache, die du mir letzte
Woche beigebracht hast, ist die Programmiersprache der Zukunft.
Erzähl mal ein bisschen mehr dazu, ja, also warum wir so viel
auf letzte Woche referenzieren malte und ich waren beide letzte
Woche auf einem Event in Tagen geschlossenen Event, wo wir
beide jeweils verschiedene Vorträge zu dem Thema auch
gehalten haben, an dieser Stelle schöne Grüße an Christina.
Wir haben uns sehr gefreut, dich endlich mal persönlich zu
treffen. Genau da habe ich eine Befragung
mit dem Publikum gemacht, was die Leute glauben, die
Programmiersprache der Zukunft ist und.
Nebensachen wie go. Was mich wieder daran erinnert,
dass ich sehr dringend gar nichts, weil ich nicht Ende
dieses Jahres wieder peinlich dastehen möchte und schon wieder
kein gelernt habe. Damals ein paar Antworten, aber
n bisschen der Sache, dass ich glaube, dass die
Programmiersprache der Zukunft englisch ist und wir einen
Paradigmenwechsel sehen, so mit ihnen das verfügbare
Entwicklung, und zwar weg von der aktuellen Situation, wo
Softwareentwickler und Entwicklerinnen sehr, sehr gut
darin sind, sehr viel Fokus darauf setzen, einen Algorithmus
zu beschreiben. Also wenn ich von einem Problem
zu einer Lösung kommen möchte, den Weg dahin möglichst clever
mit Code zu beschreiben. Ich glaube aber, dass die
Zukunft viel mehr so aussehen wird, dass wir die Lösung einer
AI möglichst detailliert beschreiben werden, und das
werden wir wahrscheinlich nicht Programmiersprache tun, sondern
mit cleveren, ja mit klarer Sprache, was ich da in letzter
Zeit auch an Begriffen gehört, habe ich super passend fand ist,
dass die Zug Software Industrie aktuell und in der Vergangenheit
ganz stark auf Syntax gesetzt hast.
Du musstest Code schreiben in der richtigen Syntax.
Indem du den Weg zum Ziel beschrieben hast.
In der neuen Form, in der Software Industrie 20 setzen wir
auf Semantik. Das heißt, wir beschreiben, was
wir erreichen wollen. Es geht um die Bedeutung, und
letzten Endes machen wir das natürlich in einer natürlichen
Sprache, wie zum Beispiel Englisch, aber natürlich durch
Übersetzungstools geht das in der Zukunft natürlich auch mit
anderen Sprachen, die Leute als Muttersprache sprechen, und
damit eröffnen wir natürlich viel mehr Leuten wirklich den
Zugang zu dem Thema Softwareentwicklung, das heißt
letzten Endes englisch wird, glaube ich, die
Programmiersprache der Wahl zunächst sein, aber dann wird es
sich ausdehnen. In beliebige Sprachen, wo das
dann jeweils auch übersetzt werden kann.
Und ich muss am Ende nur noch beschreiben, welches Ziel ich
erreichen möchte und wenn ich dann Ergebnis zurückkriege durch
ein KI Tool kann ich dann immer noch nachjustieren.
Ich kann beschreiben was ich erreichen möchte und darum wie
ich das beschreibe, da gehen wir heute ein bisschen tiefer drauf
ein und reden genau über diese Themen, weil das letzten Endes
prompt Engineering ist. Das heißt, ich beschreibe, was
ich erreichen möchte und die Art und Weise, wie ich das tue.
Das ist die große Kunst, weil davon hängt ab, in welcher
Qualität und wie schnell ich dort die richtigen Ergebnisse
bekomme. Genau, und das ist eigentlich
auch schon so, dass Engineering gerade dabei ist, eine eigene
Jobkategorie zu werden, auch wenn das Thema noch wahnsinnig
jung und neu ist. Sieht man wirklich die
Stellenausschreibungen, denn je besser man prompt ist, desto
weniger manuelle Nacharbeit brauche ich, wenn ich das
nachher das Ergebnis weiter verarbeiten möchte.
Ich kann zum Beispiel bei einer AI bei einer generativen A auch
ein Ausgabeformat bestimmt ne, ich kann ja sagen generell was
und im Gegensatz zu dem, was sie vielleicht t könnte ich ja
sagen. Gib mir den Output als Jason, so
hat sich das vielleicht programmatisch weiter
verarbeiten kann und das ganz spannend.
Ich war in London vor ein paar Wochen beim Kunden und in der
Zeit wo ich da war, war auch in London ein Meet up die sie haben
sich nur um prompt Engineering gekümmert, das heißt die haben
da bei Pizza und Bier sich verschiedene Probleme, also
verschiedene Lösungen ausgedacht, die sie gerne
möglichst clever gekommen wären und haben dann eigentlich den
ganzen Tag versucht clever einer I beizubringen genau diese
Lösung zu generieren oder wie man irgendwie zum besten
Lösungsweg hinkommen. Und das war super spannend zu
beobachten, weil sich dann ganz viele Leute dann
zusammengeschlossen haben. O 1 gemeldet und gesagt, ich
glaube, ich hab was, weil ich da vielleicht irgendwie clever
Anweisung gegeben habe oder n bisschen mehr Kontext gegeben
habe und damit kommen wir auch schon zum Thema prompt
Engineering, was ist denn überhaupt ein prompt und ich
glaube, das müssen wir einfach nochmal genauer definieren.
Prompt ist eine Eingabe, sprich ich beschreibe selber was ich
erreichen möchte, so ähnlich wie ich halt in einem Terminal an
prompt schreiben Befehl abgebe wo ich beschreibe, aber halt in
einer festgelegten Syntax was ich erreichen möchte.
Genau so mache ich das bei der Benutzung von I Tools, aber da
mache ich es auf eine bestimmte Art und Weise unter der
Verwendung von natürlicher Sprache und Du hast vorhin
darüber gesprochen, dass wir eine bestimmte Ausgabe erzielen
wollen und dafür brauchen wir natürlich die richtige Eingabe
und die Art und Weise, wie man diese Eingabe macht, das kann
man unter dem Begriff prompt Engineering zusammenfassen,
genau die Art und Weise heißt eigentlich, was ist denn, was
ist denn der Text, den ich dann schicke, ich glaube, jeder von
uns hat mittlerweile mal GT ausprobiert, da schick ich halt
irgendwie ein Text hin, so wie wenn ich in whatsapp Chat habe
und krieg ne Antwort zurück. Diese A Modus funktioniert so,
dass ich im Prinzip eben diese Eingabe, also das was ich anders
Modell schicke, alles mögliche reinschreiben kann.
Das heißt, ich kann mit Überschriften arbeiten, ich kann
dem, dem dem Modell Beispiele geben von von bestimmten Ablauf
und ich kann vor allem etwas mitschicken, was in der in der
Industrie als Kontext bezeichnet wird, also neben der
eigentlichen Frage, die ich stelle zum Beispiel, weiß ich
nicht. Wie heiße ich?
Was kann das Modell eigentlich gar nicht wissen, weil ich ja
nicht weiß, gerade bedient könnte ich dann einen Kontext
mitgeben und halt weitere Metainformationen mit einem
Filtern, sodass das Modell dann nachher die Antwort generiert
aus dem, was ohnehin weiß auf Basis seines Trainings Sets und
darauf zusätzlich noch die Inhalte mitbekommen, die ich in
meinem prompt schicke, dann in der Regel mit einer Frage endet
und vielleicht noch mal ganz kurz hier zu dem größeren
Zusammenhängen, wenn wir jetzt über KI oder I sprechen,
sprechen wir über Large Language Models, also die Themen, die
gerade absolut gehypt werden, mit denen alle arbeiten rund um
GPT 4 Chat, GPT und ähnlichem. Das Ganze basiert auf diesen
Large Language Models und das Spannende dabei ist natürlich,
dass diese auch extrem großen Datensätzen trainiert wurden,
dass diese Halt extrem viel Input bekommen haben, dass sie
aber am Ende ziemlich dumm sind, da sie ja letzten Endes nur eine
Abfolge von Wörtern richtig vorhersagen.
Können basierend auf einer Eingabe und letzten Endes wissen
diese K Modelle nichts. Sie wissen nur wie sie eine
korrekte Antwort formulieren müssen und um dementsprechend
auf meine Frage auch eine gute Antwort zu bekommen, ist es
essentiell den richtigen Kontext mitzuliefern und n ganz gutes
Beispiel dafür ist github Copilot über was wir auch schon
gesprochen haben bei github copilot kann ich natürlich
hingehen und einen Kommentar in Code schreiben und sagen OK das
möchte ich erreichen, aber letzten Endes wenn ich das in
einem leeren Datei tue kriege ich eine sehr generische
Antwort, ich krieg irgendwie. Eine Rückmeldung, wie ich zum
Beispiel eine bestimmte Funktion implementieren könnte.
Aber das mag gar nicht im Kontext meiner Anwendung richtig
viel Sinn machen. Was ich also tun muss, und das
ist das Schöne an solchen Tools wie github copilot ist, ich muss
Kontext mitliefern und diesen Kontext liefert im Beispiel von
Copilot im Hintergrund die ID EXTENSION oder die Extension
meines Code Editors. Diese Extension schickt
Informationen mit, das ist das Dateiformat, indem ich mich
gerade befinde. Wie sehen sieht der Quellcode
aus, an dem ich gerade arbeite, was befindet sich in anderen
Dateien, die ich gerade im Editor.
Aus auf habe und das K Modell kann nur auf Basis dieses
gesamten Kontextes und meiner Eingabe die ich formuliert habe,
zum Beispiel einen Kommentar oder in einer Zeile Quellcode
dann eine sinnvolle Antwort generieren und umso besser
dieser Kontext ist, umso besser ist natürlich auch die Antwort
und umso passender ist auch die Antwort und das trifft nicht nur
zu auf die Softwareentwicklung, wo ich sowas wie Copilot oder
vergleichbare Werkzeuge verwenden kann, sondern
natürlich auch auf jedes andere KI basierende Tool, wo du mit
solchen Large language. Uns interagierst.
Und ein Beispiel, was wir alle kennen, ist natürlich GT.
Genau dafür muss man vielleicht verstehen, wie die Modelle
funktionieren, denn jetzt so ne, also das neueste Chat GTS
basiert auf dem Modell GPT Four von Open Eye, wenn man nicht für
g bezahlt, kann man im Moment mit der Variante GT 3.5 Turbo in
Kontakt und diese Modelle funktionieren unter der Haube im
Prinzip. Immer gleich, denn die haben,
also ich schicke etwas hin und bekomme eine Antwort zurück und
das Modell hat an sich, hat aber überhaupt keinen, keine Idee,
keine Vorstellung davon, was es könnte ein State sein, es hat
keine, keine, keine Erinnerung gibt es, keine Datenbank, die
irgendwie die Konversation, die ich mit diesem Modell habe,
speichert, das ist immer, wie malte gesagt hat, eine Eingabe,
ich schicke einen großen Briefumschlag hin, den ich ganz
viel reinlegen kann, zum Beispiel eine ganz andere
Dateien und so weiter im Fall von Copilot.
Und bekomme dann eine Antwort zurück.
Und danach wird aber alles gelöscht, das heißt wie Chat,
gpt, also dieses ne wenn ich eine eine Konversation mit
diesem Modell führe unter der Haube funktioniert ist
folgendermaßen, ich schicke ich schicke im Prinzip in die
Anwendung TTF auf meinem Desktop oder Browser sag ich Hallo mein
Name ist Robin Manuel und was im Hintergrund in Wahrheit dann
aber an das Modell geschickt wird ist nicht Hallo mein Name
ist Robin Manuel sondern der eigentliche prompt der
sogenannte System prompt also das was wirklich an das Modell
geschickt wird. Sähe wahrscheinlich so aus.
Du bist ein hilfreicher Chatbot und der User hat gerade gesagt,
Hallo, mein Name ist Robin Manuel, was wäre deine Antwort
und daraufhin kann das Modell generieren.
Hallo Robin Manuel, wie kann ich dir helfen, zum Beispiel weil er
weiß ich bin ein hilfreicher Chatbot.
Wenn ich jetzt aber einfach nochmal an diesem Modell ganz
normal hinschicken würde Hallo liebes Modell, wie heiße ich
denn? Und im System prompt würde keine
Informationen über die Historie, die wir bisher gehabt haben,
enthalten sein. Würde das Modell das nicht
wissen, das heißt, was macht Chat GT, was macht die
Anwendungen im Hintergrund in dem Moment wo ich sage, Hallo,
mein Name ist Manuel, das Model antwortet mir mit Hallo Manuel,
wie kann ich dir helfen, ich frage wie ist mein Name, ist der
eigentliche prompt der an das Modell geschickt wird wieder du
bist ein hilfreicher Chatbot bisher hast du folgende
Konversation geführt Romano hat gefragt hat gesagt wie heißt du
hast gesagt wie kann ich helfen, dann hat er gefragt wie heißt
der denn eigentlich? Was wäre deine Antwort?
Und daraufhin weist Schiemann aha basierend auf allem was ich
weiß von der Welt plus der Historie, von unserer
Konversation, die in diesem prompt als Kontext mitgeliefert
wird. Daher weiß ich dann die
Informationen und kann Antworten und um dann noch mal die Brücke
zum Thema Softwareentwicklung zu machen und wie ich als Anwender
als Developer von dieser KI profitieren kann.
Viele nutzen natürlich jetzt schon sowas wie Chat GT, um sich
bei der Softwareentwicklung helfen zu lassen, das ist auch
gar nicht verwerflich, aber um. Ebenso gute Resultate zu
erzeugen, wie ich sie vielleicht aus einem Copilot oder
vergleichbaren Tools bekomme, muss ich natürlich diesen
Kontext liefern. Und das haben viele auch einfach
nicht verstanden, dass ich nicht so ein Chat Tool benutzen, dass
ich eigentlich erst hingehen muss und diesen Chat über die
Eingabe halt sagen. OK, folgende Quellcodedateien
kennst du und gerade arbeite ich an folgender Datei, da sieht der
Kontext so und so aus und diese Quellcodezeile möchte ich jetzt
gerne vervollständigen, oder wie würdest du folgendes
implementieren unter Berücksichtigung und dann der
gesamte Kontext? Und das machen natürlich viele
nicht und dementsprechend sind die Antworten, die ich dort
bekomme, wenn ich einfach nur sage, wie implementiere ich XYZ
super generisch und allgemein und gar nicht auf meine
Anwendung abgestimmt und das erstmal zu verstehen und wieviel
auch Engineering Aufwand dahinter steht wirklich so ein
auf einen Use Case spezifische Anwendungen zu schreiben, das
ist glaube ich vielen gar nicht bewusst.
Und selbst so etwas in Anführungsstrichen Simples wie
Chat PT macht unter der Haube genau das was du gerade
geschrieben hast. Es sendet halt den Kontext immer
mit S sendet Informationen über den User mit.
Zum Beispiel, wenn du im Chat dann mit deinem Usernamen
angemeldet bist, wird das als Kontext mitgeschickt, damit halt
dieser Chatbot entsprechend weiß, wie das Ganze, wie du zum
Beispiel heißt und in welchem Kontext dieses I Modell agieren
soll. Und jetzt wurden natürlich auch
Chatbots vorgestellt wie Google Bart oder der Chatbot in der
Microsoft Bing Suchmaschine und viele sagen, das brauche ich
doch eigentlich gar nicht, ich kann doch einfach PT benutzen
wie bisher, das ist die neue Internetsuchmaschine, aber was
vielen gar nicht bewusst ist, natürlich kein Zugriff auf.
Die Welt existiert, das heißt, dieses GPT Modell wurde
irgendwann mal trainiert, auf Informationen und isoliert von
der Außenwelt und kann jetzt nicht auf irgendwie
Informationen in Echtzeit zurückgreifen.
Und genau das machen diese in die Suchmaschinenintegrierten
Chatbots und sind dementsprechend viel mächtiger,
weil sie natürlich im ersten Schritt Internetsuche machen,
dann die Ergebnisse dieser Internetsuche nehmen und diese
dann als Kontext in den Chat mit Reingeben, das heißt, plötzlich
kann dieser Chatbot nicht nur Fragen sehr allgemein
beantworten, sondern mit dem Kontext.
Keiner der Antwort einer Internetsuche.
Und das macht diese Dinge halt entsprechend mächtig.
Und das ist ganz wichtig, dass Square Capital diese große
Investment, ich glaube, das ist FC aus den USA, haben bloss mal
ganz gut beschrieben, wie gesagt, im Prinzip ist das das A
Modell eigentlich nur irgendjemand geniales
Hochbegabtes, der in einem Raum ohne Fenster und ohne
Erinnerungen und ohne Zugang zur Außenwelt lebt und der auch dich
vergisst. Sobald du da raus gehst aus dem
Raum und du musst halt alles mitbringen, in wenn du also du
darfst deine Frage, und da musst du alles mitbringen.
Was da im Prinzip verarbeitet werden soll und warum, heißt es
prompt Engineering? Was ist der Engineering Teil,
also ist zum einen das Zusammenstellen von dem
eigentlichen prompt dem prompt, also der ganze Text plus der
Kontext, alles was du eben dieses Modell schickst.
Es gibt aber auch technische Einschränkungen, also es gibt
eine gewisse Größe, eine gewisse Länge, eine gewisse Anzahl an
Buchstaben, die ich an dieses Modell schicken kann.
Und ich möchte vor allem einen, möchte ich einen möglichst
kurzen prompt haben, der aber hinreichend präzise ist, dass
ich zu meinem Ergebnis komme, denn.
Das kostet weniger als ein langer prompt i.
Models wollen nicht hart arbeiten und wenn doch, dann
wollen sie dafür sehr gut bezahlt werden.
Also John Mayer sagt immer, die haben sehr gute Betriebsrat,
also es geht so ein bisschen, dass ich natürlich auch einen
finden muss, der jetzt nicht den kompletten konnte, die ganze
Welt mitgeschickt, zum Beispiel wenn ich an das Kontext von
Chateau, also in das Modell von t denke.
Ist es denn wirklich wichtig, die komplette Konversation, die
ich jemals mit diesem Modell geführt habe, mitzuschicken,
oder kann ich vielleicht. Durch clevere Tricks.
Und das ist dann prompt Engineering, die Informationen
Mitschicken, die wirklich relevant sind.
Also stellt euch vor, ihr schreibt mit eurem besten
Freund, mit ihrer besten Freundin über whatsapp.
Müsst ihr für eine Antwort wirklich alles wissen, was ihr
jemals mit dieser Person geschrieben hat?
Oder reichen vielleicht die letzten Nachrichten?
Plus die. 5 oder oder 8 oder 20 Key Informationen, die jemals in
der Konversation oder die vielleicht auch abseits dieser
Konversation getroffen wurden und die zu finden und nur diese
richtigen und relevanten Informationen als Kontext in dem
Projekt einzugeben und dann den prompt noch so zu formulieren,
dass das Ergebnis in einem Format rauskommt, dass man
erwartet, in die richtige Richtung geht, also n bisschen
Steering nennt man das also linkin, welche thematische
Richtung nennt man das haben will all das vielleicht dem
Modell sogar Beispiele mitgeben, wenn ich zum Beispiel das
gefragt hätte, würde ich mir gewünscht hätte haben, dass dies
und jenes. Aus käme das kann man alles mit
reinpacken und da kann man beliebig kreativ werden und mir
die besten Ergebnisse oder die besten Prompts bauen kann, der
wird auch die besten Ergebnisse bekommen und das ist super
relevant für uns, auch als Anwenderinnen und Anwender,
gerade wenn wir dann solche Tools selber verwenden möchten
in unserem Alltag, wenn ich zum Beispiel so eine Bildgenerierung
mit zum Beispiel mit Journey verwende und dann plötzlich
frage warum ist sehen die Bilder die so aus wie ich sie mir
vorgestellt habe, als ich die Beschreibung geschrieben habe,
aber bei anderen Leuten kriegt man quasi fotorealistische
Darstellung. Das liegt daran, dass diese
Leute halt gelernt haben. Diesen P.
Formulieren müssen und genauso bei Copilot ist eine ähnliche
Sache. Wie muss ich letzten Endes auch
meinen Input in Quellcode formulieren, um die richtige
gute Antwort zu kriegen, ohne dann letzten Endes zu sagen, OK,
warum kriegen alle gute Antworten, nur ich nicht, das
geht sogar so weit, dass ich zum Beispiel schon auf Etsy gesehen
habe, dass Leute ihre Prompts für mit Journey verkaufen, also
mit Journey ist es MEID Bilder teilweise fotorealistisch und
teilweise auch in bestimmten künstlerischen Stil generiert
und das sollte habe ich einen sehr guten prompt gefunden und
den Fakten würde ich dir verkaufen, dann könntest du
folgende Resultate. Oder oder Bilder im Stil.
Folgende Resultate bekommen. Also, da scheint sich eine ganze
Industrie gerade aufzutun und das nochmal als Brücke zu dem,
was wir am Anfang gesagt haben, zeigt in der Zukunft, wenn ich
ein bestimmtes Ergebnis erzielen möchte, muss ich nicht wissen,
wie der einzelne Schritt aussieht, um quasi von einer
leeren Seite Quellcode in den einzelnen
Implementierungsschritte zum Ergebnis zu kommen, sondern ich
muss wissen, wie ich es korrekt beschreibe, damit einen i Modell
das versteht und das richtige Ergebnis erzeugt und damit wird
natürlich zum einen. Das Thema Softwareentwicklung,
aber auch viele andere handwerkliche Tätigkeiten rund
um Design oder allgemein kreative Tätigkeiten für viel
mehr Menschen zugänglich, die in der Vergangenheit darauf
angewiesen waren, auf irgendwelche Experten und
Experten zuzugehen oder extrem viel Zeit darein zu investieren,
solche Dinge zu lernen. Und letzten Endes ist die
Fähigkeit, die man heute lernen muss, wie baue ich diese
Prompts? Ja, genau.
Und ich glaube, es ist ganz wichtig, dass wir das nicht nur
als Anwender betrachten. Sondern eben auch in der Rolle
von Entwicklerinnen und Entwicklern, die wahrscheinlich
viele unter den Hörern und Hörerinnen von diesem Podcast
sind, oder generell von von von allen möglichen Menschen oder
Firmen oder Organisationen, die gerade Software bauen.
Denn wir kennen alle diesen diesen Satz nicht.
I wird dich ersetzen, sondern ein Mensch, der A nutzt das
wahrscheinlich für die Anwender, Anwender Phase stimmen, ich
persönlich glaube aber das trifft auch auf Softwaresysteme
zu, also ein Software System was r ein nutzt wird kurz oder
langfristig ein anderes ersetzen, das ist keine A nutzen
wir haben gesehen, dass Adobe Photoshop.
Sehr in die Bedrohliche geraten ist, weil es auf einmal Tools
gab, die selber Bilder generieren oder bearbeiten
konnten. Und die sind jetzt nochmal
nachgezogen. Aber ich glaube, wenn du keinen
AI use Case für dein Business findest, findet das auch kurz
solange jemand anderes und wird dich eventuell überholen.
Und ich habe auf der Microsoft Build n super interessante
Analogie gehört. Die war, dass noch vor wenigen
Jahren hat jemand gesagt, OK, warum will man denn Software als
Service Produkte auf dem PC benutzen, weil die funktionieren
ja nicht wenn der Rechner offline ist.
Aber heutzutage ist wenn Rechner offline ist, dann funktioniert
der hat einfach nicht richtig, in der Zukunft wird es so sein,
wenn eine Anwendung nicht intelligent ist, dann wird sie
für die Leute als Dysfunktional wahrgenommen werden von den
Leuten als funktional wahrgenommen werden, sprich wenn
ich dann so ein System habe, nehmen wir halt.
Ein vermeintlich intelligentes System wie irgendwie Siri oder
Alexa. Wenn ich dort nicht beliebige
Fragen stellen kann und gut formulierte Antworten bekommen,
ist es in Zukunft etwas, was die Leute nicht mehr verwenden
werden und genauso du hast gerade Photoshop Beispiel
genannt, werden wir als Software Developer in Zukunft die
Anforderungen haben, solche Large Language Models in unsere
eigenen Applikationen einzubauen und dann letzten Endes dafür zu
sorgen, dass die richtigen Prompts generiert werden.
Oben genau diesen Anwendungsfall, den wir
implementieren möchten. Mithilfe dieser Absteige Modus
auch entsprechend korrekt umzusetzen und da geht es jetzt
nicht mehr darum, dass ich irgendwie etwas in einem Chatbot
schreibe oder als Endanwender etwas Nutze, sondern wir als
Developer sind dafür verantwortlich, dass bestimmte
Funktionalitäten umgesetzt werden und dafür den
entsprechenden Kontext und prompt zu liefern, bin ich auch
von überzeugt, dass das in gar nicht so ferner Zukunft völlig
normal sein mit Dinge mit I zu generieren.
Ich hab p. Klöckner vom Doppelgänger
Podcast Wer das Podcast, den ich persönlich sehr gerne grüße,
falls irgendwie sich unsere Ordens überschneiden sollten.
Hat mal gesagt, das wird in wenigen Jahren wird sich also
ein Text über eine eine Word Datei, eine Email, vielleicht
sogar eine Nacht ohne AI geschrieben zu haben.
Das wird sich in wenigen Jahren so anfühlen wie als hätte ich
einen Brief handgeschrieben oder P oder Schreibmaschine verfasst
und ich glaube, dass das sehr schwierig sein wird, unseren
Kindern mal zu vermitteln, ja, wir haben früher diesen Code
wirklich selber geschrieben, per Hand jede einzelne Zeile.
Ich glaube, dass sich das in dass in wenigen Jahren oder dann
nur das finde ne. Ja, jetzt heranwachsende
Generation unvorstellbar sein wird, dass er früher wirklich
das alles selber geschrieben haben, jeden einzelnen
Buchstaben von diesem Code so ein bisschen so als Analogie, so
wie wir es empfinden, wenn wir uns die alten Lochkarten
anschauen, die die Leute früher händisch gestanzt haben, exakt
quasi bit für Bit händisch gestanzt, und da sind wir
natürlich viel weiter heutzutage, aber das geht
natürlich weiter nochmal zurück. Prompt Engineering, du hast da
ein paar Tipps und Tricks zusammengestellt, weil ich
glaube, das ist das, worauf auch viele warten.
Also was muss ich jetzt tun, um guten prompt zunächst einmal als
User von solchen Services mit EI zu bauen?
Genau. Ich würde zum einen erst mal
anfangen, da haben wir schon drüber gesprochen, deswegen mach
schnell einen guten Kontext erstellen, ne, also irgendwo
mitgeben, aus welcher Richtung kommt denn hier eigentlich mal
meine Frage, Beispiele mitgeben, Informationen mitgeben, was
versuche ich denn zu erreichen? Je mehr ich dieses Modell
mitgebe, desto mehr weiß es oder kann es in bestimmten
Richtungen. Zweiter Tipp würde ich sagen sei
spezifisch hab ich mir aufgeschrieben, wenn du eine
bestimmte Audience hast du adressiert ist, dann geht das
mit und sagt das ist jetzt das ist für Kinder gedacht oder ne
das muss kindgerecht sein oder ich möchte einen Witze
Generator. Ich möchte aber sagen, dass die
Witze Safe for work sein sein sollen oder bestimmte Themen ich
gerne ausklammern, klammern möchte, um inklusiver zu sein
oder was weiß ich. Dann gibt das mit.
Was auch super hilfreich ist, ist das Problem runterzubrechen.
Also wenn ich ein größeres Problem habe, vielleicht teile
ich das auch in mehrere Prompts auf.
Wer sagt denn, dass ich alles mit nur einem prompt erledigen
muss? Ne ich kann dir sagen ich
prompte das eine und das Ergebnis daraus nehme ich oder
ein Teilergebnis davon nehme ich, schau mir an und bereite
daraus einen anderen anderen prompt vor, das kann ja auch
wahnsinnig praktisch sein, das finde ich ganz spannend, weil
man denkt immer, auch wenn ich jetzt als Endanwender sowas wie
Chip t verwendet, man denkt immer ich muss eine Frage
stellen und bekomme eine Antwort aber genau das was du gerade
gesagt hast extrem relevant, weil manchmal kann ich die Dinge
nicht in einem prompt so formulieren, dass ich das
richtige Ergebnis bekomme, das heißt ich probiere erst einen
prompt, bekomme ein Zwischenergebnis und gebe dann
dieses Zwischenergebnis wiederum zurück mit einer zusätzlichen
Informationen, wie dieses Zwischenergebnis weiter
verwendet werden soll, um dann zu meinem Endergebnis zu kommen
und das ist natürlich für uns als Endanwender, die T
verwenden, super relevant, das heißt ich kann da iterativ
arbeiten, ich kann dort nachjustieren, aber natürlich
auch für uns als Developer die Sonde Language Model letzten
Endes verwenden, um ein bestimmtes Ergebnis zu erzeugen.
Nicht schlecht. 2 Calls, aber das ist ja auch in Ordnung,
genau und vor allem ich muss E damit rumspielen, ne also der
nächste Tipp wäre hier gewesen, nachdem ich klare präzise Frage
gestellt habe, vielleicht schauen wenn das Ergebnis
rauskommt, ich damit zufrieden bin umformulieren diese Modelle,
das muss man bisschen sind darauf gebaut, wir sind sehr gut
darin Text zu vervollständigen, das heißt vielleicht an anstatt
in so einem Chat Beispiel zu sagen, was wäre denn jetzt hier
deine Antwort könnte ich einfach schreiben bot.
Sagt Doppelpunkt. Und das leer lassen, das wäre
eine andere Art und Weise, wie ich zum Ziel komme.
Vielleicht kann ich damit bessere Ergebnisse produzieren
und der letzte Tipp immer wieder kleine Formulierungsänderung
machen, es gibt es ist nicht wirklich klar bisher, wie ein
Modell darauf reagiert, wenn ich irgendwo vielleicht 3
Ausrufezeichen hinter setze, ich kann Markdown zum Beispiel
verwenden, Überschrift 1 mit einer Raute anfangen,
Überschrift 2 Rauten, so bisschen Wichtigkeit,
Umstrukturierungen in meinem zu machen, also ruhig mal ein
bisschen mit der Formatierung rumspielen, nicht nur mit dem
eigentlichen Text. Ähm, Dinge in Klammern setzen,
vielleicht auch sagen O hielt eine Region, wo ich dir ein
Beispiel gebe, hier endet diese Region, jetzt möchte ich deinen
deinen prompt hören, das kann alles auch sehr viel Spaß
machen, da kann man sich auch einfach mal empfehlen Playground
von IS playground Punkt Open i Punkt com auf verschiedene
Modelle sich aussuchen kann man kann auch so ein bisschen mit
der sogenannten Temperatur spielen, das ist ein bisschen
wie kreativ das Modell wird die Temperatur 0 krieg ich immer
dieselbe Antwort zurück auf den gleichen prompt und dann kann
ich den Temperaturwert leicht erhöhen und zu gucken wie
kreativ das denn werden aber ganz wichtig.
Letzter Tipp, am Ende muss ich immer verifizieren, also immer,
immer, immer. Was ist das für eine
Information, die ich von der I zurückbekomme?
Wir alle wissen, es gibt Halluzinationen, daran arbeitet
Open I auch gerade ganz massiv, bei Bildern kann ich vielleicht
auf den ersten Blick, aber ich brauch irgendeinen
Kontrollmechanismus um zu sehen, OK was kommt denn da eigentlich
zurück und ist das tatsächlich überhaupt die ich haben möchte?
Also irgendwie Validierung der Antwort und für uns als
Developer ist das glaube ich n großes Umdenken.
Bisher war alles immer deterministisch.
Ne, du hast irgendwie Code selber geschrieben und du
wusstest es kommt immer die gleiche Antwort raus und wenn
nicht immer die gleiche Antwort rausgekommen ist, dann hat es
irgendwo ein Bug mit irgendeinem Variablen drin, aber jetzt
arbeiten wir mit stochastischen Systemen die mit
Wahrscheinlichkeiten arbeiten und das Ergebnis sieht immer ein
bisschen anders und hat gesagt wir können n bisschen justieren,
aber letzten Endes wissen wir nie mit hundertprozentiger
Garantie was der Output sein wird und dementsprechend müssen
wir dort experimentieren bei welcher.
Informationen, bei welchem Kontext, mit welchem prompt wir
mit höchster Wahrscheinlichkeit genau das bekommen, was wir
erzielen, wollen wir letzten Endes, wenn wir solche Modelle
in unseren eigenen Anwendungen verwenden, ist es letzten Endes
auch Anzuvisieren. Das heißt, wir haben dort API
Calls, die durchgeführt werden und am Ende sehen die User nur
das Endergebnis und da mögen vielleicht ein 23 Calls gegen I
Model dazwischen liegen und ich kann diese Zwischenschritte
letzten Endes nicht überwachen, ich kann es auch nicht wirklich
testen und da müssen wir glaube ich extrem umdenken, weil wir
bisher immer genau ganz klar definiert haben.
Das baue ich gerade. Das soll das Ergebnis sein, so
ein typischer Unit Test. Und das wird jetzt extrem
schwer, das wird glaube ich super spannend was da n Zug an
Testing Frameworks sind ganz gut und wichtigen Punkten noch auf
uns zukommen weil da einfach n Unit Test.
Also in der Programmierung wie Informatiker bisher gedacht hat
ist ja eigentlich immer ich weiß exakt ich kann genau halt
testen, ich weiß dass true oder false Ende das Ergebnis und da
Testing Frameworks für Bauern weicht mir das weit genug ab
oder kann ich vielleicht eine weitere AI damit beauftragen
eine Abweichung. Von dem von der gewünschten
Antwort zu berechnen und mir dann zu untersuchen, ob das das
thematisch dasselbe ist oder vielleicht die völlig falsche,
Ich superspannend, und da werden wir irgendwann i.
Inception erleben wir jetzt ganz viel über prompt Engineering
gesprochen und jetzt fragen sich viele, wie baue ich diese i
Models jetzt in meine eigene Anwendung ein und da gibt es
verschiedene Ansätze. Wir haben vorhin drüber
gesprochen, was braucht man letzten Endes muss viel wissen
haben über den ganzen Ablauf, wieviel brauche ich, wie viele
Informationen muss ich mitliefern, welchen Kontext wie.
Arbeite ich mit State und ähnlichen Themen und genau dafür
gibt es mittlerweile Open Source Frameworks auf der Microsoft
Build wurde nochmals Semantic Kernel von Microsoft vorgestellt
und das Thema werden wir in einer weiteren Folge nochmal im
Detail beleuchten, wie wir letzten Endes als Software
Developer solche Models in unseren eigenen Anwendungen
verwenden können genau dann am Ende ist es ja nichts anderes
als eine PI call, also ne ne wenn irgendwas gegen Model t
schicke THEICPHSD Case theoretisch kann ich das sofort.
Keine Anmeldung einbauen, aber ich glaube wer glaubt, dass es
halt einfach nur eine eine Anfrage hinschicken, eine
Antwort zurück bekommt ist der denkt glaube ich ein bisschen zu
klein im Kontext der eigenen Anwendungen, denn da gibt es
eine ganze Menge Fragen noch, was ist denn prompt zu groß
werden würde zum Beispiel, wir haben gelernt, die Größe der
Promis, desto teurer ist es, aber es gibt auch technische
Limitierungen, was ist denn wenn ich Informationen brauche, die
nicht dem Modell hinterlegt sind, wie kriege ich denn
vielleicht das Zusammenspiel von meinen Anforderungen, wie baue
ich denn vielleicht eigene Skills?
Wie baue ich dann vielleicht sowas wie eine Erinnerung an das
bestehende ein? Und das macht man in der Regel
nicht selber. Genau dafür gibt es diese
Frameworks. Wenn ihr Interesse daran habt,
semantic Kernel, ein Stichwort, das schaue ich mir gerade an,
wenn ihr Lust habt, dass wir dazu mal im Detail eine Folge
machen, weil das auch super spannende Sachen machen kann,
wie zum Beispiel, das kann selber eine AI befragen zu
sagen, Hey, ich habe folgende Möglichkeiten, ich kann auf
folgende PS zugreifen, ich habe folgende Skills beigebracht
bekommen, in welcher Reihenfolge soll ich das denn bitte machen
oder wenn wir das ganze Thema embedding diesmal beleuchten
sollen, wenn das noch nicht sagt, das ist n Prinzip eine Art
und Weise wie Informationen kategorisieren kann und dann
schaue welche Erinnerungen die ich habe, also welches welchen
Memory packe ich denn in meinem Kontext hinein, wie finde ich
denn sowas heraus, wenn euch das interessiert, lass uns das gerne
wissen, es gibt eine e Mail Adresse unten im Podcast.
Ihr könnt uns auch über Spotify wissen, dass mittlerweile
Kommentarfunktion, dann machen wir das sehr gerne auch nochmal
eine Folge und vor allem deswegen sehr gerne glauben sie
sind nicht gerade reinfuchsen ich bin überzeugt davon diese A.
Stelle. Die bricht irgendwann über uns
allen herein. Ich kann es nicht erwarten,
ersetzt zu werden von E bis dahin würde ich gerne noch ein
bisschen surfen und. Deswegen ist es, glaube ich, für
uns beide ein super spannendes Thema, sich mal anzuschauen und
um hier nochmal den den Loop zu schließen.
Du hast gerade gesagt, wann werde ich ersetzt von einer I.
Prompt Engineering kann euch natürlich eine EI auch bei
helfen, das heißt mit dem richtigen Kontext gibt uns sowas
wie ZBPT auch super gute Vorschläge um halt richtige
prompt zu liefern, das heißt du kannst letzten Endes n Language
Model dazu verwenden prompt zu generieren die du dann verwenden
kannst um mit einem solchen Modell auch zu interagieren.
Und von daher ganz spannende Szenario, wo wir letzten Endes
eine I haben, die mit einer AI spricht bin ich finde ich auf
jeden Fall super spannend, was da auf uns zukommt, wenn euch
die Folge gefallen habt, dann lasst uns das gerne wissen in
den Kommentaren oder per E-Mail oder ihr könnt auch einen Kaffee
spendieren, da freuen wir uns immer sehr drüber so n Kaffee
Link und wir schauen mal. Also ich glaube prompt
Engineering wird auf jeden Fall ein Teil unserer Zukunft sein,
vielleicht brauchen wir auch in Zukunft nicht weil die E
irgendwann so intelligent wird, dass unsere Eingaben so gut.
Besteht, dass auch bald egal ist, wie wir das formulieren.
Und das ist die ich schon weiß, was wir damit meinen, bleibt auf
jeden Fall eine sehr spannende Zukunft, bleibt uns gewogen, wir
hören uns in 2 Wochen wieder, der to Cast erscheint alle 2
Wochen jeden Montag bis dahin schreibt viel Coach und hab ne
gute Zeit bis dahin und wenn ihr keinen Code schreibt dann
schreibt ein paar Prompts und gebt uns Feedback was ihr
gelernt habt bis dahin.