Leren met systeemprompts: een nieuw paradigma voor AI-systemen

Leren met systeemprompts helpt teams AI-gedrag te verbeteren zonder modellen opnieuw te trainen en maakt beperkingen inzichtelijker.

Heb je weleens gemerkt dat een bepaalde prompt goed werkt en er dan plotseling mee ophoudt?

Ben je weleens beland in een cyclus waarin je voortdurend je systeemprompt aanpast om de resultaten te verbeteren, maar niets lijkt te werken?

Leren met systeemprompts is misschien precies wat je nodig hebt.

Leren met systeemprompts (SPL) is een opkomend interessegebied binnen de AI-community en werd in mei breed onder de aandacht gebracht door Andrej Karpathy op X.

Leren met systeemprompts pakt de beperkingen aan van starre, kwetsbare AI-systemen die afhankelijk zijn van statische systeemprompts of omslachtige fine-tuningconfiguraties. Het biedt een andere manier om continu leren in AI-systemen te ondersteunen.

Voordat we de diepte ingaan, nemen we kort enkele basisprincipes van prompting door.

Bij het ontwikkelen van een agent of aangepast model moeten we eerst twee belangrijke onderdelen ontwerpen:

  1. Een systeemprompt

  2. Een gebruikersprompt

Systeemprompts bepalen de basisregels voor het gedrag van een model. Voor AI-oplossingen op maat beginnen ze vaak ongeveer zo:

"You are an intelligent assistant. Your role is to perform <insert task here>.

You must not do (A), (B), or (C)."

Gebruikersprompts bevatten daarentegen doorgaans de vraag van een gebruiker en andere relevante informatie, zoals diens tijdzone en voorkeuren. Een gebruikersprompt kan er zo uitzien:

Screenshot van de inleiding.

I’m in the capital city of Portugal. Can you suggest some things I can do tonight?

Na de introductie van nieuwe modellen door grote AI-labs komen systeemprompts vaak op straat te liggen, doordat gebruikers chatbots jailbreaken om hun onderliggende instructies te onthullen. Een populaire GitHub-repository brengt inmiddels veel van deze systeemprompts op één plek samen. Ze onthullen het "geheime recept" dat AI-labs in de loop der tijd hebben ontwikkeld om gewenst modelgedrag te stimuleren. Zo bevat de onlangs gelekte systeemprompt van GPT-5 (blootgelegd in ChatGPT) ongeveer 6.000 woorden. Dat laat zien hoeveel kennis en sturing nodig zijn om het systeemgedrag vorm te geven.

Deze uitgebreide systeemprompts bestrijken doorgaans enkele belangrijke gebieden, zoals:

  • Zoekinstructies

  • Tooldefinities

  • Gebruikersvoorkeuren

  • Bronvermeldingsinstructies

  • Snelle patches voor bekende problemen

In de praktijk passen ontwikkelaars van AI-systemen op maat systeemprompts handmatig en iteratief aan terwijl ze hun toepassingen testen en verfijnen. Daarbij gebruiken ze vooral evals om het verbeterproces te sturen.

Andere manieren om het gedrag van een model te sturen zijn:

  • Prompt-engineering, waaronder retrieval-augmented generation (RAG), waarmee wordt bepaald welke inhoud een model ontvangt

  • Fine-tuning (waarbij de onderliggende gewichten van het model rechtstreeks worden gewijzigd)

Wat als er nog een andere manier was om modelgedrag te beïnvloeden? Stel je een systeem voor dat dynamisch leert en zijn eigen systeemprompt verfijnt aan de hand van eerder gegenereerde gedachten, plannen en strategieën. Het kan zowel gebruikersfeedback als beoordelingen door een LLM-as-a-judge benutten om zijn uitvoer te evalueren.

Wat is leren met systeemprompts?

Denk aan een hardnekkig bedrijfsprobleem dat je met een agentisch systeem wilt automatiseren. Effectieve oplossingen vereisen redeneervermogen dat verder gaat dan eenvoudige workflowautomatisering. In zulke gevallen is een onderdeel voor het genereren van plannen in je AI-systeem essentieel. Hierdoor kan het systeem, afhankelijk van de taak, op verschillende manieren met meerdere agents werken. Afzonderlijke stappen kunnen instructies bevatten om andere agents in te schakelen voor subtaken of om tools te gebruiken.

