Jons utviklerhjørne – Pedagogisk KI-chatbot

Pedagogisk KI-chatbot

  • React
  • Node.js
  • Express
  • MongoDB
  • Claude API
  • SCSS

En pedagogisk KI-chatbot bygget som bachelorprosjekt, med støtte for fritekst og ferdige promptforslag.

Prosjektoversikt

Figur 1: Den siste versjonen av PAI chatbot ved brukertesting og innlevering av bachelorprosjekt.

«Pedagogical Artificial Intelligence», forkortet PAI eller PAI chatbot, er en KI-chatbot utviklet for å utforske hvordan KI-verktøy kan brukes til hjelp for læring. Denne er inspirert av eksisterende markedsløsninger, med funksjonalitet i senter, og har en pedagogisk vri både med tanke på systeminstruksjoner og valgte elementer på nettapplikasjonen. Dette MERN-stack prosjektet har en tosidig tilknytning til backend-serveren, da den både håndterer en standard MongoDB-tilkobling for databaselagring, og også en Anthropic API-tilknytning for å benytte seg av Anthropics «Claude Sonnet»-modell. Denne er laget med pedagogikk, brukertesting og akademisk forskning i tankene. Oppdragsgiveren for dette prosjektet var HCAI-labben ved NTNU i Gjøviks Institutt for design, som ønsket å utforske KI-assistenter for studenter.

Prosjektets kodearkiv: github.com/Falkebr/pai-chatbot

Hvordan ble det laget

Bachelorgruppe 16 ønsket å utforme et verktøy på bakgrunn av brukerinnsikt fra en relevant gruppe, så anonyme prototypintervjuer ble utført på NTNU i Gjøviks studenter innenfor kodebaserte fag (i vårt tilfelle ble det webutvikling, cybersikkerhet og informasjonssikkerhet). Ønsket om et verktøy der funksjonalitet og det viktigste står i senter ble funnet ved hjelp av sorterte intervjudata på Figma. Dette ble sortert via MoSCoW-metoden, og gruppen implementerte «Must have»-funksjonene og de fleste av «Should have»-funksjonene.

Figur 2: Den valgte Figma-prototypen for å designe PAI chatbot etter, her prototypen for lys modus.
Figur 3: En tidlig versjon av KI-verktøyet PAI-chatbot, der tekst ennå strekker seg over hele siden og de forhåndslagde «prompt»-ene ennå er hentet fra en liste og / eller basert på enkel logikk (kontra å genereres fra kontekst).

Det viste seg at brukerne stort sett ønsket seg noe som eksiterende kommersielle KI-løsninger av den grunn (der samtalen / samtaleloggen og inntektsfelt er i senter). Grundig Figma-prototyping der gruppens interaksjonsdesignmedlem tok hovedansvar ble utført, og en visuell prototyp for login og samtaleside ble laget (både i lys- og mørk modus), og etter avstemming landet vi på litt varme, «pedagogiske» farger for designet. Dette ble så implementert av webutviklerne i VS Code, og ryddig oppsatt ved hjelp av «commits» og «pull requests» via VS Code / GitHub. Etter hovedfunksjonaliteten var satt opp som et MERN-stack prosjekt som brukte et lokalt Ollama-program ble det gradvis iterert, først med såkalte «prompt suggestions», som er ferdiglagde «prompts» brukerne kan trykke på for forhåpentligvis å redusere kognitiv belastning og interaksjonskostnad, som teoretisk sett kan være godt for læring. Etterhvert som løsningen måtte skaleres for flere brukere, mer praktisk oppsett og bedre KI-modeller, gikk gruppen over til å bruke Anthropics «Claude Sonnet»-modell (tidligere hadde vi kjørt diverse modeller som var tilgjengelige i Ollama, blant annet Qwen). Videre ble designet forbedret, funksjonalitetene finpusset, og nettsiden ble mer responsiv og ryddig med tanke på chat-formattering.

Figur 4: En utgave av KI-verktøyet PAI chatbot under utvikling, fra noen uker før brukertesting. Denne er substansielt forbedret og ligner mye mer på Figma-prototypen. Dette eksempelet viser også lys modus. Det var framdeles litt forbedring å gjøre med tanke på layout, chat og listehåndtering på dette punktet.

Refleksjoner

Dette prosjektet har latt meg forbedre ferdighetene mine med praktisk brukertesting og akademisk forskning, i tillegg til å være første gang jeg kobler opp KI-modeller til en nettapplikasjon, noe som er svært i vinden for tiden, og sannsynligvis kunnskap man får bruk for igjen. Det har også vist meg fordelen av å jobbe i en gruppe med ulike styrker, som med godt samarbeid og koordinering får fram disse styrkene der det trengs.

Fremtidige planer

Selv om PAI-chatbotten har blitt mye jobbet med gjennom semesteret er det fremdeles noen småting man kan forbedre:

  • Forbedre det enkle autentikasjonssystemet som er greit nok til brukertesting, men ikke sikkert nok til å være fullverdig.
  • Passe på at alle de forhåndslagde «prompt»-ene holder seg over fritekstfeltet, og ikke blir delvis blokkert av dette.
  • Kodeblokkformatering og utskilling av kodeblokker fra øvrig tekst, for enkelere lesing og kopiering.
  • En ennå bedre systemprompt som ennå sterkere oppfordres til å holde svar og beskrivelser korte, og fjerning av de brukertestspesifikke instruksjonene for en mer allmenn bruk.

Bidragsytere