ai-machine-learning

7 systemprompt-eksempler for produksjon (ferdige maler, 2026)

Skrevet av Mert Batur
Jul 17, 2026
12 lesing
7 systemprompt-eksempler for produksjon (ferdige maler, 2026)

De beste systemprompt-eksemplene er ikke énlinjerne «du er en hjelpsom assistent» fra tutorials. De er de konkrete instruksjonsblokkene som hindrer en produksjonsapp fra å spore av klokken to om natten. I vår egen innholdspipeline kjører vi mer enn et dusin Claude-underagenter, hver styrt av en systemprompt vi har skrevet om igjen og igjen etter at den forårsaket en feil i produksjon på Claude Opus 4.8 eller GPT-5. Dette innlegget dropper leke-demoene. Du får 7 ekte systemprompter, klare til å lime inn, der to av dem er hentet rett fra den produksjonsstacken, pluss 6-blokks-anatomien som ligger under hver eneste pålitelige en.

Nøkkelpunkter

  • En systemprompt er faste instruksjoner (rolle, begrensninger, outputformat, guardrails) satt én gang før noen brukermelding.
  • Hvis innholdet er identisk på tvers av 1 000 forespørsler, hører det hjemme i systemprompten; innhold som endrer seg per forespørsel går i brukerturen.
  • Seks blokker bygger en pålitelig prompt: rolle, kontekst, begrensninger, outputformat, guardrails, eksempler.
  • Resonneringsmodeller (o-serien, GPT-5, Claude Opus 4.5+) vil ha mål på høyt nivå, ikke aggressiv «du MÅ»-formulering.

Hva inngår i en systemprompt? De 6 byggeklossene

En systemprompt er et sett med faste instruksjoner som definerer en modells rolle, atferd, begrensninger og outputformat for en hel økt, satt én gang før noen brukermelding. De pålitelige systempromptene deler seks byggeklosser: rolle, kontekst, begrensninger, outputformat, guardrails og valgfrie eksempler. Får du disse i riktig rekkefølge, har du kortversjonen av hvordan du skriver en systemprompt som overlever produksjon.

Her er hva hver blokk gjør.

BlokkHva den gjørEksempel på én linje
RolleAngir hvem modellen er og hvor snevert omfanget er«Du er en supportagent for Acmes faktureringsteam.»
KontekstStabil bakgrunnsinfo den trenger på hver tur«Kundene er på Pro-planen; refusjon tillatt innen 14 dager.»
BegrensningerHarde regler og grenser«Aldri lov en refusjon over $200 uten eskalering.»
OutputformatDen eksakte formen på svaret«Svar på under 120 ord, ren tekst, ingen markdown.»
GuardrailsAvvisning og reserveløsning«Hvis noen ber om juridisk rådgivning, avslå og send videre til et menneske.»
Eksempler1-2 eksempler på et godt svarEt eksempelspørsmål med det ideelle svaret.

De 6 blokkene i en systemprompt: rolle, kontekst, begrensninger, outputformat, guardrails og eksempler stablet i rekkefølge
De seks byggeklossene i en produksjonsklar systemprompt, stablet i rekkefølgen du skriver dem.

Rolleblokken betyr mer enn den ser ut til. Anthropics dokumentasjon sier det rett ut: å sette en rolle i systemprompten fokuserer modellens atferd og tone, og «selv én eneste setning gjør en forskjell». For guardrails-blokken fortjener avvisnings- og sikkerhetsregler ordentlig gjennomtenkning; vi går i dybden på det i vår guide til LLM guardrails. Og hvis du kobler opp Claude, anbefaler Anthropic XML-tagger (<instructions>, <context>, <input>) for å skille hver innholdstype fra hverandre, slik at modellen ikke blander dem sammen.

Her er et lim-inn-klart skjelett som syr sammen alle seks blokkene i én mal:

text
# ROLE
You are a {role} for {audience}. Your scope is {narrow scope}.

# CONTEXT
{Stable facts the model needs on every request.}

