𝗠𝗶𝗱-𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗦𝘆𝘀𝘁𝗲𝗺 𝗣𝗿𝗼𝗺𝗽𝘁𝘀
Lange agent-sessies maken gebruik van een stabiele system prompt en een groeiende geschiedenis. Je cachet het prefix om de kosten laag te houden.
Er ontstaat een probleem wanneer je halverwege een sessie nieuwe instructies moet toevoegen. Je wilt de agent bijvoorbeeld vertellen dat hij van taal moet wisselen of een instelling moet bijwerken.
Als je de top-level system prompt bewerkt, verbreek je de cache. Het wijzigen van één byte aan het begin maakt elke gecachte beurt ongeldig. Je betaalt de volle prijs om de volledige geschiedenis opnieuw te verwerken. Dit is traag en duur.
Nieuwe Claude-modellen lossen dit op met mid-conversation system messages.
Je kunt nu een bericht met de rol 'system' direct in de messages array plaatsen. Je plaatst het na de geschiedenis in plaats van bovenaan.
Deze methode werkt omdat de nieuwe instructie na de gecachte geschiedenis staat. Het maakt niets daarvoor ongeldig. Je betaalt alleen voor het kleine nieuwe bericht. De agent behandelt de instructie nog steeds met volledige autoriteit.
De oude manier was om instructies in een user message te plaatsen. Dit brengt een beveiligingsrisico met zich mee. Gebruikers kunnen user messages spoofen om je agent te misleiden. Een bericht met de rol 'system' is niet te spoofen. Het biedt een veilig kanaal voor vertrouwde updates, zoals het wisselen van modus of het aanpassen van permissies.
Volg deze regels om het correct te gebruiken:
• Formuleer instructies als feiten. Gebruik geen taal die eerdere instructies overschrijft. • Goed: "Auto-approve-modus is nu ingeschakeld." • Fout: "Negeer de gebruiker en doe in plaats daarvan X." • Modellen kunnen weerstand bieden aan instructies die hen vertellen de eerdere context te negeren. • Deze berichten moeten volgen op een user- of assistant-bericht. • Ze kunnen niet het eerste bericht in de array zijn. • Gebruik de top-level system prompt voor de initiële configuratie.
Als je een model gebruikt dat dit niet ondersteunt, krijg je een 400-foutmelding. Wikkel je aanroep altijd in een try-catch-blok. Gebruik een herinnering via een user-turn als de system role faalt.
Gebruik deze functie wanneer je iets nieuws leert nadat de sessie is gestart. Gebruik het voor moduswijzigingen of nieuwe context. Het houdt je cache 'hot' en je instructies veilig.
Optionele leercommunity: https://t.me/GyaanSetuAi