JEV - Merancang pertanyaan tertutup, bukan mantra

Ya-tidak, pilihan, dan tingkat cukup menjadi satu bahasa bila urusan dipecah menjadi pertanyaan tertutup yang tidak saling mengganggu, dan keadaan dimampatkan melewati cerita. Kupon terbit atau tidak, itu ambang di kode.

JEV - Merancang pertanyaan tertutup, bukan mantra

Penulis bersama: folkbench.com (Folkbench adalah platform evaluasi dan pemilihan yang dapat ditinjau untuk API AI, layanan model, dan situs terkait. Platform ini memakai informasi layanan yang sudah diterbitkan, harga, ketersediaan, latensi, dan jendela bukti untuk membantu pengguna membandingkan dan memilih jalur.)

Sepuluh tulisan dalam seri ini:

Paruh pertama kerja instruksi adalah sebuah puitika. Untuk mendapat JSON yang stabil, orang menulis peran, ancaman, beberapa contoh, dan sedikit XML. Itu adalah blokade di dalam kombinasi token yang tak terhingga. Jev membatalkan blokade itu. Ruang solusi tertutup sebelum inferensi. Yang Anda rancang bukan mantra yang lebih baik. Ia adalah satu keadaan, ditambah beberapa pertanyaan tertutup yang tidak saling mengganggu. Ya-tidak, pilihan, dan tingkat cukup menjadi satu bahasa hanya jika Anda bersedia memecah urusan ke dalam tiga bentuk itu.

Dari blokade ke kuesioner

[ generative ]
prompt (role, examples, format restraints) → infinite tokens → text that can drift

[ Jev ]
state + closed questions (Noul / Choice / Score) → a finite set → one distribution

Tiga pertanyaan itu menghabiskan apa yang sah untuk ditanyakan:

  1. Ya-tidak, Noul. Yang Anda inginkan adalah probabilitas "ya", dipakai untuk menguji ambang. Kode yang memutuskan apakah ambang terlewati. Ini bukan nilai kosong.
  2. Pilihan tunggal, Choice. Pilihan ditetapkan lebih dulu, paling banyak 255. Setiap pilihan mengatakan apa artinya. Pakai untuk maksud dan pengarahan.
  3. Tingkat, Score. Dari 2 sampai 10 anak tangga, ditulis dari rendah ke tinggi sebagai kasus yang konkret. Pakai untuk derajat. Jangan pakai untuk menciptakan kelas baru.

Instruksi yang satu-satunya pekerjaan adalah format, karena itu habis masa berlakunya. Keahlian yang tersisa adalah cara memampatkan keadaan, dan cara memecah satu pertanyaan besar.

Keadaan harus mengalahkan cerita

Keadaan tidak mendengarkan cerita. Aturannya adalah membuang hiasan, menjaga urutan peristiwa, dan menjaga fakta.

Cara generatif menanyakan apakah seorang pengguna akan pergi sering tampak seperti ini:

Anda adalah petugas dukungan berpengalaman. Baca profil dan dialog, putuskan apakah ia ingin membatalkan, jelaskan, dan keluarkan JSON. Profil: Zhang San, VIP3, terdaftar sejak 2 tahun. Pengguna berkata fitur runtuh lagi dan datanya hilang. Dukungan berkata sedang diperbaiki. Pengguna berkata lupakan, dan bertanya bagaimana mendapat pengembalian dana.

Masalahnya adalah kalimat peran dan pengisi. Model menghabiskan perhatian pada "Anda seorang ahli", dan keluaran ditarik oleh "lupakan".

Yang dimakan Jev adalah keadaan yang sudah dimampatkan:

{
  "user_profile": {"tier": "VIP3", "tenure_months": 24},
  "last_event": {"type": "system_error", "impact": "data_loss"},
  "dialogue_history": [
    {"role": "user", "intent": "complain", "content": "feature crashed, data lost"},
    {"role": "agent", "intent": "apology", "content": "fix in progress"},
    {"role": "user", "intent": "churn_explicit", "content": "asks for a refund and says they will stop"}
  ]
}

