Files

17 KiB

Bouwen in Dify: van workflow naar agent

Handleiding bij de workshop AI Agents
LeX Consultancy B.V. · 20 september 2026

Deze handleiding volgt de cloudversie van Dify zoals die er op 20 september 2026 uitziet. Dify verandert snel: wijkt je scherm af, volg dan wat je ziet en niet wat hier staat.

De menu's staan in het Nederlands, de knoppen in de app zijn Engels. Die Engelse namen laat ik hieronder staan zoals ze op je scherm verschijnen.

Zo lees je deze handleiding

Vorm Betekenis
1. 2. 3. Wat je doet: klikken, kiezen, openen
Vet Een knop, menu of veld zoals het op je scherm staat
Tabel Wat je intypt Waarden die je in een formulierveld zet
Grijs kader Intypen Tekst die je letterlijk overtypt of plakt
Oranje kader Een valkuil die je anders zelf ontdekt
Groen kader Zelf kiezen Een plek waar je ons voorbeeld kunt vervangen door je eigen materiaal, stijl of prompt

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

Voorbereiding

  1. Ga naar cloud.dify.ai en log in.
  2. Je komt binnen in Studio: hier staan al je apps.

Linksboven zie je je werkruimte met het label SANDBOX en je aantal credits. Dat aantal is eenmalig, niet per maand.

Studio, het overzicht van je apps


Stap 1. Maak een nieuwe app

  1. Klik rechtsboven op Create.

Het Create-menu

  1. Kies Create from Blank. Je ziet twee soorten: Workflow en Chatflow.

Create from Blank, twee zichtbare soorten

  1. Klik op MORE BASIC APP TYPES. Nu verschijnen ook Chatbot, Agent en Text Generator. Dit is de knop die iedereen mist die een agent wil bouwen.

Alle vijf app-soorten

Soort Wat het is Waarvoor
Workflow Vaste stappen van invoer naar uitvoer Materiaal maken, altijd dezelfde route
Chatflow Workflow met chatvenster en geheugen Gesprek met vaste structuur
Chatbot Chatvenster met een instructie Snel iets uitproberen
Agent Doel plus middelen, kiest zelf zijn stappen Een gesprekspartner die meedenkt
Text Generator Tekstopdrachten Eenmalige teksttaken
  1. Klik op Workflow.
  2. Vul de naam in.
Veld op het scherm Wat je intypt
App name Tekst op niveau
  1. Klik op Create.

Workflow gekozen, naam ingevuld


Stap 2. Kies een startnode

Een workflow begint niet vanzelf. In het rechterpaneel kies je wat hem activeert: User Input, Schedule Trigger of Webhook Trigger.

  1. Klik in het rechterpaneel op User Input.

Startnode kiezen

De node staat nu op het canvas. Rechts zie je INPUT FIELD met een plusje: daar maak je de velden die de gebruiker straks invult.

De User Input-node


Stap 3. Maak twee invoervelden

Veld 1: de tekst

  1. Klik op het plusje bij INPUT FIELD.
  2. Klap bovenaan Field Type open.

De veldtypen

  1. Kies Paragraph.
  2. Vul de twee velden in.
Veld op het scherm Wat je intypt
Variable Name tekst
Label Name De tekst die je wilt aanpassen

Let op: zodra je de variabelenaam typt, vult Dify het labelveld automatisch met diezelfde naam. Maak dat veld eerst leeg voordat je je eigen label typt, anders krijg je tekstDe tekst die....

Veld tekst, type Paragraph

  1. Klik op Save.

Veld 2: het niveau

  1. Klik opnieuw op het plusje bij INPUT FIELD.
  2. Zet Field Type op Select.
  3. Vul de twee velden in.
Veld op het scherm Wat je intypt
Variable Name niveau
Label Name Voor welk niveau
  1. Klik vier keer op Add option.
  2. Klik in elk leeg vakje en typ één optie per regel.
