Beispiellösungen zur Aufgabe: Prompt Engineering

KI Workshop – Part 2 | Dr. Julien P. Irmer

Setting

Du möchtest für die Präregistrierung schon mal ein Analyseskript vorbereiten und weißt, wie der Datensatz aussehen wird.


Datensatz

df mit N = 200 Studierenden, 4 Messzeitpunkte

Variable Beschreibung
id Personen-ID
time Messzeitpunkt (1–4)
group Bedingung (control / intervention)
prokrastination Prokrastinations-Score
self_efficacy Selbstwirksamkeit
gpa Notendurchschnitt

Hypothese

Die Intervention reduziert Prokrastination über die Zeit stärker als die Kontrollbedingung.


Aufgabenstellung

Verbessere folgenden Prompt, indem Du 4–6 der Bausteine verwendest:

„Schreibe ein R-Skript, das meine Hypothese testet.”

Die 6 Bausteine sind: Task · Context · Exemplars · Persona · Format · Tone


Musterlösungen

❌ Variante 0 – Schlechter Ausgangsprompt

Schreibe ein R-Skript, das meine Hypothese testet.

Was passiert: Das Modell erfindet Variablennamen, eine Hypothese und eine Methode. Der Code kann syntaktisch korrekt und sogar lauffähig sein — testet aber nicht das, was gemeint war. Halluzination als Lückenfüller.


Variante 1 – Wenig Statistik- und Programmierwissen

[Persona] Du bist ein Statistikassistent.

[Context] Ich habe einen Datensatz df mit N=200 Studierenden und 4 Messzeitpunkten. Variablen: id, time (1–4), group (control/intervention), prokrastination, self_efficacy, gpa. Ich schreibe gerade meine Präregistrierung und möchte ein Analyseskript vorbereiten.

[Task] Erkläre mir welche Methode ich verwenden soll und schreibe ein einfaches R-Skript das meine Hypothese testet: Die Intervention reduziert Prokrastination über die Zeit stärker als die Kontrollbedingung.

[Format] Kommentiere jeden Schritt auf Deutsch.

[Tone] Erkläre so, dass jemand ohne tiefes Statistikwissen es versteht.


Variante 2 – Viel Statistikwissen, Base-R Kenntnisse

[Persona] Du bist ein erfahrener R-Programmierer mit Kenntnissen in Längsschnittanalysen.

[Context] Ich habe einen Längsschnittdatensatz df (N=200, 4 Messzeitpunkte). Variablen: id, time (1–4), group (control/intervention), prokrastination, self_efficacy, gpa. Ich erstelle ein Präregistrierungsskript für folgende Hypothese: Die Intervention reduziert Prokrastination über die Zeit stärker als die Kontrollbedingung.

[Task] Schreibe ein R-Skript mit einem gemischten linearen Modell (lme4) das den Interaktionseffekt time × group auf prokrastination testet, mit Random Intercepts für id.

[Format] Nutze Base-R ohne Pipes. Kommentiere alle Zwischenschritte.

[Tone] Präzise und direkt.


Variante 3 – Sehr gutes Statistik- und Programmierwissen

[Persona] Du bist ein erfahrener Methodenforscher mit Expertise in gemischten linearen Modellen und R.

[Context] Ich habe einen Längsschnittdatensatz df (N=200, 4 Messzeitpunkte). Variablen: id, time (1–4), group (control/intervention), prokrastination, self_efficacy, gpa. Ich präregistriere folgende Hypothese: Die Intervention reduziert Prokrastination über die Zeit stärker als die Kontrollbedingung.

[Task] Schreibe ein kommentiertes Analyseskript mit: (1) Random-Intercept-Slope-Modell: prokrastination ~ time * group + (1 + time | id) (2) Modellvergleich mit anova() gegen Nullmodell (3) Ergebnistabelle mit broom.mixed::tidy(conf.int = TRUE) (4) Export als CSV

