6.1 KiB
Les 11 — Huiswerk
Seed-script aanpassen + uitbreiden + reflecteren
Vak: AI-Assisted Development
Opleiding: NOVI Hogeschool Utrecht
Deadline: Voor de volgende les (Les 12 — Tool Calling)
Inleveren: GitHub repo + AI-CHAT.md in root
Doel
Bouwt voort op de lesopdracht (eigen thema-app). Hier:
- A. Pas het seed-script aan voor jouw eigen thema (mag AI bij helpen)
- B. Voeg een extra veld toe dat een nieuwe vraag mogelijk maakt
- C. Schrijf een reflectie over wat werkt en wat niet
Niet klaar met de lesopdracht? Eerst die afmaken — daarna komt dit. De huiswerkopdracht heeft de lesopdracht-app nodig om op te bouwen.
Onderdeel A — Seed-script voor jouw thema (verplicht)
Het Polderfest seed-script is je voorbeeld. Pas het aan voor jouw eigen thema.
Stappen
- Open
seed-polderfest.tsals referentie - Pas aan voor jouw thema:
- Domein-arrays (in plaats van adjectives + nouns → wat past bij jouw thema?)
- Veld-namen + types
- Bio/beschrijving-fragmenten (de samengestelde tekst-generatie)
- Run je seed-script tegen je eigen Supabase
- Verifieer 100+ records in Table Editor
Pro tip: AI als seed-script writer
Open OpenCode (of Cursor) en typ:
Hier is het Polderfest seed-script. Pas het aan voor [mijn thema]. Mijn schema is: [paste schema] Genereer 200 records met realistisch-ogende variatie.
AI doet dit in 1-2 minuten. Daarna jij review — controle.
Eisen
- Werkende seed-script in
scripts/seed-[thema].ts - Minimaal 200 records in Supabase (was 100 voor lesopdracht — nu meer)
- Procedureel gegenereerd (niet handmatig — gebruik combinaties)
- In je README: korte uitleg hoe je 't gegenereerd hebt
Onderdeel B — Extra veld + nieuwe vraag (verplicht)
Voeg minstens 1 extra veld toe aan je schema. Iets dat een nieuwe interessante vraag mogelijk maakt.
Voorbeelden
| Bestaand veld | Extra veld | Nieuwe vraag mogelijk |
|---|---|---|
Restaurant — cuisine |
dietary_options: string[] |
"Welke veganistische opties zijn er?" |
Scriptie — year |
keywords: string[] |
"Vat scripties over AI samen" |
Festival-band — tier |
collaborations: string[] |
"Welke acts hebben samengewerkt met X?" |
Museumstuk — period |
acquisition_story: string |
"Welke kunstwerken zijn op een veiling gekocht?" |
Stappen
- Update je
schema.sqlmet het extra veld - Run de SQL in Supabase (kun je
ALTER TABLEgebruiken — niet alles opnieuw) - Update je seed-script om het nieuwe veld te vullen
- Re-seed je tabel (eerst wis bestaande records:
delete from items;) - Test in chat: stel een vraag die alleen kan dankzij het nieuwe veld
Eisen
- Nieuw veld toegevoegd aan schema
- Seed-script gevuld voor nieuwe veld
- 1 vraag aan chat die specifiek dit veld gebruikt — werkt
- Screenshot van die vraag + AI antwoord in
AI-CHAT.md
Onderdeel C — AI-CHAT.md reflectie (verplicht)
Schrijf een markdown-bestand AI-CHAT.md in je repo-root met:
Sectie 1: Mijn thema
- Wat is het thema?
- Waarom kan een gewone LLM deze vragen niet beantwoorden zonder jouw data?
- Welke velden heb je gekozen en waarom?
- Welk extra veld heb je toegevoegd (onderdeel B)?
Sectie 2: 3 leuke vragen die werken
Voor elke vraag:
- De vraag zelf
- Het antwoord van de AI (screenshot of plak-tekst)
- Waarom dit een goede demo is
Sectie 3: 1 vraag waar AI moeite mee had
- Welke vraag was het?
- Wat ging er mis (vaag antwoord, hallucinatie, foute filter)?
- Hoe heb je je system prompt aangepast om dit op te lossen?
- Werkt de vraag nu wel?
Vorm
- Max 600 woorden in totaal
- Concrete voorbeelden (geen vage reflectie)
- Mag wat informeel — geen scriptie-toon nodig
Bonus (optioneel, niet verplicht)
Iets extra's? Mag, geen extra punten maar wel leerzaam:
- Deploy op Vercel + production URL in je README
- Loading skeleton in de chat UI (terwijl AI antwoord aan het streamen is)
- Vergelijking gpt-4o-mini vs gpt-4o — beschrijf het verschil in antwoorden
- System prompt variaties — drie prompts proberen, screenshot per variant
- Themed UI — Tailwind aanpassen zodat 't past bij thema (kleuren, fonts)
Inleveren
- GitHub repo URL in Brightspace
AI-CHAT.mdin repo-root- Seed-script in
scripts/seed-[thema].ts - Updated schema in
schema.sql(met extra veld) - Screenshots ingevoegd in
AI-CHAT.md
Optioneel: Vercel deploy URL als bonus.
Beoordeling
| Criterium | Punten |
|---|---|
| A — Seed-script werkt + procedureel + 200+ records | 3 |
| B — Extra veld + werkende nieuwe vraag | 2 |
C — AI-CHAT.md aanwezig met 3 secties |
3 |
| Chat werkt end-to-end (geen broken pages) | 1 |
| Reflectie sectie C is concreet (geen fluff) | 1 |
| Totaal | 10 |
Voldoende = 6+. Bonus telt mee bij twijfelgevallen.
Tijd-indicatie
| Onderdeel | Tijd |
|---|---|
| A — Seed-script aanpassen (met AI hulp) | 30-45 min |
| B — Schema uitbreiden + nieuwe veld + vraag testen | 30 min |
| C — AI-CHAT.md schrijven met screenshots | 30-45 min |
| Totaal | ~1,5 - 2 uur |
Veelvoorkomende valkuilen
- Thema dat LLM al kent — Yelp-clone, Spotify-data. Werkt niet voor demo van data-power.
- Te weinig records — 200+ vereist, anders is variatie te klein
- Vage system prompt — "Help bij vragen" werkt slecht. Wees specifiek.
- Geen reflectie op slechte vragen — sectie C wordt vaak vergeten, terwijl daar je leercurve zit
- AI verzint feiten — system prompt versterken: "Verzin NIETS. Gebruik alleen onze data."
Tips
- Schrijf je AI-CHAT.md gaandeweg — niet aan einde. Sla goede prompts/screenshots op zodra ze werken.
- Maak de prompt-iteratie expliciet — sectie C wordt mooier als je echt 3-4 prompt-versies probeert.
- Niet bang voor AI in je workflow — laat OpenCode het seed-script schrijven. Tijdwinst is enorm.
Succes! Volgende les pakken we Tool Calling — dan kun je dezelfde demo schaalbaar maken naar 50.000 records.