Promptteknik til AI · Lektion

Effektive prompts til extended thinking

Hold prompts enkle, undgå trin-for-trin-instruktioner, og stol på modellens evne til at ræsonnere.

Lektion 2 af 413 trin

Effektive prompts til extended thinking er en gratis Promptteknik til AI-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Promptteknik til AI, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Promptteknik til AI-kurset indeholder 4 lektioner i alt.

Prompter til ræsonneringsmodeller er anderledes

De antagelser om prompting, som du har opbygget til standardmodeller — tankekæde, instruktioner trin for trin og eksempler med få eksempler — arbejder ofte imod dig med ræsonneringsmodeller.

Ræsonneringsmodeller udfører allerede avanceret intern ræsonnering. Hvis du fortæller dem præcis, hvordan de skal tænke, kan det forstyrre processen. De bedste prompter til ræsonneringsmodeller er enklere og mere direkte end prompter til standardmodeller.

Giv ikke instruktioner trin for trin

Med standardmodeller skriver du: »Tænk trin for trin. Overvej først X, derefter Y, og konkludér til sidst Z.« Denne stilladsering hjælper, fordi standardmodeller ikke gør det automatisk.

Med ræsonneringsmodeller kan denne stilladsering begrænse modellens interne ræsonnering til en uhensigtsmæssig vej. Angiv i stedet problemet tydeligt, og lad modellen afgøre, hvordan den skal ræsonnere om det.

# Standard model: needs scaffolding
STANDARD_PROMPT = (
    'Let us think step by step.\n'
    'First, identify the variables.\n'
    'Then, set up the equation.\n'
    'Then, solve for x.\n'
    'Finally, verify your answer.\n\n'
    'Problem: If 3x + 7 = 22, what is x?'
)

# Reasoning model: just state the problem clearly
REASONING_PROMPT = (
    'Solve: If 3x + 7 = 22, what is x?'
    # The model handles the step-by-step internally
)

# Both produce correct answers; the reasoning model prompt is simpler
print('Reasoning model prefers the cleaner prompt')

Angiv problemet tydeligt og fuldstændigt

Selvom du bør forenkle hvordan du instruerer ræsonneringsmodellen, bør du være grundig med hvad du beder den om. Giv al kontekst, alle begrænsninger og alle krav på forhånd — modellen bruger dem under sin interne ræsonnering.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# Poor: vague problem statement
BAD_PROMPT = 'Write me a good sorting algorithm.'

# Good: clear, complete problem specification
GOOD_PROMPT = (
    'Write a Python sorting algorithm with these requirements:\n'
    '- Must sort a list of integers in ascending order\n'
    '- Must work correctly on empty lists, single-element lists, and lists with duplicates\n'
    '- Target time complexity: O(n log n) average case\n'
    '- Must not use Python built-in sort() or sorted()\n'
    '- Include a brief docstring and 3 test cases\n\n'
    'Return only the code, no explanation.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=8000,
    thinking={'type': 'enabled', 'budget_tokens': 5000},
    messages=[{'role': 'user', 'content': GOOD_PROMPT}]
)
print(next(b.text for b in response.content if b.type == 'text')[:300])

Indstil budget_tokens korrekt

budget_tokens styrer det maksimale antal tænketokens. Den korrekte indstilling er det vigtigste justeringspunkt for ræsonneringsmodeller:

  • 1.000-2.000: Simple problemer og hurtige beregninger
  • 5.000-10.000: Programmering og analyse af mellemkompleksitet
  • 16.000+: Den sværeste matematik, komplekst systemdesign og problemer på forskningsniveau
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def reasoning_call(prompt, budget_tokens=5000):
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget_tokens + 2048,  # max_tokens must exceed budget_tokens
        thinking={
            'type': 'enabled',
            'budget_tokens': budget_tokens
        },
        messages=[{'role': 'user', 'content': prompt}]
    )
    answer = next((b.text for b in response.content if b.type == 'text'), '')
    thinking_blocks = [b for b in response.content if b.type == 'thinking']
    print(f'Thinking blocks: {len(thinking_blocks)}')
    return answer

# Simple problem: small budget
reasoning_call('What is 17 * 23?', budget_tokens=1000)

# Complex problem: larger budget
reasoning_call(
    'Design a distributed rate limiter that handles 100k requests/second.',
    budget_tokens=10000
)

Minimale systemprompter

Hold systemprompter minimale til ræsonneringsmodeller. Modellens interne ræsonnering er dens vigtigste evne — begræns den ikke unødigt med lange instruktioner om adfærd.