Screenshot die uitlegt wat leren met systeemprompts is.

Opmerking: Een tool van een agent is elke externe functie, API of bron die een AI-agent kan aanroepen om meer te doen dan tekst produceren en echte acties uit te voeren.

Je kunt de systeemprompt van het model "voeden" met een plan dat de logische stappen van een mens volgt, hoewel LLM's doorgaans specifiekere richtlijnen nodig hebben voor toolgebruik, uitvoeropmaak en aanverwante vereisten. Soms is de optimale strategie onduidelijk of werk je aan een probleem dat niet opnieuw is beoordeeld omdat het eerder als opgelost werd beschouwd. Hier komt leren met systeemprompts (SPL) van pas.

SPL verbetert een systeemprompt iteratief door eerder gegenereerde strategieën erin te verwerken. Wanneer nieuwe problemen ontstaan, bouwt het systeem geleidelijk kennis op en wordt het robuuster. Zie het als het opstellen van een handboek voor het oplossen van problemen binnen je domein.

SPL verwerkt inzichten uit gebruikersfeedback geleidelijk in de systeemprompt. Naarmate je systeem volwassener wordt, ontdek je mogelijk terugkerende problemen die kunnen worden teruggebracht tot algemenere principes van een hoger niveau.

Een stapsgewijze handleiding

Laten we stap voor stap bekijken hoe het proces werkt:

  1. Begin met de vraag van de gebruiker, waarin het systeem wordt gevraagd een specifieke taak uit te voeren.

    1. Als je systeem slechts één probleem aanpakt, kun je een "hebzuchtige" aanpak kiezen door de hoogst scorende strategieën uit eerdere uitvoeringen te selecteren. Je kunt verkenning ook stimuleren door steekproeven te nemen uit een verdeling die hoog gewaardeerde strategieën bevoordeelt, maar af en toe ook lager gewaardeerde strategieën meeneemt. Dit is vooral nuttig wanneer je net begint met het verzamelen van strategieën.

    2. Overweeg voor systemen die uiteenlopende probleemgroepen moeten verwerken een classificatielaag toe te voegen of embeddings en cosinusgelijkenis te gebruiken om relevante benaderingen te vinden. Dit zijn dezelfde technieken die doorgaans bij RAG worden gebruikt. Zo kun je strategieën selecteren die bij het specifieke probleem passen, bijvoorbeeld strategieën voor programmeertaken.

Opmerking: Embeddings in combinatie met cosinusgelijkenis maken het mogelijk om te meten hoe nauw twee stukken informatie met elkaar samenhangen. Zo kun je documenten, zoekvragen of ideeën gemakkelijker koppelen, zelfs als ze anders zijn verwoord.

Voorbeeld van een eenvoudig beginpunt voor een strategieopslag voor programmeerproblemen.

Opmerking: De hier getoonde "startstrategieën" dienen ter illustratie. In echte programmeersituaties zouden we ze verder verfijnen. Voor specialistische bedrijfsproblemen moeten in de loop der tijd aanvullende inzichten worden verzameld.

Generation_id (omgekeerde volgorde)

Onderwerp

Score

Strategy_text

Toelichting

4

programmeren

1

Begrijp het probleem, de beperkingen en de randgevallen. Ontwerp een algoritme met de juiste datastructuren. Valideer het plan aan de hand van voorbeelden en invarianten. Implementeer nette, leesbare code. Verfijn de code door deze te refactoren en optimaliseren, en verzorg de uiteindelijke opmaak. Toolgebruik: Leg bij gebruik van een tool kort uit waarom deze nodig was.

Verwerkt en combineert de sterkste elementen van de drie onderstaande strategieën.

3

programmeren

1

Begrijp het probleem, de beperkingen en de randgevallen. Ontwerp een algoritme met de juiste datastructuren. Valideer het plan aan de hand van voorbeelden en invarianten. Implementeer nette, leesbare code. Verfijn de code door deze te refactoren en optimaliseren, en verzorg de uiteindelijke opmaak.