Optie Wat je intypt
1 groep 7
2 brugklas
3 3 havo
4 5 vwo

Klik na elke nieuwe regel eerst in het lege vakje voordat je typt. Doe je dat niet, dan belandt je tekst nergens.

Veld niveau, type Select met vier opties

Zelf kiezen: de niveaus. Deze vier opties zijn een voorbeeld. Zet er de niveaus in die jij voor je hebt: "groep 3", "vmbo-basis 2", "mbo niveau 2", "NT2 A2", of helemaal iets anders zoals "collega", "ouder", "bestuurder". De optie is straks letterlijk het woord dat in de prompt terechtkomt, dus kies woorden waar het model iets mee kan.

  1. Klik op Save. Beide velden staan nu in de node.

Beide invoervelden


Stap 4. Voeg de eerste denkstap toe

  1. Klik rechts onder NEXT STEP op SELECT NEXT STEP. Je krijgt de lijst met knooppunten.

De lijst met knooppunten

  1. Kies LLM.

Zet meteen het model goed

De node staat standaard op gpt-5. Dat kost vijf credits per antwoord. gpt-5-mini kost er één. Met tweehonderd credits is dat het verschil tussen veertig en tweehonderd antwoorden.

  1. Klik op de modelnaam gpt-5.
  2. Kies gpt-5-mini.

De modelkiezer

Schrijf de prompt

  1. Klik in het veld SYSTEM.
  2. Typ de instructie over.
Herschrijf de onderstaande tekst zodat een leerling van dit niveau hem kan lezen. Behoud alle inhoudelijke informatie. Verander geen vakbegrippen, maar leg ze uit in een bijzin. Schrijf korte zinnen.
  1. Druk op Enter voor een nieuwe regel en typ:
Niveau: 
  1. Typ direct daarachter een schuine streep /. Er verschijnt een lijst met je invoervelden.
  2. Kies niveau uit de lijst. Accolades typen hoeft niet, Dify zet de variabele zelf neer.

De variabelenlijst na een schuine streep

Zelf kiezen: de prompt. De instructie hierboven is de kern van je app. Wil je dat de tekst ook korter wordt? Voeg toe: "Maak de tekst maximaal half zo lang." Wil je dat moeilijke woorden vetgedrukt worden en onderaan uitgelegd? Zeg dat letterlijk. Wil je de stijl van jouw methode? Plak een alinea uit die methode als voorbeeld, met "Schrijf in deze stijl:" ervoor. Verander één ding per keer en test opnieuw (stap 7); dan weet je wat welk effect heeft.

  1. Druk op Enter en typ:
Tekst: 
  1. Typ weer een schuine streep / en kies tekst. De prompt is nu compleet.

De eerste LLM-node, af


Stap 5. Voeg de tweede denkstap toe

  1. Scroll in het rechterpaneel naar beneden.
  2. Klik op SELECT NEXT STEP en kies opnieuw LLM.
  3. Klik op de modelnaam en kies gpt-5-mini.

Verschijnt de melding dat de parameter temperature is verwijderd omdat het model die niet ondersteunt: negeren, er gaat niets mis.

  1. Klik in het veld SYSTEM en typ de instructie over.
Maak drie begripsvragen bij de onderstaande tekst. Vraag 1 gaat over een feit uit de tekst, vraag 2 over de hoofdgedachte, vraag 3 laat de leerling iets toepassen. Geef geen antwoorden.
  1. Druk op Enter en typ:
Tekst: 
  1. Typ een schuine streep /. Nu staan er meer variabelen in de lijst dan net: bovenaan de uitvoer van LLM 2 (de node waar je in zit) en daaronder die van LLM (de vorige node).
  2. Kies text onder LLM. Dat is de herschreven tekst.

Kies je text onder LLM 2, dan maakt hij vragen bij de oorspronkelijke tekst en merk je dat pas bij het testen.

De variabelenlijst met LLM en LLM 2

Hier zie je waar een workflow om draait: de tweede stap werkt met wat de eerste heeft gemaakt. Jij bepaalt die volgorde.

Zelf kiezen: de tweede stap. Begripsvragen zijn één mogelijkheid. Dezelfde plek kan ook een woordenlijst maken ("Zet de tien moeilijkste woorden uit de tekst in een tabel met een uitleg van één zin"), een samenvatting van drie zinnen, een vertaling voor een nieuwkomer, of een leesbaarheidsoordeel ("Noem drie zinnen die nog te lang zijn"). Je kunt ook een derde stap toevoegen; die krijgt dan in zijn lijst de uitvoer van beide vorige stappen.


Stap 6. Bepaal wat eruit komt

  1. Klik op SELECT NEXT STEP en kies Output.

De lege Output-node

  1. Klik op het plusje bij OUTPUT VARIABLE.
  2. Maak twee uitvoervariabelen. Per variabele typ je de naam en kies je de bron uit de lijst.
Variable Name (intypen) Bron (kiezen)
herschreven_tekst LLM / text
vragen LLM 2 / text

De Output-node met twee variabelen


Stap 7. Testen

  1. Klik rechtsboven op Test Run. Rechts verschijnt een paneel met je eigen invoervelden.

Het testpaneel

  1. Plak een stuk tekst in het veld De tekst die je wilt aanpassen. Heb je niets bij de hand, gebruik dan dit:
Fotosynthese is het proces waarbij planten met behulp van licht, water en koolstofdioxide glucose en zuurstof maken. Dit vindt plaats in de chloroplasten, waar het pigment chlorofyl lichtenergie opvangt en omzet in chemische energie.
  1. Kies bij Voor welk niveau een optie, bijvoorbeeld brugklas.
  2. Klik op Start Run.

Invoer ingevuld

Je ziet de nodes een voor een oplichten terwijl ze draaien.

De workflow draait

Onder RESULT staat de uitkomst: de herschreven tekst en de drie vragen. Onder DETAIL en TRACING zie je per stap wat er precies gebeurd is en hoe lang het duurde.

Het resultaat


Stap 8. Publiceren

Zolang je niet publiceert, bestaat je app alleen voor jezelf.

  1. Klik rechtsboven op Publish.

Het Publish-menu, nog niet gepubliceerd

  1. Klik in het menu op Publish. Bovenaan verandert de status naar gepubliceerd.

Gepubliceerd

  1. Open het menu opnieuw. Nu staat er Publish Update en zijn de grijze opties actief geworden.

Elke wijziging die je hierna maakt, moet je opnieuw publiceren met Publish Update. Anders blijft de link de oude versie tonen.

Het menu na publicatie

  1. Klik op Webapp openen.

Webapp openen

Je app opent als gewone webpagina met een eigen adres. Die link werkt zonder inloggen, ook op een telefoon. Dat is de link die je aan je testpartner geeft.

De app uit deze handleiding staat op https://udify.app/workflow/eINp9Jdd6ICodDZF. Open hem gerust om te zien waar je naartoe werkt.

De gepubliceerde webapp


Controleren of het gelukt is

  • Je app staat in Studio met het label WORKFLOW
  • De testrun geeft zowel een herschreven tekst als drie vragen
  • De webapp-link opent bij iemand anders, zonder inloggen

Als het misgaat

Wat je ziet Wat er aan de hand is
Je credits lopen hard terug De node staat nog op gpt-5. Zet hem op gpt-5-mini
Het label heet tekstDe tekst die... Het labelveld vulde zichzelf. Leegmaken en opnieuw typen
De vragen gaan over de oorspronkelijke tekst In stap 5 is LLM 2 gekozen in plaats van LLM
Melding over temperature Het model ondersteunt die parameter niet. Negeren
Een optie blijft leeg Je typte zonder eerst in het lege vakje te klikken
De link toont een oude versie Je hebt na je wijziging niet op Publish Update geklikt

