Min helt egen lærings-chatbot

Det er lidt af et dilemma, hvorvidt jeg skal vise eleverne alt det, som ChatGPT kan, for det viser dem også tydeligt, hvordan de kan snyde med botten ved at lade den løse deres opgaver. Mange elever kender nok allerede mulighederne. Men min sindsro ville være større, hvis jeg kunne anvende en bot, som de ikke kunne snyde med. En pædagogisk chatbot, som er rettet mod læring og ikke mod at producere tekst. Fra genAI til pædAI.

Jeg har eksperimenteret lidt med openAI’s agenter (GPT’er). Her kan jeg fodre en chat med specifikke tekster fx sider fra wikipedia, om det emne vi arbejder med, og med retningslinjer for bottens adfærd. Men man skal være logget ind på openAI for at tilgå agenterne, og det må jeg ikke bede eleverne om af gode GDPR-grunde.

Men nu har jeg lavet min egen applikation, som ikke kræver login fra brugeren. Ideen er, at bygge videre på ChatGPT. Når man køber adgang til ChatGPT, får man samtidig adgang til at skrive programmer, der kan kommunikere med ChatGPT (via et API). Så man kan skrive sit eget program, der kan sende input til en GPT-model og få svar retur.

Første version af systemet kan prøves her.

Det er et velkendt problem med ChatGPT, at systemer mister fokus, og glemmer dele, som ligger længere tilbage i chatten. Det er bl.a. en konsekvens af, at attention-mekanismen bruger sekvens-embeddings, så ord (tokens), der står senere i prompt (og kontekst), får større betydning for næste output-token.

Selvom man prompter ChatGPT med grundige instruktioner i, at systemet skal fokusere på læring og ikke må skrive elevernes opgaver, så glemmer den det hurtigt. Når man prompter for at blive quizzet, glemmer den reglerne efter nogle få spørgsmål.

Min løsning er, at jeg laver min egen side med en brugergrænseflade (herover), hvor brugeren kan skrive en prompt til ChatGPT. Før hver prompt sendes til ChatGPT (gpt-4o-mini), klistrer jeg en system-prompt sammen med brugerens prompt, uden at brugeren ser det fx:

Rolle: Du er en biologi-lærer i dansk gymnasium stx gennem 15 år. Kontekst: Du skal være lærings-assistent for en elev. Du er interesseret i, at eleven lærer begreber, metoder og teorier i biologi. Du vil lave quizzer med eleven. Du er opmærksom på, at du ikke vil løse opgaver for eleven. Du vil ikke skrive elevens produkter. Du vil ikke skrive eksempler på svar eller afsnit fx til rapporter eller opgave-besvarelser. Du vil hjælpe med at forklare og formidle viden i biologi. Opgave: Hjælp elever med at lære biologi-faget. Du spørger ind til elevens læring, interesser og fremskridt. Format: korte svar. Tone: Venlig og tålmodig.”

Det er afgørende, at alle beskeder til og fra botten samles (fx i et array), og det hele sendes med til ChatGPT hver gang, for ellers mister systemet sammenhængen i samtalen.

En lidt mere generel pointe er, at jeg nu har en chatbot, som jeg kan customize og aligne, som jeg vil. Jeg kan manipulere med output og særligt med input.

Fx kan jeg lave en vejlednings-bot, der som input får de vejledningsspørgsmål, som vi som regel stiller til eleverne, den videnskabelige basismodel og måske læreplanen. Og så får den en instruktion om, at den skal optræde som vejleder og stille mange og bestemte spørgsmål. Alt det får eleven ikke at se, og hvis alt går vel, kan botten ikke bruges til andet end at vejlede.

Jeg kan lave en quiz-bot, som tager begreber og svar fra en liste, som ligger i en variabel. Dertil kan der være en liste over korrekt og ikke-korrekt besvarede begreber. På den måde støtter jeg systemets hukommelse. I modsætning til mange multiple-choice systemer, kan denne bot rette fritekst og kan forklare, når noget skal uddybes.

Nu mangler jeg bare at teste, om eleverne kan få chatbotten til at snyde.


Opdatering: ultimo november 2024

Nogle elever gider ikke bruge chatbotten, fordi den er tunet til ikke at besvare opgaver.

Mange elever kan ikke forstå, hvorfor de skal skrive med en chatbot, når den alligevel ikke kan give konkrete svar om kilder m.m.

Jeg har fået lavet en SRP-vejleder-chatbot. Jeg tænker på at prøve et chatrum til flere brugere, hvoraf chatbotten kun er een af stemmerne, for at øge samarbejdet mellem eleverne.

Dette indlæg blev udgivet i AI, Biologi, Informatik, Maskinlæring, Programmering. Bogmærk permalinket.