Een completere strategie, maar zonder richtlijnen voor toolgebruik.

2

programmeren

-1

Begrijp het probleem, de beperkingen en de randgevallen. Ontwerp een algoritme met de juiste gegevens. Implementeer nette, leesbare code. Toolgebruik: geef bij het raadplegen van tools een korte samenvatting van waarom je die tool hebt gebruikt.

Een betere strategie die toolgebruik vermeldt, maar nog kan worden verbeterd.

1

programmeren

-1

Neem het probleem vluchtig door. Los het probleem op. Maak minimale tests. Lever in wat maar werkt.

Vermeldt tests, maar is over het geheel genomen een zwakke strategie.

3. Neem na het samplen van N de resultaten op in de systeemprompt. Zo wordt de plangeneratie gebaseerd op eerdere feedback van experts, in plaats van het model met minimale sturing plannen te laten maken. Moedig het model aan om "buiten de gebaande paden te denken" en waar nodig stappen toe te voegen, in plaats van voorbeeldstrategieën simpelweg woordelijk te kopiëren.

Screenshot van een stapsgewijze handleiding.

4. Genereer met je dynamisch gemaakte systeemprompt een nieuwe strategie om het verzoek van de gebruiker af te handelen. Dit proces moet aanvullende taken opleveren die het eindresultaat verbeteren. Het doel is creativiteit: combineer de sterkste elementen van eerdere strategieën, voeg overlappende stappen samen en voeg waar nodig nuttige nieuwe stappen toe.

Opmerking: Onthoud dat temperatuur een parameter is die je kunt aanpassen om gevarieerdere, minder deterministische uitvoer te produceren. Dat is nuttig wanneer creativiteit gewenst is. Bij een temperatuur hoger dan nul kan elk gegenereerd plan anders zijn.

5. Beoordeel na ontvangst van de uitvoer van het model deze met een menselijke beoordelaar of een LLM-beoordelaar, aan de hand van specifieke criteria voor een goede oplossing van je probleem. Voor het eerder genoemde voorbeeld met activiteiten in Portugal kunnen de beoordelingscriteria zijn:

  • Beknoptheid (een antwoord van maximaal één zin)

  • Relevantie van de voorgestelde activiteit

  • Nauwkeurigheid van de locatie

6. Gebruik op basis van deze beoordeling een ander model om de strategie te verfijnen. Een optionele feedbacklus kan menselijke input verwerken en gezamenlijke verbeteringen ondersteunen. Sla de verfijnde strategie met passende metadata op in je database om versies en wijzigingen bij te houden.

Screenshot van een stapsgewijze handleiding.

Waarom zou je al die moeite doen? Je kunt de uitvoer handmatig beoordelen en de systeemprompt daarop aanpassen. Krachtige redeneermodellen kunnen strategieën echter verfijnen aan de hand van zowel de context van de uitvoer als menselijke feedback. Mensen zien tekortkomingen in eenvoudige benaderingen gemakkelijk, maar in complexe systemen die bredere probleemgroepen aanpakken wordt het opsporen ervan lastig en tijdrovend.

LLM's hebben vaak gedetailleerde instructies en extra stappen nodig om de contextuele kennis te verzamelen die mensen vanzelf bij een probleem betrekken. Het aantal benodigde taken kan snel toenemen wanneer een systeem wordt uitgebreid om bredere probleemgroepen aan te pakken. Mensen die programmeerproblemen oplossen begrijpen de omliggende codebase bijvoorbeeld vaak intuïtief, terwijl een LLM mogelijk eerst meerdere bestanden moet "lezen".

De impact van SPL in je AI-oplossingen

Nieuwe manieren ontdekken om problemen op te lossen

  • Wanneer het helpt: Stel dat je een klantenserviceteam leidt en een AI-agent de triage van tickets afhandelt. Na verloop van tijd kan SPL een classificatiemethode ontdekken waaraan je team nog niet had gedacht, waardoor minder tickets hoeven te worden geëscaleerd.

  • Wanneer het niet helpt: Als compliancevereisten of regelgeving je workflows al bepalen, zoals bij financiële verslaglegging, voegt SPL mogelijk weinig toe omdat creativiteit dan eerder een risico dan een voordeel is.

