Hampir semua AI yang kita kenal — ChatGPT, Claude, Gemini — dilatih untuk menghasilkan teks yang enak dibaca manusia. Itu luar biasa untuk chatting, menulis, dan meringkas. Tapi ada satu masalah: ketika kode program kamu butuh sebuah keputusan — apakah email ini mendesak? opsi mana yang harus dipilih? seberapa frustrasi pelanggan ini? — kamu terpaksa memaksa mesin teks untuk "menulis" jawaban terstruktur, lalu mengurai teks itu kembali menjadi nilai yang bisa dipakai kode.
Jev, model flagship dari TypeSafe, dirancang dari nol untuk menyelesaikan persis masalah ini. Jev adalah model keputusan — alih-alih menulis teks, ia menerima konteks dan pertanyaan bertipe, lalu mengembalikan jawaban terstruktur (nilai bertipe + distribusi probabilitas) yang bisa langsung dipakai kode tanpa parsing. Tidak ada teks yang dihasilkan, tidak ada string yang harus diurai.
System One — model yang membuat keputusan terstruktur untuk software (lawan dari LLM "System Two" yang menulis teks).
State — konteks/input yang kamu kirim ke Jev.
Questions (Primitives) — pertanyaan bertipe: Choice, Score, Noul.
Confidence — seberapa yakin model terhadap jawabannya (berbeda dari probabilitas).
Masalahnya: teks vs keputusan
Bayangkan kamu membangun chatbot dukungan pelanggan. Sebelum menjawab, sistem perlu tahu: (1) ke departemen mana tiket ini harus dikirim, (2) seberapa marah pelanggannya, dan (3) apakah tiket ini mendesak. Dengan LLM biasa, kamu menulis prompt seperti "jawab dalam JSON dengan field department, frustration, urgent", lalu berharap model mengeluarkan JSON yang valid, lalu menguraikannya — dan berharap tidak ada tanda kutip liar atau format yang meleset.
Masalah klasik LLM + struktur: output JSON bisa rusak (tanda kutip, koma hilang), butuh retry, dan lambat karena model menulis banyak token. Jev menghilangkan lapisan ini sepenuhnya — kamu meminta keputusan, bukan teks.
Apa itu System One?
TypeSafe membagi model AI menjadi dua kategori. System Two adalah LLM yang kita kenal: lambat, mahal, tapi bisa "berpikir" dan menulis teks panjang. System One adalah model yang dilatih untuk satu hal: membaca state dan mengembalikan keputusan terstruktur secepat mungkin, dengan probabilitas yang terkalibrasi. Jev adalah model System One pertama yang dirilis TypeSafe.
Perbedaan intinya ada di output. LLM menghasilkan string teks. Jev menghasilkan nilai bertipe — misalnya Choice mengembalikan opsi terpilih plus probabilitas untuk setiap opsi. Kode kamu langsung membaca hasilnya, tanpa langkah parsing.
Konsep inti Jev
State: konteks yang kamu berikan
State adalah teks konteks yang kamu kirim ke Jev. Bisa apa saja: isi email, transkrip percakapan, hasil pencarian, log error, atau gabungan semuanya. Semua pertanyaan dalam satu panggilan dievaluasi terhadap state yang sama, sehingga kamu bisa menanyakan banyak hal sekaligus tanpa mengirim ulang konteks.
Questions (Primitives): tiga jenis pertanyaan
Jev punya tiga jenis pertanyaan bertipe. Ketiganya bisa dicampur dalam satu panggilan API.
1. Choice — pilih satu dari sekumpulan opsi
Choice memilih satu opsi dari kumpulan yang kamu definisikan. Jawabannya berisi opsi terpilih, probabilitas untuk setiap opsi, dan confidence. Contoh: menentukan departemen mana yang harus menangani tiket.
{
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"
}
}
}
2. Score — nilai bertingkat
Score memberi rating terhadap konten berdasarkan level yang berurutan. Jawabannya berisi skor, probabilitas per level, dan confidence. Contoh: menilai seberapa frustrasi pelanggan.
{
"frustration": {
"type": "score",
"instructions": "How frustrated does the customer appear?",
"criteria": [
"Calm, just stating facts",
"Frustrated but civil",
"Very angry, strong language"
]
}
}
3. Noul — pertanyaan ya/tidak
Noul mengevaluasi pertanyaan ya/tidak dan mengembalikan probabilitas jawabannya "ya". Ini bentuk paling sederhana dan paling cepat. Contoh: apakah pesan ini mendesak?
{
"is_urgent": {
"type": "noul",
"instructions": "Does this message express urgency or time-sensitivity?"
}
}
Confidence: seberapa yakin modelnya
Jev membedakan probabilitas (distribusi di antara opsi) dan confidence (seberapa yakin model terhadap keseluruhan penilaiannya). Confidence jadi "sumbu kedua" untuk mengontrol perilaku sistem: kalau confidence rendah, kamu bisa mengarahkan kasus ke review manusia, atau ke model yang lebih besar. Ini dasar dari pattern confidence-gated routing.
Cara memanggil Jev lewat API
Kamu butuh API key dari dashboard TypeSafe. Endpoint-nya satu: POST https://api.typesafe.ai/v1/systemone. Kirim state, model (jev-latest), dan questions berisi pertanyaan-pertanyaan bertipe.
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "Hi, I have been trying to connect my Stripe account for 3 days and the integration keeps failing. Please help ASAP.",
"model": "jev-latest",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"
}
},
"is_urgent": {
"type": "noul",
"instructions": "Does this message express urgency?"
}
}
}'
Respons-nya adalah objek terstruktur: untuk setiap pertanyaan, kamu mendapat jawaban bertipe lengkap dengan probabilitas dan confidence — siap dipakai langsung di kode, tanpa json.loads yang rapuh.
Contoh nyata #1: Jev Ultrafast, agen browser super cepat
Jev Ultrafast adalah kolaborasi Browser Use × TypeSafe — sebuah agen browser yang memakai Jev untuk memilih aksi. Di setiap langkah, halaman web diubah jadi tabel elemen bernomor. Jev lalu memilih operasi (CLICK, TYPE_TEXT, SELECT, dsb.) dan elemen target dalam satu kali round-trip jaringan. LLM kecil hanya dipanggil untuk menulis teks saat operasinya TYPE_TEXT.
Hasilnya dramatis: demo mereka menyelesaikan pencarian Google Flights Zürich → London dalam 7,1 detik — termasuk menunggu halaman termuat. Bandingkan dengan agen LLM biasa yang menulis ulang deskripsi aksi dalam teks di setiap langkah, yang jauh lebih lambat dan mahal.
from jev_ultrafast import Agent
with Agent(
"https://www.google.com/travel/flights?hl=en",
"Find one-way flights from Zurich to London on September 20, 2026, "
"for one adult in economy. Stop when matching flight options are visible.",
) as agent:
for state in agent.run():
print(state.operation, state.target)
Kenapa cepat? Karena keputusan (operasi + target) adalah satu permintaan terstruktur, bukan paragraf teks. Model menulis token jauh lebih sedikit, sehingga latensi dan biaya turun drastis.
Contoh nyata #2: fast-jev-compaction di Claude Code
fast-jev-compaction adalah plugin Claude Code yang mengganti ringkasan compaction dengan keputusan Jev. Alih-alih meminta LLM meringkas percakapan lama (yang bisa kehilangan path file, error, atau constraint penting), plugin ini meminta Jev menilai setiap tool call + hasilnya: apakah masih relevan? Yang basi dibuang atau dipotong, yang penting dipertahankan verbatim — tidak pernah ditulis ulang.
Ini contoh bagus dari filosofi Jev: model keputusan memutuskan apa yang penting; model teks yang menulis. Ringkasan yang merusak konteks diganti dengan keputusan ya/tidak yang presisi.
Pattern yang sering dipakai
Speculative fan-out — banyak pertanyaan dalam satu panggilan
Karena semua pertanyaan dievaluasi terhadap state yang sama, kamu bisa mengirim puluhan pertanyaan sekaligus dalam satu panggilan — termasuk pertanyaan spekulatif yang mungkin tidak terpakai. Cookbook TypeSafe mencatat batching 13 pertanyaan dalam satu panggilan itu 12,2× lebih murah dan 10× lebih cepat dibanding memanggil satu per satu.
Confidence-gated routing — pakai confidence untuk memutuskan aksi
Jawaban memberi tahu apa keputusannya, confidence memberi tahu apakah kamu boleh bertindak berdasarkan itu. Pattern umum: confidence tinggi → eksekusi otomatis; confidence sedang → minta model lebih besar; confidence rendah → serahkan ke manusia. Ini membuat sistem AI lebih aman dan bisa diprediksi.
Kapan pakai Jev vs LLM biasa
Gunakan Jev ketika kamu butuh keputusan yang jelas dan terstruktur: klasifikasi, routing, scoring, moderasi, guardrail, atau verifikasi — apapun yang hasilnya akan dipakai kode. Gunakan LLM ketika kamu butuh menghasilkan konten untuk manusia: menulis, menjelaskan, meringkas. Praktik terbaiknya: Jev untuk keputusan, LLM untuk teks, dan keduanya bisa dikombinasikan dalam satu pipeline.
Apakah Jev menggantikan LLM seperti GPT atau Claude?
Tidak — Jev melengkapi, bukan menggantikan. Jev untuk keputusan terstruktur (routing, scoring, moderasi), LLM untuk teks (menulis, menjelaskan). Keduanya sering dipakai berdampingan dalam satu sistem.
Apa bedanya Jev dengan sekadar meminta LLM mengeluarkan JSON?
Meminta LLM output JSON adalah trik — model tetap menulis teks, lalu kamu parsing, dan formatnya bisa rusak. Jev dilatih untuk mengembalikan nilai bertipe + probabilitas terkalibrasi secara native, tanpa generasi teks, jadi lebih cepat, lebih andal, dan lebih murah.
Apa itu 'System One' dan kenapa disebut begitu?
TypeSafe meminjam istilah dari psikologi: System 1 = cepat, intuitif, otomatis; System 2 = lambat, analitis. Model System One (Jev) membuat keputusan cepat dan terstruktur, sedangkan LLM (System Two) menghasilkan teks lewat penalaran yang lebih panjang.
Kesimpulan
Jev mewakili pergeseran cara kita memakai model AI: dari memaksa mesin teks mengeluarkan struktur menjadi memakai model yang memang dirancang untuk keputusan. Dengan output bertipe (Choice, Score, Noul), probabilitas terkalibrasi, dan confidence, Jev membuat agen dan pipeline AI lebih cepat, lebih murah, dan lebih andal.
Kalau kamu mau mencoba: daftar di console.typesafe.ai, ambil API key, dan coba playground-nya — tempel teks apa pun, tambahkan satu pertanyaan Noul, dan lihat hasil terstrukturnya. Dari sana, lihat cookbook TypeSafe untuk pola lengkap seperti intent routing dan composite scoring.