Harness Anda Akan Berbohong kepada Anda Sebelum Model Anda Melakukannya
Papan skor evaluasi Anda menyatakan bahwa kedua mesin gagal.
Llama3.2 gagal dalam 5 dari 6 kasus. Anthropic Sonnet gagal dalam 6 dari 6 kasus.
Labelnya adalah "malformed." Namun penyebabnya berbeda.
Satu kegagalan adalah kesalahan API karena kredit habis. Satu kegagalan disebabkan oleh byte kontrol terminal dari perintah CLI yang merusak teks. Satu kegagalan adalah JSON valid yang dibungkus dalam markdown fences yang tidak dapat dibaca oleh parser.
Jika saya memublikasikan ringkasan pertama itu, saya akan berbohong. Saya akan menyalahkan model atas kegagalan pada kode saya sendiri.
Saya menemukan bug ini dengan melihat catatan mentah (raw records) alih-alih memercayai ringkasannya.
Bug pertama terjadi karena saya menggunakan subprocess CLI untuk memanggil Ollama. Perintah tersebut menghasilkan animasi terminal seperti spinner dan pergerakan kursor. Byte kontrol ANSI ini masuk ke dalam data saya. Parser mendeteksi karakter yang tidak terlihat dan mengalami crash.
Solusinya: Beralih dari subprocess CLI ke HTTP API langsung.
Bug kedua terjadi karena LLM sering membungkus JSON dalam markdown fences. Parser saya menggunakan json.loads() pada string mentah. Ia mendeteksi backtick dan gagal.
Solusinya: Tambahkan fungsi untuk menghapus code fences sebelum melakukan parsing.
Setelah saya memperbaiki alurnya (pipe), hasil yang sebenarnya pun muncul.
Model-model tersebut tidak "mati". Mereka hanya terdistorsi oleh harness. Setelah perbaikan, perbedaan kualitas antara kedua model tersebut menjadi terlihat dan dapat diukur.
Pelajaran untuk pipeline evaluasi AI Anda:
- Simpan output mentah. Jika ringkasan menyatakan malformed, output mentah adalah satu-satunya sumber kebenaran Anda.
- Catat alasan kegagalan. Jangan hanya mengatakan "malformed." Katakan "API error" atau "parse error."
- Bekukan standar pengujian Anda. Jangan mengubah aturan Anda hanya untuk membuat hasil terlihat lebih baik.
- Perlakukan harness sebagai bagian dari sistem yang sedang diuji.
Model bukanlah satu-satunya hal yang sedang diuji. Kode Anda juga demikian.
Sumber: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662
Komunitas belajar opsional: https://t.me/GyaanSetuAi
