A meno che tu non abbia vissuto sotto una roccia nell’ultima settimana, avrai sicuramente visto Jev da @typesafeai.
https://x.com/CompleteSkeptic/status/2099925682726002904
Descrivono i loro modelli come:
una classe di modelli AI progettati per prendere decisioni rapide e strutturate che il software può utilizzare direttamente. Un modello System One valuta uno
stato e restituisce risposte tipizzate e probabilità.
Secondo i benchmark di TypeSafe, Jev è 20-200 volte più veloce e 40-400 volte più economico rispetto agli LLM.
Ma perché tutto questo conta? Abbiamo già addestrato classificatori in passato (autocorrettore sul telefono, filtri di Gmail, ecc.), ma secondo Twitter Jev è qualcosa di speciale.
In questo articolo, l’obiettivo è spiegarti cos’è Jev, perché esiste e come puoi integrarlo nei tuoi sistemi di produzione.
Quindi, cos’è esattamente Jev?
Jev espone 3 primitive: Choice, Score e Noul.
- Choice è un tipo di domanda che seleziona un’opzione da un set definito (massimo 255 opzioni); la risposta include l’opzione selezionata, una probabilità per ogni opzione e un livello di confidenza.
- Score valuta i contenuti rispetto a livelli descrittivi ordinati; la risposta include un punteggio, una probabilità per ogni livello e un livello di confidenza.
- Noul chiede al modello di valutare una domanda sì/no e di restituire la probabilità che la risposta sia affermativa.
Ecco un esempio di input e output per un caso d’uso di assistenza clienti:
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}
Ti consiglio di passare attraverso il loro onboarding della dashboard per capire meglio come stato e domande lavorano insieme per generare gli output.
Non è semplicemente un classificatore?
Beh, sì e no. È più simile a se un LLM e un classificatore avessero avuto un figlio.
I classificatori tradizionali sono ottimi per task ad alto volume con tassonomie fisse. Pensa a LeNet-5 capace di identificare quale cifra rappresentasse un’immagine. Tuttavia, i classificatori sono solitamente ultra-specializzati e specifici per dominio. Gli LLM sono bravi nella generazione di sequenze. Sono flessibili e ideali per task aperti definiti a runtime, ma sono anche più lenti (rispetto a un classificatore), più costosi e meno prevedibili.
Jev è un “foundation model per la classificazione”, che combina la flessibilità del linguaggio naturale di un LLM con l’output vincolato e probabilistico di un classificatore. Puoi completare una vasta gamma di task senza dover addestrare un nuovo modello, mantenendo al contempo competenza in diversi domini (codice, testo, log, stati UI, eventi, ecc.). Jev può anche generare output in parallelo, rendendolo molto più veloce di un LLM limitato alla generazione sequenziale.
TL;DR: è un classificatore generalizzabile davvero intelligente.
Perché esiste Jev?
L’amministratore delegato e co-fondatore di TypeSafe, Diogo Almeida, ha trascorso del tempo presso OpenAI contribuendo alla creazione di RLHF (reinforcement learning from human feedback) e del prodotto ChatGPT. RLHF ci ha permesso di addestrare gli LLM a seguire istruzioni e prompt in modo eccellente, allineandosi alla loro natura autoregressiva.
Ha poi lasciato OpenAI per fondare TypeSafe e addestrare una diversa classe di modelli per abilitare software potenziato dall’AI, piuttosto che agenti. Jev viene addestrato con RLCD (reinforcement learning from calibrated decisions), che in gergo tecnico significa che il modello viene addestrato a essere molto bravo nel produrre confidenza e probabilità, anziché semplici risposte.
TypeSafe crede che il software dovrebbe essere intelligente. Gli agenti non si diffondono naturalmente nel modo in cui il software ha storicamente funzionato, e l’approccio human-in-the-loop rende difficile avere software sia intelligente che autonomo. Jev è un passo verso l’intelligenza come primitiva componibile e affidabile all’interno dei sistemi software.
Questa non è un’idea completamente nuova: nel 2017 alcuni ricercatori hanno scoperto che un’elevata accuratezza predittiva non implica stime di confidenza affidabili (quindi gli LLM non sono una soluzione perfetta in questo senso).
Perché RLCD invece di RLHF?
Il problema con RLHF è che ciò che gli umani vogliono non è sempre oggettivamente corretto. Il fatto che preferiamo una certa risposta in un certo formato non rende i modelli più intelligenti, ma solo più gradevoli con cui lavorare.
Introduce inoltre il collasso delle modalità (mode collapse): RLHF fa convergere gli LLM su una singola risposta, quando talvolta multiple traiettorie potrebbero essere “corrette”.

Collasso delle modalità tramite la documentazione di Jev
Jev NON era destinato a costruire agenti
Contrariamente a quanto vedi ovunque sulla tua timeline, Jev non è molto efficace come agente standalone. Abbiamo provato a costruirne versioni, sia usando solo Jev che combinando LLM + Jev.
https://x.com/kylejeong/status/2100622054945095934
Onestamente, gli agenti basati su Jev fanno demo interessanti. Ce ne sono state tantissime che usavano Jev per eseguire task da agente a velocità fulminea. Ma anche le migliori demo non sono pronte per essere distribuite in produzione.
Un modello come Jev è pensato per il software potenziato dall’AI: può aiutarti a prendere decisioni composte in codice deterministico. Senza capacità di ragionamento o generative, usarlo come agente standalone è pura ignoranza.

