0Pricing
AI Prompt Engineering · Lektion

Effektive Prompts für Extended Thinking

Halten Sie Prompts einfach, vermeiden Sie Schritt-für-Schritt-Anweisungen und vertrauen Sie auf die Denkfähigkeit des Modells.

Effektive Prompts für Extended Thinking ist eine kostenlose AI Prompt Engineering-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Prompt Engineering-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Prompt Engineering-Kurs umfasst insgesamt 4 Lektionen.

Prompting von Reasoning-Modellen unterscheidet sich

Die Prompting-Intuitionen, die Sie für Standardmodelle entwickelt haben – Chain-of-Thought, Schritt-für-Schritt-Anweisungen und Few-Shot-Beispiele –, wirken sich bei Reasoning-Modellen oft nachteilig aus.

Reasoning-Modelle führen bereits ein anspruchsvolles internes Reasoning aus. Wenn Sie ihnen genau vorgeben, wie sie denken sollen, kann das diesen Prozess stören. Die besten Prompts für Reasoning-Modelle sind einfacher und direkter als Prompts für Standardmodelle.

Keine Schritt-für-Schritt-Anweisungen geben

Bei Standardmodellen schreiben Sie: „Denken Sie Schritt für Schritt. Betrachten Sie zuerst X, dann Y und ziehen Sie schließlich die Schlussfolgerung Z.“ Diese Strukturierung hilft, weil Standardmodelle dies nicht automatisch tun.

Bei Reasoning-Modellen kann diese Strukturierung das interne Reasoning des Modells auf einen suboptimalen Weg festlegen. Formulieren Sie stattdessen das Problem klar und überlassen Sie es dem Modell, selbst zu bestimmen, wie es darüber nachdenkt.

# 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')

Das Problem klar und vollständig formulieren

Während Sie wie Sie Reasoning anweisen, vereinfachen sollten, sollten Sie bei der Beschreibung von was Sie anfordern, gründlich sein. Stellen Sie den gesamten Kontext sowie alle Einschränkungen und Anforderungen von Anfang an bereit – das Modell verwendet sie während seines internen Reasonings.

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])

budget_tokens angemessen festlegen

budget_tokens steuert die maximale Anzahl an Denk-Tokens. Die richtige Einstellung ist der wichtigste Stellhebel für Reasoning-Modelle:

  • 1.000–2.000: Einfache Probleme, schnelle Berechnungen
  • 5.000–10.000: Programmierung und Analysen mittlerer Komplexität
  • 16.000+: Anspruchsvollste Mathematik, komplexes Systemdesign, Probleme auf Forschungsniveau
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 System-Prompts

Halten Sie System-Prompts für Reasoning-Modelle minimal. Das interne Reasoning des Modells ist seine wichtigste Fähigkeit – schränken Sie es nicht durch langwierige Verhaltensanweisungen übermäßig ein.

Gute System-Prompts für Reasoning-Modelle: Legen Sie die Rolle fest, definieren Sie das Ausgabeformat und geben Sie die Einschränkungen an. Mehr ist nicht nötig.

# 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

Anweisungen zum Ausgabeformat sind weiterhin wichtig

Sie sollten zwar nicht anweisen, wie das Modell schlussfolgern soll, aber das gewünschte Ausgabeformat klar vorgeben. Das unterscheidet sich von Anweisungen zum Reasoning: Sie legen fest, was das Modell zurückgeben soll, nicht wie es denken soll.

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'))

Weniger Few-Shot-Beispiele

Standardmodelle profitieren stark von 3–5 Few-Shot-Beispielen. Reasoning-Modelle profitieren weniger davon, und zu viele Beispiele können sogar schaden, weil sie das Kontextfenster mit Inhalten füllen, die das interne Reasoning beeinträchtigen.

Für Reasoning-Modelle sind 0–1 Beispiele oft optimal. Verwenden Sie Beispiele nur, wenn das Ausgabeformat ungewöhnlich oder mehrdeutig ist.

# 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'
)