# CONSTRAINTS
- {Hard rule 1}
- {Hard rule 2}
- Do not {forbidden action}.

# OUTPUT FORMAT
{Exact structure: length, format, JSON schema.}

# GUARDRAILS
- If {edge case}, then {fallback or escalate to a human}.
- If you are unsure, say so instead of guessing.

# EXAMPLES (optional)
{One or two model answers that show the target quality.}

Seks blokker gjør en følelse om til en spesifikasjon. Dette er kun systemprompt-laget. For de bredere teknikkene (few-shot, chain-of-thought, prompt chaining), se vår guide til prompt engineering, og hold de teknikkene utenfor selve systemprompten. En øktbasert systemprompt er også noe annet enn en repo-nivå-fil med faste prosjektinstruksjoner som en CLAUDE.md, som styrer en hel kodebase i stedet for én API-økt.

7 systemprompt-eksempler fra produksjon (klare til å lime inn)

Her er 7 systemprompt-eksempler du kan lime rett inn i system-parameteren eller developer-meldingen din i dag. Hver av dem løser en reell jobb (agent, RAG, support, koding, JSON, innholds-QA, oversettelse), og hver viser hvorfor nøkkelblokkene dens finnes. De to siste kjører i vår egen pipeline. Repoene som lekker Cursor- og Devin-prompter beviser etterspørselen; det ingen leverer er kommentaren som forklarer hvorfor hver blokk er der.

1. Autonom agent

Avgrens rollen snevert, spesifiser verktøyreglene, og gi den en stoppbetingelse så den ikke kan gå i loop for alltid.

text
You are a research agent. Your only job is to answer the user's
question using the provided tools.

TOOLS: web_search, read_url, calculator.

RULES
- Plan first: list the steps before calling any tool.
- Call one tool at a time and check the result before the next call.
- Never invent a URL or a fact. If a tool fails twice, stop.

STOP CONDITION
- When you have enough to answer, stop calling tools and reply.
- If the task needs account access or a purchase, hand off to a
  human and explain why.

Hvorfor det virker: den snevre rollen pluss en eksplisitt stoppbetingelse er forskjellen mellom en agent som fullfører og en som brenner tokens i en loop. Dette er kjernen i gode fremgangsmåter for systemprompter til agenter.

2. RAG / spørsmål-svar med henting

Hele greia med henting er å stoppe modellen fra å svare ut fra sin egen hukommelse. Én regel gjør jobben.

text
You answer questions using ONLY the context provided below.

CONTEXT
{retrieved_chunks}

RULES
- If the answer is not in the context, say: "I don't have that
  in my sources." Do not use outside knowledge.
- Cite the source after each claim using [chunk_id].

OUTPUT
Two to four sentences, plain text, with citations.

Hvorfor det virker: «kun fra kontekst» pluss et siteringsformat er det billigste hallusinasjonsvernet du kan skrive for en RAG-systemprompt.

3. Kundesupport-bot

Tone, en eskaleringsvei og en hard pengeregel holder en supportbot hjelpsom uten å la den love ting den ikke kan holde.

text
You are a support agent for Northwind's billing team. Be warm,
brief, and factual.

CONTEXT
- Customers are on Free, Pro, or Enterprise plans.
- Refunds are allowed within 14 days of a charge.

CONSTRAINTS
- Never promise a refund above $200 without escalation.
- Do not give tax or legal advice.

GUARDRAILS
- If the customer is angry or asks for a manager, escalate to a
  human and say a teammate will follow up within one business day.
- If you are unsure of a policy, say you'll check rather than guess.

Hvorfor det virker: refusjons-guardrailen og eskalerings-reserveløsningen stopper de to feilmodusene som får supportbotter trukket ut av produksjon.

4. Kodeassistent

Begrens outputformatet og versjonene, og få den til å forklare før den redigerer.

text
You are a coding assistant for a Next.js 15 + TypeScript codebase.

RULES
- Explain your plan in two sentences before writing any code.
- Output changes as a unified diff, not full files.
- Match the existing style. Do not add dependencies without asking.
- Target Node 20. Do not use APIs newer than that.

