Vandaag, 17 september 2025, staat de wereld in het teken van AI. Grote Taalmodellen (LLM's) transformeren onze manier van werken en creëren. Maar ken je dat gevoel? Je vraagt je AI om hulp, en hoewel de tekst creatief en informatief is, is de structuur een rommeltje. Je zit met lappen tekst die je handmatig moet omzetten naar bruikbare data. Dat kost tijd, veroorzaakt fouten en belemmert de efficiëntie waarvoor je AI juist inzet.
Stel je nu eens voor: je AI genereert niet alleen briljante teksten, maar levert deze ook direct aan in een perfect gestructureerd formaat zoals JSON, XML, of zelfs kant-en-klare code. Data die naadloos integreert in je systemen, workflows automatiseert en handmatige fouten elimineert. Dit is geen verre toekomstmuziek meer. Met de juiste 'prompt engineering' technieken kun jij dit vandaag al realiseren. In dit artikel duiken we diep in de wereld van gestructureerde AI-output en leer je hoe je AI-modellen zover krijgt dat ze foutloze JSON, XML en code leveren, van beginner tot gevorderd niveau.
Waarom gestructureerde output essentieel is voor jouw workflow
In een tijdperk waarin data de drijvende kracht is achter innovatie, is de manier waarop we informatie verwerken crucialer dan ooit. Onze AI-modellen zijn getraind op enorme hoeveelheden tekst en excelleren in het genereren van menselijke taal. Echter, "menselijke taal" is van nature ongestructureerd. Voor veel bedrijfsprocessen, zoals het vullen van databases, het aansturen van API's, of het genereren van configuratiebestanden, hebben we precieze, machine-leesbare formaten nodig.
Gestructureerde output biedt een brug tussen de creativiteit van AI en de strikte eisen van softwaresystemen. Het stelt je in staat om:
- Workflows te automatiseren: Geen handmatig kopiëren en plakken of herschrijven meer. De output van je AI kan direct als input dienen voor andere tools en systemen.
- Data consistentie te waarborgen: Door een vaste structuur af te dwingen, minimaliseer je de kans op inconsistenties en fouten in je data.
- API-integraties te vereenvoudigen: Veel applicaties communiceren via API's die specifieke JSON- of XML-formaten vereisen. AI die deze formaten direct levert, stroomlijnt de ontwikkeling.
- Sneller te ontwikkelen en te debuggen: Vooral bij het genereren van code is gestructureerde output van onschatbare waarde voor developers, die zo boilerplate code of functies kunnen genereren.
Zonder expliciete instructies zal een LLM vaak conversational reageren, zelfs als je gestructureerde data verwacht. Het is jouw taak als prompt engineer om de AI te "sturen" en te begeleiden naar de gewenste output.
De fundamenten van gestructureerde prompts: helderheid, formaat en validatie
De sleutel tot foutloze gestructureerde output ligt in de helderheid en precisie van je prompts. Je moet de AI niet alleen vertellen *wat* je wilt, maar vooral *hoe* je het wilt hebben. Dit omvat expliciete instructies over het formaat, de structuur en zelfs de inhoudelijke validatie.
1. Wees expliciet over het gewenste formaat
De meest fundamentele stap is het direct aangeven van het gewenste outputformaat. Dit kan zo simpel zijn als het toevoegen van "in JSON-formaat" of "als XML" aan je prompt. Zonder dit zal de AI vaak in platte tekst reageren.
Jij bent een assistent die alleen gestructureerde data teruggeeft. Genereer een lijst met drie fictieve productnamen en hun korte beschrijvingen. Lever de output aan in JSON-formaat.
Door de AI een specifieke rol te geven ("Jij bent een assistent die alleen gestructureerde data teruggeeft."), verhoog je de kans op het gewenste resultaat.
2. Definieer de structuur met voorbeelden (few-shot prompting)
AI-modellen zijn uitzonderlijk goed in het herkennen en repliceren van patronen. Het geven van een of meer voorbeelden van de gewenste output, bekend als 'few-shot prompting', is een krachtige techniek om de AI te laten zien welke structuur je verwacht. Dit vermindert ambiguïteit aanzienlijk.
Jij bent een expert in het genereren van productdata. Genereer een JSON-object voor een product. Hier is een voorbeeld van het gewenste formaat: ```json { "product_id": "string", "naam": "string", "categorie": "string", "prijs": "float", "beschikbaarheid": "boolean" } ``` Genereer nu een vergelijkbaar JSON-object voor een laptop met de naam "UltraBook Pro", in de categorie "Elektronica", met een prijs van 1299.99 en die beschikbaar is.
Het gebruik van codeblokken (triple backticks `) is essentieel. Dit vertelt de AI expliciet dat de inhoud binnen deze markeringen als code of een specifiek dataformaat moet worden behandeld, en niet als gewone tekst.
3. Valideer met schema's of regels
Voor nog meer controle kun je de AI voorzien van een expliciet schema, zoals een JSON Schema, of een lijst met regels en datatypen die elk veld moet volgen. Dit is vooral nuttig voor complexe datastructuren en zorgt ervoor dat de output aan alle gestelde eisen voldoet.
Genereer een JSON-array van gebruikersprofielen. Elk object moet de volgende structuur volgen: - `id` (integer): Unieke gebruikers-ID. - `gebruikersnaam` (string): Gebruikersnaam. - `email` (string, moet een geldig e-mailformaat zijn). - `actief` (boolean): Geeft aan of de gebruiker actief is. - `rollen` (array van strings): Een lijst met rollen die de gebruiker heeft (bijv. "admin", "gebruiker"). Zorg ervoor dat er geen extra velden worden toegevoegd en dat alle datatypen correct zijn.4. Gebruik scheidingstekens en markers
Wanneer je een AI-model vraagt om gestructureerde data te genereren uit een langer stuk tekst, is het cruciaal om duidelijk aan te geven waar de input begint en waar de output moet verschijnen. Scheidingstekens, zoals de hierboven gebruikte triple backticks of XML-achtige tags, helpen de AI om de verschillende onderdelen van je prompt te onderscheiden.
Extract de volgende informatie uit de gegeven tekst en formatteer deze als een JSON-object. Het JSON-object moet de volgende velden bevatten: "naam_klant", "bestelnummer" en "totaalbedrag". Als een veld niet kan worden gevonden, gebruik dan "onbekend". Geef GEEN aanvullende tekst of uitleg, alleen het JSON-object. Geachte heer Jansen, Uw bestelling met nummer #20250917-001 van 15 september 2025, met een totaalbedrag van 149,95 euro, is succesvol verwerkt. Wij danken u voor uw aankoop.Het gebruik van expliciete tags zoals `` en `` kan de AI helpen de context van elk deel van de prompt beter te begrijpen en de kans op het genereren van ongewenste "conversatie" rondom je gestructureerde output te verkleinen. Dit wordt ook wel 'XML prompting' genoemd.
Prompts voor foutloze JSON-output
JSON (JavaScript Object Notation) is de de facto standaard voor data-uitwisseling in webapplicaties en API's. Het correct genereren van JSON is dan ook een van de meest gevraagde vaardigheden in prompt engineering. De sleutel is om de AI exact te laten weten welke objecten, arrays, sleutels en waarden je verwacht, inclusief hun datatypen.
Hier zijn enkele strategieën:
JSON vanuit vrije tekst extraheren
Vaak heb je een stuk ongestructureerde tekst waaruit je specifieke informatie wilt halen en deze wilt omzetten naar JSON.
Jij bent een data-extractor die tekst analyseert en de resultaten in een strikt JSON-formaat retourneert. Je taak is om productinformatie te extraheren uit de volgende tekst. De output moet een JSON-object zijn met de volgende structuur: { "product_naam": "string", "prijs": "float", "valuta": "string", "beschikbaar": "boolean", "functies": ["string", "string", ...] } Als een veld niet in de tekst voorkomt, gebruik dan `null` voor de waarde, behalve voor "functies", waarvoor je een lege array gebruikt `[]`. Geef GEEN uitleg of extra tekst, alleen het JSON-object. Tekst om te analyseren: "De nieuwe 'SmartWatch X' is nu verkrijgbaar voor slechts €199,99. Deze waterdichte smartwatch heeft een ingebouwde hartslagmeter, GPS en een lange batterijduur. Helaas is de voorraad beperkt, dus wees er snel bij!"
Waarom dit werkt:
- De rol ("data-extractor") zet de AI in de juiste mindset.
- De expliciete JSON-structuur met datatypen (string, float, boolean) laat geen ruimte voor interpretatie.
- De instructie om `null` of een lege array te gebruiken voor ontbrekende velden, zorgt voor consistentie en voorkomt ongeldige JSON.
- De strikte instructie "Geef GEEN uitleg" is cruciaal voor machinale verwerking.
Deze technieken zijn van onschatbare waarde voor iedereen die data analyseert of API's bouwt. Wil je meer leren over het inzetten van AI voor data-analyse? Bekijk dan onze artikelen over AI voor data-analyse of onze prompts voor code, IT & softwareontwikkeling.
JSON genereren op basis van parameters
Soms wil je JSON genereren op basis van een set parameters die je opgeeft.
Genereer een JSON-object dat een recept beschrijft. Gebruik de volgende details: Receptnaam: Vegetarische Lasagne Bereidingstijd: 60 minuten Moeilijkheidsgraad: Gemiddeld Ingrediënten: Bladen lasagne, Tomatensaus, Ricotta, Spinazie, Mozzarella Instructies: Laagjes maken, bakken in de oven. De output moet de volgende JSON-structuur hebben: { "receptnaam": "string", "bereidingstijd_minuten": "integer", "moeilijkheidsgraad": "string", "ingredienten": [ { "naam": "string", "hoeveelheid": "string" } ], "instructies": ["string", "string", ...] } Voor de ingrediënten, probeer de hoeveelheid te schatten als deze niet expliciet is gegeven.
Waarom dit werkt:
- Duidelijke inputparameters.
- De structuur van de ingrediënten als een array van objecten wordt expliciet gemaakt, inclusief de velden `naam` en `hoeveelheid`.
- De instructie om hoeveelheden te schatten, geeft de AI de vrijheid om contextueel te redeneren.
Prompts voor consistente XML-generatie
XML (Extensible Markup Language) is een ander veelgebruikt formaat voor gestructureerde data, vooral in oudere systemen, configuratiebestanden en specifieke industriestandaarden. Hoewel JSON vaak de voorkeur heeft in moderne webontwikkeling, is XML nog steeds wijdverspreid en kan AI je helpen dit efficiënt te genereren.
Het principe is vergelijkbaar met JSON: geef de AI een duidelijk voorbeeld of een schema.
XML genereren voor een productcatalogus
Genereer een XML-bestand dat drie producten voor een webshop beschrijft. De root-tag moet `` zijn. Elk product moet een ``-tag hebben met de attributen `id` (integer) en `beschikbaar` (boolean). Binnen elke ``-tag moeten de volgende elementen aanwezig zijn: - `` (string) - `` (string) - `` (float) - `` (een lijst van ``-elementen, elk met een `key` attribuut en een string waarde) Product 1: Laptop, Elektronica, 1200.00, eigenschappen: "merk": "Dell", "schermgrootte": "15.6 inch" Product 2: Smartphone, Elektronica, 799.00, eigenschappen: "merk": "Samsung", "kleur": "zwart" Product 3: Boek, Literatuur, 25.50, eigenschappen: "auteur": "J.K. Rowling", "genre": "fantasy" Geef GEEN inleidende of afsluitende tekst, alleen de pure XML.
Waarom dit werkt:
- De expliciete definitie van de root-tag en de geneste elementen met hun attributen en datatypen is cruciaal voor XML.
- De voorbeelden voor elk product specificeren zowel de waarden als de structuur van de ``-lijst.
- De nadruk op "pure XML" voorkomt extra tekst die het parsen zou bemoeilijken.
AI als jouw persoonlijke code-generator: van idee naar werkende code
Een van de meest indrukwekkende toepassingen van AI is het genereren van code. Of je nu een developer bent die boilerplate code nodig heeft, een marketeer die een klein script wil automatiseren, of een student die hulp zoekt bij programmeeropdrachten, AI kan een ongelooflijk krachtige co-piloot zijn.
Het is echter cruciaal om de AI de juiste context en instructies te geven om bruikbare, en idealiter foutloze, code te produceren.
Specificeer taal en context
Begin altijd met het specificeren van de programmeertaal en de context waarin de code moet functioneren. Hoe specifieker je bent, hoe beter het resultaat.
Genereer een Python-functie genaamd `bereken_gemiddelde` die een lijst met getallen als invoer neemt en het gemiddelde van die getallen retourneert. De functie moet rekening houden met een lege lijst en in dat geval 0 retourneren. Voeg ook docstrings toe die de functie uitleggen en een voorbeeld van het gebruik tonen. ```python # CODE HIER ```
Waarom dit werkt:
- De programmeertaal (Python) is duidelijk gespecificeerd.
- De functie naam (`bereken_gemiddelde`) en de verwachte input/output zijn gedefinieerd.
- Specifieke randgevallen (lege lijst) worden aangepakt.
- De vraag om docstrings moedigt best practices aan en verbetert de leesbaarheid van de gegenereerde code.
Testbaarheid en best practices
Een goede prompt voor code genereert niet alleen de code zelf, maar omvat ook instructies voor testbaarheid, commentaar en andere best practices. Dit verhoogt de kwaliteit en bruikbaarheid van de output aanzienlijk.
Jij bent een ervaren JavaScript-ontwikkelaar die veilige en geteste code schrijft. Genereer een JavaScript-functie die de validatie van een e-mailadres uitvoert met behulp van een reguliere expressie. De functie moet `isGeldigEmail` heten en een string als invoer nemen. Retourneer `true` als het e-mailadres geldig is, anders `false`. Voeg naast de functie ook: 1. Uitgebreide JSDoc-commentaar toe. 2. Twee unit-tests toe met `console.assert` voor een geldig en een ongeldig e-mailadres. 3. Zorg voor de meest gangbare reguliere expressie voor e-mailvalidatie. ```javascript // CODE HIER ```
Waarom dit werkt:
- De persona "ervaren JavaScript-ontwikkelaar die veilige en geteste code schrijft" zet de toon voor de kwaliteit.
- De vraag om JSDoc en unit-tests (met `console.assert`) leidt tot robuustere en beter onderhoudbare code.
- De specificatie van een "gangbare reguliere expressie" stuurt de AI naar algemeen geaccepteerde oplossingen.
Of je nu bezig bent met het bouwen van software of het automatiseren van taken, prompts voor code, IT & softwareontwikkeling kunnen je workflow aanzienlijk versnellen.
Geavanceerde technieken voor ultieme controle
Naast de basisprincipes zijn er geavanceerdere technieken die je kunt inzetten om nog nauwkeurigere en betrouwbaardere gestructureerde output te garanderen.
Constraint-based prompting
Dit houdt in dat je expliciet alle regels en beperkingen benoemt waaraan de output moet voldoen. Hoe meer constraints, hoe minder ruimte voor de AI om af te wijken.
Genereer een lijst met 5 unieke Nederlandse steden als een JSON-array. Elke stad moet een naam (string) en een provincie (string) hebben. De stad Amsterdam mag NIET worden opgenomen. Alle stadsnamen moeten met een hoofdletter beginnen. De provincie moet een van de volgende zijn: "Noord-Holland", "Zuid-Holland", "Utrecht", "Gelderland".
Waarom dit werkt:
- Duidelijke numerieke beperking (5 steden).
- Expliciete uitsluiting (Amsterdam).
- Inclusieve beperking (specifieke provincies).
- Formaat-beperking (hoofdletter).
Iteratieve verfijning en foutopsporing
Zelfs met de beste prompts kan AI soms een fout maken. In plaats van helemaal opnieuw te beginnen, kun je de AI vragen om zijn eigen output te controleren en te corrigeren. Dit is een vorm van iteratieve prompting.
Prompt 1: Genereer een JSON-object met 3 klantreviews, inclusief naam, score (1-5) en commentaar. [AI genereert een JSON met een fout, bijv. een missende komma of een ongeldig datatype] Prompt 2 (vervolg op Prompt 1): De gegenereerde JSON is niet geldig. Corrigeer de JSON-syntax en zorg ervoor dat de "score" een integer is tussen 1 en 5. Geef GEEN verdere tekst, alleen de gecorrigeerde JSON.
Waarom dit werkt:
- Je identificeert expliciet de fout en vraagt de AI om deze te herstellen.
- Je herhaalt de format-vereisten om de AI te herinneren aan de eerdere instructies.
Dit proces van "debuggen" van AI-output is een essentiële vaardigheid. Meer tips over hoe je dit aanpakt, vind je in ons artikel over prompts debuggen.
Conclusie: word de architect van jouw AI-output
Het transformeren van ruwe, ongestructureerde AI-output naar direct bruikbare data in formaten als JSON, XML en code is een superkracht voor elke AI-gebruiker. Het is de overstap van AI als een creatieve schrijfmachine naar AI als een onmisbare partner in automatisering en efficiëntie.
Door de principes van duidelijke formaatspecificatie, het gebruik van voorbeelden, schemavalidatie en de inzet van slimme scheidingstekens, neem je de controle over de output van je AI. Je leert de AI te 'denken' in structuren, wat resulteert in minder handmatig werk, minder fouten en een snellere integratie in jouw digitale ecosystemen. Experimenteer met de voorgestelde prompts, pas ze aan jouw specifieke behoeften aan en zie hoe jouw workflows transformeren.
De wereld van prompt engineering is constant in beweging, maar de basisprincipes van helderheid en specificiteit blijven de hoekstenen van succes. Waar wacht je nog op? Begin vandaag nog met het bouwen van prompts die jouw AI omtoveren tot een architect van foutloze data. De Promptotheek helpt je hier graag bij. Duik in onze uitgebreide collectie prompts en begin met het optimaliseren van jouw AI-interacties.
Ontdek direct hoe je jouw AI-vaardigheden naar een hoger niveau tilt en navigeer moeiteloos door onze prompts voor code, IT & softwareontwikkeling. Of ontdek alle prompts om de potentie van AI volledig te benutten!