Spring til indhold
8-12 år Begynder ⏱ 30-45 minutter

Lav en chatbot i Scratch – en figur, du kan snakke med

Byg en figur, der spørger, hvad du hedder, husker dit navn og svarer på det, du skriver. Den kan endda tage dig med til månen. Du lærer variabler, hvis-ellers og at sætte tekst sammen.

🏅 Lav et diplom
Illustration af to talebobler med kode og et hjerte

En chatbot er et program, man kan skrive med. I dette projekt laver du din egen chatbot i Scratch. Den spørger, hvad du hedder, husker dit navn og svarer forskelligt, alt efter hvad du skriver. Du bestemmer selv, hvad den siger – og hvordan den har det.

Før du starter

Gå ind på scratch.mit.edu, og klik på Find på. Du kan kode uden konto og gemme projektet med Fil → Gem på din computer. Scratch kalder figurerne for sprites. Brikkerne nedenfor hedder det samme som i Scratch, når Scratch er sat til dansk.

Find på en personlighed

Tænk over, hvem din chatbot er, før du koder:

  • Hvad hedder den?
  • Hvor bor den?
  • Er den glad, sjov, genert eller meget alvorlig?
  • Hvad kan den lide, og hvad kan den ikke lide?

Gør scenen klar

  1. Slet katten: højreklik på den under scenen, og vælg slet.
  2. Klik på Vælg en sprite, og vælg Nano.
  3. Klik på Vælg en baggrund, og vælg Space. Gør det en gang til, og vælg Moon. Nu har scenen begge baggrunde.
  4. Klik på Nano, og kig på fanen Kostumer. Nano har fire kostumer: nano-a smiler, nano-b griner, nano-c jubler, og nano-d er sur.

Chatbotten siger hej

  1. Klik på fanen Kode, og byg et script til Nano med tre brikker: når denne sprite klikkes fra Hændelser, bed om [Hvad hedder du?] og vent fra Registrering og sig [Sikke et flot navn!] i 2 sekunder fra Udseende.
  2. Klik på Nano på scenen. Skriv dit navn i feltet nederst på scenen, og tryk på Enter – eller klik på fluebenet.
  3. Nu skal chatbotten bruge dit navn. Det, du skriver, bliver gemt i brikken svar. Brikken tilkobles under Operatorer sætter to stykker tekst sammen. Skift sætningen ud med sig ([Hej ] tilkobles (svar)) i 2 sekunder. Husk mellemrummet efter Hej – ellers står der “HejIda”.
  4. svar skifter, hver gang chatbotten spørger om noget nyt. Skal den huske dit navn, skal det gemmes i en variabel. Klik på Variabler og Lav en variabel, og kald den navn. Sæt brikken sæt navn til (svar) ind lige efter spørgsmålet, og brug navn i stedet for svar i tilkobles.

💡 Variablen navn bliver vist øverst til venstre på scenen. Vil du skjule den, så fjern fluebenet ud for navn under Variabler.

Chatbotten træffer et valg

  1. Lad chatbotten spørge, hvordan du har det: bed om ([Har du det godt, ] tilkobles ((navn) tilkobles [?])) og vent. Du kan lægge en tilkobles inden i en anden, når du vil sætte tre stykker tekst sammen.
  2. Træk en hvis … så … ellers fra Kontrol ind under spørgsmålet, og sæt (svar) = [ja] fra Operatorer ind i hullet. Er svaret ja, skifter Nano til nano-c og siger “Hvor dejligt!”. Ellers skifter den til nano-d og siger “Åh nej! Det er jeg ked af at høre.”
  3. Test det to gange: én gang med ja og én gang med nej. Scratch er ligeglad med store og små bogstaver, så “Ja” og “JA” tæller også som ja. Men “jep” tæller som nej, for det er ikke det samme ord.
  4. Find fejlen: Svarer du nej og klikker på Nano igen, ser den stadig sur ud, når den spørger om dit navn. Ret det ved at sætte skift kostume til nano-a ind lige under når denne sprite klikkes.

En tur til månen

Til sidst spørger chatbotten, om I skal flyve til månen. Svarer du ja, skifter baggrunden, og Nano hopper af glæde fire gange. Sæt også skift baggrund til Space øverst i scriptet, så samtalen altid starter i rummet. Sådan ser hele scriptet ud:

når denne sprite klikkes
skift baggrund til Space
skift kostume til nano-a
bed om [Hvad hedder du?] og vent
sæt navn til (svar)
sig ([Hej ] tilkobles (navn)) i 2 sekunder
bed om ([Har du det godt, ] tilkobles ((navn) tilkobles [?])) og vent
hvis <(svar) = [ja]> så
    skift kostume til nano-c
    sig [Hvor dejligt!] i 2 sekunder
ellers
    skift kostume til nano-d
    sig [Åh nej! Det er jeg ked af at høre.] i 2 sekunder
bed om [Skal vi flyve til månen?] og vent
hvis <(svar) = [ja]> så
    skift baggrund til Moon
    gentag 4 gange
        ændre y med 10
        vent 0.1 sekunder
        ændre y med -10
        vent 0.1 sekunder

Skriv 0.1 med punktum, ikke komma.

