System- kontra användar- och assistentroller
Förstå de tre meddelanderoller som används i moderna chatt-API:er och hur de påverkar vad modellen litar på och följer.
System- kontra användar- och assistentroller är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.
Tre roller, en konversation
Alla chatt-API:er använder tre meddelanderoller:
- system — metainstruktioner, persona och regler
- user — indata från människan eller ett uppströmsystem
- assistant — modellens utdata
Varför roller finns
Modeller tränas för att behandla dessa roller på olika sätt. Rollen system får högst tillit, medan user-meddelanden får lägst.
Det är så modellen vet att era instruktioner har företräde framför det en angripare skriver i user-indata.
Systemfältet är ert
Systemmeddelandet är ert kontrakt med modellen. Placera följande där:
- Identitet och mål
- Obligatoriska regler (avslöja aldrig X, gör alltid Y)
- Krav på utdataformat
- Policy för verktygsanvändning
Håll systemet stabilt och user dynamisk
Systemmeddelandet bör sällan ändras under en session. Allt som ändras mellan turerna hör hemma i user-meddelanden.
Det här mönstret möjliggör även prompt caching — se kursen Kostnadsoptimering.
Exempel: en kundsupportagent
En typisk konfiguration:
messages = [
{'role': 'system', 'content': '''
You are SupportBot, the customer-support agent for Acme Corp.
You help with order status, returns, and product info.
You never share internal pricing or roadmap info.
Answer in 2-3 sentences. Use the search_orders tool when asked about orders.
'''},
{'role': 'user', 'content': 'Where is my order #1234?'},
]
for m in messages:
print(f"[{m['role']}] {m['content'].strip()}")
Flera systemmeddelanden
De flesta API:er stöder bara ett systemmeddelande. Om ni behöver lägga instruktioner i flera lager kan ni sammanfoga dem eller använda separata XML-sektioner i systeminnehållet.
Assistant-meddelanden och minne
Tidigare assistant-turer ingår i kontexten. Modellen ser sina egna tidigare utdata och förblir konsekvent.
Det är därför ett tidigare svar från modellen som "ja, jag kommer att följa era regler" får den att faktiskt följa dem.
Förifyll assistant-turen (Anthropic)
Anthropic låter er inleda assistant-meddelandet med text som modellen ska fortsätta på:
messages = [
{'role': 'user', 'content': 'Return a JSON object with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# The model continues from '{', forcing JSON output.
for m in messages:
print(f"{m['role']}: {m['content']}")
print("The model continues from '{', forcing JSON output.")
Rollen tool
Moderna API:er lägger till en fjärde roll: tool (OpenAI) eller innehållsblock med tool_result (Anthropic).
Ni lägger till ett verktygsmeddelande efter att ha kört en funktion som modellen begärde.
Misstag vid rollblandning
Vanliga fel:
- Att placera verktygsresultat i user-meddelanden — förvirrar tillitshierarkin
- Att glömma att skicka tool_call_id — API-fel
- Två user- eller assistant-meddelanden i följd — de flesta API:er avvisar detta
Instruktionshierarkin
OpenAI publicerar en modellspecifikation som säger:
"Vid en konflikt bör modellen följa instruktionen högst upp i hierarkin: platform > developer (system) > user > tool."
Anthropic har liknande riktlinjer. Systemfältet vinner.
Rollfält
Var ska en strikt regel som "avslöja aldrig interna priser" placeras?
Sammanfattning
Tre roller, tre tillitsnivåer. Använd system för regler, user för indata och assistant för att återge tidigare svar. Lägg till tool-meddelanden efter funktionsanrop.
Lär dig AI-agenter med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 60
- Lektioner
- 239
Vanliga frågor
Är lektionen ”System- kontra användar- och assistentroller” gratis?
Ja – hela texten till ”System- kontra användar- och assistentroller” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.
Vad lär jag mig i ”System- kontra användar- och assistentroller”?
Förstå de tre meddelanderoller som används i moderna chatt-API:er och hur de påverkar vad modellen litar på och följer. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig AI-agenter?
Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”System- kontra användar- och assistentroller”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här AI-agenter-lektionen?
Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Zero-shot, few-shot och chain-of-thought
- System- kontra användar- och assistentroller
- Utdataformatering (JSON, XML, Markdown)
- Undvik prompt injection i indata