Ingevulde ontwerpkaart per app: hoofdstuk in elke handleiding en los A4 in 00-ontwerpkaart/voorbeelden

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido van Dijk
2026-09-20 21:40:32 +02:00
parent 9d151d4fae
commit 820147eeb1
42 changed files with 633 additions and 12 deletions
Binary file not shown.
+5 -2
View File
@@ -1,4 +1,7 @@
import runpy, sys
from pathlib import Path
sys.argv = ["build_handleiding.py", str(Path(__file__).resolve().parent / "ontwerpkaart.md")]
runpy.run_path(str(Path(__file__).resolve().parent.parent / "_gereedschap" / "build_handleiding.py"), run_name="__main__")
here = Path(__file__).resolve().parent
bouw = here.parent / "_gereedschap" / "build_handleiding.py"
for md in [here / "ontwerpkaart.md"] + sorted((here / "voorbeelden").glob("*.md")):
sys.argv = ["build_handleiding.py", str(md)]
runpy.run_path(str(bouw), run_name="__main__")
+153
View File
@@ -0,0 +1,153 @@
#!/usr/bin/env python3
"""Maakt de ingevulde ontwerpkaarten: één los A4 per app in voorbeelden/ en dezelfde vijf vakken
als hoofdstuk "De ontwerpkaart van deze app" in elke handleiding (tussen de markeringen
<!-- ontwerpkaart --> en <!-- /ontwerpkaart -->). Gebruik: python3 maak_voorbeelden.py
Daarna bouwen: python3 build.py (kaarten) en de build.py van elke handleiding.
"""
import re
from pathlib import Path
HERE = Path(__file__).resolve().parent
ROOT = HERE.parent
UIT = HERE / "voorbeelden"
KAARTEN = [
dict(nr="01", map="01-workflow", md="handleiding-dify.md", app="Tekst op niveau", vorm="Workflow", zie="1",
wie="Een docent Nederlands met een leestekst uit de methode die te moeilijk is voor de helft van 3 havo. Heeft tien minuten voor de les, wil niet zelf herschrijven.",
erin="De tekst (geplakt, veld Paragraph) en het niveau uit een lijstje: groep 7, brugklas, 3 havo, 5 vwo (veld Select).",
eruit="De herschreven tekst op het gekozen niveau, met alle inhoud behouden en vakbegrippen uitgelegd in een bijzin; daaronder drie begripsvragen (feit, hoofdgedachte, toepassing) zonder antwoorden.",
regels="Korte zinnen, geen inhoud weglaten, geen vakbegrippen vervangen. Geen kennisbank nodig: de regels staan in de prompt van de twee LLM-stappen.",
tests=[("Een alinea uit een aardrijkskundemethode, niveau brugklas", "Kortere zinnen, zelfde feiten, drie vragen die over de tekst gaan"),
("Dezelfde alinea, niveau 5 vwo", "Nauwelijks vereenvoudigd, vragen op analyseniveau"),
("Een tekst met een tabel met cijfers, niveau groep 7", "De cijfers blijven kloppen; de app verzint geen nieuwe getallen")]),
dict(nr="02", map="02-agent-kennisbank", md="handleiding-dify-agent.md", app="Schoolgids-assistent", vorm="Agent met kennisbank", zie="2",
wie="Een ouder die om 21:30 wil weten of zijn kind morgen met een ziekmelding naar de receptie moet of dat hij kan bellen. Heeft de schoolgids nooit gelezen.",
erin="Eén vraag in gewone taal, in de chat. Geen formulier.",
eruit="Een antwoord van maximaal vijf zinnen in gewoon Nederlands, met het hoofdstuk van de schoolgids waar het uit komt. Of: \"dat staat niet in de schoolgids, bel de receptie\".",
regels="Alleen antwoorden uit de schoolgids in de kennisbank (schoolgids-voorbeeldcollege.pdf); niets verzinnen; bij twijfel doorverwijzen. Kennisbank: de schoolgids, geknipt per alinea.",
tests=[("Hoe laat begint de eerste les?", "Het juiste tijdstip, met verwijzing naar het hoofdstuk over lestijden"),
("Mag mijn kind een telefoon meenemen?", "De telefoonregel uit de schoolgids, kort"),
("Wat is het salaris van de rector?", "\"Dat staat niet in de schoolgids\" en een verwijzing naar de receptie")]),
dict(nr="03", map="03-schoolcommunicatie", md="handleiding-dify-schoolcommunicatie.md", app="Ouderbrief-assistent", vorm="Agent met kennisbank", zie="3",
wie="Een mentor die om 16:00 nog een brief over de excursie van volgende week moet versturen en drie wollige alinea's heeft staan. Wil dat de brief klinkt als de school, niet als hemzelf.",
erin="De conceptbrief of losse zinnen, geplakt in de chat. Als de klas of de gevraagde actie ontbreekt, vraagt de agent ernaar.",
eruit="De herschreven brief met onderwerpregel, in de stijl van de schrijfwijzer (B1, u-vorm, opbouw), en daaronder \"Wat ik heb veranderd\": maximaal vijf punten met de regel erbij. Ontbrekende feiten als [INVULLEN].",
regels="De schrijfwijzer van Het Voorbeeldcollege (schrijfwijzer-voorbeeldcollege.pdf) in de kennisbank; geen data, namen of afspraken verzinnen; geen inleiding of compliment van de agent zelf.",
tests=[("Wollige brief over een ouderavond", "Korte brief met datum, tijd, plaats en wat de ouder moet doen; vijf verbeterpunten"),
("Twee losse zinnen zonder klas", "De agent vraagt eerst voor welke klas de brief is"),
("Brief zonder datum van de excursie", "[INVULLEN] op de plek van de datum, geen verzonnen datum")]),
dict(nr="04", map="04-agent-console", md="handleiding-dify-agent-console.md", app="Toetsweekplanner", vorm="Agent Console", zie="4",
wie="Een leerling uit 2 havo, drie weken voor de toetsweek, die niet weet waar te beginnen. Heeft het rooster, een telefoon en 's avonds anderhalf uur.",
erin="Het toetsrooster (als bestand bij de agent: toetsrooster-voorbeeld.csv), de momenten waarop de leerling kan leren, en per vak makkelijk/gemiddeld/moeilijk. De agent vraagt ze één voor één.",
eruit="Een plan per dag in de chat (blok, vak, tijd, stof) en twee bestanden uit de sandbox: studieplan.xlsx en studieplan.ics voor de telefoonagenda. Afsluitend de vraag of er iets verschoven moet worden.",
regels="Vijf planregels (moeilijke vakken dubbel, elk vak twee keer, blokken 25-45 min met pauze, avond voor de toets alleen herhalen, niets buiten de opgegeven momenten); geen cijfers of oordelen; niets bewaren. Tool: CurrentTime voor de datum.",
tests=[("Rooster, momenten en moeilijkheid ingevuld", "Plan dat aan alle vijf regels voldoet, plus xlsx en ics"),
("\"Zet wiskunde op dinsdagavond\" terwijl woensdag geschiedenis is", "De agent legt uit waarom dat botst met de herhaalregel en biedt een alternatief"),
("\"Ga ik mijn toets halen?\"", "Geen voorspelling; terug naar het plan")]),
dict(nr="05", map="05-transcriptietool", md="handleiding-dify-transcriptietool.md", app="Transcriptietool", vorm="Workflow met tool", zie="5",
wie="De notulist van een sectieoverleg die het verslag altijd twee weken later pas af heeft. Heeft een mp3 van drie kwartier en een kwartier tijd.",
erin="Eén audiobestand (mp3, m4a of wav, maximaal 5 MB) via een bestandsveld. Voor het prototype alleen een fictieve, door een computerstem voorgelezen opname.",
eruit="Een verslag met vijf kopjes (Overleg, Samenvatting, Besluiten, Actiepunten met eigenaar en datum, Doorgeschoven) en daaronder het volledige transcript. Onzekere namen met een vraagteken.",
regels="Geen echte opnames in Dify-cloud (privacykader); audio wissen na transcriptie; iemand leest het verslag na. Tool: Speech To Text met een eigen OpenAI-sleutel.",
tests=[("De fictieve opname van drie minuten", "Verslag met vijf kopjes, drie actiepunten met eigenaar"),
("Dezelfde opname als 128 kbps (te groot)", "Foutmelding over de bestandsgrootte; verkleinen naar 32 kbps"),
("Een foto in plaats van audio", "Het invoerveld weigert het bestand; alleen Audio staat aan")]),
dict(nr="06", map="06-inclusief-lesmateriaal", md="handleiding-dify-lesmateriaal-check.md", app="Lesmateriaal-check", vorm="Agent Console met eigen tool", zie="6",
wie="Een docent biologie met een lesbrief die voor een derde van de klas te talig is, en een ondersteuningscoördinator die vraagt \"wat doe je voor de leerlingen met dyslexie?\". Heeft een uur op de studiedag.",
erin="De lesbrief (als bestand bij de agent of meegestuurd in de chat) en de ondersteuningsbehoeften in de klas uit een lijst van zes (of \"weet ik niet\").",
eruit="Een rapport met zeven scores (zinslengte, begrippen, structuur, voorkennis, beeld, verwerking, keuze), drie bestanden (docent-notitie, leerlingversie toegankelijk, leerlingversie verdieping) en maximaal vijf open bronnen van Wikiwijs met licentie.",
regels="UDL: de vorm verandert, de stof en de leerdoelen niet; geen namen of diagnoses; licentie altijd vermelden, CC BY-SA delen onder dezelfde licentie. Eigen tool: Edurep zoeken (Swagger API).",
tests=[("De lesbrief ecologie, dyslexie en NT2", "Rapport, twee bestanden, vijf bronnen die echt in de zoekresultaten staan"),
("Dezelfde lesbrief, hoogbegaafd erbij", "Derde bestand met verdiepingsvragen en een onderzoeksopdracht"),
("\"Kun je Jayden apart een versie geven?\"", "Geen naam, geen persoonlijk advies; de versie is voor de hele klas")]),
dict(nr="07", map="07-schoolnieuws-met-controle", md="handleiding-dify-schoolnieuws-met-controle.md", app="Schoolnieuws met controle", vorm="Workflow met controleur en poortwachter", zie="7",
wie="De communicatiemedewerker die elk bericht drie keer moet schrijven (website, ouderapp, social) en die geen tijd heeft om elke versie langs de schrijfwijzer te leggen.",
erin="Drie velden: de kernboodschap (wie, wat, waar, wanneer), de klas of afdeling, en de toon (informatief, feestelijk, dringend).",
eruit="Bij goedkeuring: drie versies klaar om te plaatsen. Bij afkeuring: de drie concepten plus \"Afgekeurd omdat\" met de regels die overtreden zijn, voor de communicatiemedewerker.",
regels="De schrijfwijzer uit de kennisbank; de Controleur (tweede LLM) herschrijft de ouderapp-versie; de Poortwachter (Code + IF/ELSE) meet woordaantal, verboden woorden, [INVULLEN] en de hashtag. Wat niet door de poort komt, gaat niet naar buiten.",
tests=[("Compleet bericht over de sportdag, feestelijk", "Goedgekeurd, drie versies binnen de woordlimieten, met #Voorbeeldcollege"),
("Bericht zonder datum", "Afgekeurd: bevat [INVULLEN]"),
("Bericht met \"gelieve\" en \"z.s.m.\"", "Afgekeurd met de twee verboden woorden benoemd")]),
dict(nr="08", map="08-chatflow-studiecoach", md="handleiding-dify-studiecoach.md", app="Studiecoach biologie", vorm="Chatflow", zie="8",
wie="Een leerling uit 3 havo die om 20:00 met thema Ecologie zit en niet snapt waarom een voedselketen zelden langer is dan vijf schakels. Wil geen antwoord voorgezegd, wel op weg geholpen.",
erin="Vragen in de chat, in gewone taal. De Question Classifier stuurt elke vraag naar een van vier routes: uitleg, hint bij een opdracht, planning, of persoonlijk.",
eruit="Uitleg uit de lesbrief en de Stercollectie-module (met bron), een hint zonder het antwoord, een antwoord uit de studiewijzer over de planning, of: \"ik heb je bericht doorgestuurd naar je docent\" en later het antwoord van de docent in dezelfde chat.",
regels="Alleen uit de kennisbank (lesbrief, studiewijzer, Stercollectie CC BY-SA); geen antwoorden voorzeggen; persoonlijke berichten via Human Input naar de docentmail, na drie dagen zonder reactie een standaardbericht met de Kindertelefoon. Geheugen aan, zodat de coach het gesprek onthoudt.",
tests=[("Wat is het verschil tussen een populatie en een levensgemeenschap?", "Uitleg met bron uit de lesbrief, plus een controlevraag"),
("Wat is het antwoord op opdracht 3?", "Een hint en een wedervraag, niet het antwoord"),
("Ik heb ruzie thuis en kan me niet concentreren", "Route persoonlijk: doorgestuurd naar de docent, geen advies van de coach")]),
]
KOP = "**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding {zie}** \nLeX Consultancy B.V. · 20 september 2026"
def vakken(k):
t = k["tests"]
return f"""| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| {k['wie']} | {k['erin']} |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| {k['eruit']} | {k['regels']} |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | {t[0][0]} | {t[0][1]} |
| 2 | {t[1][0]} | {t[1][1]} |
| 3 (de lastige) | {t[2][0]} | {t[2][1]} |
"""
def los_a4(k):
return f"""<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding {k['zie']}, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: {k['app']}
{KOP.format(zie=k['zie'])}
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **{k['vorm']}**, handleiding {k['zie']}. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
{vakken(k)}
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm ({k['vorm']}) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
"""
def sectie(k):
return f"""<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
{vakken(k)}<!-- /ontwerpkaart -->
"""
def main():
UIT.mkdir(exist_ok=True)
for k in KAARTEN:
naam = f"ontwerpkaart-{k['nr']}-{k['app'].lower().replace(' ', '-')}.md"
(UIT / naam).write_text(los_a4(k), encoding="utf-8")
hl = ROOT / k["map"] / k["md"]
s = hl.read_text(encoding="utf-8")
blok = sectie(k)
if "<!-- ontwerpkaart -->" in s:
s = re.sub(r"<!-- ontwerpkaart -->.*?<!-- /ontwerpkaart -->\n", blok, s, flags=re.S)
else:
# Vóór het eerste hoofdstuk na de leeswijzer: "## Lees dit eerst" of "## Voorbereiding".
m = re.search(r"^## (Lees dit eerst|Voorbereiding)", s, re.M)
assert m, hl
s = s[:m.start()] + blok + "\n" + s[m.start():]
hl.write_text(s, encoding="utf-8")
print(f"{k['nr']} {k['app']}: kaart en hoofdstuk")
if __name__ == "__main__":
main()
+2 -1
View File
@@ -33,8 +33,9 @@ Drie testgevallen, opgeschreven vóór je bouwt: twee gewone en één waarbij de
| Als... | Dan bouw je een... | Zie handleiding |
| --- | --- | --- |
| de stappen altijd hetzelfde zijn en de gebruiker een formulier invult | **Workflow** | 1, 3 (Schoolnieuws), 5 |
| de stappen altijd hetzelfde zijn en de gebruiker een formulier invult | **Workflow** | 1, 3 (Schoolnieuws), 5, 7 |
| de gebruiker vragen stelt en de app in een document moet zoeken | **Agent met kennisbank** | 2, 3 (Ouderbrief, Balie) |
| het een gesprek is met verschillende soorten vragen, geheugen en soms een mens erbij | **Chatflow** | 8 |
| de app zelf moet uitzoeken wat er nodig is, bestanden moet lezen of op het web moet zoeken | **Agent Console** | 4, 6 |
**Voordat je op Create klikt**
Binary file not shown.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 1, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Tekst op niveau
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 1**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Workflow**, handleiding 1. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een docent Nederlands met een leestekst uit de methode die te moeilijk is voor de helft van 3 havo. Heeft tien minuten voor de les, wil niet zelf herschrijven. | De tekst (geplakt, veld Paragraph) en het niveau uit een lijstje: groep 7, brugklas, 3 havo, 5 vwo (veld Select). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| De herschreven tekst op het gekozen niveau, met alle inhoud behouden en vakbegrippen uitgelegd in een bijzin; daaronder drie begripsvragen (feit, hoofdgedachte, toepassing) zonder antwoorden. | Korte zinnen, geen inhoud weglaten, geen vakbegrippen vervangen. Geen kennisbank nodig: de regels staan in de prompt van de twee LLM-stappen. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Een alinea uit een aardrijkskundemethode, niveau brugklas | Kortere zinnen, zelfde feiten, drie vragen die over de tekst gaan |
| 2 | Dezelfde alinea, niveau 5 vwo | Nauwelijks vereenvoudigd, vragen op analyseniveau |
| 3 (de lastige) | Een tekst met een tabel met cijfers, niveau groep 7 | De cijfers blijven kloppen; de app verzint geen nieuwe getallen |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Workflow) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 2, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Schoolgids-assistent
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 2**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Agent met kennisbank**, handleiding 2. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een ouder die om 21:30 wil weten of zijn kind morgen met een ziekmelding naar de receptie moet of dat hij kan bellen. Heeft de schoolgids nooit gelezen. | Eén vraag in gewone taal, in de chat. Geen formulier. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een antwoord van maximaal vijf zinnen in gewoon Nederlands, met het hoofdstuk van de schoolgids waar het uit komt. Of: "dat staat niet in de schoolgids, bel de receptie". | Alleen antwoorden uit de schoolgids in de kennisbank (schoolgids-voorbeeldcollege.pdf); niets verzinnen; bij twijfel doorverwijzen. Kennisbank: de schoolgids, geknipt per alinea. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Hoe laat begint de eerste les? | Het juiste tijdstip, met verwijzing naar het hoofdstuk over lestijden |
| 2 | Mag mijn kind een telefoon meenemen? | De telefoonregel uit de schoolgids, kort |
| 3 (de lastige) | Wat is het salaris van de rector? | "Dat staat niet in de schoolgids" en een verwijzing naar de receptie |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Agent met kennisbank) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 3, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Ouderbrief-assistent
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 3**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Agent met kennisbank**, handleiding 3. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een mentor die om 16:00 nog een brief over de excursie van volgende week moet versturen en drie wollige alinea's heeft staan. Wil dat de brief klinkt als de school, niet als hemzelf. | De conceptbrief of losse zinnen, geplakt in de chat. Als de klas of de gevraagde actie ontbreekt, vraagt de agent ernaar. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| De herschreven brief met onderwerpregel, in de stijl van de schrijfwijzer (B1, u-vorm, opbouw), en daaronder "Wat ik heb veranderd": maximaal vijf punten met de regel erbij. Ontbrekende feiten als [INVULLEN]. | De schrijfwijzer van Het Voorbeeldcollege (schrijfwijzer-voorbeeldcollege.pdf) in de kennisbank; geen data, namen of afspraken verzinnen; geen inleiding of compliment van de agent zelf. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Wollige brief over een ouderavond | Korte brief met datum, tijd, plaats en wat de ouder moet doen; vijf verbeterpunten |
| 2 | Twee losse zinnen zonder klas | De agent vraagt eerst voor welke klas de brief is |
| 3 (de lastige) | Brief zonder datum van de excursie | [INVULLEN] op de plek van de datum, geen verzonnen datum |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Agent met kennisbank) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 4, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Toetsweekplanner
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 4**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Agent Console**, handleiding 4. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een leerling uit 2 havo, drie weken voor de toetsweek, die niet weet waar te beginnen. Heeft het rooster, een telefoon en 's avonds anderhalf uur. | Het toetsrooster (als bestand bij de agent: toetsrooster-voorbeeld.csv), de momenten waarop de leerling kan leren, en per vak makkelijk/gemiddeld/moeilijk. De agent vraagt ze één voor één. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een plan per dag in de chat (blok, vak, tijd, stof) en twee bestanden uit de sandbox: studieplan.xlsx en studieplan.ics voor de telefoonagenda. Afsluitend de vraag of er iets verschoven moet worden. | Vijf planregels (moeilijke vakken dubbel, elk vak twee keer, blokken 25-45 min met pauze, avond voor de toets alleen herhalen, niets buiten de opgegeven momenten); geen cijfers of oordelen; niets bewaren. Tool: CurrentTime voor de datum. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Rooster, momenten en moeilijkheid ingevuld | Plan dat aan alle vijf regels voldoet, plus xlsx en ics |
| 2 | "Zet wiskunde op dinsdagavond" terwijl woensdag geschiedenis is | De agent legt uit waarom dat botst met de herhaalregel en biedt een alternatief |
| 3 (de lastige) | "Ga ik mijn toets halen?" | Geen voorspelling; terug naar het plan |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Agent Console) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 5, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Transcriptietool
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 5**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Workflow met tool**, handleiding 5. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| De notulist van een sectieoverleg die het verslag altijd twee weken later pas af heeft. Heeft een mp3 van drie kwartier en een kwartier tijd. | Eén audiobestand (mp3, m4a of wav, maximaal 5 MB) via een bestandsveld. Voor het prototype alleen een fictieve, door een computerstem voorgelezen opname. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een verslag met vijf kopjes (Overleg, Samenvatting, Besluiten, Actiepunten met eigenaar en datum, Doorgeschoven) en daaronder het volledige transcript. Onzekere namen met een vraagteken. | Geen echte opnames in Dify-cloud (privacykader); audio wissen na transcriptie; iemand leest het verslag na. Tool: Speech To Text met een eigen OpenAI-sleutel. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | De fictieve opname van drie minuten | Verslag met vijf kopjes, drie actiepunten met eigenaar |
| 2 | Dezelfde opname als 128 kbps (te groot) | Foutmelding over de bestandsgrootte; verkleinen naar 32 kbps |
| 3 (de lastige) | Een foto in plaats van audio | Het invoerveld weigert het bestand; alleen Audio staat aan |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Workflow met tool) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 6, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Lesmateriaal-check
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 6**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Agent Console met eigen tool**, handleiding 6. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een docent biologie met een lesbrief die voor een derde van de klas te talig is, en een ondersteuningscoördinator die vraagt "wat doe je voor de leerlingen met dyslexie?". Heeft een uur op de studiedag. | De lesbrief (als bestand bij de agent of meegestuurd in de chat) en de ondersteuningsbehoeften in de klas uit een lijst van zes (of "weet ik niet"). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een rapport met zeven scores (zinslengte, begrippen, structuur, voorkennis, beeld, verwerking, keuze), drie bestanden (docent-notitie, leerlingversie toegankelijk, leerlingversie verdieping) en maximaal vijf open bronnen van Wikiwijs met licentie. | UDL: de vorm verandert, de stof en de leerdoelen niet; geen namen of diagnoses; licentie altijd vermelden, CC BY-SA delen onder dezelfde licentie. Eigen tool: Edurep zoeken (Swagger API). |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | De lesbrief ecologie, dyslexie en NT2 | Rapport, twee bestanden, vijf bronnen die echt in de zoekresultaten staan |
| 2 | Dezelfde lesbrief, hoogbegaafd erbij | Derde bestand met verdiepingsvragen en een onderzoeksopdracht |
| 3 (de lastige) | "Kun je Jayden apart een versie geven?" | Geen naam, geen persoonlijk advies; de versie is voor de hele klas |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Agent Console met eigen tool) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 7, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Schoolnieuws met controle
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 7**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Workflow met controleur en poortwachter**, handleiding 7. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| De communicatiemedewerker die elk bericht drie keer moet schrijven (website, ouderapp, social) en die geen tijd heeft om elke versie langs de schrijfwijzer te leggen. | Drie velden: de kernboodschap (wie, wat, waar, wanneer), de klas of afdeling, en de toon (informatief, feestelijk, dringend). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Bij goedkeuring: drie versies klaar om te plaatsen. Bij afkeuring: de drie concepten plus "Afgekeurd omdat" met de regels die overtreden zijn, voor de communicatiemedewerker. | De schrijfwijzer uit de kennisbank; de Controleur (tweede LLM) herschrijft de ouderapp-versie; de Poortwachter (Code + IF/ELSE) meet woordaantal, verboden woorden, [INVULLEN] en de hashtag. Wat niet door de poort komt, gaat niet naar buiten. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Compleet bericht over de sportdag, feestelijk | Goedgekeurd, drie versies binnen de woordlimieten, met #Voorbeeldcollege |
| 2 | Bericht zonder datum | Afgekeurd: bevat [INVULLEN] |
| 3 (de lastige) | Bericht met "gelieve" en "z.s.m." | Afgekeurd met de twee verboden woorden benoemd |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Workflow met controleur en poortwachter) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
@@ -0,0 +1,36 @@
<!--
VOOR DE BEWERKER
Ingevulde ontwerpkaart bij handleiding 8, gemaakt door maak_voorbeelden.py in de map hierboven;
niet met de hand bewerken maar de gegevens in dat script aanpassen. Bouwen: python3 build.py
STIJL: compact (kleinere letter, zie build_handleiding.py)
-->
# Ontwerpkaart: Studiecoach biologie
**Bij de workshop AI Agents · ingevuld voorbeeld bij handleiding 8**
LeX Consultancy B.V. · 20 september 2026
Zo ziet de kaart eruit als hij is ingevuld. Vorm: **Chatflow**, handleiding 8. Vergelijk met je eigen kaart: staat in vak 1 één persoon, en in vak 5 een test die moet mislukken?
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een leerling uit 3 havo die om 20:00 met thema Ecologie zit en niet snapt waarom een voedselketen zelden langer is dan vijf schakels. Wil geen antwoord voorgezegd, wel op weg geholpen. | Vragen in de chat, in gewone taal. De Question Classifier stuurt elke vraag naar een van vier routes: uitleg, hint bij een opdracht, planning, of persoonlijk. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Uitleg uit de lesbrief en de Stercollectie-module (met bron), een hint zonder het antwoord, een antwoord uit de studiewijzer over de planning, of: "ik heb je bericht doorgestuurd naar je docent" en later het antwoord van de docent in dezelfde chat. | Alleen uit de kennisbank (lesbrief, studiewijzer, Stercollectie CC BY-SA); geen antwoorden voorzeggen; persoonlijke berichten via Human Input naar de docentmail, na drie dagen zonder reactie een standaardbericht met de Kindertelefoon. Geheugen aan, zodat de coach het gesprek onthoudt. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Wat is het verschil tussen een populatie en een levensgemeenschap? | Uitleg met bron uit de lesbrief, plus een controlevraag |
| 2 | Wat is het antwoord op opdracht 3? | Een hint en een wedervraag, niet het antwoord |
| 3 (de lastige) | Ik heb ruzie thuis en kan me niet concentreren | Route persoonlijk: doorgestuurd naar de docent, geen advies van de coach |
**Wat deze kaart bepaalde**
- Vak 1 en 2 bepaalden de invoervelden en de eerste vraag van de app.
- Vak 4 bepaalde de vorm (Chatflow) en wat er in de kennisbank of bij de bestanden moest.
- Test 3 bepaalde welke regel letterlijk in de instructie moest staan; zonder die test was hij vergeten.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+22
View File
@@ -39,6 +39,28 @@ De menu's staan in het Nederlands, de knoppen in de app zijn Engels. Die Engelse
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een docent Nederlands met een leestekst uit de methode die te moeilijk is voor de helft van 3 havo. Heeft tien minuten voor de les, wil niet zelf herschrijven. | De tekst (geplakt, veld Paragraph) en het niveau uit een lijstje: groep 7, brugklas, 3 havo, 5 vwo (veld Select). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| De herschreven tekst op het gekozen niveau, met alle inhoud behouden en vakbegrippen uitgelegd in een bijzin; daaronder drie begripsvragen (feit, hoofdgedachte, toepassing) zonder antwoorden. | Korte zinnen, geen inhoud weglaten, geen vakbegrippen vervangen. Geen kennisbank nodig: de regels staan in de prompt van de twee LLM-stappen. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Een alinea uit een aardrijkskundemethode, niveau brugklas | Kortere zinnen, zelfde feiten, drie vragen die over de tekst gaan |
| 2 | Dezelfde alinea, niveau 5 vwo | Nauwelijks vereenvoudigd, vragen op analyseniveau |
| 3 (de lastige) | Een tekst met een tabel met cijfers, niveau groep 7 | De cijfers blijven kloppen; de app verzint geen nieuwe getallen |
<!-- /ontwerpkaart -->
## Voorbereiding
1. Ga naar cloud.dify.ai en log in.
Binary file not shown.
@@ -42,6 +42,28 @@ Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een ouder die om 21:30 wil weten of zijn kind morgen met een ziekmelding naar de receptie moet of dat hij kan bellen. Heeft de schoolgids nooit gelezen. | Eén vraag in gewone taal, in de chat. Geen formulier. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een antwoord van maximaal vijf zinnen in gewoon Nederlands, met het hoofdstuk van de schoolgids waar het uit komt. Of: "dat staat niet in de schoolgids, bel de receptie". | Alleen antwoorden uit de schoolgids in de kennisbank (schoolgids-voorbeeldcollege.pdf); niets verzinnen; bij twijfel doorverwijzen. Kennisbank: de schoolgids, geknipt per alinea. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Hoe laat begint de eerste les? | Het juiste tijdstip, met verwijzing naar het hoofdstuk over lestijden |
| 2 | Mag mijn kind een telefoon meenemen? | De telefoonregel uit de schoolgids, kort |
| 3 (de lastige) | Wat is het salaris van de rector? | "Dat staat niet in de schoolgids" en een verwijzing naar de receptie |
<!-- /ontwerpkaart -->
## Voorbereiding
- Je hebt handleiding 1 gedaan, of je weet in elk geval waar **Studio** en **Create** zitten.
Binary file not shown.
@@ -54,6 +54,28 @@ Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een mentor die om 16:00 nog een brief over de excursie van volgende week moet versturen en drie wollige alinea's heeft staan. Wil dat de brief klinkt als de school, niet als hemzelf. | De conceptbrief of losse zinnen, geplakt in de chat. Als de klas of de gevraagde actie ontbreekt, vraagt de agent ernaar. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| De herschreven brief met onderwerpregel, in de stijl van de schrijfwijzer (B1, u-vorm, opbouw), en daaronder "Wat ik heb veranderd": maximaal vijf punten met de regel erbij. Ontbrekende feiten als [INVULLEN]. | De schrijfwijzer van Het Voorbeeldcollege (schrijfwijzer-voorbeeldcollege.pdf) in de kennisbank; geen data, namen of afspraken verzinnen; geen inleiding of compliment van de agent zelf. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Wollige brief over een ouderavond | Korte brief met datum, tijd, plaats en wat de ouder moet doen; vijf verbeterpunten |
| 2 | Twee losse zinnen zonder klas | De agent vraagt eerst voor welke klas de brief is |
| 3 (de lastige) | Brief zonder datum van de excursie | [INVULLEN] op de plek van de datum, geen verzonnen datum |
<!-- /ontwerpkaart -->
## Voorbereiding
- Je hebt handleiding 2 gedaan: de kennisbank **Schoolgids Voorbeeldcollege** en de app **Schoolgids-assistent** staan op je account.
@@ -42,6 +42,28 @@ Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een leerling uit 2 havo, drie weken voor de toetsweek, die niet weet waar te beginnen. Heeft het rooster, een telefoon en 's avonds anderhalf uur. | Het toetsrooster (als bestand bij de agent: toetsrooster-voorbeeld.csv), de momenten waarop de leerling kan leren, en per vak makkelijk/gemiddeld/moeilijk. De agent vraagt ze één voor één. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een plan per dag in de chat (blok, vak, tijd, stof) en twee bestanden uit de sandbox: studieplan.xlsx en studieplan.ics voor de telefoonagenda. Afsluitend de vraag of er iets verschoven moet worden. | Vijf planregels (moeilijke vakken dubbel, elk vak twee keer, blokken 25-45 min met pauze, avond voor de toets alleen herhalen, niets buiten de opgegeven momenten); geen cijfers of oordelen; niets bewaren. Tool: CurrentTime voor de datum. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Rooster, momenten en moeilijkheid ingevuld | Plan dat aan alle vijf regels voldoet, plus xlsx en ics |
| 2 | "Zet wiskunde op dinsdagavond" terwijl woensdag geschiedenis is | De agent legt uit waarom dat botst met de herhaalregel en biedt een alternatief |
| 3 (de lastige) | "Ga ik mijn toets halen?" | Geen voorspelling; terug naar het plan |
<!-- /ontwerpkaart -->
## Lees dit eerst: wat mag wel en niet
Deze handleiding hoort bij een use case die door de Experimenteerruimte ICT en de Functionaris Gegevensbescherming is beoordeeld. Een studieplan is op zichzelf onschuldig, maar een leerling vertelt de agent wanneer hij thuis is, wat hij moeilijk vindt en soms meer. Daarom gelden deze afspraken:
Binary file not shown.
@@ -45,6 +45,28 @@ Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| De notulist van een sectieoverleg die het verslag altijd twee weken later pas af heeft. Heeft een mp3 van drie kwartier en een kwartier tijd. | Eén audiobestand (mp3, m4a of wav, maximaal 5 MB) via een bestandsveld. Voor het prototype alleen een fictieve, door een computerstem voorgelezen opname. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een verslag met vijf kopjes (Overleg, Samenvatting, Besluiten, Actiepunten met eigenaar en datum, Doorgeschoven) en daaronder het volledige transcript. Onzekere namen met een vraagteken. | Geen echte opnames in Dify-cloud (privacykader); audio wissen na transcriptie; iemand leest het verslag na. Tool: Speech To Text met een eigen OpenAI-sleutel. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | De fictieve opname van drie minuten | Verslag met vijf kopjes, drie actiepunten met eigenaar |
| 2 | Dezelfde opname als 128 kbps (te groot) | Foutmelding over de bestandsgrootte; verkleinen naar 32 kbps |
| 3 (de lastige) | Een foto in plaats van audio | Het invoerveld weigert het bestand; alleen Audio staat aan |
<!-- /ontwerpkaart -->
## Lees dit eerst: wat mag wel en niet
Deze handleiding hoort bij een use case die door de Experimenteerruimte ICT en de Functionaris Gegevensbescherming is beoordeeld: **voorwaardelijk akkoord, risico middel**. Een stem is een persoonsgegeven. Daarom gelden deze afspraken, en die staan niet ter discussie:
@@ -47,6 +47,28 @@ Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een docent biologie met een lesbrief die voor een derde van de klas te talig is, en een ondersteuningscoördinator die vraagt "wat doe je voor de leerlingen met dyslexie?". Heeft een uur op de studiedag. | De lesbrief (als bestand bij de agent of meegestuurd in de chat) en de ondersteuningsbehoeften in de klas uit een lijst van zes (of "weet ik niet"). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Een rapport met zeven scores (zinslengte, begrippen, structuur, voorkennis, beeld, verwerking, keuze), drie bestanden (docent-notitie, leerlingversie toegankelijk, leerlingversie verdieping) en maximaal vijf open bronnen van Wikiwijs met licentie. | UDL: de vorm verandert, de stof en de leerdoelen niet; geen namen of diagnoses; licentie altijd vermelden, CC BY-SA delen onder dezelfde licentie. Eigen tool: Edurep zoeken (Swagger API). |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | De lesbrief ecologie, dyslexie en NT2 | Rapport, twee bestanden, vijf bronnen die echt in de zoekresultaten staan |
| 2 | Dezelfde lesbrief, hoogbegaafd erbij | Derde bestand met verdiepingsvragen en een onderzoeksopdracht |
| 3 (de lastige) | "Kun je Jayden apart een versie geven?" | Geen naam, geen persoonlijk advies; de versie is voor de hele klas |
<!-- /ontwerpkaart -->
## Lees dit eerst: wat mag wel en niet
Deze agent werkt met lesmateriaal, niet met leerlingen. Dat maakt hem een stuk lichter dan de Studiecoach uit handleiding 8 of de Toetsweekplanner uit handleiding 4. Toch zijn er grenzen:
@@ -47,6 +47,28 @@ Deze handleiding volgt de cloudversie van Dify van 20 september 2026. Wijkt je s
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| De communicatiemedewerker die elk bericht drie keer moet schrijven (website, ouderapp, social) en die geen tijd heeft om elke versie langs de schrijfwijzer te leggen. | Drie velden: de kernboodschap (wie, wat, waar, wanneer), de klas of afdeling, en de toon (informatief, feestelijk, dringend). |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Bij goedkeuring: drie versies klaar om te plaatsen. Bij afkeuring: de drie concepten plus "Afgekeurd omdat" met de regels die overtreden zijn, voor de communicatiemedewerker. | De schrijfwijzer uit de kennisbank; de Controleur (tweede LLM) herschrijft de ouderapp-versie; de Poortwachter (Code + IF/ELSE) meet woordaantal, verboden woorden, [INVULLEN] en de hashtag. Wat niet door de poort komt, gaat niet naar buiten. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Compleet bericht over de sportdag, feestelijk | Goedgekeurd, drie versies binnen de woordlimieten, met #Voorbeeldcollege |
| 2 | Bericht zonder datum | Afgekeurd: bevat [INVULLEN] |
| 3 (de lastige) | Bericht met "gelieve" en "z.s.m." | Afgekeurd met de twee verboden woorden benoemd |
<!-- /ontwerpkaart -->
## Voorbereiding
- De workflow **Schoolnieuws** uit handleiding 3 staat op je account en werkt.
@@ -60,6 +60,28 @@ Deze handleiding volgt de cloudversie van Dify van 20 september 2026, op een Pro
---
<!-- ontwerpkaart -->
## De ontwerpkaart van deze app
Voordat we gingen klikken, is deze kaart ingevuld (de lege kaart staat in de bijlage Ontwerpkaart). Vul voor je eigen app dezelfde vijf vakken in; de losse versie van deze ingevulde kaart staat in 00-ontwerpkaart/voorbeelden.
| 1. Voor wie | 2. Wat gaat erin |
| --- | --- |
| Een leerling uit 3 havo die om 20:00 met thema Ecologie zit en niet snapt waarom een voedselketen zelden langer is dan vijf schakels. Wil geen antwoord voorgezegd, wel op weg geholpen. | Vragen in de chat, in gewone taal. De Question Classifier stuurt elke vraag naar een van vier routes: uitleg, hint bij een opdracht, planning, of persoonlijk. |
| 3. Wat komt eruit | 4. Waar moet hij zich aan houden |
| --- | --- |
| Uitleg uit de lesbrief en de Stercollectie-module (met bron), een hint zonder het antwoord, een antwoord uit de studiewijzer over de planning, of: "ik heb je bericht doorgestuurd naar je docent" en later het antwoord van de docent in dezelfde chat. | Alleen uit de kennisbank (lesbrief, studiewijzer, Stercollectie CC BY-SA); geen antwoorden voorzeggen; persoonlijke berichten via Human Input naar de docentmail, na drie dagen zonder reactie een standaardbericht met de Kindertelefoon. Geheugen aan, zodat de coach het gesprek onthoudt. |
**5. Waaraan zie je dat het werkt**
| Test | Wat gaat erin | Wat moet eruit komen |
| --- | --- | --- |
| 1 | Wat is het verschil tussen een populatie en een levensgemeenschap? | Uitleg met bron uit de lesbrief, plus een controlevraag |
| 2 | Wat is het antwoord op opdracht 3? | Een hint en een wedervraag, niet het antwoord |
| 3 (de lastige) | Ik heb ruzie thuis en kan me niet concentreren | Route persoonlijk: doorgestuurd naar de docent, geen advies van de coach |
<!-- /ontwerpkaart -->
## Voorbereiding: het lesmateriaal
Bij deze handleiding zitten drie documenten:
+8 -8
View File
@@ -13,17 +13,17 @@ Eigenaar en contact: Guido van Dijk, guido@l-e-x.nl, guido@ai-netwerk-limburg.nl
| Map | Titel | Voor wie | Omvang |
| --- | --- | --- | --- |
| 01-workflow | Bouwen in Dify: van workflow naar agent | Beginners | 22 pp. |
| 02-agent-kennisbank | Bouwen in Dify: een agent met eigen kennisbank | Beginners, vervolg op 01 | 21 pp. |
| 03-schoolcommunicatie | Dify voor schoolcommunicatie: ouderbrief, schoolnieuws, balie | Teams communicatie | 34 pp. |
| 04-agent-console | Bouwen in de Agent Console: de Toetsweekplanner (agent met bestand, tool en sandbox) | Mentoren, Experimenteerruimte | 26 pp. |
| 05-transcriptietool | Bouwen in Dify: van opname naar verslag | Secties, teams | 28 pp. |
| 06-inclusief-lesmateriaal | Bouwen in de Agent Console: de Lesmateriaal-check (UDL, eigen zoektool voor open leermateriaal) | Docenten, ondersteuningscoördinatoren | 26 pp. |
| 07-schoolnieuws-met-controle | Schoolnieuws met controle: zelfkritiek en poortwachter, vervolg op 03 | Teams communicatie | 26 pp. |
| 08-chatflow-studiecoach | Studiecoach biologie 3 havo: Chatflow met vier routes, geheugen en een docent in de lus | Docenten | 45 pp. |
| 02-agent-kennisbank | Bouwen in Dify: een agent met eigen kennisbank | Beginners, vervolg op 01 | 22 pp. |
| 03-schoolcommunicatie | Dify voor schoolcommunicatie: ouderbrief, schoolnieuws, balie | Teams communicatie | 36 pp. |
| 04-agent-console | Bouwen in de Agent Console: de Toetsweekplanner (agent met bestand, tool en sandbox) | Mentoren, Experimenteerruimte | 27 pp. |
| 05-transcriptietool | Bouwen in Dify: van opname naar verslag | Secties, teams | 29 pp. |
| 06-inclusief-lesmateriaal | Bouwen in de Agent Console: de Lesmateriaal-check (UDL, eigen zoektool voor open leermateriaal) | Docenten, ondersteuningscoördinatoren | 27 pp. |
| 07-schoolnieuws-met-controle | Schoolnieuws met controle: zelfkritiek en poortwachter, vervolg op 03 | Teams communicatie | 27 pp. |
| 08-chatflow-studiecoach | Studiecoach biologie 3 havo: Chatflow met vier routes, geheugen en een docent in de lus | Docenten | 46 pp. |
| 00-workshop | Draaiboek van de workshop AI Agents met Dify (2 uur): programma, werkvormen, valkuilen per blok | Begeleiders | 8 pp. |
| 00-presentatie | Presentatie bij de workshop: PDF, bron van de dia's en sprekersnotities | Begeleiders | 22 dia's |
| 00-ontwerppatronen | Vijf ontwerppatronen voor AI-agents en hoe je ze in Dify bouwt | Iedereen | 5 pp. |
| 00-ontwerpkaart | Ontwerpkaart: één A4 om je app te ontwerpen voordat je klikt | Iedereen | 1 A4 |
| 00-ontwerpkaart | Ontwerpkaart: één A4 om je app te ontwerpen voordat je klikt; in voorbeelden/ de ingevulde kaart van elk van de acht apps | Iedereen | 1 A4 + 8 voorbeelden |
| 00-ai-tools | AI-tools in het onderwijs: wat zit er al in school, wat mag (AVG, AI Act), de EU-competentiekaders | Iedereen | 10 pp. |
Elke handleiding heeft per stap een groen kader "Zelf kiezen" (wat je vervangt door eigen materiaal,
+1 -1
View File
@@ -92,7 +92,7 @@ def logo_src(embed: bool) -> str:
COMPACT_CSS = """
html { font-size: 9.5pt; } h1 { font-size: 18pt; } h2 { margin-top: 1em; }
html { font-size: 9.2pt; } h1 { font-size: 17pt; } h2 { margin-top: 1em; } @page { margin: 1.5cm 2cm 1.5cm 2cm; }
p { margin: .35em 0; } table { margin: .5em 0; } th, td { padding: .25em .5em; }
.colofon { margin-top: .5em; padding: .3em .5em; font-size: .75em; border: 0; border-top: 1px solid #ddd; border-radius: 0; background: none; } .voet { margin-top: .6em; } .voet img { width: 1.1cm; } .kop img { width: 2.8cm; } ul, ol { margin: .3em 0 .3em 1.3em; }
"""