Er din chatbot kunstig intelligens?

Nej. Din chatbot følger de regler, du har givet den. Den kender kun de svar, du har kodet, og den forstår ikke, hvad ordene betyder. Den sammenligner bare teksten: Står der ja, eller står der ikke ja? Store AI-chatbots er trænet på enorme mængder tekst, så de kan svare på næsten alt. De skriver deres svar ved at gætte, hvilket ord der passer bedst som det næste – igen og igen.

💡 Lad en ven prøve din chatbot. Hvad skriver vennen, som chatbotten ikke forstår? Det er en god måde at finde nye ting at kode på.

💡 Til forældre: Scratch er gratis og kan bruges uden konto. Vil barnet gemme og dele online, skal det have en konto, og er barnet ungt, skal en forælder godkende den. Projektet er også en god anledning til at snakke om, hvad man skriver til chatbots på nettet – fx at man aldrig skriver sit fulde navn, sin adresse eller sit telefonnummer. Læs mere i Sikkerhed online – når dit barn koder.

Vil du vide mere om AI? Så læs artiklen Hvad er AI egentlig? Du kan også bygge en mini-sprogmodel, der skriver historier, eller tage forløbet Kom i gang med AI.

🧠 Udfordring – prøv selv

Lær chatbotten at huske noget mere. Lad den spørge "Hvad er din yndlingsfarve?", og gem svaret i en ny variabel, der hedder farve. Brug farven senere i samtalen, fx med "[Jeg kan også godt lide ] tilkobles (farve)". Kan du også få chatbotten til at svare noget helt særligt, hvis man skriver din egen yndlingsfarve?

Se dit kodepas →

Fluebenet gemmes kun i din browser og samler stempler i dit kodepas.

👩‍🏫 Til læreren – brug projektet i undervisningen
Fag
Dansk, Natur/teknologi
Klassetrin
3.–6. klasse
Tid
2 lektioner à 45 min
Teknologiforståelse
Digital myndiggørelse, Computationel tankegang, Digital design og designprocesser

Læringsmål

  • Eleverne kan bruge en variabel til at gemme et svar og bruge det senere i programmet.
  • Eleverne kan bruge hvis … så … ellers til at få chatbotten til at svare forskelligt.
  • Eleverne kan forklare forskellen på en chatbot, der følger faste regler, og en AI-chatbot, der er trænet på store mængder tekst.
  • Eleverne kan give deres chatbot en personlighed gennem sprog og valg af replikker.

Forberedelse og materialer

  • En computer eller tablet med browser og tastatur pr. elev eller pr. makkerpar.
  • Afprøv scratch.mit.edu på skolens netværk, og lav selv projektet én gang.
  • Eleverne kan arbejde uden konto og gemme projektet som en fil på computeren. Skal I gemme online, kan læreren søge om en Scratch-lærerkonto og oprette elevkonti uden elevernes e-mail.
  • Overvej, om I vil starte med at vise en AI-chatbot på storskærm og sammenligne den med elevernes egne chatbots til sidst. Eleverne skal ikke selv bruge AI-tjenester, der har aldersgrænser.

Forslag til forløb

  • Opvarmning (10 min): Hvor møder eleverne chatbots? Lad dem i par finde på en personlighed til deres chatbot (afsnittet "Find på en personlighed").
  • Chatbotten siger hej (20 min): Eleverne gør scenen klar, lader chatbotten spørge om navnet og gemmer det i variablen navn.
  • Chatbotten træffer et valg (20 min): Eleverne bygger hvis … så … ellers og finder og retter fejlen med det sure kostume.
  • Månen og test (20 min): Eleverne laver turen til månen og lader en makker skrive med chatbotten. Hvad forstår den ikke?
  • Opsamling (20 min): Læs afsnittet "Er din chatbot kunstig intelligens?" sammen. Tal om forskellen på regler og AI, og om hvad man skriver til chatbots på nettet.

Differentiering

  • Hvis det går hurtigt: Eleverne lader chatbotten huske en yndlingsfarve i en ny variabel (projektets udfordring), eller giver den flere mulige svar at reagere på.
  • Hvis det driller: Start med kun spørgsmålet om navnet og "sig Hej …". Hæng et færdigt script op, som eleverne kan sammenligne med.

Spørgsmål til samtale

  • Forstår jeres chatbot, hvad I skriver? Hvordan ved I det?
  • Hvad er forskellen på jeres chatbot og de AI-chatbots, voksne bruger? Hvad kan de, som jeres ikke kan – og omvendt?
  • Hvad skal man passe på med at skrive til en chatbot på nettet, og hvorfor?

Lærerarket er vejledende og skrevet af CodingKids. Se også EMU's materialer om teknologiforståelse.

Oversat og bearbejdet af CodingKids efter et projekt fra Raspberry Pi Foundation. Ændret: dansk tekst og danske bloknavne, Nano og baggrundene hentes fra Scratch-biblioteket i stedet for et startprojekt, spørgsmålet bruger navnet med spørgsmålstegn, og et afsnit om forskellen på chatbots og AI er tilføjet. Original: Chatbot. Denne side deles under licensen CC BY-SA 4.0.