Memilih Parameter untuk Kasus Penggunaan Anda
Pengaturan yang disarankan untuk tanya jawab faktual, penulisan kreatif, kode, dan percakapan.
Memilih Parameter untuk Kasus Penggunaan Anda adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 4 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.
Kerangka Pengambilan Keputusan Parameter
Memilih parameter pengambilan sampel bukanlah tebak-tebakan — prosesnya mengikuti logika berdasarkan kebutuhan tugas Anda. Dua dimensi utama menentukan konfigurasi yang tepat:
- Akurasi keluaran: seberapa penting keluaran harus benar dan dapat diprediksi?
- Keragaman keluaran: seberapa penting keluaran bervariasi dan mengeksplorasi kemungkinan?
Akurasi tinggi → suhu rendah. Keragaman tinggi → suhu tinggi. Sebagian besar tugas berada di antara kedua ekstrem ini.
Tanya Jawab Faktual: Akurasi adalah Segalanya
Untuk menjawab pertanyaan faktual, biasanya hanya ada satu jawaban yang benar. Keacakan apa pun meningkatkan kemungkinan jawaban yang salah. Gunakan:
- temperature = 0: dekode rakus, sepenuhnya deterministik
- top_p = 1.0: biarkan tanpa batasan; pada temperature=0, top-p tidak berpengaruh
Ini memastikan model selalu memilih jawaban yang paling diyakininya, yang kemungkinan besar benar.
import openai
client = openai.OpenAI(api_key='sk-...')
# Factual Q&A configuration
def factual_qa(question):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
{'role': 'user', 'content': question}
],
temperature=0,
top_p=1.0
)
return resp.choices[0].message.content
answer = factual_qa('What is the boiling point of water at sea level?')
print(answer) # Always: '100 degrees Celsius (212 degrees Fahrenheit).'Pembuatan Kode: Hampir Rakus
Kode harus benar secara sintaksis dan tepat secara semantis. Keacakan menyebabkan kesalahan sintaks, nama variabel yang salah, atau logika yang keliru. Gunakan:
- temperature = 0–0.2: hampir rakus — memungkinkan sedikit variasi, tetapi sangat mengutamakan pilihan token yang benar
- top_p = 0.95: menghilangkan token dari ekor ekstrem yang dapat menyebabkan kesalahan sintaks
# Code generation configuration
def generate_code(task):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
{'role': 'user', 'content': task}
],
temperature=0.1,
top_p=0.95
)
return resp.choices[0].message.content
code = generate_code('Write a Python function that merges two sorted lists.')
print(code)Perangkuman: Pengaturan Sedang
Perangkuman memerlukan akurasi (jangan mengubah fakta), tetapi juga mendapat manfaat dari sedikit variasi (proses yang berbeda dapat menekankan aspek yang berbeda). Gunakan:
- temperature = 0.3–0.5: keacakan ringan mempertahankan ungkapan yang alami
- top_p = 1.0: tidak diperlukan pembatasan inti pada suhu rendah
# Summarization configuration
def summarize(text):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
{'role': 'user', 'content': text}
],
temperature=0.4,
top_p=1.0
)
return resp.choices[0].message.content
summary = summarize(long_article)
print(summary)Percakapan: Variasi Alami
Respons percakapan mendapat manfaat dari variasi alami — pertanyaan yang sama seharusnya tidak selalu menghasilkan ungkapan yang persis sama. Terlalu banyak keacakan membuat respons tidak koheren. Gunakan:
- temperature = 0.7–0.9: percakapan yang alami dan bervariasi
- top_p = 0.9–0.95: menghilangkan token ekor yang tidak mungkin dan menghasilkan ungkapan yang tidak alami
# Chat configuration
def chat_response(user_message, history):
messages = history + [{'role': 'user', 'content': user_message}]
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
*messages
],
temperature=0.8,
top_p=0.9
)
reply = resp.choices[0].message.content
history.append({'role': 'user', 'content': user_message})
history.append({'role': 'assistant', 'content': reply})
return reply, historyPenulisan Kreatif: Keragaman Tinggi
Penulisan kreatif mengutamakan orisinalitas dan hal-hal yang tidak terduga. Suhu rendah menghasilkan keluaran yang klise dan mudah diprediksi. Suhu tinggi menghasilkan pilihan yang hidup dan tidak terduga — meskipun suhu yang terlalu tinggi menyebabkan ketidakkoherenan. Gunakan:
- temperature = 0.9–1.2: kosakata beragam, pilihan kata yang tidak lazim
- top_p = 0.95: mencegah token ekor yang tidak koheren sekaligus memungkinkan eksplorasi yang luas
# Creative writing configuration
def write_story_opening(prompt):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
{'role': 'user', 'content': f'Write a story opening for: {prompt}'}
],
temperature=1.1,
top_p=0.95
)
return resp.choices[0].message.content
opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)Curah Pendapat dan Penggalian Ide
Untuk curah pendapat, tujuannya adalah keragaman ide yang maksimal — termasuk ide yang tidak biasa atau tidak terduga. Gunakan suhu tertinggi yang masih praktis:
- temperature = 1.0–1.5: eksplorasi ruang ide yang luas
- top_p = 0.95–1.0: pembatasan minimal
Jalankan beberapa kali dan kumpulkan semua keluaran — lalu saring ide terbaik secara manual. Prompt curah pendapat mendapat manfaat dari permintaan variasi yang eksplisit: 'Berikan 10 pendekatan berbeda, termasuk yang tidak biasa.'
# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
ideas = []
for _ in range(n_runs):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
{'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
],
temperature=1.3,
top_p=0.95
)
ideas.append(resp.choices[0].message.content)
return ideas
all_ideas = brainstorm('reducing customer churn')Pengujian Sensitivitas Parameter
Sebelum menetapkan parameter, jalankan pengujian sensitivitas parameter: pertahankan prompt tetap sama, ubah satu parameter pada satu waktu, lalu evaluasi kualitas keluaran pada setiap pengaturan.
def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
results = {}
for temp in temperatures:
scores = []
for _ in range(n_samples):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': prompt}],
temperature=temp
)
score = evaluator(resp.choices[0].message.content)
scores.append(score)
results[temp] = sum(scores) / len(scores)
for temp, score in sorted(results.items()):
print(f'T={temp}: avg score = {score:.2f}')
best_temp = max(results, key=results.get)
print(f'Best temperature: {best_temp}')
return best_tempKapan Menggunakan Nilai Bawaan
Tidak semua aplikasi memerlukan parameter khusus. Gunakan nilai bawaan ketika:
- Kasus penggunaan Anda adalah percakapan umum — suhu bawaan (1.0 untuk sebagian besar API) telah disetel dengan baik
- Anda sedang membuat prototipe dan belum mengetahui pengaturan yang tepat
- Tugasnya seimbang antara akurasi dan kreativitas (misalnya, menyusun draf surel)
Aturan praktis: sesuaikan parameter hanya ketika perilaku bawaan menyebabkan masalah kualitas yang dapat diukur dalam pengujian. Penyetelan parameter terlalu dini menambah kompleksitas tanpa manfaat yang dapat diukur.
# Defaults are often correct
default_resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
# No temperature or top_p specified — API defaults apply
# OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)Kartu Referensi Cepat
Tabel ringkasan pengaturan yang direkomendasikan berdasarkan kasus penggunaan:
PARAMETER_PRESETS = {
# task: (temperature, top_p, notes)
'factual_qa': (0.0, 1.0, 'greedy, max accuracy'),
'classification': (0.0, 1.0, 'deterministic labels'),
'code_generation': (0.1, 0.95, 'near-greedy, avoid tail tokens'),
'data_extraction': (0.2, 1.0, 'slight variation for robustness'),
'summarization': (0.4, 1.0, 'preserve facts, vary phrasing'),
'translation': (0.3, 1.0, 'accurate but natural'),
'chat': (0.8, 0.9, 'natural conversation'),
'email_drafting': (0.7, 0.9, 'professional but varied'),
'creative_writing': (1.1, 0.95, 'vivid, original'),
'brainstorming': (1.3, 0.95, 'maximum diversity'),
}
for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')Penalti Frekuensi dan Kehadiran
Dua parameter tambahan melengkapi suhu dan top-p:
- frequency_penalty (0–2): mengurangi kemungkinan token secara proporsional terhadap seberapa sering token tersebut telah muncul dalam keluaran sejauh ini — mencegah pengulangan kata
- presence_penalty (0–2): mengurangi kemungkinan token apa pun yang pernah muncul — mendorong keragaman topik
Untuk penulisan kreatif: tambahkan frequency_penalty=0.5 untuk mengurangi pengulangan pilihan kata tanpa mengubah suhu.
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
temperature=1.0,
top_p=0.95,
frequency_penalty=0.5, # discourage repeating the same words
presence_penalty=0.3 # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)Uji Pengetahuan
Untuk tugas yang menghasilkan kode Python yang akan dijalankan dalam produksi, konfigurasi parameter mana yang paling tepat?
Rekap: Memilih Parameter Pengambilan Sampel
Sesuaikan parameter dengan kebutuhan akurasi dan keragaman Anda:
- Faktual/kode: temp=0–0.2, top_p=0.95 — utamakan akurasi
- Perangkuman: temp=0.3–0.5 — seimbang
- Percakapan: temp=0.7–0.9, top_p=0.9 — variasi alami
- Kreatif: temp=0.9–1.2, top_p=0.95 — keragaman
- Curah pendapat: temp=1.3, top_p=0.95 — eksplorasi maksimal
Jalankan pengujian sensitivitas parameter. Gunakan nilai bawaan ketika tidak ditemukan masalah kualitas. Tambahkan frequency_penalty untuk masalah pengulangan. Ini mengakhiri Kursus 19. Berikutnya: Pengujian Prompt dan Regresi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memilih Parameter untuk Kasus Penggunaan Anda” gratis?
Ya — teks lengkap “Memilih Parameter untuk Kasus Penggunaan Anda” 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 “Memilih Parameter untuk Kasus Penggunaan Anda”?
Pengaturan yang disarankan untuk tanya jawab faktual, penulisan kreatif, kode, dan percakapan. 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 4 dari 4.
Berapa lama pelajaran “Memilih Parameter untuk Kasus Penggunaan Anda” 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
- Apa Itu Temperature pada LLM?
- Pengambilan Sampel Nukleus Top-p
- Pengambilan Sampel Top-k
- Memilih Parameter untuk Kasus Penggunaan Anda