Satu baris dialog asli boleh tinggal, tetapi maksud dan dampak duduk di bidangnya sendiri. Model membaca pohon keadaan, bukan sebuah esai.

Memecah satu pertanyaan urusan menjadi tiga

"Haruskah kita menerbitkan kupon 50 yuan" bukan satu pertanyaan tertutup. Maksud, marah, penipuan, dan biaya bertumpuk di dalamnya. Satu tembakan gagal di Jev. Pecah menjadi tiga pertanyaan yang ortogonal, dan tinggalkan kebijakan kupon di kode.

state ─┬─ Choice   primary intent
       ├─ Score    negative degree, rungs 1 to 5
       └─ Noul     does this look like farming coupons

Maksud

Choice. Ruangnya adalah: pertanyaan teknis, saran produk, keluhan insiden, klaim jahat. Batang soal hanya menanyakan maksud utama giliran ini. Ia tidak menanyakan apakah harus membayar.

[State]
{ ...compressed state... }

[Question]
From the dialogue, which class is the primary intent of this turn.

Derajat

Score. Anak tangga 1 adalah pertanyaan atau keluhan ringan. Anak tangga 3 adalah keluhan yang jelas dan menuntut penjelasan. Anak tangga 5 adalah emosi yang ekstrem, atau pengembalian dana atau penutupan akun sudah di atas meja. Jangan berikan "1 sampai 5" yang telanjang. Tulis setiap anak tangga sebagai sebuah kasus.

[State]
{ ...compressed state... }

[Question]
Score the negative degree on these rungs.
1: a question, or a mild complaint
3: a clear complaint that demands an explanation
5: extreme emotion, or a refund or closure already requested

Ya atau tidak

Noul. Masukkan jumlah klaim 30 hari terakhir ke dalam keadaan, dan tanyakan apakah giliran ini cocok dengan menguras kupon. Yang kembali adalah probabilitas. Ambang ditulis di kode.

[State]
{ ...state, plus claim count for 30 days... }

[Question]
Historical claims are greater than 3, and the impact of this incident is low. Does this turn match coupon farming.

Kode hanya menerima distribusi

Hilir tidak lagi mengurai untaian JSON yang bisa patah. Masing-masing dari tiga hasil adalah sebuah angka atau sebuah tabel. Syarat urusan tinggal di dalam fungsi.

intent = jev.choice(
    state=user_state,
    options=["tech_support", "feedback", "complaint", "malicious"],
)
anger = jev.score(state=user_state, rungs=5)
fraud = jev.noul(state=user_state_with_history)

def handle_coupon(intent, anger, fraud):
    if fraud.p_yes >= 0.9:
        return "DENY_AND_HANDOFF"
    if intent.top == "complaint" and anger.expected >= 4:
        return "ISSUE_50_COUPON"
    return "STANDARD_APOLOGY"

Ketika model diganti, bentuk keluaran tetap tiga ini. Runtuhnya format berhenti menjadi jenis kegagalan. Determinisme tidak menjadi "model tidak pernah salah". Determinisme berarti kesalahan tetap mendarat di sel yang Anda tulis, dan cabang masih bisa diuji.

Retorika pergi

Dimensi Instruksi generatif Jev
Keahlian Gaya, contoh, mantra format Memecah urusan, memampatkan keadaan, menggambar ruang diskrit
Ruang solusi Terbuka Tertutup: Noul / Choice / Score
Kestabilan Susunan kata dan suhu Struktur; keluaran pada kodratnya adalah distribusi
Awakutu Menyunting kata sifat, menambah nada, menambah contoh Menyunting bidang keadaan, memecah pertanyaan sampai ortogonal

Ya-tidak, pilihan, dan tingkat cukup menjadi satu bahasa tepat ketika "apa yang harus kita lakukan berikutnya" bisa dipecah menjadi tiga. Bagian yang tidak mau pecah bukan kegagalan bahasa ini. Ia tidak termasuk di sendi. Tinggalkan pada model yang bisa berbicara, atau pada seseorang.

Seri