Skip to main content
Jev dari TypeSafe adalah model System One. Jev mengembalikan keputusan bertipe beserta probabilitasnya dan melepas generasi teks bebas. DSPy memodelkan tiga bentuk keputusan Jev dengan tipe Noul (ya/tidak), Score (level berurutan), dan Choice (pilihan dari opsi tetap) di dspy.experimental. Signature yang sama jalan di model LLM dengan kapabilitas JSON seperti gemini-3.8-flash lewat Neosantara hari ini, lalu bisa dipindah ke Jev tanpa mengubah task definition.

Setup

Noul, Score, Choice, TypeSafe, dan ReAnchor masih API eksperimental DSPy dan bisa berubah tanpa pemberitahuan.

Cara Kerja

  1. triage menjawab tiga pertanyaan tertutup dalam satu request: perlu eskalasi atau tidak, seberapa parah, dan tim mana yang menangani. Model mengembalikan probabilitas untuk tiap jawaban.
  2. DSPy menurunkan hasil dari probabilitas. escalate.value bernilai True saat probability >= threshold. severity.level dipilih dari cuts. team.value adalah opsi dengan probability * weight tertinggi.
  3. Kode Python memutuskan langkah berikutnya. Tiket yang dieskalasi langsung masuk antrian agen tanpa memakai token generasi.
  4. drafter hanya jalan untuk tiket yang bisa dibalas otomatis. muse-spark-1.3-contributor (0.1/0.1/0.2 per 1M token) adalah model reasoning, jadi beri max_tokens yang cukup untuk reasoning plus jawaban.
threshold 0.3 membuat tiket lebih mudah dieskalasi. weights 1.2 untuk pembayaran memberi prioritas ke tim pembayaran saat model ragu, karena tiket soal uang yang salah route lebih mahal dampaknya.

Tipe Decision

Setiap output decision wajib punya desc yang ditulis sebagai pertanyaan. DSPy menolak signature tanpa desc sebelum request dikirim. Choice selalu memilih salah satu opsi walaupun tidak ada yang cocok. Tambahkan Noul terpisah kalau kode perlu menolak tiket di luar semua opsi.

Pembagian Kerja

Kalibrasi dengan ReAnchor

ReAnchor mencocokkan threshold, cuts, dan weights ke metrik kamu. Probabilitas tiap contoh dihitung sekali dan di-cache. Pencarian setting berikutnya tidak mengirim request baru. Instruksi, deskripsi, dan demo tidak diubah.
Metrik di atas memberi bobot 2 untuk eskalasi yang benar terdeteksi. Tiket uang tertahan yang terlewat lebih mahal daripada eskalasi yang tidak perlu, jadi ReAnchor cenderung menurunkan threshold. ReAnchor hanya menyimpan setting baru kalau skornya lebih baik dan lolos fold check untuk mengurangi risiko overfit ke sebagian kecil data.

Pindah ke Jev

Jev tersedia di Neosantara dengan model ID jev. Arahkan client TypeSafe ke base URL Neosantara dan pakai NEOSANTARA_API_KEY yang sama. Signature, setting hasil kalibrasi, dan kode Python tetap sama. Cukup ganti client di predictor triage.
Jalankan ulang ReAnchor setelah pindah karena distribusi probabilitas Jev berbeda dari LLM. drafter tetap memakai muse-spark-1.3-contributor karena Jev tidak menghasilkan teks. Panggil endpoint langsung tanpa DSPy:

Langkah Berikutnya