Gode systemprompter til ræsonneringsmodeller angiver rollen, definerer resultatformatet og specificerer begrænsningerne. Det er alt.

# Over-engineered system prompt (hurts reasoning models)
BAD_SYSTEM = (
    'You are an expert Python developer. '
    'Always think step by step. '
    'First understand the problem. '
    'Then plan your approach. '
    'Then implement step by step. '
    'Check each step before proceeding. '
    'Finally review your solution. '
    'Format all code with comments. '
    'Add error handling to every function. '
    '...'
)

# Minimal system prompt (helps reasoning models)
GOOD_SYSTEM = (
    'You are an expert Python developer. '
    'Return only code unless explanation is explicitly requested. '
    'Use type hints and docstrings.'
)
# The model's internal reasoning handles the rest

Instruktioner om resultatformat er stadig vigtige

Selvom du ikke bør instruere i hvordan modellen skal ræsonnere, bør du tydeligt angive det ønskede resultatformat. Det adskiller sig fra ræsonneringsinstruktioner — det fortæller modellen, hvad den skal returnere, ikke hvordan den skal tænke.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

# Clear output format instructions are still important
prompt = (
    'Analyze the time and space complexity of this Python function:\n\n'
    'def bubble_sort(arr):\n'
    '    n = len(arr)\n'
    '    for i in range(n):\n'
    '        for j in range(0, n-i-1):\n'
    '            if arr[j] > arr[j+1]:\n'
    '                arr[j], arr[j+1] = arr[j+1], arr[j]\n\n'
    'Return your answer as JSON with keys: '
    'time_complexity, space_complexity, explanation (2 sentences max).'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=5000,
    thinking={'type': 'enabled', 'budget_tokens': 3000},
    messages=[{'role': 'user', 'content': prompt}]
)
print(next(b.text for b in response.content if b.type == 'text'))

Færre eksempler med få eksempler

Standardmodeller får stor gavn af 3-5 eksempler med få eksempler. Ræsonneringsmodeller får mindre gavn af dem, og for mange eksempler kan faktisk skade ved at fylde kontekstvinduet med indhold, der forstyrrer den interne ræsonnering.

Til ræsonneringsmodeller er 0-1 eksempler ofte optimalt. Brug kun eksempler, når resultatformatet er usædvanligt eller tvetydigt.

# Standard model: 3 few-shot examples improve performance significantly
STANDARD_FEW_SHOT = (
    'Q: 2 + 2 = ?\nA: 4\n\n'
    'Q: 5 * 6 = ?\nA: 30\n\n'
    'Q: 100 / 4 = ?\nA: 25\n\n'
    'Q: 17 + 38 = ?\nA:'
)

# Reasoning model: 0 examples is fine; 1 is enough if format is unclear
REASONING_DIRECT = 'What is 17 + 38?'

# The reasoning model already knows math — examples are overhead, not signal
# Only use 1 example when the output format needs clarification:
REASONING_FORMAT_EXAMPLE = (
    'Answer math questions returning only the number.\n'
    'Example: Q: 2 + 2  A: 4\n\n'
    'Q: 17 + 38'
)

Håndtering af usikkerhed i ræsonneringsmodellens resultater

Ræsonneringsmodeller udtrykker oftere ægte usikkerhed end standardmodeller, fordi de faktisk har overvejet problemet. Udform dine applikationer, så de håndterer forsigtige svar på en hensigtsmæssig måde.

import anthropic
import re

client = anthropic.Anthropic(api_key='sk-ant-...')

def reasoning_with_confidence(question):
    prompt = (
        f'{question}\n\n'
        f'At the end of your answer, include a confidence statement: '
        f'Confidence: [HIGH/MEDIUM/LOW] — [one sentence why]'
    )
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=8000,
        thinking={'type': 'enabled', 'budget_tokens': 5000},
        messages=[{'role': 'user', 'content': prompt}]
    )
    text = next(b.text for b in response.content if b.type == 'text')

    # Parse confidence
    match = re.search(r'Confidence: (HIGH|MEDIUM|LOW)', text)
    confidence = match.group(1) if match else 'UNKNOWN'
    print(f'Confidence: {confidence}')
    return text, confidence

answer, conf = reasoning_with_confidence(
    'What will AI capabilities look like in 2030?'
)

Caching af ræsonneringsmodellens resultater

