AI Atlas
EN TR
Orta · ~2 dk okuma #decision-model #jev #clef

System One Model

Tek geçişte karar veren model

Metin üretmek yerine bir durum (state) ve önceden tanımlanmış tipli soruları alıp izin verilen her cevap için kalibre edilmiş olasılığı tek bir forward pass'te döndüren karar modeli.

AYNI KARAR, İKİ YOLLLM · OTOREGRESİF"Hangi ekip? JSON olarak yaz."{adım 1"team"adım 2:adım 3"tech"adım 4}adım 5her token ayrı bir forward passJSON.parse() → doğrula → tekrar dene?tek cevap · olasılık yokyavaş · ayrıştırma gerekirSYSTEM ONE · TEK GEÇİŞstate: "Ödeme 1 saattir çöküyor"CHOICEteamNOULurgentSCOREseverity1 FORWARD PASS · TÜM SORULARteam = technical0.91team = billing0.07team = sales0.02urgent = yes0.96hızlı · tipli · olasılıklıLLM cevabı yazar; System One izin verilen her cevabı olasılıkla puanlar (değerler temsilî)
Tanım

Klasik bir LLM'e "bu destek talebi hangi ekibe gitmeli?" diye sorduğunda model cevabı token token yazar; sen de çıkan metni ayrıştırıp doğrularsın. System One modeli ise hiç metin üretmez. Ona bir state (metin, JSON, e-posta, ticket; bazı modellerde görsel) ve tipli sorular verirsin; model izin verilen her cevabın olasılığını tek bir forward pass'te hesaplayıp yapılandırılmış olarak döndürür.

Bugünkü modeller üç soru tipini paylaşıyor: choice (tanımladığın seçeneklerden biri + her seçeneğin olasılığı + güven), score (sıralı bir rubrikte olasılık ağırlıklı seviye) ve noul (evet/hayır sorusu için "evet" olasılığı). Cevap şeması önceden belli olduğu için çıktı her zaman bu tiplere uyar; ayrıştırma hatası diye bir şey yoktur.

İsim Daniel Kahneman'ın Hızlı ve Yavaş Düşünme kitabından geliyor: Sistem 1 hızlı ve sezgisel, Sistem 2 yavaş ve bilinçli düşünmedir. Reasoning modeller cevaptan önce uzun bir düşünce zinciri üreterek Sistem 2'yi taklit eder; System One modelleri ise "uzman birinin birkaç saniyede vereceği" türden dar, iyi tanımlı kararları hedefler.

Kategoriyi Eylül 2026'da TypeSafe AI, Jev ile başlattı (15 Eylül, erken erişim). Onu açık ağırlıklı Laya (Convai Innovations) ve Cloudflare'in Clef / Clef-flash modelleri (1 Ekim) izledi; üçü de aynı state + questions → answers sözleşmesini kullanıyor.

Benzetme

Bir hastanenin acil servisindeki triyaj hemşiresini düşün. Hastaya roman yazmaz; birkaç saniyede üç kutuyu işaretler: hangi bölüm, aciliyet 1–5, "hemen doktor lazım mı?" evet/hayır. Üstelik iyi bir hemşire emin olmadığında bunu bilir ve vakayı kıdemli doktora yollar.

LLM'den karar istemek, aynı hemşireden her hasta için bir paragraf rapor yazmasını, sonra o paragraftan kutuları senin çıkarmanı istemeye benzer. System One modeli doğrudan kutuları işaretler ve her işaretin yanına "ne kadar eminim" notunu düşer.

Gerçek dünyadan örnek

Bir destek kuyruğunda gelen mesaj: "Ödeme sayfası bir saattir tüm müşterilerde hata veriyor." Tek bir istekte üç soru sorulur: team (choice: billing / technical / sales), urgent (noul) ve severity (score: etkisiz → kritik). Cevap; seçilen ekip ve her ekibin olasılığı, aciliyetin "evet" olasılığı ve olasılık ağırlıklı bir şiddet skoru olarak gelir.

Kodun bu sayılarla dallanır: urgent > 0.9 ve team = technical ise nöbetçi mühendise sayfa at; güven düşükse talebi bir insana ya da büyük bir LLM'e devret. Hiçbir yerde serbest metin ayrıştırılmaz.

