Immer dort, wo ein quasi "zufällig richtig raten" immer unwahrscheinlicher wird.
- Also alles das, was nicht sehr bekannt oder verbreitet ist.
- Oder wenn die Aufgabe ein Verständnis der Materie (die Technologie oder die Domäne), hauptsächlich weil man häufig einfach nicht genug Kontext bieten kann.
- Oder bei Design-Geschichten, z.B. bei CSS klappt der erste grobe Aufbau, aber meistens muss man dann noch viel nacharbeiten, bei CSS-Fehlern ist es noch schwieriger, ganz besonders Gemini gerät dann sehr schnell ins bloße und ziellose Raten.
- Oder dann, wenn Du das Limit bist, weil Du die Aufgabe und den Kontext nicht so umfangreich beschreiben könnte, wie es die KI brauchen würde.
- Oder bei sehr großen Projekten - und für viele Kollegen sind 200.000 Zeilen Code echt wenig, viele Projekte finden sich bei weit über 1 Million Zeilen Code ein - Googles Gemini hat ein Kontextfenster von 1 Million Token.
- Oder Debugging (aktuell noch eine technische Limitierung), oder wenn komplexe übergreifende Fehler gesucht werden, oder Race Conditions, die ein tiefes abstraktes Code-Verständnis erfordern.
- Oder alles, was eine gewisse Intuition (dieses "Ach da da war doch noch XY" Gefühl) braucht, ich merke das recht häufig und nicht selten verhindert das ziemllich versteckte Fehler.
Generell hat KI große Geschwierigkeiten damit, wenn es darum geht, selber mitzudenken. Kleinigkeiten, die auf GitHub und Co. häufig vorkommen, klappen ganz gut, aber wenn Du den Kontext oder deine komplexe Business-Domäne beschreibst und dabei einen kleinen Denkfehler hattest oder etwas missverständlich beschreibst, hat KI so gut wie nie eine Chance, diesen Fehler zu erkennen, sondern rennt regelrecht blind in die falsche Richtung.
Du bist ein denkendes Wesen, das Fehler macht, dein Kollege ist ein mitdenkendes Wesen, das Denkfehler erkennen kann, von denen Du nichts weißt. KI taugt ganz gut als Rubberduck, aber wenn es um echte Diskussionen über einen technischen Zusammenhang geht, dann geraten die meisten KIs (ChatGPT, Gemini, Claude) sehr schnell ins bloße Zustimmen/Bestätigen/Wiederholen von dem, was ich geschrieben habe.
So bringt es z.B. nur wenig, wenn Du ein von dir sorgfältig erarbeitetes und komplexes Stück Code an deine KI gibst und um ein Review bittest - meistens kommt Lobhudelei zurück und kaum bis keine kritische Auseinandersetzung und wenn Du nach kritischer Auseinandersetzung fragst, dann kommen so 0815-Antworten wie "In Methode X könnte Y ein Performance-Problem sein" - bloß dass diese Methode X im System nur selten aufgerufen wird, das es irrelevant macht. Oder "Diese private Methode nutzt ein komplexes Feature, das ist schwer zu verstehen" - bloß dass die ganze Klasse einzig und allein dafür da ist, eben dieses komplexe Feature zu kapseln, damit die Komplexität nicht zum Problem wird.
In solchen Fällen kann man trotzdem bekommen, was man will, muss dafür aber wissen, wie man die KI mit gezielten Formulierungen dazu bringt, nicht nur zuzustimmen, sondern quasi "aus Versehen" die Probleme zu finden. Also z.B. wenn Du gezielt Informationen weg lässt oder verfälschst und dann beobachtest, welche Probleme die KI nennt und welche erwarteten Probleme nicht.
Ein Themen-Komplex, den KI z.B. kaum bis gar nicht kann, sind Software-Architekturen. Hier ist meistens wichtig, dass man die Domäne tiefgreifend verstanden und ein Gefühl dafür entwickelt hat, damit man auch weitreichend in die Zukunft "schauen" kann. Das kann KI kaum bis gar nicht, die Modelle antworten meistens mit Lehrbuch-Architekturen, dabei sind die nur selten eine wirklich gute Wahl, meistens braucht man eher eine Abwandlung oder Kombination.
Aber die mit Abstand wichtigste Grenze: Du selbst.
KI braucht viel Kontext, aber nicht irgendwie, sondern in einer Form, die gut verarbeitet werden kann. Ich würde behaupten, dass ich das ganz gut kann, aber wenn ich das mit einem Kollegen vergleiche, sind seine Ergebnisse mit Claude Code immer deutlich besser als meine - irgendwas macht er anders, wir wissen es beide nicht. ^^
Es kann helfen, erst einen Prompt zu schreiben und von einer KI überarbeiten zu lassen und das dann als ersten (!) Prompt zu verwenden.
Außerdem kann es helfen, um Fragen zu fragen ("Bevor Du anfängst, hast Du noch Fragen?"), das kann auch dir helfen, die Aufgabe besser zu formulieren, aber frag nicht immer nach Fragen, denn viele KI-Modelle werden ausnahmslos immer Fragen haben.
Und es kann helfen, gelegentlich den ganzen Chat neu anzufangen. KI hat Schwierigkeiten mit langen Chats, Gemini hat zwar ein riesiges Kontextfenster, aber kurze Chats werden trotzdem besser verarbeitet.
Das alles kostet aber auch viel Zeit, bei vielen Aufgaben lohnt es sich oft gar nicht, die KI zu fragen (höchstens als Rubberduck), da der Chat mit der KI, Ausarbeitung der Aufgabe, Erklärung von Rückfragen oder Überarbeitung des Ergebnisses häufig mehr Arbeit macht, als wenn Du es direkt selber gemacht hättest.
Wichtig ist, den Mittelweg zu finden und gezielt zu steuern, was die KI tut, was nicht und wann Du aufhörst. Leider machen viele KI-Modelle (ganz besonders schlimm ist Gemini, Claude Opus ist dabei mMn. am besten) häufig viel mehr, als Du eigentlich wolltest und meistens völlig falsch. Oder sie überarbeiten Teile des Codes ungefragt, weil das auf GitHub und Co üblicher ist. Gemini hört damit nicht mal auf, wenn ich explizit sage, dass er damit aufhören soll.