ถ้าคุณไม่ได้เพิ่งตื่นจากถ้ำในช่วงสัปดาห์ที่ผ่านมา คุณคงได้เห็น Jev จาก @typesafeai
https://x.com/CompleteSkeptic/status/2099925682726002904
พวกเขาอธิบายโมเดลของพวกเขาไว้ว่า:
คลาสของโมเดล AI ที่สร้างขึ้นเพื่อตัดสินใจอย่างรวดเร็วและมีโครงสร้าง ซึ่งซอฟต์แวร์สามารถนำไปใช้โดยตรง โมเดล System One จะประเมิน
state และส่งคืนคำตอบที่มีประเภทข้อมูลชัดเจน (typed answers) พร้อมความน่าจะเป็น
ตามเกณฑ์มาตรฐานของ TypeSafe, Jev เร็วกว่า LLMs 20-200 เท่า และมีราคาถูกกว่า 40-400 เท่า
แต่ทำไมสิ่งนี้ถึงสำคัญ? เราเคยฝึก Classifier กันมาก่อนแล้ว (เช่น ระบบแก้ไขคำอัตโนมัติในโทรศัพท์ของคุณ, การกรองอีเมลใน Gmail ฯลฯ) แต่ตามที่ Twitter บอก Jev เป็นอะไรที่พิเศษกว่านั้น
ในบทความนี้ ฉันจะสอนให้คุณเข้าใจว่า Jev คืออะไร ทำไมมันถึงมีอยู่ และคุณจะนำมันเข้าสู่ระบบ Production ของคุณได้อย่างไร
Jev คืออะไรกันแน่?
Jev เปิดให้ใช้งานผ่าน 3 องค์ประกอบพื้นฐาน (primitives): Choice, Score, และ Noul.
- Choice คือประเภทคำถามที่เลือกตัวเลือกหนึ่งจากชุดที่กำหนด (สูงสุด 255 ตัวเลือก) โดยคำตอบจะรวมตัวเลือกที่เลือก, ความน่าจะเป็นของแต่ละตัวเลือก และความมั่นใจ (confidence)
- Score ให้คะแนนเนื้อหาโดยเทียบกับระดับคำอธิบายที่เป็นลำดับขั้น โดยคำตอบจะรวมคะแนน, ความน่าจะเป็นของแต่ละระดับ และความมั่นใจ
- Noul สั่งให้โมเดลประเมินคำถามแบบใช่/ไม่ใช่ (yes/no) และส่งกลับความน่าจะเป็นที่คำตอบจะเป็น "ใช่"
นี่คือตัวอย่าง Input และ Output สำหรับกรณีการใช้งานฝ่ายบริการลูกค้า:
1// Input2{3 "model": "jev-latest",4 "state": "Hi, I was charged twice for my monthly subscription. Could you refund the extra charge? My account is working fine.",5 "questions": {6 "department": {7 "type": "choice",8 "instructions": "Which team should handle this message?",9 "criteria": {10 "billing": "Charges, payments, subscriptions, and refunds",11 "technical": "Bugs, errors, and broken features",12 "account": "Login, passwords, and account access"13 }14 },15 "requests_refund": {16 "type": "noul",17 "instructions": "Is the customer explicitly requesting a refund?"18 },19 "frustration": {20 "type": "score",21 "instructions": "How frustrated does the customer sound?",22 "criteria": [23 "Calm: politely describes the issue without expressing frustration",24 "Frustrated: expresses annoyance or dissatisfaction",25 "Very frustrated: expresses strong anger or threatens to leave"26 ]27 }28 }29}30// Output31{32 "model": "jev-1.13.0",33 "answers": {34 "department": {35 "type": "choice",36 "choice": "billing",37 "confidence": 1,38 "probabilities": {39 "technical": 0,40 "account": 0,41 "billing": 142 }43 },44 "requests_refund": {45 "type": "noul",46 "noul": 0.9947 },48 "frustration": {49 "type": "score",50 "score": 0,51 "legend": {52 "0": "Calm: politely describes the issue without expressing frustration",53 "1": "Frustrated: expresses annoyance or dissatisfaction",54 "2": "Very frustrated: expresses strong anger or threatens to leave"55 },56 "confidence": 1,57 "probabilities": {58 "0": 1,59 "1": 0,60 "2": 061 }62 }63 },64 "usage": {65 "input_tokens": 442,66 "output_tokens": 7267 },68 "request_id": "playground_12bbfa4198be5ca4de9818a45c0906a2055",69 "evaluation_time_ms": 163.0112069979077270}
ฉันแนะนำให้คุณลองศึกษาผ่าน dashboard onboarding ของพวกเขา เพื่อทำความเข้าใจได้ดีขึ้นว่า state และ questions ทำงานร่วมกันอย่างไรเพื่อสร้างผลลัพธ์
นี่มันแค่ Classifier ธรรมดาหรือเปล่า?
ก็ใช่และไม่ใช่ มันคล้ายกับถ้า LLM และ Classifier มีลูกด้วยกัน
Classifier แบบดั้งเดิมเหมาะสำหรับงานที่มีปริมาณสูงและใช้หมวดหมู่ตายตัว ลองนึกภาพ LeNet-5 ที่สามารถระบุได้ว่าตัวเลขในรูปภาพคืออะไร อย่างไรก็ตาม Classifier มักจะมีความเชี่ยวชาญเฉพาะทางและจำกัดอยู่ในโดเมนใดโดเมนหนึ่ง ส่วน LLMs เก่งในการสร้างลำดับข้อความ พวกมันมีความยืดหยุ่นและเหมาะสำหรับงานปลายเปิดที่กำหนดได้ ณ เวลาทำงาน (runtime) แต่ก็ช้ากว่า (เมื่อเทียบกับ classifier), แพงกว่า และคาดเดาผลได้น้อยกว่า
Jev เป็น “foundation model for classification” ซึ่งผสมผสานความยืดหยุ่นด้านภาษาธรรมชาติของ LLM เข้ากับการส่งผลลัพธ์ที่มีข้อจำกัดและมีความน่าจะเป็นแบบ Classifier คุณสามารถทำภารกิจที่หลากหลายโดยไม่ต้องฝึกโมเดลใหม่ ขณะเดียวกันก็ยังคงรักษาความเชี่ยวชาญในโดเมนที่แตกต่างกัน (โค้ด, ข้อความ, logs, สถานะ UI, events ฯลฯ) Jev ยังสามารถสร้างผลลัพธ์แบบขนาน (parallel) ได้ ซึ่งทำให้มันเร็วกว่า LLM มากที่ถูกจำกัดให้สร้างผลลัพธ์แบบลำดับ (sequential)
สรุปสั้นๆ คือ มันเป็น Classifier ที่ฉลาดมากและนำไปประยุกต์ใช้ได้ทั่วไป
ทำไม Jev ถึงมีอยู่?
CEO และผู้ร่วมก่อตั้งของ TypeSafe อย่าง Diogo Almeida เคยใช้เวลาอยู่ที่ OpenAI ช่วยสร้าง RLHF (reinforcement learning from human feedback) และผลิตภัณฑ์ ChatGPT RLHF ทำให้เราฝึก LLMs ให้เก่งเรื่องการปฏิบัติตามคำสั่งและ prompts ซึ่งสอดคล้องกับลักษณะการทำงานแบบ autoregressive ของพวกมัน
หลังจากนั้นเขาออกจาก OpenAI เพื่อเริ่ม TypeSafe และฝึกโมเดลอีกคลาสหนึ่งเพื่อสนับสนุนซอฟต์แวร์ที่ใช้ AI เป็นแกนหลัก แทนที่จะเป็น Agents Jev ถูกฝึกด้วย RLCD (reinforcement learning from calibrated decisions) ซึ่งเป็นศัพท์เทคนิคที่หมายถึงการฝึกโมเดลให้เก่งเรื่องการส่งผลลัพธ์ความมั่นใจและความน่าจะเป็น มากกว่าการส่งคำตอบเพียงอย่างเดียว
TypeSafe เชื่อว่า ซอฟต์แวร์ควรมีความอัจฉริยะ Agents ไม่ได้ซึมซับเข้ากับวิธีทำงานของซอฟต์แวร์ในอดีตโดยธรรมชาติ และการมีมนุษย์เข้ามาเกี่ยวข้อง (human-in-the-loop) ทำให้ยากต่อการสร้างซอฟต์แวร์ที่ทั้งอัจฉริยะและทำงานอัตโนมัติได้อย่างสมบูรณ์ Jev เป็นก้าวหนึ่งสู่ความอัจฉริยะในฐานะองค์ประกอบพื้นฐาน (primitive) ที่สามารถประกอบเข้าด้วยกันและเชื่อถือได้ภายในระบบซอฟต์แวร์
นี่ไม่ใช่แนวคิดใหม่เสียทีเดียว นักวิจัยในปี 2017 พบว่า ความแม่นยำในการพยากรณ์ที่สูงไม่ได้หมายความว่าค่าประมาณความมั่นใจจะเชื่อถือได้ (ดังนั้น LLMs จึงไม่ใช่ทางออกที่สมบูรณ์แบบในจุดนี้)
ทำไมต้องเป็น RLCD แทน RLHF?
ปัญหาของ RLHF คือสิ่งที่มนุษย์ต้องการไม่จำเป็นต้องถูกต้องตามวัตถุประสงค์เสมอไป เพียงเพราะเราชอบคำตอบในรูปแบบหนึ่ง ไม่ได้หมายความว่าโมเดลจะฉลาดขึ้น แต่หมายความว่าใช้งานได้ง่ายขึ้นต่างหาก
นอกจากนี้ยังทำให้เกิด Mode collapse, RLHF ทำให้ LLMs ลู่เข้าหาคำตอบเดียว ทั้งที่บางครั้งหลายเส้นทางอาจถือว่า “ถูกต้อง” ได้เหมือนกัน

