Prompt Efektif untuk Penalaran Panjang
Buat prompt tetap sederhana, hindari instruksi langkah demi langkah, dan percayakan penalaran kepada model.
Prompt Efektif untuk Penalaran Panjang adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Membuat Prompt untuk Model Penalaran Itu Berbeda
Intuisi pembuatan prompt yang Anda bangun untuk model standar — rantai pemikiran, instruksi langkah demi langkah, dan contoh few-shot — sering kali justru menghambat Anda saat menggunakan model penalaran.
Model penalaran sudah melakukan penalaran internal yang canggih. Memberi tahu model secara persis cara berpikir dapat mengganggu proses tersebut. Prompt terbaik untuk model penalaran lebih sederhana dan langsung daripada prompt untuk model standar.
Jangan Memberikan Instruksi Langkah demi Langkah
Dengan model standar, Anda menulis: "Berpikirlah langkah demi langkah. Pertama, pertimbangkan X, lalu pertimbangkan Y, dan terakhir simpulkan Z." Kerangka ini membantu karena model standar tidak melakukannya secara otomatis.
Dengan model penalaran, kerangka ini dapat membatasi penalaran internal model ke jalur yang tidak optimal. Sebagai gantinya, nyatakan masalah dengan jelas dan biarkan model menentukan cara menalarinya.
# 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')Nyatakan Masalah dengan Jelas dan Lengkap
Meskipun Anda sebaiknya menyederhanakan cara memberikan instruksi penalaran, Anda harus menjelaskan secara menyeluruh apa yang diminta. Berikan semua konteks, batasan, dan persyaratan sejak awal — model akan menggunakannya selama proses penalaran internal.
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])Menetapkan budget_tokens dengan Tepat
budget_tokens mengendalikan jumlah maksimum token berpikir. Menetapkannya dengan benar adalah pengaturan utama untuk menyetel model penalaran:
- 1.000–2.000: Masalah sederhana, perhitungan cepat
- 5.000–10.000: Pemrograman dengan kompleksitas sedang, analisis
- 16.000+: Matematika tersulit, desain sistem kompleks, masalah tingkat penelitian
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
)Prompt Sistem Minimal
Untuk model penalaran, buat prompt sistem tetap minimal. Penalaran internal model adalah kemampuan utamanya — jangan terlalu membatasinya dengan instruksi perilaku yang panjang.
Prompt sistem yang baik untuk model penalaran: tetapkan peran, tentukan format keluaran, dan nyatakan batasan. Hanya itu.
# 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 restInstruksi Format Keluaran Tetap Penting
Meskipun Anda tidak boleh menginstruksikan cara melakukan penalaran, Anda harus menentukan format keluaran yang diinginkan dengan jelas. Hal ini berbeda dari instruksi penalaran — instruksi tersebut memberi tahu model apa yang harus dikembalikan, bukan cara berpikir.
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'))Lebih Sedikit Contoh Few-Shot
Model standar sangat terbantu oleh 3–5 contoh few-shot. Model penalaran memperoleh manfaat yang lebih kecil, dan terlalu banyak contoh justru dapat mengganggu karena memenuhi jendela konteks dengan konten yang menghambat penalaran internal.
Untuk model penalaran, 0–1 contoh sering kali optimal. Gunakan contoh hanya jika format keluarannya tidak lazim atau ambigu.
# 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'
)Menangani Ketidakpastian dalam Keluaran Model Penalaran
Model penalaran lebih mungkin mengungkapkan ketidakpastian yang sebenarnya daripada model standar (karena model tersebut benar-benar memikirkannya). Rancang aplikasi Anda agar dapat menangani respons yang disampaikan secara hati-hati dengan baik.
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?'
)Menyimpan dalam Cache Keluaran Model Penalaran
Panggilan ke model penalaran mahal dan lambat. Simpan hasil dalam cache untuk kueri yang berulang atau dapat diprediksi. Karena token berpikir dapat sangat panjang, penggunaan cache menghindari pembayaran ulang latensi dan biaya pada panggilan berikutnya.
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 answerMemverifikasi Keluaran Model Penalaran
Model penalaran membuat lebih sedikit kesalahan, tetapi tidak selalu benar — terutama untuk fakta khusus bidang atau topik mutakhir. Selalu verifikasi keluaran yang akan ditindaklanjuti dalam konteks berisiko tinggi.
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, verificationDaftar Periksa Praktis untuk Prompt Model Penalaran
Saat menulis prompt untuk model penalaran, ikuti daftar periksa ini:
- Nyatakan masalah dengan jelas dan lengkap
- Jangan sertakan instruksi penalaran langkah demi langkah
- Jaga prompt sistem tetap singkat (hanya peran + format + batasan)
- Gunakan maksimal 0–1 contoh few-shot
- Tentukan format keluaran secara eksplisit
- Tetapkan
budget_tokenssecara proporsional terhadap kompleksitas masalah - Rencanakan latensi respons selama 10–60 detik
Uji Pemahaman: Pembuatan Prompt Model Penalaran
Mengapa penggunaan prompt yang lebih sederhana direkomendasikan untuk model penalaran dibandingkan model standar?
Ringkasan: Prompt Efektif untuk Extended Thinking
Model penalaran memerlukan prompt yang lebih sederhana dan langsung daripada model standar. Jangan menginstruksikan cara melakukan penalaran — nyatakan masalah dengan jelas dan lengkap, lalu biarkan pertimbangan internal model menangani strateginya. Jaga prompt sistem tetap minimal: hanya peran, format keluaran, dan batasan. Gunakan 0–1 contoh few-shot. Tetapkan budget_tokens sesuai kompleksitas masalah (1K untuk masalah sederhana, 10K+ untuk masalah sulit). Rencanakan latensi yang signifikan dan simpan hasil dalam cache jika memungkinkan. Tentukan format keluaran secara eksplisit — inilah satu area yang masih terbantu oleh instruksi terperinci.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Prompt Efektif untuk Penalaran Panjang” gratis?
Ya — teks lengkap “Prompt Efektif untuk Penalaran Panjang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Prompt Efektif untuk Penalaran Panjang”?
Buat prompt tetap sederhana, hindari instruksi langkah demi langkah, dan percayakan penalaran kepada model. Kamu berlatih AI Prompt Engineering dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Prompt Engineering?
Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Prompt Efektif untuk Penalaran Panjang” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Prompt Engineering ini?
Ya. Setiap pelajaran AI Prompt Engineering menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Perbedaan Model Penalaran
- Prompt Efektif untuk Penalaran Panjang
- Kapan Menggunakan Model Penalaran atau Standar
- Kompromi Biaya dan Latensi