Concrete details toevoegen
Gebruik getallen, namen, indelingen en voorbeelden om de AI-uitvoer richting te geven.
Concrete details toevoegen is een gratis AI-promptengineering-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-promptengineering. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-promptengineering bevat in totaal 4 lessen.
Concrete gegevens zijn ankers
Concrete gegevens zijn specifieke, meetbare en verifieerbare stukjes informatie. Ze verankeren de uitvoer van het model in jouw werkelijke situatie, in plaats van in een generieke interpretatie.
Zonder ankers genereert het model uitvoer voor de fictieve gemiddelde gebruiker. Met ankers genereert het uitvoer voor jou.
Woordenaantal als concrete beperking
Het woordenaantal is een van de eenvoudigste en effectiefste concrete gegevens die je kunt toevoegen. Vergelijk:
- Vaag: 'Schrijf een korte beschrijving'
- Concreet: 'Schrijf een beschrijving van 75 woorden'
Het model telt tokens en streeft naar jouw doel. Als het er iets naast zit, kun je vragen om het aantal opnieuw exact te tellen. Een woordenaantal voorkomt hele categorieën van herschrijvingen.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{
'role': 'user',
'content': (
'Write a product description for a noise-cancelling travel pillow in exactly 60 words. '
'After the description, output the word count in parentheses on a new line.'
)
}]
)
print(response.content[0].text)Doelgroep als concreet gegeven
Door een specifieke, concrete doelgroep te noemen, veranderen de woordkeuze, voorbeelden en diepgang van de uitvoer aanzienlijk.
- Vaag: 'Leg neurale netwerken uit'
- Concreet: 'Leg neurale netwerken uit aan een marketingmanager bij een Fortune 500-bedrijf die geen programmeerachtergrond heeft, maar wel draaitabellen in Excel begrijpt'
De tweede prompt geeft het model een mentaal beeld van een echte lezer, zodat het de complexiteit perfect kan afstemmen.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
concrete_audience_prompt = (
'Explain what a REST API is.\n\n'
'Audience: a non-technical product manager who uses Salesforce daily '
'and understands the concept of a form submission on a website. '
'They will use this explanation to brief their engineering team tomorrow. '
'Use one real-world analogy. Max 100 words.'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': concrete_audience_prompt}]
)
print(response.choices[0].message.content)Benoemde entiteiten in plaats van generalisaties
Door benoemde entiteiten te gebruiken — echte productnamen, bedrijfsnamen, personen, technologieën en datums — haal je het model uit het generieke domein.
- Vaag: 'Schrijf een concurrentieanalyse'
- Concreet: 'Schrijf een concurrentieanalyse van Notion versus Obsidian versus Roam Research voor een intensieve gebruiker die een team van 10 mensen op afstand beheert, dagelijks schrijft en offline toegang nodig heeft'
Benoemde entiteiten verankeren het model in echtewereldkennis uit zijn trainingsgegevens.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'Compare FastAPI vs Flask vs Django REST Framework '
'for building a production API that will serve a React frontend. '
'Context: 2-person startup team, Python 3.11, needs async support, '
'expects < 50 ms response time, and will deploy on AWS Lambda. '
'Format: 3-column markdown table with rows: setup complexity, '
'async support, performance, learning curve, community size.'
)
}]
)
print(response.content[0].text)Kwantitatieve beperkingen
Getallen zijn ondubbelzinnig. Zet een numerieke vereiste altijd in de prompt:
- Noem precies N items (niet 'een paar' of 'meerdere')
- Maximum- en minimumaantallen woorden of tekens
- Specifieke percentages of verhoudingen ('70% praktisch, 30% theoretisch')
- Tijdsbeperkingen ('leg het uit alsof ik 3 minuten heb om dit te lezen')
- Prestatiedoelen ('stel benaderingen voor die tijdcomplexiteit O(n) bereiken')
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Generate exactly 8 onboarding email subject lines for a B2B SaaS product. '
'Requirements:\n'
'- Exactly 8 lines, no more, no fewer\n'
'- Each subject line between 40 and 60 characters\n'
'- 4 must emphasize value, 4 must create urgency\n'
'- Label each line: [VALUE] or [URGENCY]\n'
'- No emojis\n'
'- No duplicate words across all 8 lines'
)
}]
)
print(response.choices[0].message.content)Tijdgebonden context met deadlines
Door een tijdscontext te geven, veranderen de diepgang en focus van de uitvoer. Vertel het model wanneer deze inhoud wordt gebruikt en welke beperkingen dat met zich meebrengt:
- 'Deze e-mail wordt over 2 uur verstuurd — houd hem beknopt'
- 'Dit is voor een presentatie aan de raad van bestuur op maandag — gebruik taal op directieniveau'
- 'Deze uitleg moet passen in een kort teamoverleg van 5 minuten'
- 'Schrijf dit voor een team dat 10 minuten heeft om het te bekijken voordat het klantgesprek begint'
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=256,
messages=[{
'role': 'user',
'content': (
'Write a project status update for our AI chatbot project. '
'This will be read aloud at a 5-minute Monday morning stand-up. '
'The audience has zero technical background. '
'Talking time: max 2 minutes (approximately 300 words). '
'Cover: what we shipped last week, one current blocker, one upcoming milestone. '
'Tone: confident and factual. No jargon.'
)
}]
)
print(response.content[0].text)Specifieke voorbeelden in de prompt
Door specifieke voorbeelden op te nemen van wat je wilt of wat je niet wilt, gebruik je een van de technieken met de grootste impact. Voorbeelden leren het model tegelijk de indeling, toon en stijl.
Je kunt het volgende opnemen:
- Een voorbeeld van de ideale uitvoer (one-shot)
- Meerdere voorbeelden met labels (few-shot)
- Een voorbeeld van wat eerder misging (negatief voorbeeld)
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
prompt = '''
Write 3 feature announcement tweets for a new developer tool.
Here is an example of the style I want:
"We just shipped inline type errors in the editor. No more tab-switching to find
what broke. Your flow stays unbroken. Try it now: [link]"
Characteristics of this style:
- Opens with what shipped, not with excitement words
- Describes the user benefit in the second sentence
- Ends with a CTA
- No hashtags. No emojis. Under 200 characters.
New feature: autocomplete that learns from your codebase.
'''
response = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': prompt}]
)
print(response.choices[0].message.content)Domeinspecifieke terminologie
Door domeinspecifieke termen op te nemen, geef je het model een aanwijzing over het verwachte expertiseniveau van de uitvoer.
- 'Leg caching uit' → generiek antwoord
- 'Leg het LRU-verwijderingsbeleid van Redis uit voor een backendontwikkelaar die van Memcached naar Redis 7.x migreert' → antwoord op expertniveau, stevig verankerd in het domein
Gebruik de terminologie van je vakgebied in de prompt en het model neemt die in de uitvoer over.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Generic prompt vs domain-vocabulary prompt
generic = 'Explain caching strategies.'
domain_anchored = (
'Compare write-through, write-behind, and cache-aside patterns '
'for a microservices architecture using Redis 7.x as the cache layer and '
'PostgreSQL 15 as the source of truth. '
'Focus on consistency guarantees, latency tradeoffs, and failure modes. '
'Audience: senior backend engineers familiar with CAP theorem.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{'role': 'user', 'content': domain_anchored}]
)
print(response.content[0].text)Beperkingen voor wat je moet weglaten
Concrete negatieve beperkingen (uitsluitingen) voorkomen dat het model naar voorspelbare, generieke oplossingen uitwijkt:
- 'Stel geen oplossingen voor waarvoor een betaalde API-sleutel nodig is'
- 'Noem geen concurrenten bij naam'
- 'Gebruik de woorden hefboomwerking of synergie niet'
- 'Neem geen theoretische inhoud op — alleen praktische inhoud'
- 'Sluit benaderingen uit waarvoor meer dan 5 minuten nodig zijn om ze uit te voeren'
Elke uitsluitingsregel scherpt de uitvoer aan doordat die nog een mogelijke route naar generieke inhoud wegneemt.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Suggest 5 ways to speed up a slow Python script. '
'EXCLUDE:\n'
'- Suggestions requiring third-party libraries (stdlib only)\n'
'- Suggestions about hardware upgrades\n'
'- Rewrites of the entire script\n'
'- Suggestions that take more than 30 minutes to implement\n'
'Each suggestion: one sentence describing what to do, one sentence on expected speedup.'
)
}]
)
print(response.choices[0].message.content)Alles samenvoegen
Laten we stap voor stap een volledig concrete prompt opbouwen. We beginnen met: 'Schrijf een functieomschrijving.'
- Voeg de rol toe: 'Voor een senior ML-engineer'
- Voeg een benoemde entiteit toe: 'bij een AI-start-up in Londen in de Series B-fase'
- Voeg het aantal woorden toe: '350-400 woorden'
- Voeg het publiek toe: 'voor kandidaten met meer dan 5 jaar ervaring'
- Voeg de structuur toe: 'Indeling: introductie, verantwoordelijkheden (8 opsommingstekens), vereisten (5 opsommingstekens), pluspunten (3 opsommingstekens)'}
- Voeg een uitsluiting toe: 'Geen clichés zoals snel veranderend of gepassioneerd'
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
concrete_prompt = (
'Write a job description for a Senior ML Engineer position '
'at a Series B AI startup in London. '
'Target candidate: 5+ years ML experience, strong Python, familiar with LLMs. '
'Length: 350-400 words. '
'Structure:\n'
'1. 3-sentence company intro (no fluff — focus on product and mission)\n'
'2. Responsibilities: exactly 8 bullet points\n'
'3. Requirements: exactly 5 bullet points\n'
'4. Nice-to-haves: exactly 3 bullet points\n'
'EXCLUDE: phrases like "fast-paced", "passionate", "ninja", "rockstar", "self-starter".'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=600,
messages=[{'role': 'user', 'content': concrete_prompt}]
)
print(response.content[0].text)De gewoonte om prompts aan te vullen
Ontwikkel de gewoonte om elke prompt aan te vullen voordat je die verstuurt. Doorloop deze snelle mentale aanvulling:
- Kan ik een vaag woord vervangen door een getal?
- Kan ik een specifiek hulpmiddel, een specifieke technologie of een specifieke persoon noemen?
- Kan ik het publiek nauwkeuriger beschrijven?
- Kan ik een voorbeeld toevoegen van wat ik wil?
- Kan ik minstens één beperking toevoegen met 'niet opnemen'?
- Kan ik de uitvoerindeling nauwkeuriger specificeren?
Zelfs twee of drie aanvullingen verbeteren de kwaliteit van de uitvoer aanzienlijk.
# Prompt enrichment in code form: before/after comparison
before = 'Give me ideas for my presentation.'
after = (
'Generate 6 opening hook ideas for a 15-minute conference talk '
'titled "Why Your AI Prompts Are Failing You" at PyCon 2025. '
'Audience: Python developers, mostly backend, some ML experience. '
'Each hook: 2 sentences max. '
'Mix: 2 provocative statistics, 2 counterintuitive questions, 2 short stories. '
'EXCLUDE: "Did you know..." openers and rhetorical questions about the future of AI.'
)
print('BEFORE:', before)
print()
print('AFTER:', after)Kenniscontrole
Een oprichter van een start-up stuurt deze prompt: 'Help me marketingtekst te schrijven.' Welke herziene prompt gebruikt de meest effectieve concrete details?
Concrete details toevoegen — samenvatting
Concrete details veranderen vage prompts in nauwkeurige instructies. Gebruik deze verankeringstechnieken:
- Aantal woorden: vervang 'kort/lang' door exacte aantallen
- Benoemde entiteiten: specifieke producten, hulpmiddelen, bedrijven en personen
- Publiek: rol, ervaringsniveau en wat ze al weten
- Kwantitatieve beperkingen: precies N items, N% van elk type
- Vakterminologie: gebruik de eigen termen van het vakgebied om de verwachte diepgang aan te geven
- Voorbeelden: laat zien hoe goede uitvoer eruitziet
- Uitsluitingen: benoem wat het model moet vermijden
Leer AI-promptengineering met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 199
Veelgestelde vragen
Is de les “Concrete details toevoegen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad AI-promptengineering, waaronder “Concrete details toevoegen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus AI-promptengineering bevat in totaal 4 lessen.
Wat leer ik in “Concrete details toevoegen”?
Gebruik getallen, namen, indelingen en voorbeelden om de AI-uitvoer richting te geven. Je oefent met AI-promptengineering door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met AI-promptengineering te beginnen?
Ervaring vooraf is niet nodig. AI-promptengineering op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Concrete details toevoegen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over AI-promptengineering?
Ja. Elke les over AI-promptengineering bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom specificiteit belangrijk is
- Ambiguïteit uit prompts verwijderen
- Concrete details toevoegen
- Vage en specifieke prompts vergeleken