Jev primitives: Choice, Score ve Noul ile yazılım kararları

Teknoloji 6 dk
Editorial diagram of Jev primitives: structured state flowing into Choice, Score, and Noul question cards
Jev primitives üç tipli soru: Choice, Score, Noul. State + sorular girer; kodunuzun eşik koyabileceği olasılıklı cevaplar çıkar. oguzhan.co Jev serisi 1. gün.

Jev primitives üç tipli soru. TypeSafe’in System One modeli bunları kabul ediyor: Choice (kapalı listeden bir seçenek), Score (sıralı rubrik basamaklarında bir konum), Noul (evet/hayır ifadesinin doğru olma olasılığı). Yapılandırılmış state ile isimli soru haritasını gönderirsiniz. Kodunuzun eşik koyabileceği, sıralayabileceği ya da bir sonraki çağrıya taşıyabileceği tipli cevaplar alırsınız. Serbest metin üretimi yok. Serinin 1. gününde ürün yüzeyi bu kadar.

Dünkü TypeSafe Jev hub yazısı System One’ın neden var olduğunu anlattı. Bugün API’de kalıyorum: soru nasıl tanımlanır, hangi tip ne zaman seçilir, cevapta ne döner, alan yolları nasıl çalışır, paralel spekülatif sorular neden tek-soru-tek-çağrı alışkanlığını yener. Geniş masa için yapay zeka hub’ı açık dursun. Ana kaynak: docs.typesafe.ai/primitives.

Jev primitives diyagramı: yapılandırılmış state’ten Choice, Score ve Noul soru kartlarına akan karar yüzeyi

⚡ Jev primitives nedir?

TypeSafe’in primitives sayfası net. Soru başına bir ani yargı isteyin. “Bu mesaj aciliyet mi taşıyor?” iyi soru. “Bu mesajı analiz edip en iyi aksiyonu belirle” değil. İkincisi yavaş muhakeme ister. Küçük sorulara bölün. Cevapları kendi kodunuzda birleştirin.

Her sorunun bir ID’si var (sizin anahtarınız, örneğin refund_requested), bir type’ı (choice, score veya noul) ve instructions metni (asıl yargı). Choice ve Score ayrıca criteria alır: Choice için seçenek haritası, Score için sıralı seviye listesi. Noul’da evet/hayırın ne anlama geldiğini netleştiren isteğe bağlı criteria olabilir. ID’ler kodunuz içindir; modele gitmez. ID bariz görünse bile soruyu instructions içinde tam yazın.

🧩 Choice, Score, Noul: ne zaman hangisi?

Choice, sırasız kapalı kümeler için. Bileti bir birime yönlendir. Belge tipini sınıfla. Dili tespit et. Tüm seçenekleri yazın. Liste her girdiyi kapsamayabilir diye other veya none of the above ekleyin.

Score, adlandırabildiğiniz spektrumlar için: hata ciddiyeti, müşteri siniri, beceri düzeyi. Seviyeleri siz tanımlarsınız. Model o çizgi üzerinde bir konum döner. Konum iki etiket arasında da kalabilir.

Noul, olasılığın kendisinin sinyal olduğu temiz evet/hayır için. Mesajda PII var mı? Müşteri iade mi istiyor? Özgeçmişte dağıtık sistemler geçiyor mu? 0.5 Noul, evet ve hayıra eşit olasılık demektir. “Orta seviye beceri” anlamına gelmez. Beceri seviyesi istiyorsanız tanımlı seviyeli Score kullanın. İkili kapı istiyorsanız talimatı keskin yazın.

İki tip de oturuyor gibi görünüyorsa, kodunuzun doğrudan işleyeceğini seçin. Choice switch dallarına gider. Score eşiğe gider. Noul bir if’e gider.

📊 Cevapta ne döner?

Cevaplar da primitive. Verdiğiniz seçeneklere sıkışır. Aynı istekteki diğer sorulardan bağımsızdır.

Tip Alanlar Nasıl okunur
Choice choice, probabilities, confidence Seçilen seçenek, tam dağılım, sivrilik özeti
Score score, legend, probabilities, confidence Seviyelerinizdeki konum (arada kalabilir), legend, dağılım
Noul noul [0, 1] aralığında P(evet). 1’e yakın güçlü evet, 0’a yakın güçlü hayır, 0.5 belirsiz. Ayrı confidence alanı yok

