Hva er meta-prompting?
Prompter som lager andre prompter: LLM-enes rekursive kraft.
Hva er meta-prompting? er en gratis leksjon i AI-prompt engineering på CoddyKit. Dette er leksjon 1 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.
Definisjon av metaprompting
Metaprompting er praksisen med å skrive prompter som gir andre prompter som resultat. I stedet for å løse en oppgave direkte instruerer en metaprompt modellen til å generere instruksjonene som deretter skal løse oppgaven. Det er et abstraksjonsnivå over vanlig prompting.
Førsteordens prompting vs. metaprompting
Forskjellen mellom førsteordens prompting og metaprompting er følgende: Førsteordens prompter gir resultater for oppgaven, for eksempel sammendrag, kode eller analyser. Metaprompter gir prompter, evalueringskriterier eller systeminstruksjoner som deretter kan brukes på den faktiske oppgaven.
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
# FIRST-ORDER prompt (produces a task output directly)
first_order = 'Write a customer service response for a user whose order was delayed.'
# META-PROMPT (produces a prompt that can then solve similar tasks)
meta_prompt = (
'Design a system prompt for a customer service AI agent '
'that handles order delay complaints. The agent should '
'be empathetic, solution-focused, and proactively offer '
'compensation when appropriate. Output only the system prompt.'
)
response = client.messages.create(
model='claude-opus-4-5', max_tokens=800,
messages=[{'role': 'user', 'content': meta_prompt}]
)
generated_system_prompt = response.content[0].text
print('Generated system prompt:')
print(generated_system_prompt[:300], '...')Bruksområde 1: generering av systemprompter
En av de mest kraftfulle bruksområdene for metaprompting er å generere systemprompter for bestemte roller eller applikasjoner. I stedet for å utforme en systemprompt manuelt, bruker De en metaprompt til å be modellen opprette en basert på en beskrivelse av bruksområdet.
META_SYSTEM_PROMPT_GENERATOR = '''You are a prompt engineer specializing in system prompts.
Given a description of an AI assistant role, generate a comprehensive system prompt.
The system prompt you generate must:
1. Define the assistant\'s persona and expertise
2. Specify its primary objectives
3. List behavioral rules (what it should and should not do)
4. Define output format preferences
5. Include appropriate disclaimers for the domain
6. Be between 200-400 words
Output only the system prompt — no explanation, no preamble.'''
def generate_system_prompt(role_description):
response = client.messages.create(
model='claude-opus-4-5', max_tokens=600,
system=META_SYSTEM_PROMPT_GENERATOR,
messages=[{'role': 'user', 'content':
f'Generate a system prompt for: {role_description}'}]
)
return response.content[0].text
# Example: generate a system prompt for a coding tutor
result = generate_system_prompt(
'A Python coding tutor for absolute beginners aged 12-16, '
'who explains concepts using simple analogies and emojis'
)
print(result[:400], '...')Bruksområde 2: oppretting av evalueringskriterier
Metaprompting kan generere evalueringskriterier for en oppgave. I stedet for å definere manuelt hva som kjennetegner et godt resultat, kan De be modellen generere vurderingskriterier for et bestemt mål.
META_CRITERIA_GENERATOR = '''You are an evaluation framework designer.
Given a task description, create a detailed evaluation rubric.
For each criterion:
- Name: concise label
- Weight: percentage (all weights sum to 100)
- Description: what to look for
- Scoring: 1-5 scale with what each score means
Output as a JSON array.'''
def generate_eval_criteria(task_description):
import json
response = client.messages.create(
model='claude-opus-4-5', max_tokens=1000,
system=META_CRITERIA_GENERATOR,
messages=[{'role': 'user', 'content':
f'Create evaluation criteria for: {task_description}'}]
)
return json.loads(response.content[0].text)
criteria = generate_eval_criteria(
'AI-generated summaries of financial earnings reports'
)
for c in criteria[:3]:
print(f'{c["name"]} ({c["weight"]}%): {c["description"][:50]}')Bruksområde 3: utforming av promptmaler
Metaprompting kan generere gjenbrukbare promptmaler for vanlige oppgaver. Metaprompten mottar en beskrivelse av oppgaven og returnerer en parameterisert mal med plassholdere som {variable}.
META_TEMPLATE_DESIGNER = '''You are a prompt template engineer.
Given a task type, design a prompt template with {variable} placeholders.
Requirements:
- Identify all input variables and use {variable_name} syntax
- Include clear instruction structure
- Specify desired output format
- Add any necessary constraints or rules
- Output: JSON with keys: template (string), variables (list of variable descriptions)'''
def design_prompt_template(task_type):
import json
response = client.messages.create(
model='claude-opus-4-5', max_tokens=800,
system=META_TEMPLATE_DESIGNER,
messages=[{'role': 'user', 'content':
f'Design a prompt template for: {task_type}'}]
)
return json.loads(response.content[0].text)
template = design_prompt_template('extracting action items from meeting notes')
print('Template:', template['template'][:200], '...')
print('Variables:', template['variables'][:3])Metaprompting for generering av personaer
Metaprompting kan generere ulike definisjoner av AI-personaer. Dette er nyttig for rollespillapplikasjoner, chatbotkonfigurasjoner og testing av AI-atferd med forskjellige personaer.
META_PERSONA_GENERATOR = '''Generate {num_personas} distinct AI assistant personas for the following application.
Each persona should have:
- Name
- Personality traits (3-5 adjectives)
- Communication style description
- Expertise areas
- Signature phrases or patterns
- Things this persona would never say
Make personas meaningfully different from each other.
Output as a JSON array.'''
def generate_personas(application, num_personas=3):
import json
response = client.messages.create(
model='claude-opus-4-5', max_tokens=1500,
messages=[{'role': 'user', 'content':
META_PERSONA_GENERATOR.format(num_personas=num_personas) +
f'\n\nApplication: {application}'}]
)
return json.loads(response.content[0].text)
personas = generate_personas('a fitness and wellness coaching app')
for p in personas:
print(f'{p["name"]}: {p["personality_traits"]}')Kjeding av metaprompter
Metaprompting blir mest kraftfullt når metaprompter kjedes sammen: Resultatet fra én metaprompt brukes som inndata til den neste. Dette skaper en promptgenereringspipeline som kan bygge sofistikerte AI-systemer fra overordnede krav.
def meta_prompt_pipeline(application_description):
print('Step 1: Generating system prompt...')
system_prompt = generate_system_prompt(application_description)
print('Step 2: Generating evaluation criteria...')
criteria = generate_eval_criteria(
f'Responses from an AI assistant that: {application_description}'
)
print('Step 3: Generating test cases...')
test_cases_meta = (
f'Generate 5 diverse test user messages for an AI assistant '
f'that {application_description}. '
f'Include edge cases and difficult requests. Return as JSON list.'
)
test_response = client.messages.create(
model='claude-opus-4-5', max_tokens=800,
messages=[{'role': 'user', 'content': test_cases_meta}]
)
import json
test_cases = json.loads(test_response.content[0].text)
return {
'system_prompt': system_prompt,
'eval_criteria': criteria,
'test_cases': test_cases
}
result = meta_prompt_pipeline('helps junior developers understand error messages')
print('Pipeline output keys:', list(result.keys()))Kvalitetskontroll av metaprompter
Genererte prompter må valideres før de tas i bruk. Gjennomfør kvalitetskontroller: Inneholder den genererte prompten alle nødvendige elementer? Unngår den vanlige fallgruver? Bruk automatiserte kontroller og et eget gjennomgangstrinn.
def validate_generated_system_prompt(system_prompt):
checks = {
'Has persona definition': any(w in system_prompt.lower() for w in
['you are', 'your role', 'you\'re', 'act as']),
'Has behavioral rules': any(w in system_prompt.lower() for w in
['do not', 'never', 'always', 'must', 'should']),
'Has output format': any(w in system_prompt.lower() for w in
['format', 'output', 'structure', 'respond with']),
'Length appropriate': 100 < len(system_prompt.split()) < 600,
'No explicit profanity': True, # add real check in production
'Has domain scope': len(system_prompt) > 50
}
passed = sum(checks.values())
print(f'Validation: {passed}/{len(checks)} checks passed')
for check, result in checks.items():
status = 'PASS' if result else 'FAIL'
print(f' [{status}] {check}')
return all(checks.values())
# Validate a generated prompt
test_prompt = 'You are a helpful customer service assistant. Always be polite.'
validate_generated_system_prompt(test_prompt)Begrensninger ved metaprompting
Metaprompting er kraftfullt, men har viktige begrensninger som brukere må forstå. Genererte prompter krever menneskelig gjennomgang før de tas i bruk i produksjon.
meta_prompting_limitations = {
'Quality variance': (
'Generated prompts vary in quality. '
'Always evaluate and iterate — do not use raw output in production.'
),
'Domain knowledge gaps': (
'The model may generate plausible-sounding prompts that '
'miss critical domain-specific requirements. '
'Domain experts must review generated criteria and rules.'
),
'Hallucinated instructions': (
'Generated prompts may include instructions that sound right '
'but are incorrect (e.g., citing wrong regulations, wrong APIs). '
'Verify all factual claims in generated prompts.'
),
'Misalignment with intent': (
'A generated system prompt may technically fulfill the meta-prompt '
'but not capture the actual product requirements. '
'User testing is still required.'
),
'Compounding errors': (
'In meta-prompt chains, errors in early stages compound. '
'Validate outputs at each step before passing to the next.'
)
}
for limitation, description in meta_prompting_limitations.items():
print(f'{limitation}: {description[:80]}...')Metaprompting for promptkritikk
I tillegg til å generere prompter kan metaprompting kritisere eksisterende prompter. Be modellen gjennomgå en prompt og identifisere svakheter – manglende begrensninger, tvetydige instruksjoner eller manglende spesifikasjoner for utdataformat.
CRITIQUE_META_PROMPT = '''You are an expert prompt engineer.
Review the following prompt and identify weaknesses.
Prompt to review:
{prompt_to_review}
For each weakness:
1. Weakness: what is missing or unclear
2. Impact: what problems this causes in practice
3. Fix: exact suggested replacement text
Also provide:
- Overall quality score: 1-10
- Top 3 improvements ordered by impact
Be specific — quote the relevant part of the prompt.'''
def critique_existing_prompt(prompt_text):
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
response = client.messages.create(
model='claude-opus-4-5', max_tokens=1000,
messages=[{'role': 'user', 'content':
CRITIQUE_META_PROMPT.format(prompt_to_review=prompt_text)}]
)
return response.content[0].text
# Example usage
weak_prompt = 'Summarize the article.'
critique = critique_existing_prompt(weak_prompt)
print(critique[:300], '...')Metaprompting vs. manuell promptutvikling
Metaprompting og manuell promptutvikling har ulike styrker. Det er like viktig å vite når De bør bruke hver av dem, som å vite hvordan.
WHEN_TO_USE = {
'Meta-prompting is better when': [
'You need many prompt variants quickly (A/B testing)',
'The use case is well-defined and the requirements are clear',
'You need to scale prompt creation across many categories',
'You want to explore the design space of possible prompts',
'You have evaluation criteria to filter generated prompts'
],
'Manual prompt engineering is better when': [
'Deep domain expertise is required (medical, legal, safety-critical)',
'The prompt controls a high-stakes production system',
'Iterative refinement and human judgment are essential',
'The requirements are nuanced and hard to express to a meta-prompt',
'You need guaranteed correctness (not just plausible)'
]
}
for mode, reasons in WHEN_TO_USE.items():
print(f'\n{mode}:')
for r in reasons[:3]:
print(f' - {r}')Hurtigsjekk
Hva er den avgjørende egenskapen som skiller en metaprompt fra en vanlig prompt?
Sammendrag av metaprompting
Metaprompting tilfører et kraftig abstraksjonsnivå til promptutvikling:
- Definisjon: prompter som gir andre prompter som resultat
- Bruksområder: generering av systemprompter, evalueringskriterier, promptmaler og personaer
- Kjeding av metaprompter: kjed metaprompter sammen for å bygge komplette konfigurasjoner for AI-applikasjoner
- Kvalitetskontroll: valider alltid genererte prompter før de tas i bruk i produksjon
- Begrensninger: manglende domeneekspertise, hallusinerte instruksjoner og kumulative feil i kjeder
- Best egnet for: skalering av promptoppretting, utforsking av designrommet og generering av testsett
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 «Hva er meta-prompting?» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Hva er meta-prompting?», 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 «Hva er meta-prompting?»?
Prompter som lager andre prompter: LLM-enes rekursive kraft. 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 1 av 4.
Hvor lang tid tar leksjonen «Hva er meta-prompting?»?
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
- Hva er meta-prompting?
- Prompter som genererer prompter
- Selvforbedrende promptsystemer
- Evaluering og utvelgelse i selvforbedring