Prompte ChatGPT med Google Sheets

På 2023 sommerskolen på Bork Havn Efterskole, brugt jeg det meste af tiden på at prompte ChatGPT. Selv om chatbotter bliver nemmere at prompte og kan begynde at gætte på, hvad det er brugeren ønsker, giver en chatbot mest værdi, når man prompter den med konkrete og specifikke oplysninger.

Inspireret af et indlæg i FB-gruppen “ChatGPT for Teachers” af Jason Coale, fik jeg lavet et Google Sheets (regneark), som kan generere en fyldig prompt ud fra indtastede værdier. Det kan f.eks. anvendes til at give eleverne feedback på skriftlige arbejde:

  1. Jeg vurderer elevens skriftlige aflevering med score mellem 0 og 4 i nogle kategorier. F.eks:
Afbildning af data
Typen af diagram er velegnet2
Der er titel på diagrammet og titel samt enheder på akserne0
Skrevet en kommentar til diagrammer3
Argumenter for at data-punkter følger en matematisk model3

2. Hver score-værdi er forbundet med en række stikord:

0mangler i besvarelsen.
1ikke godkendt, utilstrækkeligt.
2mangelfuldt, plads til forbedring.
3fint, godt, tilstrækkeligt, nogen grad af forståelse.
4meget godt, godt arbejde, høj grad af forståelse.

3. Jeg har programmeret Google Sheets til at generere en prompt, som er sammensat af faste vendinger, forklaringer af scorerne i 0 til 4-skalaen og af de scorer, som jeg har givet eleven. En del af programmet ser ud som:

function generatePrompt() {
   var report = 'Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med "Hej ' + studentName + '". Skriv klart og med få tillægsord. Lad være med at skrive "Kære" og "Med venlig hilsen". Vær opmærksom på følgende scorer: '
  for (var i = 0; i < 5; i++) {
    report += i;
    report += ' = ';
    report += sheet.getRange('E' + (74+i)).getValue();
    report += ' ';
  }
  
 report += 'Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger.'


  for (var i = 0; i < categories.length; i++) {
    for (var j = subcategoriesStartRow[i]; j <= subcategoriesEndRow[i]; j++) {
      var subcategory = sheet.getRange('C' + j).getValue();
      var rating = '';
      if (sheet.getRange('J' + j).getValue() === false) {
       rating = sheet.getRange('K' + j).getValue();
       report += ' I kategorien ' + categories[i] + subcategory + ', har eleven scoret ' + rating + '.';
      }
    }
  }
  return report;

4. Programmet genererer en prompt. Som det ses nedenfor er denne ret lang, og indeholder bl.a. mine vurderinger af elevens arbejde. Det vil tage en del tid at sætte sådan en prompt sammen for hver elev, hvis jeg ikke havde programmet. Prompten:

Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med “Hej Søren”. Skriv klart og med få tillægsord. Lad være med at skrive “Kære” og “Med venlig hilsen”. Vær opmærksom på følgende scorer: 0 = mangler i besvarelsen. 1 = ikke godkendt, utilstrækkeligt. 2 = mangelfuldt, plads til forbedring. 3 = fint, godt, tilstrækkeligt, nogen grad af forståelse. 4 = meget godt, godt arbejde, høj grad af forståelse. Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger. I kategorien Afbildning af data: Typen af diagram er velegnet, har eleven scoret 2. I kategorien Afbildning af data: Der er titel på diagrammet og titel samt enheder på akserne, har eleven scoret 0. I kategorien Afbildning af data: Skrevet en kommentar til diagrammer, har eleven scoret 3. I kategorien Afbildning af data: Argumenter for at data-punkter følger en matematisk model , har eleven scoret 3.

5. Prompten gives til chatbot fx ChatGPT. Resultatet bliver et sammenskrevet feedback til eleven og kan blive som følger:

Hej Søren,

Godt arbejde med at anvende velegnede diagramtyper. Dog er det vigtigt at inkludere titel på diagrammet og enheder på akserne næste gang. Din kommentar til diagrammerne viser forståelse. Flot argumentation for, at data-punkter følger en matematisk model.

Når du præsenterer beregninger, sørg for at inkludere forklarende tekst og brug enheder på alle tal. Konklusionen på dine beregninger viser forståelse, og du har fint afrundet resultatet med hensyntagen til betydende cifre.

Godt arbejde med opgaven, Søren! Fortsæt den gode indsats.

Mvh,
Læreren

Nogle gange skriver ChatGPT de tal ind, som jeg har vurderet eleven til, selv om jeg udtrykkeligt har bedt ChatGPT om IKKE at skrive tal i svaret. Tal kunne evt. undgås mere konsekvent ved at bruge en bogstav-skala (E til A) i stedet for tal.

Eksemplet viser metoden i at have en masse præfabrikerede stikord og sætninger, som kan udvælges fra en tabel og skrives sammen til en mere præcis prompt: Chatbotten omskriver mine talvurderinger til almindeligt sprog, som eleven måske bedre forstår.

Flere spørgsmål melder sig:

  • Hvad får eleven ud af den feedback, som ChatGPT har skrevet? Får eleven samme, mere eller mindre ud af ChatGPT-feedbacken sammenlignet med den feedback jeg selv ville have skrevet?
  • Feedback’en er mest summativ og forklarer ikke eleven så klart, hvad vedkommende skal gøre for at forbedre sin præstation -kan forslag til forbedringer eller links tilføjes ud for hver kategori og integreres i feedbacken?
  • Kan der integreres fokuspunkter og progression i metoden?
  • Sparer jeg tid ved at lade ChatGPT skrive feedbacken, eller bruger jeg lige så meget (eller mere) tid ved at nedskrive mine tal-vurderinger, generere prompten, få svaret, læse det igennem og kopiere svaret til eleven?

Selv om metoden måske ikke er velegnet til elev-feedback, kan den måske bruges til andre formål. På sigt kan en chatbot måske læse elevens besvarelse og give vurderingerne i tal, som derefter kan omskrives til en sammenhængende feedback.

Dette indlæg blev udgivet i Maskinlæring, Programmering, Skriftlighed. Bogmærk permalinket.