If a request is ambiguous, ask one clarifying question before editing.

Hvorfor det virker: «diff, ikke hele filer» pluss et versjonstak holder assistenten innenfor stacken din. Promptdesign for kodeagenter er dypt nok til å fortjene sin egen guide, så vi holder dette eksempelet stramt.

5. Strukturerte data / JSON-ekstraksjon

Legg skjemaet i outputformat-blokken og forby løpende tekst. Det er mønsteret for pålitelige strukturerte utdata.

text
You extract structured data from raw text. Return ONLY valid JSON,
no prose, no markdown fences.

SCHEMA
{
  "company": "string",
  "amount_usd": "number",
  "date": "YYYY-MM-DD",
  "confidence": "low | medium | high"
}

RULES
- If a field is missing from the text, use null.
- Never guess a value to fill a field.
- Output must parse with JSON.parse on the first try.

Hvorfor det virker: et bokstavelig skjema pluss «kun gyldig JSON» slår et beskrevet format hver eneste gang. For håndhevingsmønstre utover selve prompten (JSON-skjemavalidering, verktøybasert ekstraksjon), se vår guide til strukturerte utdata.

6. Innholds-QA / valideringsagent (fra vår egen produksjonspipeline)

Denne kjører i vår egen stack. Systemprompten til valideringsagenten vår er et eksempel på negative begrensninger: den forteller modellen nøyaktig hva den IKKE skal skrive, og så sjekker et skript reglene bokstavelig.

text
You are a content QA agent. You check one blog draft against a
fixed style contract.

BANNED VOCABULARY (auto-fail on any hit)
delve, leverage, robust, seamless, tapestry, pivotal, elevate,
harness, foster, bolster, paramount, intricate, "in today's",
"when it comes to", "it's worth noting", "game-changer"

FORMAT LIMITS
- Em-dashes: max 3 per 1,000 words of body.
- Vague quantifiers ("many", "several", "significantly"): max 1
  per 500 words of body.

ENFORCEMENT
- Do not "write naturally." Check every rule literally.
- A deterministic script (ai_slop_check.py) greps the draft and
  exits non-zero on any hit. If it fails, the post does not publish.

Hvorfor det virker: en oppramset forbudsliste pluss et grep-søk er håndhevbart på en måte «unngå buzzwords» aldri er. Modellen kan diskutere med en følelse; den kan ikke diskutere med en exit-kode som ikke er null.

7. Oversettelsesagent (fra vår egen produksjonspipeline)

Også vår egen. Oversetter-agentens prompt er en outputformat- og fullstendighetskontrakt med en selvsjekk modellen kjører på sitt eget output.

text
You are an expert translator. You translate ONE blog post into ONE
target language.

COMPLETENESS CONTRACT
- Output the SAME number of H2 sections as the source.
- Line count must land within 80-120% of the source.
- Translate the FAQ fully. Never submit a partial draft.

DIACRITICS SELF-CHECK
- Keep native characters. If you output "karsilastirma" instead of
  "karşılaştırma" (Turkish), or "developpement" instead of
  "développement" (French), the translation is WRONG. Re-do it.

If you cannot meet the contract, report the problem. Do not ship a
truncated post.

Hvorfor det virker: en fullstendighetskontrakt pluss et konkret eksempel på feil output fanger de stille feilene en vag linje som «oversett nøyaktig» slipper gjennom.

Hva vi lærte av å kjøre systemprompter i produksjon

Tre systemprompt-bugger i vår egen pipeline lærte oss mer enn noen dokumentasjonsside. Alle tre kom fra instruksjoner som hørtes greie ut, men som ikke var spesifikke eller verifiserbare. Her er hva som gikk i stykker på tvers av våre 16+ Claude-underagenter, og den nøyaktige fiksen som satt seg hver gang. Mønsteret er det samme hver gang: myke regler blir ignorert, spesifikke og eksternt sjekkede regler blir stående.

