Modulære ledetekstdeler
Skill kontekst, instruksjoner, begrensninger og utdataformat tydelig fra hverandre.
Modulære ledetekstdeler er en gratis leksjon i AI-prompt engineering på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-prompt engineering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.
Problemet med monolittiske prompter
En monolittisk prompt stapper alt inn i ett avsnitt: bakgrunn, oppgave, regler, eksempler og utdataformat blandet sammen. Etter hvert som prompter blir mer komplekse, fører monolittisk struktur til:
- at modeller bruker regler på feil seksjoner
- vanskeligheter med å feilsøke hvilken del som forårsaket et dårlig resultat
- promptstrenger som er umulige å vedlikeholde
- inkonsekvent atferd på tvers av modellversjoner
Modulære prompter løser alle disse problemene.
De fem sentrale promptseksjonene
En velstrukturert prompt har fem tydelig adskilte seksjoner, hver med et klart formål:
- Kontekst — bakgrunnen modellen trenger for å forstå situasjonen
- Oppgave — hva modellen skal gjøre, formulert tydelig
- Begrensninger — regler og grenser for svaret
- Utdataformat — struktur, lengde og skjema for det forventede svaret
- Eksempler — demonstrasjoner av korrekt atferd
Ikke alle prompter trenger alle fem. Bruk bare det som er nødvendig.
Kontekstseksjonen
Kontekstseksjonen gir bakgrunnsinformasjon uten å fortelle modellen hva den skal gjøre. God kontekst omfatter:
- hvem sluttbrukeren er
- hvilken plattform eller hvilket produkt dette gjelder
- relevant fagkunnskap
- tidligere tilstand modellen bør kjenne til
context_section = '''
<context>
You are assisting a customer support agent at a B2B SaaS company.
The company sells project management software used by engineering teams.
Customers are typically CTOs, engineering managers, or senior developers.
The support agent is handling a live chat conversation with a customer.
</context>
'''
print(context_section)Oppgaveseksjonen
Oppgaveseksjonen beskriver nøyaktig hva modellen skal produsere. Den bør være spesifikk, handlingsorientert og fri for unødvendig bakgrunnsinformasjon.
task_section = '''
<task>
Draft a response to the customer message below.
The response should:
1. Acknowledge the customer's issue
2. Provide a concrete next step
3. Set a realistic expectation for resolution time
</task>
<customer_message>
Our Gantt chart view stopped loading after the last update.
This is blocking our sprint planning session today.
</customer_message>
'''
print(task_section)Begrensningsseksjonen
Begrensninger definerer retningslinjene – hva modellen IKKE skal gjøre, og eksplisitte grenser den må respektere.
constraints_section = '''
<constraints>
- Do not promise a fix by a specific date unless you are certain.
- Do not mention competitor products by name.
- Keep the response under 100 words.
- Use a professional but empathetic tone.
- Do not ask the customer for information already provided in their message.
</constraints>
'''
print(constraints_section)Utdataformatseksjonen
Utdataformatseksjonen forteller modellen nøyaktig hvordan den skal strukturere svaret sitt – JSON-skjema, Markdown-overskrifter, ren tekst, nummererte lister osv.
output_format_section = '''
<output_format>
Respond with a JSON object containing:
{
"subject": "string (email subject line)",
"body": "string (email body, plain text, under 150 words)",
"priority": "high | medium | low",
"escalate": true | false
}
Do not include any text outside the JSON object.
</output_format>
'''
print(output_format_section)Eksempelseksjonen
Eksempelseksjonen viser modellen et korrekt par av inndata og utdata. Plasser eksemplene etter begrensningene, slik at modellen ser reglene før demonstrasjonen.
examples_section = '''
<examples>
<example>
<input>Customer: My invoices are not downloading.</input>
<output>{
"subject": "Invoice Download Issue",
"body": "Thank you for reaching out. We see the issue with invoice downloads and our team is investigating. We expect a fix within 2 hours. We will email you once resolved.",
"priority": "high",
"escalate": true
}</output>
</example>
</examples>
'''
print(examples_section)Sette sammen en modulær prompt
Den modulære tilnærmingen gjør det enkelt å sette sammen og redigere prompten. Hver seksjon kan endres uavhengig av de andre.
def build_support_prompt(customer_message):
context = '<context>B2B SaaS customer support for project management software.</context>'
task = f'<task>Draft a JSON response to this customer message.</task>\n<customer_message>{customer_message}</customer_message>'
constraints = '<constraints>Under 100 words. Professional tone. No competitor names.</constraints>'
output_fmt = '<output_format>Return JSON: {"subject": str, "body": str, "priority": str, "escalate": bool}</output_format>'
return '\n\n'.join([context, task, constraints, output_fmt])
message = 'The Gantt chart stopped loading after your last update.'
print(build_support_prompt(message))Fordeler ved feilsøking
Når en modulær prompt gir et dårlig resultat, kan du isolere problemseksjonen:
- Ble feil oppgave utført? — Sjekk oppgaveseksjonen
- Ble en regel brutt? — Sjekk begrensningsseksjonen
- Er utdatastrukturen feil? — Sjekk utdataformatseksjonen
- Dårlig kvalitet? — Sjekk eksempelseksjonen eller legg til mer kontekst
Du kan endre én seksjon om gangen og teste på nytt uten å skrive om hele prompten.
Fordeler ved vedlikehold
Modulære prompter som er lagret som strukturerte objekter eller funksjoner, er langt enklere å vedlikeholde enn lange strengliteraler:
- Oppdater konteksten når produktet endres, uten å røre oppgavelogikken
- Bytt utdataformat fra JSON til Markdown uten å endre begrensningene
- A/B-test ulike eksempelsett mens alt annet holdes konstant
- Versjonskontroller individuelle seksjoner uavhengig av hverandre
class Prompt:
def __init__(self):
self.context = ''
self.task = ''
self.constraints = []
self.output_format = ''
self.examples = []
def build(self):
parts = []
if self.context:
parts.append(f'<context>\n{self.context}\n</context>')
if self.task:
parts.append(f'<task>\n{self.task}\n</task>')
if self.constraints:
c = '\n'.join(f'- {r}' for r in self.constraints)
parts.append(f'<constraints>\n{c}\n</constraints>')
if self.output_format:
parts.append(f'<output_format>\n{self.output_format}\n</output_format>')
return '\n\n'.join(parts)Når seksjoner kan utelates
Ikke alle prompter trenger alle fem seksjonene. Bruk denne veiledningen:
- Utelat kontekst når oppgaven er selvforklarende (f.eks. oversett denne setningen)
- Utelat begrensninger for enkle uttrekksoppgaver uten spesielle tilfeller
- Utelat eksempler når oppgaven er enkel, eller modellen allerede utfører den godt uten eksempler (zero-shot)
- Inkluder alltid Oppgave og Utdataformat – dette er minimumsseksjonene som fungerer
Overdreven spesifikasjon av enkle prompter tilfører støy uten å gi noen fordel.
Hurtigsjekk
En modulær prompt gir en feil utdatastruktur. Hvilken seksjon bør du sjekke først?
Modulære seksjoner – viktigste punkter
Modulære promptseksjoner er grunnlaget for promptutvikling som er enkel å vedlikeholde og feilsøke:
- Fem sentrale seksjoner: Kontekst, Oppgave, Begrensninger, Utdataformat, Eksempler
- Hver seksjon har ett ansvarsområde – hvis de blandes, oppstår forvirring
- Modulær struktur muliggjør feilsøking og A/B-testing seksjon for seksjon
- Lagre prompter som strukturerte objekter eller funksjoner, ikke som råstrenger
- Utelat seksjoner som ikke trengs – overdetaljering skaper støy
- Ta alltid med minst Oppgave og Utdataformat i alle ikke-trivielle prompter
Lær deg AI-prompt engineering med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 53
- Leksjoner
- 199
Ofte stilte spørsmål
Er leksjonen «Modulære ledetekstdeler» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Modulære ledetekstdeler», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.
Hva lærer jeg i «Modulære ledetekstdeler»?
Skill kontekst, instruksjoner, begrensninger og utdataformat tydelig fra hverandre. Du øver på AI-prompt engineering med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med AI-prompt engineering?
Ingen tidligere erfaring er nødvendig. AI-prompt engineering på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Modulære ledetekstdeler»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne AI-prompt engineering-leksjonen?
Ja. Alle AI-prompt engineering-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Bruke XML-tagger som skilletegn
- Modulære ledetekstdeler
- Mønsteret topptekst–brødtekst–bunntekst
- Beste praksis for organisering av ledetekster