AI-prompt engineering · leksjon

Modulære ledetekstdeler

Skill kontekst, instruksjoner, begrensninger og utdataformat tydelig fra hverandre.

Leksjon 2 av 413 trinn

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
Gratis å komme i gang

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

  1. Bruke XML-tagger som skilletegn
  2. Modulære ledetekstdeler
  3. Mønsteret topptekst–brødtekst–bunntekst
  4. Beste praksis for organisering av ledetekster
← Tilbake til AI-prompt engineering