Mode collapse จากเอกสารของ Jev
Jev ไม่ได้ถูกออกแบบมาเพื่อสร้าง Agents
ตรงข้ามกับสิ่งที่คุณเห็นเกลื่อนไทม์ไลน์ Jev ไม่ค่อยดีนักเมื่อใช้เป็น Agent แบบเดี่ยวๆ เราพยายามสร้างเวอร์ชันต่างๆ ขึ้นมาแล้ว ทั้งแบบ Jev ล้วนๆ และแบบ LLM + Jev
https://x.com/kylejeong/status/2100622054945095934
พูดตามตรง Jev agents ทำเดโมออกมาได้เท่ดี มีจำนวนมากที่ใช้ Jev ทำงานของ agent ด้วยความเร็วแสง แต่เดโมที่ดีที่สุดก็ยังพร้อมสำหรับการนำไปใช้ใน Production
โมเดลอย่าง Jev ถูกออกแบบมาสำหรับซอฟต์แวร์ที่ใช้ AI เป็นแกนหลัก มันช่วยคุณตัดสินใจโดยประกอบเข้ากับโค้ดแบบ deterministic โดยปราศจากความสามารถในการให้เหตุผลหรือสร้างเนื้อหา การใช้มันเป็น Agent แบบเดี่ยวๆ ถือว่าเป็นความไม่รู้เลย