Bugg med forbudt ordforråd. I ukevis fortsatte modellen å smugle leverage og robust inn i utkast, uansett hvor pent vi ba. En myk «unngå buzzwords»-linje gjorde ingenting. Fiksen var eksempel 6: en oppramset forbudsliste inne i prompten pluss et skript som grepper outputen og avslutter med feilkode ved ethvert treff, med et tankestrek-tak på 3 per 1 000 ord på toppen. Lærdommen: vage begrensninger blir ignorert; oppramsede, eksternt verifiserte begrensninger blir stående.

Diakritikk-buggen. Oversetter-agenten vår sendte stille ut ASCII på tyrkisk, fransk og spansk. karşılaştırma kom ut som karsilastirma, og ingen la merke til det før en morsmålsleser flagget det. Fiksen var en tabell med native tegn i prompten, et eksplisitt eksempel på feil output, og et grep-søk etter kjøring (null native tegn betyr at det skal oversettes på nytt). Lærdommen: gi modellen et konkret eksempel på feilen, ikke bare en regel.

Stabil-ID-buggen. Dette er den dyre. En systemprompt som utledet en ny lokalisert slug ved hver reoversettelse, fikk publiseringsagenten til å opprette et ekstra, live dokument for samme innlegg. Vi sendte ut 54 dupliserte live dokumenter 13. juni 2026 og avpubliserte dem ikke før 5. juli 2026, tre uker med delt lenkeverdi og duplicate-content-flagg. Fiksen: fest identiteten eksplisitt og gjenbruk den eksisterende ID-en ordrett. En systemprompt som regenererer sine egne identifikatorer ikke-deterministisk sender ut duplikater; vår mintet 54 live dokumenter før vi festet ID-en.

Hva er de vanligste feilene med systemprompter?

De vanligste feilene med systemprompter er murvegg-av-tekst-instruksjoner, motstridende regler, kun-negativ formulering, å dumpe per-forespørsel-kontekst inn i en statisk prompt, og å hoppe over en reserveløsning. På 2026-modeller finnes det en ny en: aggressiv CAPS og «du MÅ»-formulering overutløser nå Claude Opus 4.5+.

Her er den raske fikselisten:

  • Murvegg av tekst. Fiks: del den opp i de seks blokkene og sett stabilt innhold først.
  • Motstridende instruksjoner. Fiks: én regel per linje; løs konflikter før du sender ut.
  • Kun-negativ formulering. Fiks: si hva som skal gjøres, ikke bare hva som skal unngås.
  • CAPS- og «MÅ»-overbelastning. På Anthropics nyere modeller slår dette tilbake. Dokumentasjonen deres sier nå at der du kanskje tidligere skrev «CRITICAL: You MUST use this tool», kan du bruke en normal formulering som «Use this tool when.» 2025-rådet er nå selve feilen.
  • Dynamisk kontekst i en statisk prompt. Hold per-forespørsel-data i brukerturen. Hva som hører hjemme hvor, er en egen disiplin; vår guide til context engineering dekker det.
  • Ingen reserveløsning. Definer alltid en avvisning og en eskaleringsvei.
  • Å ignorere lengde og kostnad. Lengre prompter legger til ventetid og tokenkostnad på hvert kall; kutt ned til det som fortjener plassen sin.

For de enkle grunnprinsippene om instruksjonsklarhet er OpenAIs artikkel om beste praksis fortsatt en solid sjekkliste.

Hvordan tester og itererer du på en systemprompt?

Test en systemprompt på samme måte som du tester kode. Bygg et lite gullsett med input og forventet output, og assert deretter modellens svar mot dem ved hver eneste endring. A/B-test to promptversjoner på de samme inputene og behold den som består flest sjekker. Assertions slår manuell øyeballing hver gang.

En minimal evalueringsløkke ser slik ut:

text
# pseudo eval loop
for case in golden_set:
    out = model(system=PROMPT, user=case.input)
    assert is_valid_json(out)              # format check
    assert case.expected_field in out      # content check
    if case.no_context:
        assert "I don't have that" in out  # refusal check