Kald til ræsonneringsmodeller er dyre og langsomme. Gem resultater i en cache for forespørgsler, der gentages eller kan forudsiges. Da tænketokens kan være meget lange, undgår caching, at du betaler svartiden og omkostningen igen ved gentagne kald.

import hashlib
import json
import os

cache_dir = '/tmp/reasoning_cache'
os.makedirs(cache_dir, exist_ok=True)

def cached_reasoning_call(prompt, budget_tokens=5000):
    # Create cache key from prompt
    key = hashlib.sha256(f'{prompt}:{budget_tokens}'.encode()).hexdigest()
    cache_file = os.path.join(cache_dir, f'{key}.json')

    if os.path.exists(cache_file):
        with open(cache_file) as f:
            cached = json.load(f)
        print('Cache hit!')
        return cached['answer']

    # Cache miss: call the model
    answer = reasoning_call(prompt, budget_tokens)

    with open(cache_file, 'w') as f:
        json.dump({'prompt': prompt, 'answer': answer}, f)

    return answer

Kontrol af ræsonneringsmodellens resultater

Ræsonneringsmodeller begår færre fejl, men de er ikke ufejlbarlige — især ikke med områdespecifikke fakta eller aktuelle emner. Kontrollér altid resultater, der skal bruges til handlinger i situationer med store konsekvenser.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

def reasoning_with_verification(question):
    # Step 1: Get reasoning model answer
    r1 = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=10000,
        thinking={'type': 'enabled', 'budget_tokens': 8000},
        messages=[{'role': 'user', 'content': question}]
    )
    answer = next(b.text for b in r1.content if b.type == 'text')

    # Step 2: Independent verification call
    verify_prompt = (
        f'Question: {question}\n\n'
        f'Proposed answer: {answer}\n\n'
        f'Is this answer correct? Respond with CORRECT, INCORRECT, or UNCERTAIN, '
        f'followed by a brief explanation.'
    )
    r2 = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=256,
        messages=[{'role': 'user', 'content': verify_prompt}]
    )
    verification = r2.content[0].text
    print(f'Verification: {verification[:100]}')
    return answer, verification

Praktisk tjekliste til prompter for ræsonneringsmodeller

Følg denne tjekliste, når du skriver prompter til ræsonneringsmodeller:

  • Angiv problemet tydeligt og fuldstændigt
  • Medtag IKKE instruktioner om ræsonnering trin for trin
  • Hold systemprompten kort (kun rolle, format og begrænsninger)
  • Brug højst 0-1 eksempler med få eksempler
  • Angiv resultatformatet eksplicit
  • Indstil budget_tokens efter problemets kompleksitet
  • Planlæg med en svartid på 10-60 sekunder

Videnstjek: Prompting af ræsonneringsmodeller

Hvorfor anbefales det at bruge enklere prompter til ræsonneringsmodeller end til standardmodeller?

Opsummering: Effektive prompter til udvidet tænkning

Ræsonneringsmodeller har brug for enklere og mere direkte prompter end standardmodeller. Instruer ikke i hvordan modellen skal ræsonnere — angiv problemet tydeligt og fuldstændigt, og lad derefter modellens interne overvejelser håndtere strategien. Hold systemprompter minimale: kun rolle, resultatformat og begrænsninger. Brug 0-1 eksempler med få eksempler. Indstil budget_tokens efter problemets kompleksitet (1K til simple problemer, 10K+ til vanskelige). Planlæg med betydelig svartid, og gem resultater i en cache, når det er muligt. Angiv resultatformatet eksplicit — det er det ene område, hvor detaljerede instruktioner stadig hjælper.

Gratis at komme i gang

Lær Promptteknik til AI med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
53
Lektioner
199

Ofte stillede spørgsmål

Er lektionen “Effektive prompts til extended thinking” gratis?

Ja — alle 3 lektioner i læringssporet Promptteknik til AI, inklusive “Effektive prompts til extended thinking”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Promptteknik til AI-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Effektive prompts til extended thinking”?

Hold prompts enkle, undgå trin-for-trin-instruktioner, og stol på modellens evne til at ræsonnere. Du øver dig i Promptteknik til AI med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Promptteknik til AI?

Der kræves ingen tidligere erfaring. Promptteknik til AI på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Effektive prompts til extended thinking”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Promptteknik til AI-lektion?

Ja. Alle Promptteknik til AI-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Sådan adskiller reasoning-modeller sig
  2. Effektive prompts til extended thinking
  3. Hvornår skal du bruge reasoning- eller standardmodeller?
  4. Afvejning mellem omkostninger og latenstid
← Tilbage til Promptteknik til AI