Bu bağımsızlık mimari kazanç. Bir soruyu ekleyip çıkarmak diğerlerini bozmaz. Üretilmiş prozadan etiket kazımak zorunda kalmazsınız.

🧠 State, alan yolları ve paralel fan-out

State çoğu zaman JSON’dur: bilet, sipariş, politika. Soru tek bir parçaya bakıyorsa, talimatta backtick’li nokta ve indeks yolu yazın: `ticket.messages[0].text` veya `order.charges`. Açık yollar modele hangi dilimi yargılayacağını söyler.

Aynı state’i paylaşan her soruyu tek istekte gönderin. Tipleri karıştırın. System One bunları paralel değerlendirir. Ek sorular gecikmeyi neredeyse oynatmaz; maliyet birkaç soru token’idir. TypeSafe’in parallel-questions cookbook’u, 13 soruyu tek çağrıda toplamanın 13 ayrı çağrıya göre yaklaşık 11.5x ucuz ve 9.6x hızlı olduğunu, cevapların aynı kaldığını yazar.

Spekülatif fan-out benim sürekli önerdiğim kalıp. Kodunuzun ihtiyaç duyabileceği her soruyu sorun. Bazı girdilerde işe yaramayanları uygulama mantığında yok sayın. Bilet hata raporu değilse severity Score’unu düşürün. Kod agent’ları tek soru / tek çağrıya bayılır. O alışkanlığa karşı durun. Resmi TypeSafe agent skill’leri de aynı yönde iter.

Aynı istekteki sorular birbirinin gizli bağlamı değildir. Sonraki yargı gerçekten önceki cevaba bağlıysa (daha fazla veri çekmek, state’i yeniden şekillendirmek veya sonraki Choice seçeneklerini seçmek için) kodda ikinci istek açın. Değilse birlikte sorun, ağırlıkları sizde birleştirin.

🛠️ Primitive konuşan SDK’lar ve araçlar

cobanov/awesome-jev içindeki Start here bölümü en kısa dürüst özet: state + tipli sorular, şema-geçer ≠ doğru, kendi verinizde doğrulayın. Primitive’leri saran somut repolar:

  • typesafe-sdk-js ve typesafe-sdk-python: resmi istemciler; tipli Choice, Score, Noul kurucuları ve çıkarılmış cevap tipleri. Python 0.7.0 (18 Eyl 2026) serileştirmeyi Pydantic’e taşıdı.
  • hunch: Ruby’de olasılıksal kontrol akışı. Hunch.likely?("fraudulent", given: order) tipli cevaba göre dallanır; possibly?’den definitely?’ye kademeli yüklemler var.
  • zod-jev: yerelde Zod şekil doğrulaması, yanında Jev anlamsal doğrulaması. Önce yapı, sonra yargı.
  • jev-axi: kabuktan pick / rate / check / rank / triage / guard için CLI.
  • advocaat ve jevclient: veri seti soruları ve async Python için küçük tipli istemciler.

İleriki günler için sağlayıcı notu: Vercel AI Gateway’deki Boolean primitive, TypeSafe Noul’una karşılık gelir. Karşılaştırırken model ID’lerini sabitleyin.

✅ Şema-geçer, doğru demek değildir

Jev şema dışı string üretemez. “Halüsinasyon yok” pazarlama cümlesi budur; The Register kategori oyununu zaten işaret etti. Choice yanlış birimi seçebilir. Score sakin müşteriyi öfkeli sayabilir. Noul yanlış bir iddiada 0.9 olabilir. Sizin işiniz: eşikler, kendi trafiğinizde eval, geri dönüşsüz araçların önünde deterministik kontroller, insan yedek yolu. awesome-jev Start here aynı şeyi söyler. Yarın confidence ve RLCD’ye ineriz. Şimdilik: primitives temiz bir arayüzdür, denetim mührü değildir.

📚 Kaynaklar

Oğuzhan Koçaklı

2015 yılından beri profesyonel olarak marketing, gaming ve blockchain dünyasıyla ilgileniyorum. Bir çok önemli markanın pazarlama stratejilerinin oluşturulması ve uygulanmasında görev aldım. Şimdilerde mobil oyunlar ve oyunların blockchain entegrasyonu üzerine çalışmalar yürütüyorum. Yapay zeka çalışmaları ise uzun yıllardır hobim.

Tüm yazıları

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir