KI und Ich

Ein Blog über KI, Auswirkungen und Experimente von Karlheinz Agsteiner

Whoohoo – meine eigene kleine Eval-App (für mein RPGMaker-Plugin)

Kürzlich bin ich auf diesen Podcast über Evals gestoßen, die angeblich total wichtig sind:

https://www.youtube.com/watch?v=BsWxPI9UM4c

Warnung: Er ist langweilig. Aber auch wichtig. Denn die Kernbotschaft lautet: „Wenn du etwas mit LLMs baust, brauchst du eine strukturierte Methode, um das Verhalten des LLM zu analysieren, zu kategorisieren und auf Basis von Daten kontinuierlich zu verbessern.“ Und genau diese Kernbotschaft gilt auch für mein kleines RPGMaker-Plugin, das Events in LLM-gesteuerte Nichtspieler-Charaktere verwandelt. Da ich manchmal das Gefühl habe, dass das LLM nicht das tut, was es soll – und insbesondere, dass manche LLMs besser und andere schlechter sind, aber mir die Daten für eine fundierte Einschätzung fehlen –, musste ich mir eine kleine Eval-App schreiben.

Die App

Also habe ich ein Spezifikationsdokument erstellt, das eine Python-App beschreibt. Zunächst muss das Plugin Performance-Logs und Kommunikations-Logs schreiben. Es schreibt den gesamten Prompt und die gesamte Antwort jedes LLM-Aufrufs in eine Datei, zusammen mit Daten, mit denen man filtern kann (welches LLM, welcher Event-Name). Die App kann dir eine Performance-Übersicht zeigen, vor allem aber bietet sie einen Bildschirm, auf dem du jede Kommunikation durchgehen, den gesamten Prompt und die Antwort sehen und die LLM-Reaktion als „okay“ oder „nicht okay“ bewerten kannst – inklusive Text, um deine (negative) Bewertung zu erläutern. Auf einem weiteren Bildschirm kannst du nach LLM und NPC filtern und sehen, wie hoch der Prozentsatz an „okay“-Bewertungen für diesen NPC mit diesem LLM war – und was du dazu kommentiert hast.

Und Cursor + GPT5 haben weniger als eine Stunde und fünf „das funktioniert so nicht“-Prompts gebraucht, um mich ans Ziel zu bringen.

Screenshot der Annotierungsansicht

Und wie mir das tatsächlich geholfen hat, mein Spiel zu verbessern

Einige meiner NPCs verhalten sich leicht anders, als ich es erwartet hatte. Vor meiner App musste ich mich durch riesige Logdateien kämpfen – und so sollte sich dein Programmierhobby nicht anfühlen. Überraschenderweise (wirklich!) hat die App das komplett verändert.

Ich habe also diese Szene, in der man in eine große Höhle eines Dungeons kommt, in der ein verfallenes Haus steht. Später wird der Spieler das Haus betreten und dort einen alten Mann treffen, der sehr unzufrieden ist, aber nicht gehen will. Als kleinen Vorgeschmack darauf habe ich ein unsichtbares Event / einen NPC in der Höhle erstellt, der einfach dasitzen, sich nicht bewegen und über sein elendes Leben klagen sollte.

Der NPC tat das auch – allerdings in unerwartet geringer Häufigkeit. Keine Ahnung warum. Vielleicht war das LLM langsam.

Wie sich dank der App herausstellte, bewegte sich der NPC sehr wohl – der Prompt, der ihn beschreibt, war einfach nicht klar genug formuliert.

Screenshot eines fehlerhaft agierenden NPCs

Also ging ich in RPGMaker, änderte die Beschreibung des NPC – und voilà, der Charakter verhielt sich wie gewünscht.

Screenshot, der zeigt, dass der NPC sich nun korrekt verhält.

Mein Fazit

Evals sind immer noch langweilig. Wahrscheinlich gibt es teure Profi-Apps, die das für dich übernehmen. Aber wenn du in einer ähnlichen Situation mit deiner eigenen KI-basierten App bist – vielleicht bittest du einfach eine KI, dir eine maßgeschneiderte kleine Eval-App für deinen Zweck zu bauen.