Promptversiebeheer: prompts volgen, vergelijken en terugzetten
Een goede prompt schrijf je zelden in één keer. Je schaaft aan de tekst, voegt een voorwaarde toe, wisselt een voorbeeld, en drie aanpassingen later is het resultaat slechter dan waar je begon, zonder duidelijke weg terug. Met promptversiebeheer krijgt elke betekenisvolle wijziging een opgeslagen momentopname. Zo vergelijk je wat je had met wat je nu hebt, herstel je de versie die echt werkte, en zie je welke aanpassing het verschil maakte in plaats van te gokken.
Je hebt een werkende prompt aangepast, de kwaliteit ging achteruit en je wilt terug naar de exacte tekst van vorige week.
Twee mensen bewerken dezelfde gedeelde prompt en je hebt een geschiedenis nodig die laat zien wie wat wanneer en waarom veranderde.
Je test twee formuleringen van een systeemprompt en wilt beide versies naast elkaar bewaren in plaats van er één te overschrijven.
Een model-update (bijvoorbeeld van Claude 3.5 naar een nieuwere versie) heeft het gedrag van je prompt veranderd en je wilt een modelspecifieke versie aftakken zonder het origineel kwijt te raken.
Je itereert in hoog tempo en wilt een bewezen ijkpunt labelen voordat je opnieuw begint te experimenteren.
Fouten om te vermijden
De werkende versie ter plekke overschrijven. Zodra je de nieuwe tekst over de oude plakt, is de formulering die écht werkte weg. Sla een momentopname op vóór elke betekenisvolle aanpassing, niet pas als je er spijt van krijgt.
Wel de prompttekst versiebeheren, maar niet de context eromheen. Het model, de temperatuur en de {variabelen} die je invulde horen allemaal bij het resultaat, dus leg ze bij elke versie vast, anders is de momentopname niet te reproduceren.
Vage notities schrijven zoals 'prompt verbeterd'. Zes versies later weet je niet meer welke wijziging de JSON-uitvoer repareerde. Noteer wat je veranderde en waarom, niet alleen dát er iets veranderde.
Elke toetsaanslag als een nieuwe versie behandelen. Je geschiedenis verandert dan in ruis. Leg een versie vast op echte ijkpunten (een formulering die je testte, een fix die je uitbracht), niet bij elke komma die je verschuift.
Prompts om te kopiëren
01
Schrijf een changelog-item voor een versie
Je bent een prompt engineer die een prompts-bibliotheek met versiebeheer onderhoudt. Vergelijk de vorige en de nieuwe versie van mijn prompt hieronder en schrijf één changelog-item voor de nieuwe versie. VORIGE: {old_prompt}. NIEUWE: {new_prompt}. Structureer het item als volgt: een versielabel volgens semantische versienummering, uitgaande van dat de laatste versie {last_version} was; een samenvatting van één regel; een opsomming met wat er veranderde; en een notitie of de wijziging brekend is voor iedereen die deze prompt hergebruikt. Houd het onder 120 woorden en strikt feitelijk. Prijs de wijziging niet.
02
Leg uit hoe twee versies zich anders gedragen
Je bent een prompt-QA-reviewer. Hier zijn twee versies van dezelfde prompt. VERSIE A: {version_a}. VERSIE B: {version_b}. Ga ervan uit dat beide op deze invoer draaien: {test_input}. Voer niets uit, maar voorspel hoe de uitvoer van het model zou verschillen tussen A en B, met de nadruk op opmaak, toon, mate van detail en elke voorwaarde die de ene afdwingt en de andere laat vallen. Presenteer de verschillen als een tabel met de kolommen Aspect, Versie A, Versie B. Sluit af met één zin die benoemt welke versie veiliger is om uit te brengen voor {use_case} en waarom.
03
Adviseer een verhoging van het versienummer
Je onderhoudt prompts met semantische versienummering (MAJOR.MINOR.PATCH). De huidige versie is {current_version}. Dit is de wijziging die ik doorvoerde: {change_description}. Bepaal of dit een MAJOR-, MINOR- of PATCH-verhoging is aan de hand van deze regels: MAJOR betekent dat de vorm of het gedrag van de uitvoer zo verandert dat het bestaande gebruikers breekt, MINOR betekent een nieuwe mogelijkheid toegevoegd met behoud van achterwaartse compatibiliteit, PATCH betekent een aanpassing aan de formulering of duidelijkheid zonder gedragswijziging. Antwoord met alleen het nieuwe versienummer, het type verhoging en een verantwoording van één zin.
04
Beoordeel een promptwijziging voordat je die opslaat
Je bent een zorgvuldige reviewer die wijzigingen aan een gedeelde prompt goedkeurt. Beoordeel de aanpassing hieronder voordat ik die als een nieuwe versie opsla. HUIDIGE VERSIE: {current_prompt}. VOORGESTELDE AANPASSING: {new_prompt}. DOEL van de aanpassing: {goal}. Controleer op instructies die elkaar nu tegenspreken, voorwaarden die per ongeluk zijn verwijderd, {placeholders} die niet meer worden ingevuld, en uitbreiding buiten het gestelde doel. Geef een oordeel van GOEDKEUREN of WIJZIGINGEN VRAGEN, gevolgd door een korte opsomming van problemen gerangschikt op ernst. Als je WIJZIGINGEN VRAAGT, stel dan de kleinste fix voor die elk probleem oplost.
05
Bouw regressietests voor een promptversie
Je zet regressietests op zodat toekomstige versies van een prompt niet stilletjes stukgaan. Hier is de prompt: {prompt}. De taak ervan is: {intended_behavior}. Maak 6 testgevallen die elke toekomstige versie nog steeds moet doorstaan. Geef voor elk een korte naam, de invoer die je erin voert, en een slaagvoorwaarde die beschrijft wat de uitvoer wél of nooit mag bevatten. Dek het normale geval, een randgeval met ontbrekende {variabelen}, en één geval dat zo is opgezet dat de prompt zijn uitvoerformaat breekt. Geef de testgevallen terug als een genummerde lijst.
Zo bewaar je ze in PromptAtlas
Maak een map per taak of kanaal.
Voeg duidelijke tags toe voor latere zoekopdrachten.
Zet wisselende details om in variabelen.
Bewaar betere versies in plaats van nuttige pogingen te overschrijven.
Exporteer je bibliotheek voor een back-up.
Veelgestelde vragen
Wat is promptversiebeheer?
Promptversiebeheer betekent dat je de geschiedenis van een prompt bewaart terwijl die in de loop van de tijd verandert, zodat elke betekenisvolle aanpassing een momentopname wordt die je kunt bekijken, vergelijken en herstellen. Het past het idee van versiebeheer voor code toe op de formulering van je prompts.
Wat is het verschil tussen promptversiebeheer en gewoon kopieën opslaan?
Kopieën opslaan levert losse bestanden op; versiebeheer geeft je een tijdlijn. Een versiebeheertool koppelt momentopnames aan één prompt, toont het verschil ertussen, legt vast waarom elke versie veranderde en laat je met één klik terugzetten in plaats van te zoeken in 'prompt-definitief-v3-echt-definitief.txt'.
Moet ik semantische versienummers (v1.2.0) gebruiken voor prompts?
Dat kan, en het helpt wanneer anderen afhankelijk zijn van de prompt. Een simpele regel: verhoog het hoofdnummer bij een wijziging die het gedrag breekt, het tussennummer wanneer je een mogelijkheid toevoegt, en het patchnummer bij aanpassingen aan de formulering. Voor persoonlijke prompts volstaan tijdstempels en korte labels meestal.
Wat moet ik naast de prompttekst nog vastleggen?
Leg vast voor welk model en welke instellingen de prompt is geschreven, een korte notitie over wat er veranderde en waarom, en idealiter een voorbeeldinvoer met de uitvoer die je kreeg. Dankzij die context begrijp je maanden later nog waarom een oude versie zich gedroeg zoals ze deed.
{A}
Bouw je promptbibliotheek
Bewaar prompts die werken, voeg variabelen toe, houd versies bij en vind ze terug in seconden.