[Exemplar] Die Ergebnistabelle soll so aussehen: term | estimate | conf.low | conf.high | p.value

[Format] Tidyverse-Stil mit Pipes, kommentierte Zwischenschritte.

[Tone] Technisch präzise, publikationsreif.


Variante 4 – Vollständig spezifizierter Experten-Prompt

Dieser Prompt lässt dem Modell keine methodischen Entscheidungen mehr offen. Alle kritischen Punkte sind explizit vorgegeben — einschließlich der Punkte, bei denen Standardlösungen häufig scheitern.

[Persona] Du bist ein erfahrener Methodenforscher mit Expertise in gemischten linearen Modellen, Längsschnittdesigns und R. Du verwendest Base-R für Datenaufbereitung, lme4 und lmerTest für Modelle, ggplot2 für Visualisierung. Keine tidyverse-Pipes.

[Context] Datensatz df (Long-Format, N=200 Studierende, 4 Messzeitpunkte). Variablen: id (Personen-ID), time (1–4, numerisch, äquidistant), group (control/intervention), prokrastination (kontinuierlich), self_efficacy, gpa. Design: Längsschnitt-RCT mit Messwiederholung. Hypothese: Die Intervention reduziert Prokrastination über die Zeit stärker als die Kontrollbedingung (Zeit × Gruppe Interaktionseffekt).

[Task] Schreibe ein vollständiges, kommentiertes Analyseskript mit folgenden Schritten:

  1. Datenvorbereitung:

    • id als Faktor
    • group als Faktor, “control” als Referenzkategorie (relevel)
    • time numerisch belassen (lineares Wachstumsmodell, nicht als Faktor)
  2. ICC berechnen (Nullmodell): mod0 <- lmer(prokrastination ~ 1 + (1 | id), REML = TRUE) ICC = tau00 / (tau00 + sigma²) aus VarCorr()

  3. Hauptmodell (Random Intercept + Slope, REML = TRUE für finale Schätzung): mod <- lmer(prokrastination ~ time * group + (1 + time | id), REML = TRUE) Falls Konvergenzproblem: Fallback auf (1 | id) und das vermerken

  4. Hypothesentest via Likelihood-Ratio-Test (LRT) — NICHT via Type-III-ANOVA: mod_voll <- lmer(prokrastination ~ time * group + (1 | id), REML = FALSE) mod_ohne <- lmer(prokrastination ~ time + group + (1 | id), REML = FALSE) anova(mod_ohne, mod_voll) Begründung im Kommentar: LRT umgeht das Kontrastproblem bei Type-III-SS

  5. Effektgröße: MuMIn::r.squaredGLMM(mod) → marginales und konditionelles R²

  6. Ergebnistabelle mit lmerTest::summary() und konfidenzintervalle via confint()

  7. Visualisierung: Verlaufsplot mit Mittelwert ± 95%-KI pro Gruppe und Zeitpunkt (ggplot2)

[Exemplar] Ausgabe des LRT soll so aussehen: Df AIC BIC logLik deviance Chisq Chi_df Pr(>Chisq)

[Format] Base-R + lme4 + lmerTest + MuMIn + ggplot2. Keine Pipes. Jeden Schritt auf PhD-Niveau auf Deutsch kommentieren. Begründe alle methodischen Entscheidungen im Code-Kommentar.

[Tone] Technisch präzise, publikationsreif. Keine unnötigen Einleitungssätze.


Kernbotschaft

Alle vier Varianten bekommen einen syntaktisch brauchbaren Output — aber nur Variante 4 schließt die methodischen Lücken, die ohne Fachkenntnis unsichtbar bleiben: die Kodierung von time, die Überparametrisierung der Random Effects, das Kontrastproblem bei Type-III-SS, die richtige Effektgröße.

Der Unterschied liegt nicht in der KI — sondern im Domänenwissen des Nutzers.

„Wer mehr zum Thema weiß, kann den Output besser beurteilen”
— Nestler et al. (2026)