# ship the prompt version that passes the most cases

Grep-søket i eksempel 6 er den billigste assertion du kan kjøre: den koster ingenting og blir aldri sliten. Etter hvert som promptbiblioteket ditt vokser forbi en håndfull, bør du versjonere og teste promptene dine med ekte prompt management-verktøy i stedet for å kopiere og lime mellom filer. Poenget er det samme uansett skala: aldri endre en produksjonsprompt uten en sjekk som forteller deg om du gjorde den bedre eller verre.

Systemprompt vs. brukerprompt vs. developer-melding

En systemprompt setter fast atferd; en brukerprompt bærer per-forespørsel-oppgaven; en developer-melding er OpenAIs rolle for resonneringsmodeller som holder app-nivå-instruksjoner rangert over brukermeldinger i kommandokjeden. Anthropic bruker en toppnivå-system-parameter i stedet for en role: "system"-melding. Her er tredelingen konkurrenter som regel går glipp av.

LagSatt avEndres per forespørsel?OpenAI-mekanikkAnthropic-mekanikk
SystempromptApputviklerNei, stabilrole "system" i messagestoppnivå system-parameter
Developer-meldingApputviklerSjeldenrole "developer" på resonneringsmodellerfoldet inn i system-parameteren
BrukerpromptSluttbrukerJa, hver turrole "user" i messagesrole "user" i messages

OpenAI er eksplisitte på rangeringen: «developer-meldinger er instruksjoner gitt av appen bak, prioritert foran brukermeldinger». Så hvis en bruker prøver å overstyre appreglene dine, vinner developer-meldingen i kommandokjeden.

Trenger resonneringsmodeller andre systemprompter? (2026)

Ja. Resonneringsmodeller som OpenAIs o-serie, GPT-5 og Claude Opus 4.5+ vil ha mål på høyt nivå, ikke steg-for-steg-manus. OpenAI sammenligner en resonneringsmodell med en senior kollega du stoler på med detaljene, versus en GPT-modell som oppfører seg som en junior som trenger eksplisitte instruksjoner.

Denne innrammingen endrer hvordan du skriver prompten. For en resonneringsmodell, angi målet og begrensningene og «stol på at de finner ut detaljene»; for en GPT-modell, spesifiser stegene. Å overspesifisere en resonneringsmodell gjør den ofte verre, ikke bedre.

Claude-siden har sitt eget 2026-skifte. Fordi Opus 4.5+ er mer responsiv på systemprompten, overutløser den gamle vanen med å stable CRITICAL: og MUST den nå. Demp det språket ned til normal formulering. Én kostnadsmerknad: legg det stabile, gjenbrukte innholdet i begynnelsen av prompten, slik at prompt-caching kan slå inn og kutte ventetiden på gjentatte kall. Og hvis resonneringsmodellen din gjør steg-for-steg-arbeid, er chain-of-thought-prompting et eget tema med sin egen guide, så vi underviser ikke i det her.

Hvordan Techsy tilnærmer seg dette

Hos Techsy bygger vi agentsystemer for B2B-kunder, og validerings- og oversetter-promptene over kjører i den samme produksjonsstacken. Vi behandler hver eneste systemprompt som kode: vi versjonerer den, tester den mot et gullsett, og håndhever de ikke-forhandlingsbare reglene med et skript i stedet for håp. Hvis du flytter en LLM-funksjon fra demo til produksjon og vil ha en hånd med AI-integrasjon-arbeidet, kan du få en gratis konsultasjon.

Om forfatteren

Mert Batur er medgründer av Techsy.io, hvor teamet leverer AI-agenter, automasjonssystemer og stemme-/SDR-pipelines for B2B-kunder. Han skriver om LLM-verktøystacken Techsy-teamet faktisk bruker i produksjon.

Medgründer, Techsy.io · LinkedIn

Ofte stilte spørsmål

Hva er en systemprompt?