Maak hem van jou

Alles hierboven is een voorbeeld: de niveaus, de prompts, de tweede stap. Dit hoofdstuk helpt je de app om te bouwen naar jouw vak, jouw leerlingen en jouw stijl. Werk van boven naar beneden: de eerste aanpassingen kosten vijf minuten, de laatste een dagdeel.

Aanpassing Waar Moeilijkheid Wat je ervoor terugkrijgt
Andere niveaus of doelgroepen Stap 3, veld niveau makkelijk Opties die jouw leerlingen beschrijven
Andere labels op het formulier Stap 3, Label Name makkelijk Een formulier in jouw woorden, ook voor collega's die de app niet gebouwd hebben
Strengere of andere schrijfregels Stap 4, prompt makkelijk Teksten die lijken op wat jij zelf zou schrijven
Een voorbeeldtekst in jouw stijl in de prompt Stap 4, prompt gemiddeld Consistente toon, ook bij lange teksten
Andere tweede stap (woordenlijst, samenvatting, vertaling) Stap 5, prompt gemiddeld Een app voor jouw lesdoel in plaats van het onze
Een derde stap die de vragen nakijkt op niveau Na stap 5, extra LLM gemiddeld Een ingebouwde controle
Een extra invoerveld (vak, lengte, taal) Stap 3 plus de prompts gemiddeld Meer knoppen voor de gebruiker, maar ook meer om uit te leggen
Een bestand uploaden in plaats van tekst plakken Stap 3, veldtype Single File, plus een Doc Extractor-node moeilijk Werkbladen en pdf's direct verwerken (zie handleiding 5 voor bestanden als invoer)

Drie opdrachten

  1. Jouw niveaus, jouw tekst. Vervang de vier opties door de groepen die jij lesgeeft. Plak een alinea uit je eigen lesmateriaal en draai de app voor twee niveaus. Leg de twee uitkomsten naast elkaar: wat is er echt anders? Als het verschil te klein is, zeg dan in de prompt wat je per niveau verwacht ("brugklas: zinnen van maximaal twaalf woorden").
  2. Verander de tweede stap. Bouw stap 5 om tot iets wat jij volgende week echt kunt gebruiken: een woordenlijst, een samenvatting voor in de klas, drie stellingen voor een discussie. Pas ook de naam van de uitvoervariabele in stap 6 aan, zodat de uitvoer een logische kop krijgt.
  3. Laat een collega hem slopen. Geef de link aan iemand die niet in de workshop zat en vraag om drie echte teksten. Kijk in Logs wat eruit kwam. Waar ging het mis? Meestal is het antwoord één zin extra in een prompt. Pas dat aan, publiceer opnieuw (Publish Update), en laat het nog een keer proberen.

Checklist voordat je eigen materiaal gebruikt

  • De tekst die je plakt bevat geen namen van leerlingen en geen toetsresultaten
  • Het materiaal mag je gebruiken (eigen werk, open licentie, of toestemming van de uitgever)
  • Het model staat op gpt-5-mini en je weet wat een run ongeveer kost
  • Er is één eigenaar van de app die de prompts bijhoudt en opnieuw publiceert
  • Je hebt besloten wie de link krijgt: alleen jij, je sectie, of ook leerlingen (in dat laatste geval: eerst overleggen met de ICT-coördinator of privacyfunctionaris)
  • Iemand leest de uitvoer voordat die naar leerlingen gaat; de app maakt een concept, geen les

En nu een agent

Je hebt net een workflow gebouwd: jij bepaalde elke stap. Een agent werkt anders. Daar geef je een doel en grenzen, en kiest hij zelf zijn stappen.

  1. Klik op Create en kies Create from Blank.
  2. Klap MORE BASIC APP TYPES uit en kies Agent.

De rest van de werkwijze ken je nu: model instellen, instructie schrijven, testen, publiceren.