Mit Unsicherheit in Ausgaben von Reasoning-Modellen umgehen

Reasoning-Modelle äußern mit größerer Wahrscheinlichkeit echte Unsicherheit als Standardmodelle, weil sie sich tatsächlich mit dem Problem auseinandergesetzt haben. Entwickeln Sie Ihre Anwendungen so, dass sie vorsichtig formulierte Antworten angemessen verarbeiten.

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?'
)

Ausgaben von Reasoning-Modellen cachen

Aufrufe von Reasoning-Modellen sind teuer und langsam. Cachen Sie Ergebnisse für wiederholte oder vorhersehbare Anfragen. Da Denk-Tokens sehr lang sein können, vermeiden Sie durch Caching bei wiederholten Aufrufen erneut anfallende Latenz und Kosten.

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

Ausgaben von Reasoning-Modellen überprüfen

Reasoning-Modelle machen weniger Fehler, sind aber nicht unfehlbar – insbesondere bei domänenspezifischen Fakten oder aktuellen Themen. Überprüfen Sie Ausgaben immer, wenn auf ihrer Grundlage in Situationen mit hohen Risiken gehandelt wird.

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

Praktische Checkliste für Prompts von Reasoning-Modellen

Beachten Sie beim Schreiben von Prompts für Reasoning-Modelle diese Checkliste:

  • Formulieren Sie das Problem klar und vollständig
  • Fügen Sie KEINE Schritt-für-Schritt-Anweisungen zum Reasoning ein
  • Halten Sie den System-Prompt kurz (nur Rolle + Format + Einschränkungen)
  • Verwenden Sie höchstens 0–1 Few-Shot-Beispiele
  • Geben Sie das Ausgabeformat ausdrücklich an
  • Legen Sie budget_tokens proportional zur Problemkomplexität fest
  • Planen Sie eine Antwortlatenz von 10–60 Sekunden ein

Wissenscheck: Prompting von Reasoning-Modellen

Warum wird empfohlen, bei Reasoning-Modellen einfachere Prompts als bei Standardmodellen zu verwenden?

Zusammenfassung: Effektive Prompts für erweitertes Denken

Reasoning-Modelle benötigen einfachere und direktere Prompts als Standardmodelle. Weisen Sie nicht an, wie das Modell schlussfolgern soll – formulieren Sie das Problem klar und vollständig und überlassen Sie die Strategie dem internen Reasoning des Modells. Halten Sie System-Prompts minimal: nur Rolle, Ausgabeformat und Einschränkungen. Verwenden Sie 0–1 Few-Shot-Beispiele. Setzen Sie budget_tokens passend zur Problemkomplexität fest (1K für einfache, 10K+ für schwierige Probleme). Planen Sie eine erhebliche Latenz ein und cachen Sie Ergebnisse, wann immer dies möglich ist. Geben Sie das Ausgabeformat ausdrücklich an – das ist der eine Bereich, in dem detaillierte Anweisungen weiterhin hilfreich sind.

Häufig gestellte Fragen

Ist die Lektion „Effektive Prompts für Extended Thinking“ kostenlos?

Ja — der vollständige Text von „Effektive Prompts für Extended Thinking“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Prompt Engineering-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Prompt Engineering-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Effektive Prompts für Extended Thinking“?

Halten Sie Prompts einfach, vermeiden Sie Schritt-für-Schritt-Anweisungen und vertrauen Sie auf die Denkfähigkeit des Modells. Du übst AI Prompt Engineering mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Prompt Engineering zu starten?

Keine Vorkenntnisse erforderlich. AI Prompt Engineering auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Effektive Prompts für Extended Thinking“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Prompt Engineering-Lektion Code schreiben und ausführen?

Ja. Jede AI Prompt Engineering-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Wie sich Reasoning-Modelle unterscheiden
  2. Effektive Prompts für Extended Thinking
  3. Wann Reasoning- und wann Standardmodelle einsetzen
  4. Abwägung von Kosten und Latenz
← Zurück zu AI Prompt Engineering