AI-powered Software
แทนที่จะปล่อยให้ Jev เป็น Computer use agent แบบเดี่ยวๆ ควรนำไปใช้ในการจัดเส้นทางฝ่ายบริการลูกค้า, ประมวลผลใบแจ้งหนี้, แจ้งเตือนความปลอดภัยและคัดแยกเหตุการณ์ หรือใช้เป็น Agent monitor
ตัวเลขสำคัญ
โมเดลแรกของพวกเขา Jev 1.13.0 มีราคา $42/btok (หรือ $0.042/mtok) สำหรับ input และ $0 สำหรับ output tokens เพื่อเปรียบเทียบ Fable 5.1 มีราคา $10/mtok สำหรับ input ซึ่งเท่ากับ $10,000 / Btok งานโหลดทั่วไปในระดับองค์กรมักมีสัดส่วน input-output tokens เป็น 3:1 หรือ 4:1 ดังนั้น Fable จะมีค่าใช้จ่ายประมาณ ~ $20,000/Btok (เมื่อคิดรวม output ที่ $50/mtok)
Context window รองรับ 64k tokens ต่อ request โดย state + คำถามที่ยาวที่สุดต้องพอดีใน 32k tokens
อย่างไรก็ตาม ในเกณฑ์มาตรฐานภายใน พวกเขาชนะทุกโมเดลในด้าน accuracy/cost & accuracy/speed จาก OpenAI, Anthropic, และ Deepseek (ผ่านการ inference ด้วย Fireworks)