Kod örnekleri
Clef · Cloudflare Workers AI typescript
// Cloudflare dokümantasyonundaki örnekten uyarlandı (@cf/cloudflare/clef)
export default {
  async fetch(request, env): Promise<Response> {
    const response = await env.AI.run("@cf/cloudflare/clef", {
      model: "clef", // ya da "clef-flash" (@cf/cloudflare/clef-flash)
      state: "Checkout has been failing for every customer for the last hour.",
      questions: {
        urgent: { type: "noul", instructions: "Is this support request urgent?" },
        team: {
          type: "choice",
          instructions: "Which team should handle this request?",
          criteria: { billing: "Payments and refunds", technical: "Outages and errors", sales: "Plans and upgrades" },
        },
      },
    });
    // response.answers.urgent.noul   -> "evet" olasılığı (0–1)
    // response.answers.team.choice   -> en olası ekip (+ probabilities, confidence)
    return Response.json(response);
  },
} satisfies ExportedHandler<Env>;
Jev · TypeSafe HTTP API bash
curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "is_urgent": { "type": "noul", "instructions": "Does this convey urgency?" }
    }
  }'
# Yanıt: {"model":"jev-1.13.0","answers":{"is_urgent":{"type":"noul","noul":...}},
#         "usage":{"input_tokens":...,"output_tokens":...}}
Laya · yerelde, açık ağırlıklarla python
# pip install laya
from laya import Router

router = Router()  # ilk kullanımda checkpoint'i Hugging Face'ten indirir
state = "Mart ayı için iki kez ücret alındı. Fazla ödemeyi bugün iade edin, yoksa iptal ederiz."
questions = {
    "department": {"type": "choice", "instructions": "Which department should handle this?",
                   "criteria": {"billing": "payments, refunds", "technical": "bugs, outages", "other": "everything else"}},
    "churn_risk": {"type": "noul", "instructions": "Does the user threaten to cancel or leave?"},
}

result = router.predict(state, questions)
print(result["answers"]["department"]["choice"])  # ör. billing
print(result["answers"]["churn_risk"]["noul"])    # "evet" olasılığı
print(result["routing"]["model"])                 # seçilen checkpoint: english / multilingual
Ne zaman kullan
  • Sonuç kümesi önceden belli kararlar: yönlendirme, triyaj, niyet sınıflandırma, risk bayrağı
  • Ajan döngüsünde hızlı kapı (gate): bu araç çağrısı güvenli mi, hangi alt-ajana gitmeli, insana sorulmalı mı?
  • Gecikmenin kritik olduğu sıcak yollar: oyun NPC'leri, robot kontrol döngüleri, istek başına moderasyon
  • Olasılığa göre dallanmak istediğin yerler: emin olunan vakayı otomatikleştir, belirsizi insana ya da büyük modele devret
  • Çok sayıda kaydı ucuza etiketlemek, skorlamak ya da özellik (feature) çıkarmak
Ne zaman kullanma
  • Açık uçlu metin üretimi: yanıt yazmak, özetlemek, çeviri, kod üretmek — bu modeller metin üretmez
  • Çok adımlı akıl yürütme, matematik, tarih karşılaştırması, sayma — TypeSafe kendi dokümantasyonunda bunları kodda yapmayı öneriyor
  • Cevap kümesi önceden tanımlanamayan sorular
  • Etiketli veri ve klasik bir sınıflandırıcının zaten yeterince iyi, ucuz ve denetlenebilir olduğu dar görevler
Sık yapılan hatalar

Olasılığı doğruluk sanmak

Modeller kalibrasyon için eğitiliyor, ama kalibrasyon kendi verinde ve kendi soru tasarımında ölçülmeden güvenilmez. Laya'nın README'si İngilizce checkpoint'in Latin dışı alfabelerde yüksek güvenle yanlış cevap verdiğini kendisi belgeliyor.

Güven eşiğini modeller arasında taşımak

API aynı olsa da confidence aynı şey değil: Jev (n·p_max − 1)/(n − 1) kullanırken Laya 1 − normalize entropi kullanıyor. Jev'de ayarladığın eşik Laya'ya ya da başka bir modele aktarılmaz; her modelde yeniden ölç.

Tek soruya her şeyi yığmak

System One modelleri dar ve atomik sorularda iyi. 'Bu girişim iyi mi?' yerine pazar, teknik fizibilite ve farklılaşmayı ayrı sorular olarak sor, ağırlıklandırmayı kodda yap.

Seçenek etiketlerini özensiz yazmak

Model, yazdığın kelimeleri harfiyen okur. Birbirine benzeyen ya da çakışan seçenek açıklamaları ve çok sayıda seçenek doğruluğu düşürür; Laya'da seçenekler ortak bir token bütçesini paylaştığı için yaklaşık 20 seçeneğin üstünde belirgin düşüş belgelenmiş.

Kategorinin yeni olduğunu unutmak

Jev erken erişimde, Clef ve Laya birkaç haftalık. Benchmark'ların çoğu üreticilerin kendi ölçümü. Model sürümünü sabitle (ör. jev-1.13.0), alias'a güvenme ve kendi değerlendirme setinle karar ver.