Cursus
AI voor de 11e klas: generatieve AI en agent-engineering
Bouw LLM-apps met prompts, API’s, retrieval en tools, en test ze daarna op veiligheid.
Doe de lessen op volgorde. Aan het eind kun je tokens tellen, teksten vergelijken op embedding-gelijkenis, en sampling en contextvensters uitleggen. Je kunt gestructureerde prompts schrijven en promptversies vergelijken met testgevallen. Je kunt door AI geschreven code nakijken en tests schrijven die die code moet halen. Je kunt JSON krijgen die bij een schema past, een chatbot bouwen met een kostenlimiet, en een app bouwen die uit documenten antwoordt en ze citeert. Je kunt een agent bouwen met beperkte tools en een stopregel, een app verdedigen tegen promptinjectie, een automatische testsuite bouwen, en een onderzoeksassistent uitbrengen die op bronnen steunt.
Zo gebruik je deze lessen
- Begin bij de les met Doe dit. Ga verder als je de regel onder de titel zelf kunt doen.
- Speel eerst de Spelletjes. Maak daarna de Toets. 8 van 10 goed om te halen. De Werkbladen zijn op papier. De antwoorden staan onderaan.
- Elke les bouwt voort op de les ervoor. Bewaar een testset voor elke app en voer die uit na elke wijziging.
- De codeerlessen gebruiken Python. Gebruik alleen AI-diensten die je docent goedkeurt, houd API-sleutels uit je code, stel een uitgavenlimiet in en stuur nooit persoonsgegevens naar een model.
Elke les heeft spelletjes, een toets en werkbladen.
0 van 36
Basis van LLM’s
- 1Tokens en woordenschatTel tokens en leg uit waarom ze ertoe doen.
- Verdeel tekst in tokens met een echte tokenizer.
- Vergelijk het aantal tokens tussen talen.
- Koppel tokens aan kosten en contextlimieten.
- 2Embedding-gelijkenisVergelijk teksten op embedding-gelijkenis.
- Haal embeddings op uit een model.
- Bereken de cosinusgelijkenis.
- Rangschik zinnen op betekenis, niet op gedeelde woorden.
- 3Sampling, temperatuur en contextvenstersLeg sampling, temperatuur en contextvensters uit.
- Leg het voorspellen van het volgende token uit.
- Verander de temperatuur en vergelijk de uitvoer.
- Laat zien wat er gebeurt als tekst voorbij het contextvenster gaat.
- 4Pretraining, fine-tuning en instruction tuningHoud pretraining, fine-tuning en instruction tuning uit elkaar.
- Zeg welke data elke stap gebruikt.
- Leg feedback van mensen uit.
- Zeg waarom een model een kennisgrens heeft.
Prompt-engineering
- 5Gestructureerde promptsSchrijf een gestructureerde prompt met rol, taak, regels en formaat.
- Scheid instructies van invoerdata.
- Noem het uitvoerformaat.
- Vergelijk een gestructureerde en een ongestructureerde prompt.
- 6Few-shot-voorbeeldenVerbeter de uitvoer met few-shot-voorbeelden.
- Voeg twee of drie voorbeelden toe.
- Kies voorbeelden die randgevallen dekken.
- Meet de verandering op een testset.
- 7Lengte, toon en formaatBeperk lengte, toon en formaat.
- Stel limieten voor lengte en leesniveau in.
- Zeg het model wat het moet doen als het iets niet weet.
- Controleer de uitvoer op elke beperking.
- 8Testgevallen en promptversiesSchrijf testgevallen en vergelijk promptversies.
- Schrijf twintig testinvoeren met verwachte resultaten.
- Geef twee promptversies een score.
- Houd de versie die wint.
Coderen met hulp van AI
- 9Werkende code uit een specificatieKrijg werkende code uit een duidelijke specificatie.
- Schrijf een specificatie met invoer, uitvoer en voorbeelden.
- Genereer er code uit.
- Voer die uit op de voorbeelden.
- 10Door AI geschreven codeVind bugs en risico’s in door AI geschreven code.
- Controleer randgevallen en foutafhandeling.
- Spoor verzonnen functies en bibliotheken op.
- Spoor onveilige code op, zoals geheimen in de bron.
- 11Tests die AI-code moet halenSchrijf tests die AI-code moet halen.
- Schrijf tests met pytest.
- Laat AI code schrijven die ze haalt.
- Voeg een test toe voor elke bug die je vindt.
- 12Een bug oplossen met AILos een bug op met AI en leg de oplossing uit.
- Maak een klein voorbeeld dat de bug laat zien.
- Vraag AI om oorzaken, niet alleen om een oplossing.
- Leg uit waarom de oplossing werkt.
LLM-API’s
- 13Een chatverzoek en het antwoordStuur een chatverzoek en lees het antwoord.
- Laad de API-sleutel uit de omgeving.
- Stuur een verzoek met een SDK.
- Lees het antwoord en het tokengebruik.
- 14Systeem- en gebruikersberichtenGebruik systeem- en gebruikersberichten.
- Zet regels in het systeembericht.
- Zet gebruikersinvoer in gebruikersberichten.
- Bewaar de geschiedenis van een gesprek.
- 15JSON die bij een schema pastKrijg JSON die bij een schema past.
- Definieer een JSON-schema.
- Vraag uitvoer die het volgt.
- Valideer de uitvoer en probeer opnieuw bij een fout.
- 16Chatbot met een kostenlimietBouw een chatbot met geschiedenis en een kostenlimiet.
- Bewaar de gespreksgeschiedenis.
- Knip oude berichten weg zodat ze in de context passen.
- Stop als de kostenlimiet is bereikt.
Genereren met retrieval
- 17Waarom steunen op bronnenLeg uit waarom steunen op bronnen verzonnen antwoorden vermindert.
- Vraag een model naar een document dat het nooit zag.
- Voeg het document toe en vraag opnieuw.
- Teken de pijplijn: eerst ophalen, dan genereren.
- 18Documenten in stukken splitsenSplits documenten in stukken.
- Splits op grootte met overlap.
- Splits op koppen.
- Houd de bron en de pagina bij elk stuk.
- 19Stukken die het dichtst bij een vraag liggenVind de stukken die het dichtst bij een vraag liggen.
- Maak embeddings van stukken en sla ze op.
- Haal de beste overeenkomsten voor een vraag op.
- Meet hoe vaak het juiste stuk wordt gevonden.
- 20Antwoorden uit documenten en ze citerenBouw een app die uit documenten antwoordt en ze citeert.
- Zet opgehaalde stukken in de prompt.
- Eis een citaat bij elke bewering.
- Controleer dat citaten naar echte passages wijzen.
AI-tools en agents
- 21Een model een functie laten aanroepenLaat een model een functie aanroepen.
- Beschrijf een tool met een schema.
- Voer de tool uit die het model vraagt.
- Stuur het resultaat terug naar het model.
- 22Stappen die een model kan uitvoerenSplits een taak in stappen die een model kan uitvoeren.
- Vraag het model eerst om een plan.
- Voer het plan één stap tegelijk uit.
- Controleer elke stap voordat je verdergaat.
- 23Wat een agent heeft gedaanHoud bij wat een agent heeft gedaan.
- Sla elke stap en het resultaat op.
- Vat lange geschiedenissen samen.
- Beslis wat de agent moet vergeten.
- 24Agent met beperkte tools en een stopregelBouw een agent met beperkte tools en een stopregel.
- Sta alleen veilige, alleen-lezen tools toe.
- Beperk het aantal stappen.
- Vraag een mens vóór elke actie die iets verandert.
Multimodale generatieve AI
- 25Hoe diffusiemodellen afbeeldingen makenLeg uit hoe diffusiemodellen afbeeldingen maken.
- Leg uit hoe je ruis toevoegt en weghaalt.
- Leg uit hoe tekst de afbeelding stuurt.
- Bespreek toestemming en auteursrecht voor gegenereerde afbeeldingen.
- 26Vragen over een afbeeldingStel een model vragen over een afbeelding.
- Stuur een afbeelding met een vraag.
- Krijg een gestructureerde beschrijving.
- Vind een detail dat het model fout heeft.
- 27Spraak naar tekst en tekst naar spraakZet spraak om in tekst en tekst om in spraak.
- Transcribeer een korte opname.
- Meet het percentage woordfouten.
- Genereer spraak en label die als door AI gemaakt.
- 28Prototype met twee soorten invoerBouw een prototype dat twee soorten invoer gebruikt.
- Kies twee invoeren, zoals stem en afbeelding.
- Verbind ze in één app.
- Test het met vijf gebruikers.
Betrouwbaarheid en beveiliging
- 29Antwoorden die de bronnen niet steunenSpoor antwoorden op die de bronnen niet steunen.
- Controleer elke bewering aan de bronnen.
- Gebruik een tweede modelaanroep om ongesteunde beweringen te markeren.
- Meet hoe vaak antwoorden volledig gesteund zijn.
- 30PromptinjectieVerdedig een app tegen promptinjectie.
- Schrijf aanvallen die verstopt zitten in gebruikersinvoer en documenten.
- Scheid vertrouwde instructies van onvertrouwde tekst.
- Beperk welke tools een aanval kan bereiken.
- 31Scores met rubrieken en testsetsGeef uitvoer scores met rubrieken en testsets.
- Schrijf een beoordelingsrubriek.
- Geef scores met de hand en met een model.
- Kijk hoe vaak ze het eens zijn.
- 32Automatische testsuiteBouw een automatische testsuite voor een LLM-app.
- Dek nauwkeurigheid, formaat, veiligheid en kosten.
- Voer hem uit met één opdracht.
- Laat de build falen als de scores dalen.
AI-productstudio
- 33Gebruikers, functies en succesmatenSchrijf de gebruikers, de functies en de succesmaten.
- Kies een verzameling goedgekeurde onderzoeksdocumenten.
- Schrijf de gebruikers en hun vragen.
- Stel doelen voor nauwkeurigheid, citaten en kosten.
- 34Retrieval, antwoorden en citatenBouw retrieval, antwoorden en citaten.
- Indexeer de documenten.
- Antwoord met citaten.
- Voer de testsuite uit.
- 35Zeggen dat je het niet weetLaat de app zeggen dat hij het niet weet als het bewijs ontbreekt.
- Merk op wanneer retrieval niets bruikbaars vindt.
- Antwoord «De bronnen zeggen het niet» in plaats van te gokken.
- Test het met vragen die de documenten niet kunnen beantwoorden.
- 36Onderzoeksassistent die op bronnen steuntBreng een onderzoeksassistent uit die op bronnen steunt, en presenteer hem.
- Zet de app in voor je klas.
- Presenteer de scores voor nauwkeurigheid, steun op bronnen, beveiliging en kosten.
- Leg de grenzen uit.