En systemprompt er et sett med faste instruksjoner satt én gang, før noen brukermelding, som definerer modellens rolle, atferd, begrensninger og outputformat for hele økten. Det er det faste «hvordan den oppfører seg»-laget, og det forblir identisk mens brukerens per-forespørsel-meldinger endrer seg for hver tur.

Hva er forskjellen mellom en systemprompt og en brukerprompt?

Systemprompten er det faste «hvordan den oppfører seg», identisk på tvers av hver forespørsel; brukerprompten er per-forespørsel-«hva som skal gjøres». En enkel tommelfingerregel: hvis innholdet ville vært identisk på tvers av 1 000 forespørsler, hører det hjemme i systemprompten, og alt som endrer seg per kall går i brukerturen.

Hva er en developer-melding versus en systemprompt?

OpenAIs resonneringsmodeller (o-serien, GPT-5) tar imot en developer-melding i stedet for en system-melding. Den bærer app-nivå-instruksjoner rangert over brukermeldinger i kommandokjeden, så den vinner hvis en bruker prøver å overstyre reglene dine. Anthropic beholder én enkelt toppnivå-system-parameter fremfor en rollebasert melding.

Hvor lang bør en systemprompt være?

Så kort som mulig, men fortsatt dekke rolle, begrensninger, outputformat og guardrails. Altfor lange prompter legger til tokenkostnad og ventetid på hvert kall, og kan overutløse ekstra resonnering på Claude Opus 4.5+. Hvis en stabil prompt må være lang, sett det gjenbrukte innholdet først, slik at prompt-caching oppveier kostnaden.

Fungerer systemprompter likt i ChatGPT/GPT og Claude?

Samme konsept, ulik mekanikk. OpenAI bruker en system- eller developer-rolle inne i messages-arrayet, mens Anthropic bruker en separat toppnivå-system-parameter og foretrekker XML-tagger for å skille instruksjoner, kontekst og eksempler. Instruksjonene overføres mellom leverandørene; koblingen og formateringskonvensjonene gjør det ikke.

Kan du endre systemprompten midt i en samtale?

Gjennom API-et sender du på nytt hele messages-payloaden ved hvert kall, så du kan teknisk sett bytte ut systemprompten mellom turene. Men å endre den midt i en samtale kan bryte kontinuiteten og forvirre modellen om sine egne regler. Foretrekk å sette den én gang, eller bytt bevisst til en distinkt oppgavespesifikk prompt.

Bør jeg bruke XML-tagger eller markdown i en systemprompt?

Anthropic anbefaler XML-tagger for Claude for å skille instruksjoner, kontekst og eksempler slik at modellen ikke blander dem sammen. OpenAI-modeller håndterer markdown og enkle overskrifter godt. Følg leverandørens konvensjon i stedet for å tvinge én stil over begge, og hold deg konsekvent til det du velger innenfor én og samme prompt.

Trenger resonneringsmodeller andre systemprompter?

Ja. Resonneringsmodeller vil ha mål på høyt nivå, som å brife en senior kollega, ikke steg-for-steg-mikrostyring. Dropp det aggressive CAPS- og «du MÅ»-språket som overutløser nyere modeller som Claude Opus 4.5+, angi målet og guardrailsene, og la modellen legge opp veien dit selv.

Hva er delene i en god systemprompt?

Seks blokker: rolle, kontekst, begrensninger, outputformat, guardrails eller reserveløsninger, og valgfritt et par eksempler. Rolle og begrensninger gjør mesteparten av jobben; outputformat-blokken er det som gjør svarene parsbare; guardrails definerer hva som skjer i kanttilfellene. Eksempler er bare verdt å legge til når målkvaliteten er vanskelig å beskrive med ord.

Emneord

systemprompt-eksemplerhvordan skrive en systempromptsystempromptllmprompt engineering

Del denne artikkelen

Kom i gang

Klar til å bygge noe ekstraordinært?

La oss gjøre visjonen din til virkelighet. Teamet vårt er klart til å hjelpe deg med å lage programvare som utgjør en forskjell.