Mengevaluasi Keputusan
Mengukur kualitas dan biaya.
Mengevaluasi Keputusan 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.
Anda Tidak Dapat Menentukan Hal yang Tidak Dapat Anda Ukur
Pilihan antara prompt, tuning, dan hybrid hanya sebaik evaluasi yang mendasarinya. Tanpa set evaluasi yang dibekukan dan model biaya, setiap perbandingan hanyalah anekdot.
- Kualitas dan biaya adalah dua sumbu—jangan terlalu dini menggabungkannya menjadi satu angka
- Set evaluasi harus disisihkan dan tetap sama dalam setiap pendekatan yang Anda bandingkan
- Pemenangnya adalah pendekatan yang berada pada titik terbaik di frontier kualitas-biaya sesuai batasan Anda
Bangun Set Evaluasi yang Dibekukan Terlebih Dahulu
Sebelum membandingkan apa pun, susun set evaluasi yang disisihkan dan tidak digunakan untuk melatih pendekatan mana pun. Set ini harus mencakup distribusi nyata: kasus umum, kasus tepi yang diketahui, dan input adversarial dalam proporsi yang kurang lebih sama seperti produksi.
Bekukan set tersebut. Setiap pendekatan—prompt saja, tuning, atau hybrid—dinilai pada set yang identik. Jika evaluasi berubah di antara perbandingan, angkanya tidak dapat dibandingkan dan keputusannya tidak sah.
def split_eval(labeled, holdout_ratio=0.2, seed=42):
import random
rng = random.Random(seed) # fixed seed = reproducible split
data = labeled[:]
rng.shuffle(data)
cut = int(len(data) * (1 - holdout_ratio))
train, frozen_eval = data[:cut], data[cut:]
return train, frozen_eval # eval never enters any training runPilih Metrik yang Sesuai dengan Tugas
Akurasi umum menyembunyikan kegagalan khusus tugas. Pilih metrik yang menangkap hal yang benar-benar penting:
- Kecocokan persis/skema untuk keluaran terstruktur
- LLM sebagai penilai berbasis rubrik untuk kualitas terbuka, dengan sampel yang diaudit manusia
- Metrik ekor—kasus terburuk dan p95, bukan hanya mean
- Tingkat keamanan/penolakan sebagai gerbang wajib, dinilai terpisah dari kualitas
Skor mean yang menyembunyikan ekor bencana akan membawa Anda pada keputusan yang keliru.
Nilai Setiap Kandidat Secara Identik
Jalankan pendekatan prompt saja, tuning, dan hybrid melalui penilai yang sama pada set beku yang sama. Catat kualitas beserta seluruh vektor biaya untuk masing-masing pendekatan agar perbandingannya benar-benar setara.
def evaluate(candidate, frozen_eval, scorer):
results = []
for ex in frozen_eval:
out = candidate.run(ex['input'])
results.append(scorer(out, ex['label']))
mean = sum(results) / len(results)
p95 = sorted(results)[int(0.95 * len(results)) - 1]
return {'mean': mean, 'p95_worst': p95}
# Identical frozen_eval + scorer for prompt / tuned / hybridModelkan Seluruh Vektor Biaya
Biaya bukanlah satu angka. Catat setiap komponennya agar perbandingan mencerminkan kenyataan pada volume Anda:
- Inferensi per panggilan: token input + output dikalikan harga (prompt panjang lebih mahal per panggilan)
- Pelatihan teramortisasi: biaya tuning yang dibagi ke seluruh volume permintaan yang diperkirakan
- Pemeliharaan: pipeline data, proses evaluasi, dan tuning ulang saat model dasar berubah
- Latensi: diberi harga secara terpisah ketika memengaruhi konversi atau pengalaman pengguna
def monthly_cost(calls, in_tok, out_tok, price_in, price_out,
train_cost=0.0, months_amortized=12):
inference = calls * ((in_tok/1000)*price_in + (out_tok/1000)*price_out)
amortized_train = train_cost / months_amortized
return inference + amortized_train
# Long prompt-only: high in_tok, train_cost=0
# Tuned: low in_tok, train_cost>0 amortized over volumeGambarkan Frontier Kualitas-Biaya
Dengan kualitas dan biaya bulanan setiap kandidat, tempatkan semuanya pada sebuah frontier. Suatu kandidat didominasi jika kandidat lain memiliki kualitas lebih tinggi sekaligus biaya lebih rendah; singkirkan kandidat yang didominasi.
Di antara himpunan non_dominated, pilihan yang tepat bergantung pada batasan Anda: pilih yang termurah yang memenuhi ambang kualitas, atau kualitas tertinggi dalam batas biaya. Kini keputusan tersebut eksplisit dan dapat dipertanggungjawabkan, bukan sekadar masalah preferensi.
def non_dominated(candidates):
# candidate: {'name','quality','cost'} -- higher quality, lower cost better
keep = []
for c in candidates:
dominated = any(o['quality'] >= c['quality'] and o['cost'] <= c['cost']
and o != c for o in candidates)
if not dominated:
keep.append(c)
return keepSignifikansi Statistik, Bukan Derau
Peningkatan dua poin pada evaluasi dengan 200 contoh mungkin hanya derau. Sebelum menyatakan pemenang, periksa apakah kesenjangan kualitas tersebut bermakna secara statistik berdasarkan ukuran evaluasi Anda.
Gunakan perbandingan berpasangan (contoh yang sama melalui kedua kandidat) dan interval kepercayaan atas perbedaannya. Jika interval tersebut melintasi nol, berarti tidak ada peningkatan nyata—dan biaya tambahan tuning tidak dapat dibenarkan.
def paired_diff_ci(scores_a, scores_b):
import statistics
diffs = [a - b for a, b in zip(scores_a, scores_b)]
mean = statistics.mean(diffs)
sd = statistics.pstdev(diffs)
se = sd / (len(diffs) ** 0.5)
return (mean - 1.96*se, mean + 1.96*se) # if it spans 0 -> not significantLindungi Diri dari Kebocoran Evaluasi
Cara tercepat untuk membuat tuning tampak lebih baik secara palsu adalah kebocoran—contoh pelatihan yang tumpang tindih dengan set evaluasi. Evaluasi yang bocor memberi penghargaan pada penghafalan dan menggelembungkan skor kandidat yang di-tuning.
Hilangkan duplikasi di seluruh batas pelatihan/evaluasi, periksa duplikasi yang hampir sama, dan utamakan evaluasi yang dipisahkan secara temporal (disisihkan berdasarkan tanggal) agar model yang di-tuning belum pernah melihatnya. Kebocoran adalah penyebab paling umum dari keputusan tuning yang gagal di produksi.
Pantau Setelah Peluncuran
Keputusan belum final saat peluncuran. Distribusi produksi berubah, dan model yang di-tuning dapat menurun secara diam-diam ketika input menjauh dari distribusi pelatihannya.
- Ambil sampel lalu lintas langsung dan nilai berdasarkan rubrik yang sama
- Buat peringatan untuk penurunan kualitas dan kenaikan biaya per panggilan
- Jalankan kembali evaluasi yang dibekukan setiap kali versi model dasar berubah
Perlakukan pendekatan yang dipilih sebagai hipotesis yang terus diuji, bukan keputusan yang sudah ditutup.
Catatan Keputusan
Dokumentasikan perbandingan sebagai catatan keputusan tertulis: evaluasi yang dibekukan, vektor kualitas dan biaya setiap kandidat, hasil signifikansi, volume yang diasumsikan, serta titik yang dipilih pada frontier beserta alasannya.
Dengan demikian, pilihan tersebut dapat diaudit dan dievaluasi ulang. Ketika volume atau model dasar berubah, buka kembali catatan dan jalankan ulang prosesnya, bukan memperdebatkannya lagi berdasarkan ingatan.
Fungsi Keputusan dari Awal hingga Akhir
Satukan semuanya: nilai setiap kandidat pada evaluasi yang dibekukan, sertakan biayanya, singkirkan opsi yang didominasi, wajibkan signifikansi dibandingkan baseline termurah, lalu pilih berdasarkan batasan yang paling mengikat.
def decide(candidates, quality_bar, cost_ceiling):
frontier = non_dominated(candidates)
feasible = [c for c in frontier
if c['quality'] >= quality_bar and c['cost'] <= cost_ceiling]
if not feasible:
return 'NO_CANDIDATE_MEETS_CONSTRAINTS'
# cheapest option that clears the quality bar
return min(feasible, key=lambda c: c['cost'])['name']
# Prefer prompt-only on ties: lower maintenance TCOPemeriksaan Singkat
Model yang di-tuning mendapat skor 2 poin lebih tinggi daripada prompting pada evaluasi dengan 150 contoh, tetapi interval kepercayaan berpasangan atas perbedaannya mencakup nol. Biayanya per bulan juga lebih tinggi. Apa keputusan yang tepat?
Ringkasan
Buat keputusan berdasarkan evaluasi yang dibekukan dan vektor biaya yang jujur, bukan intuisi. Kualitas dan biaya adalah dua sumbu; jawabannya adalah titik pada frontier kualitas-biaya yang dipilih berdasarkan batasan Anda yang paling mengikat.
- Bekukan satu set evaluasi; nilai setiap kandidat secara identik pada set tersebut
- Pilih metrik yang sesuai dengan tugas dan perhatikan ekornya, bukan hanya mean
- Modelkan seluruh vektor biaya dan amortisasi biaya pelatihan berdasarkan volume nyata
- Wajibkan signifikansi statistik; CI yang mencakup nol bukanlah peningkatan
- Lindungi diri dari kebocoran evaluasi—penyebab utama kemenangan tuning yang palsu
- Pantau setelah peluncuran dan catat keputusan agar dapat dijalankan ulang
Belajar AI Prompt Engineering dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 53
- Pelajaran
- 199
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengevaluasi Keputusan” gratis?
Ya — teks lengkap “Mengevaluasi Keputusan” 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 “Mengevaluasi Keputusan”?
Mengukur kualitas dan biaya. 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 “Mengevaluasi Keputusan” 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
- Kapan Pemberian Prompt Sudah Cukup
- Kapan Harus Melakukan Fine-Tuning
- Hibrida: Prompt + Penyetelan Ringan
- Mengevaluasi Keputusan