Skip to content

Referensi

Error

Perbedaan yang menjadi alasan keberadaan halaman ini: eksekusi yang gagal dan eksekusi yang mengalami error adalah dua hal yang berbeda, dan menyajikan yang satu sebagai yang lain memberi tahu pengembang bahwa perubahannya buruk, padahal kenyataannya harness-lah yang tumbang.

Kegagalan adalah hasil. Error bukan.

FAIL berarti gerbang telah dievaluasi dan buktinya berada di bawah ambang batas. Itu adalah hasil kualitas mengenai perubahan tersebut.

RUN_ERROR berarti eksekusi tidak selesai. Tidak ada gerbang yang dievaluasi dan tidak ada apa pun tentang perubahan itu yang telah diukur. Ini bukan status keputusan, begitu pula PARTIAL atau CANCELLED — semuanya menjelaskan apa yang terjadi pada sebuah eksekusi, bukan apa yang diputuskan tentang sebuah sistem.

Apa yang dilaporkan eksekusi yang tidak selesai

Gerbang atas eksekusi yang tidak selesai keluar dengan 5, bukan 1. Buktinya hilang, bukan buruk, dan keduanya memerlukan respons yang berbeda: gerbang yang gagal meminta Anda melihat perubahan Anda, sedangkan yang tidak selesai meminta Anda melihat infrastruktur Anda.

Kasus yang tidak dapat diukur

Kasus yang mengalami error dibatasi, bukan dibuang. Setiap metrik merekam empat hitungan — total, eligible, teramati, dan hilang — dan interval memperhitungkan kasus-kasus yang tidak dapat dilihatnya.

Ini lebih penting daripada kedengarannya. Metrik yang menghitung kasus yang tidak dinilai sebagai nol membebankan gangguan layanan sistem itu sendiri kepada model sebagai kegagalan kualitas, dan penyebut yang diam-diam menyusut ketika sistem mulai gagal adalah cara sistem yang gagal melaporkan skor yang naik. Keduanya teramati pada asisten yang aktif, di mana 13,8% panggilan mengembalikan HTTP 500.

Kegagalan sementara

Sistem dapat mendeklarasikan bahwa sebuah kegagalan bersifat sementara, dan kegagalan sementara dicoba ulang alih-alih direkam sebagai hasil kualitas. Timeout penyedia bukanlah bukti tentang sebuah prompt.

Deklarasinya eksplisit: sistem callable memunculkan TransientError dengan retryable=True. Nilai bawaan retryable adalah False, dan TransientError tanpanya direkam pada kasus seperti exception lainnya, sehingga kasus itu menjadi hilang, bukan dicoba ulang. Sistem HTTP dan penyedia juri tidak memerlukan deklarasi: timeout, koneksi yang terputus, 429, atau 5xx dicoba ulang untuk keduanya. Dengan cara mana pun, sebuah panggilan dicoba paling banyak empat kali, dengan backoff, dan kasus yang tetap gagal menjadi hilang. Progres dan konkurensi menunjukkan keduanya.

Error konfigurasi

Kode keluar 2 berarti pemanggilan atau konfigurasinya salah dan tidak ada yang dijalankan. Penolakan kuota termasuk di dalamnya: itu adalah error konfigurasi dengan alasan yang disebutkan, ditolak sebelum kasus pertama dieksekusi, dan tidak pernah menjadi status keputusan. Fakta komersial tidak boleh datang dengan menyamar sebagai putusan kualitas.

Mendiagnosis apa yang memang gagal

oloproof diagnose RUN_ID --intervention gold-context --criterion answer_correct

Intervensi adalah kondisi yang dipakai untuk menjalankan ulang kasus-kasus yang gagal — gold-context, top-k, atau reranker — dan kriteria menentukan kegagalan evaluator mana yang diambil. Diagnosis melaporkan faktor kegagalan beserta hitungannya, id skenario di baliknya, dan asumsi yang dibuatnya. Diagnosis menyebutkan faktor, bukan penyebab: mesin tidak menyatakan bahwa satu hal menghasilkan hal lain, dan begitu pula layar mana pun yang menampilkannya.

Langkah selanjutnya