Secrets Not Included: KI nimmt uns nicht das Programmieren weg. Sondern manchmal den Spaß daran.
KI kann Templates schreiben, Fehler suchen, Audits vorbereiten und Projekte beschleunigen. Aber was passiert, wenn sie genau die Teile übernimmt, die Entwicklern eigentlich Freude machen: sich reinfuchsen, Strukturen verstehen, Probleme wirklich lösen? In dieser Folge sprechen Daniel und Ole über KI als Hassliebe im Entwickleralltag: über Babysitting statt Bauen, kaputte Seiteneffekte, Prompt Engineering, Codequalität, Domain-Wissen, Planning Poker – und warum KI manchmal weniger wie ein Assistent wirkt und mehr wie ein Praktikant mit Admin-Rechten.
Transkript anzeigenTranskript verbergen
So, willkommen zurück zu einer wunderbaren, neuen, fantastischen Folge Secrets Not Included mit Daniel und Ole, wie jede Woche. Und wir wollten darüber reden, warum KI uns die Freude am Leben nimmt. Programmieren?
Ja, ja.
Am Leben nicht. Ja.
Es verändert sich viel einfach durch KI.
Ja.
Also ich habe viele, also ich glaube, wir sind uns einig, dass wir eine Hassliebe mit KI haben. Auf der einen Seite macht sie manchmal Sachen, wo wir sagen, geil, nie wieder irgendwie Templates schrubben, Fleißarbeiten und, und, und. Man kann wirklich viele Sachen gut delegieren. Und manchmal gibt es einfach Tage, also zumindest bei mir habe ich das immer wieder mal, wo ich das Gefühl habe, dass die entweder im Kreis läuft, Also wo du sagst, fixe zum Beispiel alle Fehler, die bei PHP Unit auftreten. Dann fängt die an und arbeitet ab und sagt, ach nee, guck mal, da ist ein Fehler, das muss ich anders machen. Dann fängt sie wieder von vorne an. Und mit jeder Iteration wird es schlimmer und schlimmer und schlimmer, weil sie dann nicht in der Lage ist, also habe ich letztens gehabt, dann habe ich auch, glaube ich, auf LinkedIn zu geschrieben, dann war sie nicht in der Lage, ein Extents Interface, also hinter eine Klasse einfach noch ein Interface ranzupacken, weil das gefehlt hat.
Mhm.
Und dann hat die das einfach über Attribute gepackt. Nee, das passt nicht. Dann packt sie es da drunter. Also ich habe das halt für ein kleines Projekt nebenbei laufen lassen und habe da immer so ein Auge drauf gehabt und denke mir so, Alter, die läuft im Kreis, man packt es oben drüber, drunter, links, rechts, es wird immer schlimmer. Und dann habe ich gedacht, boah, jetzt mache ich es selber. Na, ich mag sie.
Aber das ist tatsächlich das erwartende Verhalten. Ich muss dich gerade voll enttäuschen.
Jetzt mache ich sie noch weniger.
dazu. Ich würde lügen, wenn ich sage, ich verlinke es. Aber es gibt ein Paper dazu. Müsst ihr immer euch selber googlen, wenn euch das interessiert. Je häufiger die KI eine Datei anfasst, je höher steigt die Wahrscheinlichkeit, dass sie das zerstört und auch nicht mehr zurückgesetzt bekommt auf den vorhergehenden Zustand. Deswegen ist es so wichtig, allgemein, deswegen, oder zumindest, also auf jeden Fall in der gleichen Session, ja, also das ist logisch, aber ich meine auch gesamt betrachtet über die Zeit, deswegen ist es so wichtig, dass die KI selbstständig nach jedem fucking Schritt committet.
Also, wichtigste Frage, in einem Run oder wenn ich morgen die Kalte... Kalte... Ach so, weil du es nicht zurückgesetzt kriegst, ja.
Weil dann kannst du nämlich sagen, ich gehe auf die vorherige Version zurück, fuck it, und neu anfangen.
Mhm.
Ja, dann machst du ein Clear oder machst halt eine neue Session. So, und fängst dann wieder an und kannst dann ja mit einem anderen Prompt quasi rangehen und sagen, okay, wir konzentrieren uns jetzt auf dieses eine Problem. Also quasi den Kontext verkleinern. das Problem damit für die KI fassbarer machen und dann laufen lassen. Jetzt bin ich natürlich super staunt, habe diesen Fehler noch nie vorher gemacht. Aber tatsächlich, es gibt Untersuchungen dazu, die genau das zeigen, was du beschreibst. Wenn die sich quasi einmal verheddert und immer wieder Fehler macht, dann schafft sie es nicht selbstständig alleine aus diesen Fehlern rauszukommen. Da braucht das System Hilfe bei. So, ja, Folge fertig.
Ja, gut. Bis nächste Woche, ne? Hm. Hm.
Nein. So was ist natürlich extrem frustrierend. Jetzt fängst du natürlich mit dem frustrierendsten Erlebnis ever an. Ich finde viel schlimmer, so für mein persönliches Wohlbefinden, dass natürlich die KI auch die Aufgaben übernimmt, die mir persönlich Spaß machen. entwickelt. Hatte ich ja letzte Woche auch erzählt, ne, dann jetzt geht die KI hin und analysiert hier den ganzen Shit in Minuten oder einer Stunde oder irgendwie sowas, packt hier einen detaillierten Bericht raus und Ja, jetzt fühle ich mich nicht mehr durch irgendwelche Bibliotheken und Klassen, die ich nicht kenne, erforsche, die entdecke Dinge, verstehe Dinge falsch, validiere die, finde andere Ansatzpunkte und finde so meinen Weg durch ein Labyrinth Labyrinth oder auch so komplexe Requex nicht mehr selber zu erstellen.
Ja, ja, haben wir auch. Also,
Also, ne, so dieses kritische Denken und dieses Erforschen, Herausfinden, Verändern, das ist ja auch einfach durch die KI jetzt, hat sich ganz krass verändert. Das Und ich sag mal, das ist der Punkt, wo ich mir manchmal denke, es nimmt mir schon die Freude weg. Ja, so dieses, also wirklich ja auch ein bisschen spielerisch an diese Probleme herangehen und sich einfach auch darüber freuen, dass am Tagesende die Fehlermeldung anders ist.
Mhm. Also mir hat jemand mal gesagt, er wird den Job des Entwicklers wechseln, weil er keinen Bock hat, Babysitter für eine KI zu sein.
Ja, die, die,
Und das fand ich zum Beispiel sehr beschreibend. Das ist das, was du auch so ein bisschen andeutest, dieses, die KI macht den guten Teil und du bist sozusagen nur noch der Babysitter oder du wechselst nur noch die Windeln und räumst den Müll weg. Du räumst nur noch hinterher, so mit das, was die KI nicht kann und was sozusagen, oder
Ja. Ja.
Und eigentlich ist es ja genau der Teil, den in diesem Konstrukt, den du machen willst, ist diese geistige Arbeit, konstruieren, gestalten, erschaffen und eigentlich will man ja dieses Code generieren automatisieren und weg haben. Irgendwie. Mhm.
So, jetzt geht man aber natürlich auch hin und macht den anderen Kram auch automatisiert damit. Oder größtenteils automatisiert, weil Die Welt halt ist, wie sie ist. Und, ähm, ja, Das ist so ein bisschen schade.
Also, ich...
Also es nimmt einem so viel, also das ist ja auch Teil einfach des Jobs gewesen, warum man das eigentlich macht. Das ist ja gar nicht nur so dieses Erschaffen von Dingen, sondern auch mal sehen, wie machen andere das, wie lösen die die Probleme und auch einfach komplexe Probleme lösen. Und das so.
Genau das ist ja eigentlich das, was am meisten Spaß gemacht hat. Oder was auch den meisten Mehrwert in meinen Augen bietet, wenn ich in einem Projekt bin und nur mit KI Sachen machen lasse, dann habe ich ein oberflächliches Wissen.
Ja.
Und jemand kommt auf mich zu und sagt, Daniel, weiß ich nicht, da wird irgendwas angezeigt, guck mal, da gibt es Blöcke und Datenstruktur, dies, das und jenes. Und er sagt so, der Kunde braucht das anders. dann ist meine Antwort, ja, keine Ahnung, ich frage die KI, wer bin ich denn dann noch? Ja, aber so ist es doch, weil ich dann gar nicht mehr tief genug drin bin, weil genau das, was du beschrieben hast, dieses sich reinfuchsen und was halt auch Stunden oder Tage dauern kann, du gehst ja aber raus mit einem Wissen, also du brennst das ja ins Hirn ein, diese Strukturen, Models,
Ja.
Alle möglichen Business-Logik lernst du ja auch, egal in welches Projekt du kommst. Am Anfang hast du keine Ahnung von, weiß ich nicht, Fotografie oder Lebensmittelhandel. Ein halbes Jahr arbeitest du da und dann kannst du da mitreden auf einmal, weil du dich auch in die Business-Logik mit einarbeitest. Und dann diesen Mehrwert bieten kannst und sagen kannst, guck mal, die Maschine soll A oder B machen, also Online-Shop, CMS-System, egal was auch immer.
Ja.
Und da läuft jemand zum Beispiel im Lager mit einem Zettel rum, der stellt sich drum an, ja, das muss automatisiert werden. Dann kannst du sagen, guck mal, den Zettel kannst du da scannen, den kann man mit KI scannen, dann werden Sachen ausgefüllt und du musst den Rest gar nicht mehr machen, kannst dir drei Stunden Tippen sparen. Aber solche Ideen kann ich ja gar nicht haben, wenn ich die Datenstruktur nicht kenne, die Businesslogik nicht kenne und da irgendwo Verbindungen herstellen kann. Und das ist... ist... Ja, also, sag mal, wenn du programmieren kannst oder alt genug bist wie wir, die einfach das zu lange schon machen, Grundlagenwissen, wenn du das hast, was Datenstrukturen betrifft, ich kann dir auch...
Naja, aber gleichzeitig brauchst du für dieses Babysitten die Erfahrung und das Wissen.
Software oder auch einen Shop bauen zum Beispiel, ohne dass ich verstehe, wie deine Sachen funktionieren. Ich weiß, wie Daten gespeichert werden müssen, wo Probleme kommen und, und, und. Das sind so Erfahrungswerte, die bringen wir mit. Was kann ich der KI sagen? Aber weiß ich nicht, bist du zum Beispiel ein Glasgroßhändler und hast super besondere Anforderungen an Maße und es gibt irgendwie Auflagen und wenn das ist, dann muss das oder Zusatzartikel müssen, keine Ahnung. Da gibt es so viele Sachen und dann kann ich dir nicht mehr weiterhelfen, weil ich nicht weiß, wie die Datenstruktur darunter aussieht, wenn das KI alleine gebaut hat. Weiß ich nicht, ob die Datenbankstruktur normalisiert ist oder nicht, ob alle Sachen aneinander hängen, wie aufwendig ist die Migration, wenn ich die Sachen selber mache und tief genug drin bin, kann ich dir das immer beantworten. Also vielleicht nicht nachts um drei, aber so spätestens am ersten Kaffee. Mhm.
Und das geht halt verloren. schlimm. Weil dieses Wissen an sich bereitet mir ja keine Freude. Aber diese Tätigkeit, dass die halt jetzt sich so krass verändert, das ist halt, ja, schade. Und auf der anderen Seite, wie du auch schon sagst, also manchmal baut halt die KI echt noch Mist. Und dann muss man ja selber ran. Und das meine ich mit, wenn du die KI babysittest, dann musst du trotzdem dieses tiefe Domain-Wissen haben und musst damit agieren und durch die Gegend rennen und das Wissen auch anwenden können. Es reicht ja nicht, dass du weißt, ah ja, theoretisch funktioniert das so. Du musst es auch schon mal gemacht haben.
Du musst auch immer wieder hinterher räumen. Also, anderes Projekt war ganz dumme Security-Sache.
Ja.
API war offen, dass jeder Nutzer irgendwie auch von anderen Mandanten Sachen ändern konnte.
Mhm.
Also, weitgecodes Projekt. Ich gucke da drauf, sage, guck mal, das geht so nicht, machen wir anders. Anders gebaut, fertig, tschüss. Nächste Commit oder nächste Feature, was reinkommt, alles wieder zurückgesetzt, weil die KI, die scheißt da drauf, die baut das so, wie sie Bock hat. Und das ist genau dieses Babysit, auf das auch ich keinen Bock habe. Ich laufe doch nicht einer Maschine hinterher. Also das, was ich früher sozusagen, da hätte ich die Leute angerufen oder hätte sie dann geholt und gesagt, hier, guck mal, das ist das, das macht man anders. Und dann wäre das Problem gelöst gewesen. Aber der KI kannst du das nicht sagen und in diesem Hamsterrad möchte ich nicht sitzen.
Ja, beziehungsweise du musstest der KI anders sagen, das ist es ja, ne? Du musstest dann halt irgendwo in irgendeinen MD-File reinklatschen, das dann gelesen wird und diese Konventionen erklärt.
Ja.
Und das ist, glaube ich, das, wo... man sich auch daran gewöhnen muss. Man muss auf einmal viel mehr schriftlich festhalten, während man natürlich in einem menschlichen Team sehr über allgemeine Konventionen und Erfahrung schon wusste, okay, hier ist es so, weil jedes Team hat ja so seine eigenen Konventionen mehr oder weniger genannt. Die sind ja nie 100% deckungsgleich. Aber man hatte immer die Wertebasis, auf der man irgendwie unterwegs war und konnte halt sagen, ja, cool, wir einigen uns jetzt, ich sag jetzt mal, auf Clean Code als Idee, wie wir agieren wollen. Und dann wusstest du zumindest ab einer gewissen Seniorität, ja, okay, Clean Code, wissen wir. Und irgendjemand im Team wusste dann nicht, was ist denn Clean Code?
Mhm.
Okay, okay. dann hast du das erklärt und gezeigt und so und so. Und dabei sind dann meistens so Diskussionen entstanden wie, ja, aber ich finde es besser, wenn wir das an das machen. Ich möchte das Arrays immer mit Eckegenklammern oder keine Ahnung. Und darüber kam ja Bewegung rein und darüber haben sich ja Konventionen entwickelt und darüber hat man ja quasi festgelegt, wie möchte man dann arbeiten. Und jetzt geht man, oder sehe ich zumindest sehr häufig, dass diese Architektur, auch gar nicht so durchdacht wird und gar nicht vorgegeben wird. Und das ist ja auch der nächste Schritt. Fehler. Da kommt man natürlich sehr zügig an Grenzen ran. Und muss halt auch sehen, dass ist diese ganzen... ganzen... Wo war ich jetzt? Plan, ne? Ich hab jetzt in meinem eigenen Kopf schon einen Plan verdammt. Äh... Ähm... Wo wollte ich hinaus? Daniel.
Das konnte ich gerade noch nicht antizipieren, wo du hin wolltest.
Zu wenig Kaffee.
Nee, ein Kontextfenster zu klein für deine LLM. Du musst erst den Kontext komprimieren.
Verdammt, jetzt ist aufgeflogen, dass ich hier gar nicht selber mehr sitze, sondern meine KI.
Eigentlich bist du ein heißes Mädel irgendwo am Strand im Bikini und benutzt die KI. Ähm...
Ja, natürlich, wir haben das jetzt auch auf deinen Spark.de X umgestellt. Unsere persönlichen Klone sitzen jetzt hier im Podcast. Dass auch diese Architekturplanungsentscheidungen halt häufig der KI überlassen werden. Und dann aber halt auch der KI quasi nachher nicht mehr mitgegeben wird, hey, pass mal auf, wir haben diese Konvention und die musst du einhalten.
Das ist eine gewisse Evidenz bei mir, bestätigt das.
Und dann schreibt das Ding das halt immer wieder um. Und ich glaube, wenn ich mich richtig erinnere an die Zahlen, passiert in 20% der Fälle, wenn die KI etwas ändert, dass etwas anderes, was damit nichts zu tun hat, kaputt geht. So, Paper kann ich jetzt natürlich wieder auswendig nicht spontan sagen. Titel habe ich mir wie immer nicht gemerkt, aber es gibt dazu mal wieder Papier, das es untersucht hat.
Fühlt sich aber auch so an. Also das ist auch die Erfahrung, die ich gemacht habe. So Greenfield-Projekte mit KI. Hörst du bei jedem Vibe-Coder, habe ich am Wochenende gebaut, wir brauchen keine SAS mehr, alles toll. Ja, dann setzt euch mal an ein älteres Projekt ran und versucht das einfach nur mal eine Versionsnummer zu heben. Macht mal in einem alten Projekt ein Refactoring, wo Sachen einfach sind, wie sie sind. Da kommt KI dann viel schneller an die Grenzen. Also im Generieren, wenn du sagst, ich möchte das Feature haben und baue das mal, dann macht die nämlich viel mehr kaputt, als die Gans macht.
Aber Zebs ist... Naja, du musst dann nämlich wieder Domain-Ovis als Kontext reingeben, damit es erfolgreich sein kann, genau.
Ja, ja, genau.
Aber das gleiche hast du ja auch beim Web-Product, also spätestens wenn du mal dann Änderungen machst und voranschreitest, dann kommst du ja in diesen Bereich AI-Slop und hast auf einmal schlicht und ergreifend dieses frustrierende Erlebnis, Du hast Seiteneffekte. Also nicht, dass menschliche Entwickler nicht früher auch Seiteneffekte produziert haben, ganz unbeabsichtigt. Aber sie waren anders, möchte ich behaupten.
Mm, no.
Du hattest nicht so viele Änderungen auf einmal. Es war übersichtlicher, was geändert wurde. Und damit war natürlich ein Seiteneffekt, hoffentlich, besser zu identifizieren.
Ja, also es ist ja auch, ich sage immer, man erkennt die Handschrift von einem Entwickler an Quellcode. Also wenn man im Team zusammenarbeitet ein bisschen länger, mit einer Zeit hat man so ein Gefühl dafür, das hat der gebaut, jeder hat so seine Eigenarten, wie er Sachen konstruiert, an Probleme rangeht und das finde ich auch gut, also auch gerade dieses Anderes.
Ja.
Und das ist dann mir immer wieder aufgefallen, wenn man Code-Reviews macht. Man sagt so, guck mal, ich muss gar nicht gucken, wer das gebaut hat. Ich sehe, das ist bestimmt von Entwickler A oder B gewesen, weil der hat das Problem so und so gelöst. Cool, gefällt mir. Und es war in sich kohärent oder zusammenhängend. Wenn ich jetzt aber Änderungen von KI sehe, Also da fehlen mir komplette Zusammenhänge, man erkennt kein Muster, man kennt Pattern und wenn ich dann, also habe ich jetzt letztens wieder machen dürfen, mehrere Features entwickelt, jeder in einem Branch und führe die mal zusammen.
Mhm. Mhm.
Also war ich nicht tief genug drin, musste ich mich erstmal in beide reinarbeiten. Also derjenige, der das entwickelt, hat keinen Bock, sich den Scheiß anzutun. Also muss ich mir das antun, beides verstehen und beides ist nicht aus dem menschlichen Gehirn entstanden. Und ich weiß nicht, ob das jetzt nur emotional ist, dass ich da was reininterpretiere. Ich empfinde wirklich, dass da Chaos herrscht. Und es ist super schwer zu verstehen, was da passiert und Sachen zusammenzuführen. Weißt du, wenn du zum Beispiel Frontend-Änderungen hast, eine React-Applikation und keine Ahnung, es gibt einen Dropdown für Kundennamen oder so.
Mhm.
Und auf einmal ist das eine hier implementiert und da ist das andere ganz anders implementiert oder an fünf Stellen einfach immer irgendwie ein Dropdown drin. Sag ich, das hätte ein Mensch nie gebaut. Der hätte das zentralisiert, hätte gesagt, es gibt eine Komponente und die nutze ich überall.
Ja, aber das ist ein Problem, wie man mit der KI umgeht, aus meiner Erfahrung.
Und weißt du, das Hm?
Also nicht, dass ich nicht auch dieses Verhalten gesehen hätte. sondern es ist wirklich, wie man umgeht. Du musst dir halt tatsächlich dann entsprechende Skillsets besorgen und laden. Übrigens kleiner Einschub, Nvidia scheint jetzt, oder wenn ich es richtig im Kopf habe, gibt es jetzt bei Nvidia endlich Skills, die signiert sind, also dass man sich sicher sein kann, dass da kein Chat drin ist. So, aber du musst dir halt so ein Skillset holen, Warte mal. Ich sag mal, wie auch so ein Mensch, der irgendwo hingeht. Wo hab ich's? Jetzt sag ich total doof aus dem Bild.
Du hast die Hose an, das ist okay. Hm. Hm.
Ja, gut gelaufen, ne? So, der... Das Blut, was ich eigentlich suche, ist hier gar nicht. Ich weiß gar nicht, was das ist. Aber geht jetzt hin und nimmt sich Clean Architecture her, liest das, lernt das, hat er quasi sein Skillset geladen und das musst du mit der KI auch machen. Er hat den letzten nicht Clean Architecture vielleicht, sondern Clean Code und dann lässt du das halt drüber laufen am Ende und dann sagt es, oh ja, hier habe ich Wiederholungen. Das widerspricht dem Drive-Prinzip. Do not repeat yourself.
Mmh. Mmh.
Das muss ich anpassen. Und dann wird nämlich auch die Codequalität besser. Und das ist dann wieder das Ding, wo ich sage, da macht es mir schon Freude, mit so einer KI zu arbeiten, weil die halt hingeht und sagt, ja, komm, jetzt korrigiere ich das dann auch. Also du kannst dann halt wie gewohnt, also du musst im Prinzip, mit Skills, also eine Kombination aus Skills und normalen Entwicklungstools wie PHP, Sten, etc., musst du quasi schon vor dem Pushen validieren oder durchgehen und korrigieren lassen, dass die Code-Qualität in Ordnung ist.
Hm.
Sonst landest du nämlich genau bei dem, was du beschreibst, und dann ist es halt mega frustrierend. Und ich kenne das auch. Ähm, hatte ich auch genauso, ja, wenn man die halt so rumlaufen lässt und das nicht kontrolliert direkt und nicht nachhält, dass die Qualität entsprechend ist, dann kommt halt eben so eine komische Qualität dabei rum, die echt schlecht ist. Und dann wird es frustrierend und es ist nervig. Ähm,
Ich muss aber sagen, zum Beispiel im nächsten Schritt, die Arbeit, genau wie du es beschreibst, also das, entweder KI, das mache ich halt gerne. Ich nutze KI eigentlich so für Suchen, Ersetzen, Plus, würde ich es jetzt mal nennen, wo ich genau sage, guck mal, in Datei A, B, C und D hast du dich wiederholt, baue mir mal daraus eine Komponente, die wiederverwendet werden kann.
Ja.
Also, wenn KI co-generiert hat, Babys, also das empfinde ich nicht als Babysitten, sondern das ist für mich wieder eine Softwarearchitektur oder ein Programm oder ein Produkt bauen, wenn ich dann auf den Quelltext gucke und sage, boah, das gefällt mir so nicht und egal, ob es jetzt irgendwie fünf Meter Tailwind-Klassen sind im Frontend, wo ich sage, erstelle dazu mal eine eigene und ersetze alle anderen Stellen, die vorkommen. Ich habe keinen Bock darauf mit suchen, ersetzen, die Stellen zu suchen. Dafür ist die KI super. Das macht dann auch wieder Spaß oder wenn du dann auch im Backend unterwegs bist und sagst, guck mal, weiß ich nicht, du hast hier an 10 Klassen dreimal GetUser dran gemacht, ja, dann bau mir doch einen User-Provider und ersetzt diese Nutzung überall.
Ja.
Und dann bist du in diesem architektonischen Ding oder Entwicklerding drin, wo ich sage, das macht mir wieder Spaß, weil dann konstruiere ich und dann baue ich und erschaffe ich. Und den Teil möchte ich der KI nicht abgeben. Und dann bin ich auch tief genug drin, sage ich mal, dass ich Businesslogik noch mitkriege, genug verstehe und auch Hand- oder Kontrolle über die Datenstrukturen und alles habe. Aber das versuche ich jetzt auch so, erst seit ein, zwei Wochen oder drei Wochen so ein bisschen in die Richtung zu gehen. Also nicht zu schnell zu produzieren, vorher spezifizieren, von KI generieren lassen, drüber gucken und dann eigentlich erst mal richtig anfangen zu arbeiten. Das, was da im ersten Rutsch passiert, beachte ich eigentlich. Oder versuche ich nicht als richtigen Code zu sehen. Ja, also nicht als richtiges Ergebnis, weil ansonsten fühlt sich das echt an, so wie Müll aufräumen oder Und im Pubertierenden das Zimmer aufräumen? Nee. Hm.
Ja, aber auf der anderen Seite muss man auch sagen, die KI, ich habe das ja auch letzte Woche mit dem Pentest erzählt, ermöglicht ja schon viele Dinge, die man sonst in der Form nicht machen würde. Ja, normalerweise würde ich ja nicht einfach mal kurz einen Pentest machen. Ja, die, ja, ne, sowas, die, die, so, so Themen,
Achso, ja. Ja. Ja.
würde man, oder ein Security Audit kannst du halt auch wunderbar machen. Entsprechend, das sind ja Themen, die normalerweise aufwendige, mehrwöchige Projekte sind, die auch echt teuer sind. Jetzt so für einen, ich sag jetzt mal, Zwischenstand, ich möchte das jetzt auch einfach nicht überbewerten, was die KI tatsächlich leistet und wie die Qualität am Tagesende dann ist gegen jemand, der ich.
Ja, genau. Das ist ein zweites Paar Augen.
Ja, aber so als Zwischenstand einfach mal zum validieren und um die gröbsten Schnitzer rauszuhaben, finde ich das schon wieder echt super. Ne?
Oder eine zweite Meinung erst mal dazu holen, bevor jemand anders drauf guckt.
Ja, und du hast halt nicht das Problem. Du hast jemand, der wirklich Plan von dieser Materie hat.
Mhm.
Da an der Seite. Jetzt sagst du wieder, nee, gar nicht. Doch, doch, wenn du dem das mitgibst, dass er jetzt diese Rolle einnimmt, dann nimmt er die Rolle ein und dann verändern sich die Ergebnisse. Das ist total spannend. Ich mache ja im Moment diese Entropic-Kurse durch. Ja, und da sind so Sachen drin, wo ich wirklich sage, ja, komm, also, warum implementiert ihr euren MCP-Sawa hier in diesem Kurs von Hand? Warum?
Mhm. Mhm.
Also, hey, lass das KI generieren. Ich verstehe euer... Also, Ja, Fairpoint, also mit echten Programmieren lernt man, wie das funktioniert. Aber Aber wozu? Aber da ist auch tatsächlich Prompt Engineering bei als Thema, das man machen muss, wenn man in Richtung diesem Partnerprogramm geht. Und Und es ist schon faszinierend, wie unterschiedliche Worte die Ergebnisse der KI beeinflussen.
Ich kann programmieren, ich hab keine Ahnung von Musik.
Und die Qualität. faszinierend. Das erinnert mich, ich glaube, das ist Mark Foster mit Wenn Worte meine Sprache wären oder so. Keine Ahnung, aber ich auch nicht. Aber dieser Satz Wenn Worte meine Sprache wären, hat sich halt so eingeprägt, weil ja viele Menschen Sprache so ungenau benutzen.
Mm. Mm.
Und ich glaube, das ist so ein LRS-Menschen-Ding. Worte halt da in diesem Kontext dann eine viel intensivere Bedeutung haben. Und man so hingeht mit, ja, du hast aber das gesagt, das bedeutet ja gar nicht das, was du jetzt erwartest. So, und das merkt man extrem bei der KI. Ja, wenn du die richtigen Worte benutzt, dann kommt das richtige Ergebnis raus.
Also muss man einfach nur richtig prompten, ja. Einfach nur sagen, mach keine Fehler und dann... Ja. Ja. Wäre es interessant, ob das Einfluss darauf hat, aufs Ergebnis.
Ja, genau, mach keine Fehler.
Ja.
Nein, das sage ich ja gar nicht. Und was ich bei der KI auch wirklich liebe, ne? Das sind meine Rechtschreibfehler, einfach egal. Die versteht, was ich meine. verdrehe. Tatsächlich habe ich der KI von Anfang an quasi mitgeteilt, hey, ich habe eine LRS. Also es kann sein, dass ich Worte falsch schreibe. nach.
fragt die nach? Hat sie schon mal gefragt? Ja. Ja. Ja.
Ja. Ja, hat sie. Und inzwischen habe ich mich nochmal entschuldigt, weil meine Rechtschreibung wirklich unterirdisch war in dem Moment. Also ich habe es selber nicht mehr verstanden nach zwei Minuten. Und dann kam, nee, kein Problem, ich habe alles verstanden, du hast das und das und das gesagt. geil.
Okay.
So.
Mhm. Mhm.
Ja, das ist halt, aber ja, richtig prompten, das klingt immer so trivial und ich mache mich da ja auch lustig über solche Aussagen, aber es verändert tatsächlich das, was rauskommt. Und das ist wirklich krass. Und wenn du dann, du musst das mal bei dir lokal machen, du kannst das viel besser als ich, mit der Temperatur rumspielst, damit veränderst du auch ganz krass die Dinge, die dir rauskommen, ne?
Modellen. Mein großes Problem ist gefühlte Wahrheit. Also, wenn ich die Werte verändere, spüre ich, dass es besser wird, weil ich das erwarte, dass es besser wird? Oder, also wie messe ich das denn? Also, ist das so eine selbsterfüllende Prophezeiung? Die Konfigur wird eigentlich ignoriert und ich klatsche nachher so mit, guck mal, das fährt jetzt viel schneller, das Auto. Ja. Also ja, ich habe angefangen damit rumzuspielen.
testen. So, aber du kannst tatsächlich ja dieses Prompt Engineering, ich finde es so lächerlich, aber du kannst es machen. Dabei machst du dir quasi ein Dataset an Testprompts, die du reinschmeißt und dann baust du dir mit der KI, also dann so ein Python-Skript oder sonst irgendeine Programmiersprache deiner Wahl und dann fragst du nachher wieder die KI, wie denn so das Ergebnis ist, damit kannst du halt System-Prompts wirklich verbessern und wenn du dann harte Bewertungskriterien festlegst, was ein gutes Ergebnis ist, ja, du baust dir quasi einen Testfall für die Ergebnisse und dann lässt du die KI das scoren und findest damit deinen besten Prompt.
ja.
Jetzt mache ich dich gerade unglücklich, weil ich gesagt habe, ja, wie du das sagst, ändert das total. Tut mir leid.
Ja, also interessant.
Also, ich habe ja auch lange gesagt, ah, das ist alles Unfug. Wenn da ein scheiß Ergebnis rauskommt, dann kommt da ein scheiß Ergebnis raus, weil die KI das nicht
Ich werde mal rumspielen.
Ich habe Testfälle gesehen, die mir das Gegenteil bewiesen haben.
Ich habe jetzt genau damit angefangen.
So, sorry, not sorry, ich musste meine Meinung da ein bisschen anpassen. Es liegt daran, wie man mit dem System spricht.
Ja, glaube ich. Ich meine, sonst wird es ja nicht so viele Parameter geben und Einstellmöglichkeiten und alles. Und... Hm.
Ja, aber da bin ich noch gar nicht bei den Parametern. Ich bin nur bei der natürlichen Sprache, die reingeht. Ja, wenn du die Temperatur zum Beispiel veränderst, mehr Richtung 0, dann wird grundsätzlich das genommen mit der höchsten Wahrscheinlichkeit der Antwort. Also was das richtige Nächste ist. Wenn du das in Richtung 1 mehr veränderst oder auf 1 setzt, dann wird die KI kreativer quasi.
Ja, weil das ist ja genau das, was du bei Code zum Beispiel nicht haben willst.
Ja, dann wird, dann steigt die Wahrscheinlichkeit, dass niedrigere Werte, die unwahrscheinlicher sind, genommen werden und eingesetzt werden.
Hm.
Ich sag mal, das willst du bei der Bildgenerierung haben, aber nicht bei der Codegenerierung. Bei der Codegenerierung willst du mehr Richtung 0, bei der Bildgenerierung mehr Richtung 1.
Ja.
So.
Ja, es gibt ja dann noch so Faktoren für die Wiederholungen abstrafen, habe ich noch gesehen. Ich komme jetzt nicht auf den Namen. Da kannst du auch ein bisschen rumspielen, dass wenn sich Sachen wiederholen, dass der das dann bevorzugt oder abstraft zum Beispiel, damit er sich, also da bin ich ganz am Anfang gerade noch von dem, was da geht, aber die Idee mit den Testfällen, also eine oder mehrere Test-Prompt, weiß ich nicht, vielleicht mache ich da einen Ordner mit einem Test-Projekt rein und sage dann einfach, refactor das und mach dies, das oder jenes und guck, was dann so für mich hinten rauskommt, was er da macht oder was das Ergebnis ist. Oder, hat Copyright drauf, okay.
Ist ja auch nicht meine Idee, ne? Also, ist im offiziellen Atropic-Kurs. Ja, weiß ich nicht. Das ist bestimmt KI-Generät.
Ja, aber das ist zumindest eine nette Idee, weil ich habe jetzt schon angefangen rumzuspielen, habe auch schon gemerkt, also gefühlt, dass es besser geworden ist, dass die Sachen, die gemacht werden, besser funktionieren, dass die KI halt nicht mehr dieses im Kreis laufen hat oder sehr kreativ Sachen löst, wo du sagst, nee, das machen wir anders, so macht man das nicht. aber ist es halt nicht messbar, also bis jetzt nicht messbar und dann finde ich das immer schwer zu vergleichen, weil ich dann immer sage, was ist der Teil, den ich rein interpretiere und was ist der Teil, den KI wirklich macht?
Ja, natürlich. Und deswegen, man muss das auch theoretisch mit den unterschiedlichen Modellen testen, je nach dem Modell und welcher Modellversion verändert sich der Shit. Also das heißt, im Prinzip musst du immer wieder validieren, wie ist das denn jetzt mit diesem Modell und wie ist das mit der Version von dem Modell und ich sag jetzt mal,
Ja, das kommt noch dazu.
Das, was wir tun, verändert sich sehr stark.
Hmm. Hmm. Nope.
Wir arbeiten auf einmal mehr, und das hat man ja schon bei der Automatisierung und Hyperautomatisierung, wo ich ja sehr viel unterwegs bin auch, wir arbeiten nicht mehr an, daran ein Problem zu lösen, sondern wir generalisieren abstrahierende Probleme und lösen die einmal für vieles. Eigentlich auch spannend, anders spannend, unkonkreter, ne? So, das ist ja irgendwie, man geht so zwei Etagen höher und mehr Überblick und sagt jetzt, hm, wir müssen das allgemeiner lösen.
Ich weiß nicht, der Grundsatz von jedem Programmierer, also der irgendwas bauen will, dass da noch zehn andere Feature-Anfragen genau auch mitbedient werden können.
Ja, natürlich, wir bauen jetzt gerade die ultimative Abstraktionsschicht, aber wir bauen sie nicht im Programm, sondern außen drumherum. mit maximaler Komplexität. Yay. Ja, die KI-Komplexität bekommst du ja nie unter 100. So, was ist hier mein tolles Memory?
Echt? Nein. Anscheinend ein anderes wie du. Ich mache nur was mit Internet.
Nicht Memory, mein Wertungskartenspiel. Der Eisberg. Kennst du nicht? Kennst du kein Planning-Poker? Daniel, du... Also... So, ich bin natürlich hier perfekt vorbereitet, ja, für jeder Zeitplanning-Programm.
Nachhilfe im Planning Poker.
Ähm... Warte mal, ich muss mir mal kurz ein Set hier irgendwie raussammeln.
Aber du hast es, das ist gut. Hm.
Ich habe das natürlich Ewigkeiten nicht mehr benutzt, ja. Ja, wir hatten auch, ähm, ja, für unser Team, als wir noch im Ruge sitzen haben und so, ähm... haben wir halt entsprechend auch auch set gehabt also wichtigste karte ja kaffee kaffee vielleicht passt die karte auch besser zur kai die für die leute die uns nicht schauen die eierlegende wollmilchsau ja unendlich
Die kenne ich. Also Kaffee, Fibonacci-Zahlen. Die erlegende Rollmix-Song kenne ich nicht, aber geil.
So, dann hier der Bahnhof für alle, die mit der Bahn reisen. Ich habe keinen Plan und ich weiß nicht, ob der zukommt.
Also ich muss sagen, wir hatten immer so im Planning Poker langweilige Karten, wo Zahlen draufstanden.
Ach so, ja, ich finde spannende Karten schön.
Ja. Mhm.
Ja, den Eisberg, die 100. Das ist Mammut, die 40. Ja, dann wird es haben, die 20 ist nur noch der Stierkampf. Ja, 13, wir finden das Feuer mal kurz neu.
Aber der hält die Hand übers Feuer, der verbrennt sich die Pfoten, also das ist ja auch dumm. Okay.
Ja, ja, das, also es ist schon ein heißes Problem hier. Ja, das, so Feuer machen und so, das ist ja nicht so einfach. So, bei 8 kommen wir auch irgendwie ins Schwitzen, also wir arbeiten im Sommer. Ja, 5, so, mal kurz rüber springen. Drei keine Raketenwissenschaft. Ich frage mich, wo denn die Raketenwissenschaft ist. Habe ich mich immer gefragt, warum die drei keine Raketenwissenschaft ist. Ist dann die fünf schon Raketenwissenschaft?
Ja, Kettenwissenschaft fängt bei 5 dann an, genau. Ja.
Ja, okay. Zwei Peanuts. Und die eins Baby leicht. Und die null machen wir im Schlaf. So.
Also ich habe das Gefühl, dass die Scrum Master mir zugetraut haben, dass ich Zahlen beurteilen kann. Der musste sein. Aber finde ich interessant mit dem Bildchen da drauf. Kannte ich noch nicht.
Ich fand es halt ganz schön, das macht das halt für Menschen, die nicht häufig oder noch nicht häufig im agilen Kontext waren und jetzt irgendwie Komplexität schätzen sollen, was ja eh sehr komplex ist zu erklären, dass man jetzt Komplexität schätzt und nicht Zeit, weil ja jeder irgendwie oder viele immer noch mit Zeiten arbeiten und erst mal verstehen müssen, was ist denn Komplexität eigentlich, warum schätze ich jetzt Komplexität, macht das natürlich bildlicher und einfacher. Und ich fand auch immer so Regeln unsinnig zu sagen, ja, also 13 ist ja das höchste, was man in einem Sprint machen kann, wenn es jetzt 20 geschätzt wird, dann müssen wir das splitten.
Mhm. Ja, das ist doch so individuell. Also, je nach Team oder Unternehmen oder Kontext, wo du bist, also wir schweifen gerade voll ab, aber geiles Thema, ist das sowas von unterschiedliches. Es gibt Teams, die ballern, also die Punkte sind ja nicht vergleichbar. Das ist keine geeichte Messgröße zwischen Teams zu vergleichen. Heißt, ein Team schätzt zum Beispiel größere Sachen einfach mit alles, was wir in einem Sprint oder eine Sache, die wir in einem Sprint mit ein oder zwei Personen fertig kriegen, 20. Hatte ich zum Beispiel auch. Da gab es Referenz-Sachen zu, nur Watt 20, so die Größe, wo wir sagen, das ist groß genug, dass wir es gerade so in einem Spind mit zwei Leuten schaffen.
Ja, genau.
Anderes Team, ja, oh mein Gott, bei acht, puh, das wird aber schon schwer, wenn wir das in zwei Dinge unterkriegen sollen. Wo du sagst, okay, ganz anders gemessen, sagt halt auch nichts aus.
Eigentlich ist ja die Velocity, musst du die für das Team, das es jetzt gibt, ohne Veränderungen über Wochen aufstellen, damit du eine Vergleichbarkeit oder eine Prognose hast, wie viel dieses Team in der Zusammensetzung schätzungsweise in einem durchschnittlichen Sprint ohne Urlaube, ohne dieses und jene Abweichung schaffen könnte.
Und schon rechnest du Komplexität wieder auf Zeit um. Und das funktioniert nicht. Die Diskussion hatte ich schon mal. Es tut mir leid. Die Scrum Masterin, da hatte ich letztens noch Kontakt, die kann sich immer noch an mich erinnern.
Ja, ja, so, das ist, ich sag ja nur, was dieser Wert dann am Tagesende, ja, es ist dann eine Prognose mit wie, eine Prognose, ja, keine, so, was denn unter diesen Idealbedingungen, wenn das Team sich nicht verändert, wenn niemand krank wird, wenn niemand Urlaub macht, wenn, so, dann bis, also erreicht werden könnte könnte und dann landet man ganz schnell bei No Estimations.
Also ich mag es auch, die Planning-Poker. Ich bin definitiv dafür, weil das dafür hilft, abzustimmen und einfach so Unklarheiten. Also der eine schätzt 20, der andere 3. Warum?
Ja, genau. Dafür ist das mega gut. Ja. Ja.
Ja, für alles andere. Leider passiert dann immer wieder, dass solche Sachen in Velocity umgerechnet werden auf Zeit und das ist falsch, weil das Beispiel ist immer, die Komplexität, eine Wand zu streichen, hängt nicht davon ab, ob es 3 Meter, 5 Meter oder 20 Meter sind. Aber jeder Handwerker wird ein anderes Angebot schreiben, wenn er weiß, ob er 3 Meter, 5 Meter oder 20 Meter streichen muss. Auch wenn er jedes Mal den Azubi schicken kann, weil der das schafft. Also kann ich nicht, also kann es auch, genauso ist es in der IT auch. Es gibt Aufgaben, die sind von der Komplexität nicht hoch. Du musst halt nur von 500 Klassen im Projekt 200 anfassen. Das ist keine hohe Komplexität.
Ja, und jedes Mal ein Buchstaben ändern oder drei Buchstaben ändern oder so.
Genau.
So, und, ähm,
Gleiches Beispiel, nur zwei Klassen anpassen, wäre für mich die gleiche Zahl. ne, gleiche Komplexität, würde ich beides sagen, kriegt beides mal jemand hin, der seit zwei Wochen im Projekt ist, aber der eine braucht zwei Sprints dafür, die zwei Wochen gehen und der andere müsste morgen fertig sein, weil das willst du zwei Klassen lang lange anpassen, ne?
Ja, und dann kommen Scrum Master um die Ecke oder auch POs oder so, die sagen, ah ja, das müssen wir aber auch reinrechnen. Die Wiederholung erhöht die Komplexität. So, lass uns schnell weg davon, weil mein Cloud Code macht nämlich was ganz Spannendes.
Ich kann es nicht mehr mit dem...
Das spuckt immer random Zeitschätzungen aus. Das sagt dann, ja, hier für den Plan, ich brauche da, also das dauert jetzt vier Tage, das umzusetzen. Halbe Stunde später ist es fertig. Also, so viel zur Schätzung von Aufgaben. Die KI kann das auch nicht abschätzen.
Echt nicht? Also ich habe gute Erfahrungen damit gemacht. Ich habe jetzt... Achso, wie lange sie selbst braucht.
Ja, aber sie, also nicht für wie lange braucht sie selbst.
Achso. Ne. Hm?
Also nicht, dass ich nach einer Schätzung fragen würde, die postet die Schätzung in Zeit selbstständig daraus manchmal, ohne dass ich danach frage, ohne dass ich es haben will. Und dann sind das so Werte, wo ich mir so denke, Freunde, das ist doch, das ist wirklich erfunden, weil in einer halben Stunde bist du mit, oder meinetwegen auch in einer Stunde, bist du mit diesem Plan durch, wo du jetzt sagst, der dauert Tage.
Ich habe genau das Gegenteil erlebt. Ich habe...
Ja, der dauert vielleicht Tage, wenn ein Mensch das macht, aber nicht, wenn du das machst. Also wenn du schätzt, dann schätzt du auch für dich selber. Du sollst ja nicht für mich schätzen. Dann hätte ich ja gesagt, oh, gib mir eine Schätzung, wenn ich diese Aufgabe umsetzen muss. Ich habe keine Token mehr.
Für ein Angebot, also neuer Kunde, ganz viel Dokumentation bekommen, habe mich hingesetzt und ich glaube einen Dreivierteltag oder einen Tag lang da wirklich Sachen rumgeschrieben und also klassisch gemacht.
Ja.
Alles vorbereitet, habe dann die Excel-Schätzung rausgenommen, aber alle anderen Grundlagen dargelassen. Ich habe gesagt, hier KI, das sind die Grundlagen, mach mir mal einen Projektplan, eine Schätzung, das ist der Kunde, in der Phase sind wir. Ich möchte gerne so Best- und Worst-Case-Schätzungen mit Medianen haben, mach mir mal fertig. Und der Witz war, es war eine Differenz, ich glaube, von drei PT, also ich war am Ende bei 75 PT und die war drei PT drüber oder so. Wo ich sage so, scheiße, jetzt habe ich den ganzen Tag gearbeitet und die hat also 30 Minuten fertig gemacht.
Ja, genau. Also ich sage ja, menschliche Zeiten schätzen, da bin ich gar nicht, aber ich verstehe halt nicht, warum es jetzt die eigenen Zeiten so random, warum stehen da, also.
Ich habe sie noch nie gefragt, wie lange sie braucht.
Ich auch nicht.
Bin gerade am Überlegen. Warum nicht?
Ich sage nur manchmal so genervt, ja jetzt mach mal schneller oder so.
Ja.
Ja. Wenn dann die zehnte Rückfrage kommt oder das zehnte Mal, jetzt musst du aber was machen. Und ich sage, ja, das hast du beim letzten Mal auch gemacht, jetzt mach mal hin. So wie der Junior-Dev, der dann ankommt mit, ich weiß nicht mehr, wie ich committen muss, wie geht das denn? Das ist jetzt böse bei Junior-Devs, sagen wir der Praktikant.
Ja, ja. resettet. Ich bin mal gespannt. Ich frage jetzt die nächsten Male KI immer, wie lange sie braucht dafür. Ich habe vielleicht noch nie gemacht. Nicht mehr als gut. Wir mögen KI und trotzdem hassen wir sie.
Ja, musst du beim nächsten Mal erzählen, wie das dann läuft. Ich glaube, wir sind auch durch. Jetzt sind wir am Ende gar nicht so richtig frustriert. Komisch. Ja, jetzt merkt man doch, dass unsere KI-Assistenten hier sitzen.
Das wäre geil. Strand.
Hast du es nicht gelesen? Es gibt immer mehr Führungskräfte, die sich jetzt klonen, damit sie dann virtuell im Termin teilnehmen. Daniel.
Also war die Anwesenheit vorher auch schon überflüssig und es fällt gar nicht auf, dass da eine KI sitzt oder wie.
Es gibt immer mehr Führungskräfte, wo es halt entsprechend viel Content gibt. Videos, Videos, Podcasts, zufälligerweise, Texte, E-Mails, der ganze Shit und damit sind die quasi trainiert, beziehungsweise die haben dann halt ein entsprechendes System dahinter, AG-mäßig und die haben halt virtuelle Klone. wirklich zunehmend, also es gibt einen Trend dazu, zu diesen virtuellen Klonen, die auch Video können und auch in Videomeetings gehen, die dann im Prinzip teilnehmen, als würdest du selber teilnehmen.
Krass, muss ich mal ausprobieren. Hallo, ich bin der Daniel. Ich nehme auch Podcasts rein.
Und auch sehr ähnlich zu dir antworten. Also ich sage jetzt mal, für das normale Labertaschenmeeting ausreichend. Gut. Gut. Ich habe es ja schon ausprobiert, es ist gar nicht aufgefallen. Ja, so, weißt du?
Ja, wäre doch mal lustig. Man weiß nicht, wie ich im Altenheim später bespaßt werde. Da kriege ich dann einen Monitor hingestellt, dann darf ich dann so Rentner-Podcast machen. Keiner hört zu, es wird nirgendwo gesendet, aber Daniel denkt, er macht einen Podcast.
Ich habe wirklich schon mal drüber nachgedacht, gerade als jetzt so krass viele Sicherheitslücken gekommen sind, ob ich nicht so ein Daily-Format irgendwie noch raushaue. Oder ob wir nicht jede Woche zwei Stück raushauen oder so.
Machen wir. Ich arbeite nicht mehr, ich mache nur noch Podcast. Ja. Oh Mann. Dann brauchen wir nur noch so einen Song wie die Moor-Sekte.
Richtige Einstellung, Daniel. Endlich. Endlich. Jeden Tag podcasten jetzt. Das ist jetzt ein zu krasser Themenwechsel. Das machen wir nicht mehr, Daniel. Ich glaube, wir machen Schluss für diese Woche. Jetzt haben wir gar kein Thema für nächste Woche angeteasert. Das waren wir letzte Woche wieder besser mit.
Echt nicht? Oh Mann. Schnick, schnack, schnuck, was haben wir mit dem? So.
Ist egal, wir sehen uns nächste Woche zu einer wunderbaren, fantastischen neuen Folge Secrets Not Included. Wir machen jetzt noch ein bisschen Schnickschnackschunk, bis wir ein Thema gefunden haben, aber ihr könnt schon mal ausschalten. Bis dahin, macht's gut. Ciao, ciao.