Software potenziato dall’AI
Piuttosto che lasciare che Jev sia un agente standalone per il controllo del computer, dovrebbe essere utilizzato nel routing dell’assistenza clienti, nell’elaborazione delle fatture, negli alert di sicurezza e nel triage, o come monitor per agenti.
I numeri
Il loro primo modello, Jev 1.13.0, costa $42/btok (ovvero $0.042/mtok) per l’input e $0 per i token di output. Per riferimento, Fable 5.1 costa $10/mtok per l’input, che equivale a $10.000 / Btok. I carichi di lavoro tipici aziendali hanno un rapporto input-output di 3:1 o 4:1, quindi il costo effettivo di Fable sale a circa $20.000/Btok (considerando $50/mtok per l’output).
La finestra di contesto è di 64k token per richiesta, dove lo stato + la domanda più lunga devono rientrare in 32k token.
Nei loro benchmark interni, tuttavia, superano tutti i modelli in termini di accuratezza/costo e accuratezza/velocità rispetto a OpenAI, Anthropic e Deepseek (tramite Fireworks per l’inferenza).

accuratezza/costo
Basta parlare, come lo uso?
Dovresti ora avere una comprensione sufficiente di Jev da aver già pensato a qualche caso d’uso per ciò su cui stai lavorando attualmente. (Se non ti vengono in mente idee, ecco una lista di casi d’uso raccomandati da TypeSafe).
Invece di limitare la tua creatività su come dovresti usarlo, ti mostrerò come abbiamo integrato Jev nel nostro framework Stagehand.
Negli ultimi 2 anni, Stagehand è evoluto come framework per AI e Agenti per controllare un browser remoto. Prima che gli agenti fossero sufficientemente maturi, abbiamo creato primitive AI: Act (completa un’azione), Extract (estrai dati strutturati) e Observe (scopri azioni potenziali su una pagina) per aiutare gli sviluppatori a scrivere script auto-riparanti per automatizzare il web.
Invece di usare Playwright (o altri framework legacy) e dover analizzare manualmente il DOM per fornire selettori nelle azioni, Stagehand A/E/O ti permette di usare il linguaggio naturale per costruire automazioni.
1// Playwright2await page.click('button[type="submit"]');34// Stagehand5stagehand.act("click the submit button")
Questo è utile quando scrivi script per la prima volta (la velocità di sviluppo è molto più alta), ma soprattutto per la manutenzione degli script. Se un sito web cambia e i selettori DOM vengono aggiornati, gli script Playwright devono essere riscritti per adattarsi alla nuova pagina. Stagehand sceglie selettori e azioni a runtime ed è “auto-riparante”.
Puoi intuire dove stiamo andando a parare. Jev si integra perfettamente in queste primitive. Inizialmente usavamo un LLM (con contesto su come appariva la pagina e l’obiettivo) per decidere cosa fare. Con Jev possiamo usare Choice per decidere con quali selettori interagire.
Usiamo Act nello specifico per illustrare il flusso. Normalmente, daremmo all’LLM una rappresentazione concisa della pagina usando un ibrido dell’albero di accessibilità (a11y-tree). Con Jev, prima contrassegniamo i nodi nell’albero di accessibilità come interattivi (inclusi editor rich-text) o non interattivi.
Quando stagehand.act viene chiamato:
- Jev classifica l’istruzione in un’azione (come click, fill o scroll)
- Stagehand analizza gli argomenti e costruisce una lista di candidati per quell’azione (che include il contesto vicino della pagina)
- Jev risponde “quale candidato è migliore” e “se alcun candidato corrisponde” con una soglia di accettazione di 0.7
- Se l’azione candidata viene accettata, Stagehand gestisce l’esecuzione
- Se l’azione non viene accettata, Stagehand ricorre a un LLM

Flusso di Act
Nei primi test, la latenza mediana di Act scende da 1.97 secondi a 0.46 secondi, ovvero circa 4.3× più veloce (o il 77% di tempo in meno). Vedi l’intera stack di PR.
Nel contesto del computer use, Jev è un pezzo del puzzle ma non una soluzione standalone. Ora siamo in grado di costruire strumenti software più deterministici che gli agenti possono utilizzare.

Quando usare Jev
Diffondere l’AI nel mondo reale
Jev costruirà agenti di computer use pronti per la produzione? No. È un pezzo utile del puzzle? Penso di sì.
Sembra esserci un’abbondanza di idee che non avevano senso prima di Jev. Ho visto persone costruire ricerca istantanea search, copia-incolla intelligente smart copy paste e altri strumenti semplici ma estremamente utili.
L’AI non dovrebbe essere confinata in una versione qualsiasi di un’interfaccia chat, sincrona o asincrona. Con modelli come Jev, possiamo costruire software che incorpora modelli predittivi senza una casella di input per la chat. Anche se i classificatori sono disponibili da così tanto tempo, non sono mai sembrati così utili. Forse tutto ciò che serviva per costruire era ispirazione.
-> Kyle