accuracy/cost
พอคุยกันมามากแล้ว ใช้อย่างไร?
ตอนนี้คุณควรมีความเข้าใจเกี่ยวกับ Jev เพียงพอที่จะนึกถึงกรณีการใช้งานสักสองสามอย่างไม่ว่าคุณจะกำลังทำงานอะไรอยู่ (ถ้ายังไม่มี นี่คือรายการกรณีการใช้งานที่ TypeSafe แนะนำ)
แทนที่จะจำกัดความคิดสร้างสรรค์ของคุณว่าจะใช้อย่างไร ฉันจะแสดงวิธีที่เราปรับแต่ง Jev ให้เข้ากับเฟรมเวิร์ก Stagehand ของเรา
ตลอด 2 ปีที่ผ่านมา Stagehand พัฒนาขึ้นเป็นเฟรมเวิร์กสำหรับ AI และ Agents ในการควบคุมเบราว์เซอร์ระยะไกล ก่อนที่ Agents จะเก่งพอ เราสร้าง AI-primitives ได้แก่ Act (ดำเนินการ), Extract (ดึงข้อมูลที่มีโครงสร้าง), และ Observe (ค้นพบการกระทำที่เป็นไปได้บนหน้าเว็บ) เพื่อช่วยให้นักพัฒนาเขียนสคริปต์ที่ซ่อมแซมตัวเองได้ (self-healing scripts) เพื่อทำงานอัตโนมัติบนเว็บ
แทนที่จะใช้ Playwright (หรือเฟรมเวิร์กเก่าอื่นๆ) แล้วต้องวิเคราะห์ DOM ด้วยมือเพื่อให้ selectors สำหรับการทำงาน Stagehand A/E/O อนุญาตให้คุณใช้ภาษาธรรมชาติในการสร้างระบบอัตโนมัติ
1// Playwright2await page.click('button[type="submit"]');34// Stagehand5stagehand.act("click the submit button")
สิ่งนี้มีประโยชน์เมื่อเขียนสคริปต์ครั้งแรก (ความเร็วในการพัฒนาเร็วขึ้นมาก) แต่โดยเฉพาะอย่างยิ่งมีประโยชน์สำหรับการบำรุงรักษาสคริปต์ หากเว็บไซต์มีการเปลี่ยนแปลงและ DOM selectors อัปเดต สคริปต์ Playwright ต้องเขียนใหม่ให้ตรงกับหน้าเว็บใหม่ Stagehand เลือก selectors และ actions ณ เวลาทำงาน (runtime) และสามารถ “ซ่อมแซมตัวเองได้”
คุณพอจะเห็นทิศทางที่เราจะไป Jev เข้ากันได้ดีมากกับ primitives เหล่านี้ เดิมทีเราใช้ LLM (โดยให้บริบทว่าหน้าเว็บเป็นอย่างไรและเป้าหมายคืออะไร) เพื่อตัดสินใจว่าจะทำอะไร ด้วย Jev เราสามารถใช้ Choice เพื่อกำหนดว่าจะโต้ตอบกับ selectors ตัวไหน
ลองใช้ Act โดยเฉพาะเพื่ออธิบายกระบวนการ โดยปกติเราจะให้ LLM ตัวแทนที่กระชับของหน้าเว็บโดยใช้ hybrid a11y-tree กับ Jev เราจะ mark nodes ใน a11y tree ว่าเป็น interact-able (รวมถึง rich-text editors) หรือไม่ก่อน
เมื่อ stagehand.act ถูก เรียก:
- Jev จำแนกคำสั่งออกเป็น action (เช่น click, fill, หรือ scroll)
- Stagehand วิเคราะห์ arguments และสร้างรายการ candidate สำหรับ action นั้น (ซึ่งรวมถึงบริบทของหน้าเว็บใกล้เคียง)
- Jev ตอบว่า “candidate ไหนดีที่สุด” และ “มี candidate ไหนที่ตรงหรือไม่” โดยมีเกณฑ์ยอมรับ (acceptance threshold) ที่ 0.7
- ถ้า candidate action ได้รับการยอมรับ Stagehand จะจัดการการดำเนินงาน
- ถ้าไม่ได้รับการยอมรับ Stagehand จะ fallback ไปใช้ LLM

Act Flow
ในการทดสอบเบื้องต้น Median latency ของ Act ลดลงจาก 1.97 วินาที เหลือ 0.46 วินาที ซึ่งเร็วกว่าประมาณ 4.3 เท่า (หรือลดเวลาไป 77%) ดู PR stack ฉบับเต็ม
ในแง่ของ computer use, Jev เป็นส่วนหนึ่งของชิ้นส่วนปริศนา (piece of the pie) แต่ไม่ใช่โซลูชันแบบเดี่ยว ตอนนี้เราสามารถสร้างเครื่องมือซอฟต์แวร์แบบ deterministic ที่ agents สามารถใช้งานได้มากขึ้น

When to use Jev
การกระจาย AI ออกสู่โลกแห่งความเป็นจริง
Jev จะสร้าง Computer use agents ระดับ Production grade ได้ไหม? ไม่ มันเป็นส่วนหนึ่งของชิ้นส่วนปริศนาที่มีประโยชน์ไหม? ฉันคิดว่าใช่
ดูเหมือนว่ามีไอเดียมากมายที่ไม่สมเหตุสมผลมาก่อน Jev ฉันเห็นผู้คนสร้าง search แบบทันที, smart copy paste, และเครื่องมือง่ายๆ อื่นๆ อีกมากมายที่มีประโยชน์อย่างยิ่ง
AI ไม่ควรถูกจำกัดอยู่กับอินเทอร์เฟซแชทรูปแบบใดรูปแบบหนึ่ง ไม่ว่าจะเป็น sync หรือ async ด้วยโมเดลอย่าง Jev เราสามารถสร้างซอฟต์แวร์ที่รวมเอา prediction models ไว้ได้โดยไม่ต้องมีช่องกรอกข้อความแชท แม้ Classifier จะมีมานานแล้ว แต่ไม่เคยรู้สึกว่ามีประโยชน์เท่านี้มาก่อน บางทีสิ่งที่เราขาดไปอาจเป็นเพียงแรงบันดาลใจเท่านั้น
-> Kyle