De samenwerking tussen mens en AI verbeteren

  • Wanneer het helpt: In onderzoeksintensieve functies, zoals marktinformatie of productstrategie, kun je met de AI samenwerken door zijn plannen te verfijnen, zijn uitvoer te verrijken en deze verbeteringen voor toekomstig gebruik te verwerken. Elke interactie maakt het systeem effectiever.

  • Wanneer het niet helpt: Als je team AI vooral gebruikt voor eenvoudige workflows met minimale menselijke inbreng, zoals factuurverwerking, kan de extra samenwerking meer kosten dan opleveren.

Aanpassing aan nieuwe problemen

  • Wanneer het helpt: Stel dat je uitbreidt naar een nieuwe regio en de AI plotseling lokale belastingvragen moet afhandelen. Met SPL kun je nieuwe regels en vuistregels snel vastleggen zodra ze ontstaan, zodat fouten zich niet blijven herhalen.

  • Wanneer het niet helpt: Als je omgeving statisch is, bijvoorbeeld wanneer je vergadertranscripten omzet in gestandaardiseerde samenvattingen, biedt voortdurende aanpassing weinig voordeel.

Uitdagingen en risicofactoren

In theorie klinkt dit allemaal veelbelovend, maar de invoering van SPL brengt echte uitdagingen met zich mee. Hieronder bespreken we enkele van de belangrijkste:

Gebrek aan convergentie

In de eerste fasen van strategiegeneratie stagneert de vooruitgang vaak: nieuwe uitvoer bouwt niet voort op eerdere uitvoer en het tempo neemt af. Dit komt doorgaans door twee belangrijke problemen:

    • Oplossing: Leg alle beschikbare bedrijfskennis vooraf vast, zodat het systeem over voldoende diepgang beschikt om uit te putten.

    • Oplossing: Ontwerp een genuanceerde rubric die meerdere aspecten van een antwoord beoordeelt, zoals nauwkeurigheid, duidelijkheid en relevantie, en pas je steekproeftrekking aan deze signalen aan.

Explosieve groei van strategieën

Als je systeem honderden strategieën genereert maar weinig feedback krijgt om goede van slechte te onderscheiden, wordt de steekproeftrekking al snel onbeheersbaar. De oplossing is snoeien.

Houd bij het verfijnen van je strategieopslag rekening met:

  • Levensduur: Neem strategieën buiten gebruik zodra ze een vastgestelde termijn of een bepaald aantal generaties overschrijden.

  • Score: Gebruik je beoordelingsrubric om strategieën uit te filteren die consequent slecht presteren. In combinatie met de levensduur zorgt dit ervoor dat je alleen benaderingen bewaart die hun waarde in de loop der tijd bewijzen.

  • Beoordeling door een LLM: Evalueer strategieën periodiek om vast te stellen welke geen unieke inzichten meer toevoegen, omdat hun nuttige elementen waarschijnlijk al in nieuwere versies zijn verwerkt.

Oplossing: Behandel je strategiedatabase als een levend systeem: snoei deze regelmatig, zodat alleen relevante en waardevolle kennis overblijft.

Conclusie

Leren met systeemprompts staat nog in de kinderschoenen, maar het potentieel is enorm. Bedrijven die uitsluitend vertrouwen op statische prompts of eindeloze fine-tuning lopen tegen bekende beperkingen aan: kwetsbare systemen, oplopende kosten en verspilde moeite. SPL biedt een uitweg uit die cyclus door systemen te bouwen die zich in de loop der tijd verbeteren en principes van een hoger niveau vastleggen in plaats van losse patches.

SPL is nog in opkomst, maar de richting is duidelijk: systemen die van zichzelf kunnen leren, zullen systemen die dat niet kunnen voorbijstreven. Dit is het moment om te experimenteren: begin klein, leg lessen vast en bouw de basis voor AI-systemen die bij elke interactie beter worden.

Auteur

George Williamson