Dossier de recherche · travail en cours
Jev
des évaluations probabilistes pour les logiciels
Jev évalue le contexte et les questions de l’application. Il renvoie des probabilités, avec une option sélectionnée pour Choice ou une note pondérée pour Score ; le code décide du traitement.
Dossier en cours · Jev 1.14 et concurrents intégrés le 28 octobre 2026 · Aucun appel à l’API Jev
Exemple : trier un ticket de support
- L’application envoie« J’ai été débité 2 fois. »
- Elle définit les optionsFacturation · Technique · Autre
- Jev évalueUne probabilité pour chaque option
- Le code décideOrienter le ticket ou demander une relecture
La réponse est destinée au programme. Un LLM peut ensuite rédiger le message pour le client. Exemple illustratif, sans appel réel.
À retenir
- 28 octobre : Jev n’est plus seul. Cloudflare (Clef), Strands Labs d’AWS (Strands Decider 2B), Perplexity (pplx-decider) et OpenAI (Decisions API) proposent des modèles de décision ; les modèles ouverts reprennent l’interface System One de Jev. Leurs meilleurs scores viennent surtout des éditeurs, et les 3 évaluations tierces lues ne désignent pas de vainqueur général. Jev passe en 1.14 au même prix. Comparer les offres.
- Mon avis au 22 septembre 2026, maintenu au 28 octobre : intéressant à tester, avec des promesses à nuancer. L’API peut simplifier certaines décisions automatisées, mais ses gains varient selon la tâche. La révolution scientifique n’est pas démontrée ; les chiffres marketing ne valent pas pour tous les usages. Les sources examinées n’établissent pas l’accusation de « scam ». Je n’ai pas encore testé l’API moi-même. Lire l’analyse critique.
- 3 autres POCs Laya exécutés : arrêter les configurations testées. Suggestions conformes aux annotations provisoires : Sentry 2/38, reviews 1/9, CI 6/20 contre 5/6 pour les règles. 120 cas test, dont 15 trop longs ; aucune validation humaine. Résultats et limites.
- Pilote Aristote : conserver les règles actuelles. Sur 60 tickets de test, Laya émet 11 suggestions, dont 8 conformes aux annotations provisoires de 2 agents ; les règles actuelles en émettent 17, dont 12 conformes. 49 tickets restent sans suggestion Laya, dont 8 trop longs. Aucune validation humaine, aucun benchmark Jev. Lire le protocole et les résultats.
- Jev estime les probabilités des réponses possibles ; le code décide du traitement. L’application fournit un contexte et des questions. Choice renvoie les probabilités des options et l’option sélectionnée ; Score, une distribution sur les niveaux et une note pondérée ; Noul, la probabilité de oui. Le code applique les seuils et les règles métier pour orienter un ticket ou demander une relecture. TypeSafe l’a lancé en accès anticipé le 15 septembre 2026.
- L’intérêt pour les agents : obtenir des évaluations sans extraire des valeurs d’un paragraphe. Jev fournit directement des valeurs utilisables dans le code. La promesse de vitesse et de faible coût, portée par Diogo Almeida, ancien d’OpenAI et coauteur d’InstructGPT, aide à comprendre l’attention reçue au lancement.
- Vitesse annoncée : 70 à 500 ms par appel, soit moins de 1 seconde. Un petit essai indépendant rapporte 352 ms de médiane pour Jev, contre 877 ms pour Gemini Flash Lite et 1 343 ms pour Mistral Small, sur 40 appels par modèle. La tâche, le réseau et la route d’accès changent ces temps.
- Prix direct : 0,042 $ par million de tokens d’entrée, sorties gratuites. Cela équivaut à 42 $ par milliard. Avec 1 000 tokens d’entrée au total par requête, 100 000 requêtes coûteraient 4,20 $ pour Jev seul, hors reprises et autres services. Tarif vérifié le 21 septembre 2026.
- Les chiffres qui font circuler le sujet : environ 200× plus rapide et 445× moins cher. Ils viennent des comparaisons de TypeSafe sur ses propres workflows, avec des LLM qui doivent aussi fournir des probabilités. Ces gains ne s’appliquent pas à toutes les tâches ni à tous les concurrents.
- Une réponse rapide et bien formatée peut être fausse. La qualité varie selon les tâches ; ni le format ni le score de confiance ne garantissent une bonne décision. Le tutoriel de démarrage permet un premier essai. Ce dossier n’a pas encore testé le modèle Jev en conditions réelles.
- Essais du 26 septembre : Laya tourne hors ligne, mais ces réglages ne battent pas les règles simples. Tri : 14 bonnes réponses sur 20, contre 15 pour la référence lexicale. Filtre : 8,55 ms de médiane après chauffe, hors chargement et navigateur. Lire les résultats et leurs limites, puis installer Laya.
Les termes en pointillés donnent leur définition au survol, au clavier ou au toucher.
Comprendre Jev
L’application pose les questions, Jev renvoie des valeurs
Application → Jev → application : le programme fournit la question et exploite la réponse.
Une personne peut écrire un ticket, mais cela ne fait pas de Jev son interlocuteur. Le logiciel extrait le contexte utile, appelle Jev et lit des valeurs. Il peut ensuite afficher une suggestion à cette personne, déclencher un traitement autorisé ou faire rédiger une réponse par un LLM. Cette séparation explique l’intérêt du produit : certaines étapes ont besoin d’une catégorie, pas d’une conversation.
Pour trier une issue GitHub, vous pouvez fournir son contenu et une liste de catégories. Avec Choice, Jev renvoie l’option retenue et les probabilités associées. Votre application utilise le résultat pour proposer une destination. C’est un exemple d’utilisation de l’API décrite par TypeSafe.
L’appel contient un contexte commun, appelé état ou state, et une ou plusieurs questions. Le programme précise la forme attendue : un choix dans une liste, une note sur une échelle ou la probabilité d’une réponse oui. Il peut ainsi traiter le résultat sans devoir extraire une catégorie d’un paragraphe.
Ces 4 infographies originales s’inspirent de Jev Engineering 101, de Daniel Moka, publié le 22 septembre 2026. Elles présentent une organisation possible des traitements, sans décrire les composants internes de Jev. Visuels générés avec OpenAI puis relus ; valeurs d’exemple fictives.
Du résultat de l’API à l’action
- Le contexte est fourni par l’application. Une mention de paiement refusé dans un ticket n’établit pas l’état réel de la transaction. Pour agir sur celle-ci, le code doit récupérer les données utiles auprès du service concerné. Voir la documentation de State.
- Les questions d’un appel partagent le même état. Si une question doit utiliser la réponse d’une autre, le programme prépare un appel suivant. Le schéma représente 1 requête, sans supposer 1 seul passage interne du modèle.
- Le format et la justesse de la prédiction se vérifient séparément. Une réponse exploitable par le SDK peut être erronée. Définissez le délai maximal, les permissions et le repli avant d’exécuter une action ; choisissez les seuils à partir de vos erreurs acceptables. Voir comment garder les permissions dans le code.
| Approche | Résultat | Quand l’essayer | À vérifier |
|---|---|---|---|
| Règle ou recherche BM25 | Correspondance ou score lexical | Le critère peut être écrit et calculé localement. | Reformulations manquées, coût de maintenance et calcul local. |
| Classifieur supervisé à classes fixes | Classe et score, parfois une probabilité | Des exemples annotés sont disponibles et les catégories changent peu. | Annotation, réentraînement, classes rares et calibration. |
| Jev | Probabilités et valeurs typées : option Choice, note Score ou probabilité de oui avec Noul | Les critères et les options sont fournis dans chaque appel. | Options manquantes, erreurs, probabilités et coût complet. |
| LLM avec sortie contrainte | Données structurées et, si demandé, texte | La tâche demande aussi une rédaction ou une extraction libre. | Justesse, validation du schéma, coût et latence. |
Un agent peut utiliser cette API pour choisir une destination ou évaluer un document, puis confier la rédaction ou l’enquête à un autre modèle. Cette utilisation ponctuelle ne démontre pas que Jev puisse remplacer le modèle qui pilote Claude Code.
Sur petit écran, les diagrammes peuvent se faire défiler horizontalement. Les figures peuvent être agrandies pour lire leurs libellés.
Mis à jour · Version 0.20.0
Les dates du lancement de TypeSafe et Jev
Jev arrive en accès anticipé le 15 septembre 2026. Les dates des plateformes sont distinctes.
- TypeSafe indique avoir été fondée en 2024 et être basée à San Francisco.
- La page de l’équipe présente Diogo Almeida comme CEO, Erik Gafni comme CTO et Sasha Sheng comme COO.
Ces informations décrivent l’entreprise ; elles ne valident pas les performances de son modèle.
| Date | Événement | Source et portée |
|---|---|---|
| 2024 | Fondation déclarée de TypeSafe. | Communiqué de l’entreprise diffusé par Business Wire. |
| 15 septembre 2026 | Lancement de Jev en accès anticipé. | Billet de lancement, signé Diogo Almeida. |
| 15 septembre 2026 | Tour de financement de 40 millions de dollars mené par DCVC. | Annonce de l’investisseur, partie intéressée au succès du produit. |
| 16 septembre 2026 | Annonce de Jev dans Vercel AI Gateway. | Changelog Vercel. |
| 17 septembre 2026 | Date des réponses ASSAY-001 ; mise à jour affichée des limites connues de Jev 1.13. | 2 observations différentes : une campagne d’essai et une page de documentation. |
| 18 septembre 2026 | Date affichée dans le catalogue OpenRouter. | Fiche de la plateforme, pas date initiale du modèle. |
| 21 septembre 2026 | Arrêt documentaire de l’édition initiale. | Les versions, conditions et résultats ultérieurs pourront modifier le dossier. |
| 28 septembre 2026 | Ollama 0.35 sert des modèles de décision par /v1/systemone, d’après l’API de Jev : Nimble de Bespoke Labs et Tev1 de Together AI. | Note de version Ollama ; ce ne sont pas les poids de Jev. |
| 1er octobre 2026 | Cloudflare publie Clef et Clef-flash sur Workers AI, poids sous Apache 2.0 ; Strands Labs, rattaché au SDK Strands Agents d’AWS, publie Strands Decider 2B. | Changelog Cloudflare ; dépôt Strands Decider. |
| 6 octobre 2026 | OpenAI ouvre la Decisions API en bêta avec gpt-6-luna. | Changelog OpenAI. |
| 9 octobre 2026 | Series A de 870 millions de dollars à 7,5 milliards de valorisation, menée par Andreessen Horowitz. | Annonce TypeSafe ; montant indiqué en note de bas de page. |
| 9 octobre 2026 | Cloudflare ajoute Clef-omni (audio et vidéo) et baisse le prix de Clef-flash. | Billet Cloudflare. |
| 14 octobre 2026 | Jev 1.14 sous jev-preview ; images, type Box et contexte long derrière des en-têtes expérimentaux. | Billet TypeSafe. |
| 22 octobre 2026 | Disponibilité générale de la Decisions API, jusqu’à 400 questions par requête. | Changelog OpenAI. |
| 28 octobre 2026 | Arrêt documentaire de la version 0.20.0. | Les alias, prix et classements cités peuvent changer après cette date. |
Diogo Almeida est coauteur d’InstructGPT. Le titre viral « co-inventeur de ChatGPT » réduit un travail collectif à une attribution personnelle ; « auteur principal d’InstructGPT » n’est pas davantage établi par la liste des auteurs. Le fait bibliographique utile est sa contribution à ce travail sur l’apprentissage à partir de retours humains.
- TypeSafe emprunte « System One » à la distinction de Daniel Kahneman entre pensée rapide et pensée délibérée.
- Jev renvoie à William Stanley Jevons et à l’idée qu’une baisse du coût peut accroître les usages.
Ces références expliquent le nom du produit ; elles ne décrivent pas ses couches neuronales. Origine des noms selon TypeSafe.
Mis à jour · Version 0.20.0
Choice, Score et Noul
Choisir une catégorie, noter un résultat ou poser une question oui/non.
| Type | Question adaptée | Réponse |
|---|---|---|
| Choice | Quelle option retenir parmi celles proposées ? | Une option, les probabilités des options et un champ confidence distinct. Maximum documenté : 255 options. |
| Score | Quel niveau sur une échelle dont chaque niveau est décrit ? | Les probabilités par niveau, une note pondérée dans score, les niveaux dans legend et un champ confidence distinct. La note n’est pas une probabilité de oui. |
| Noul | Cette proposition est-elle vraie ? | La probabilité de oui, entre 0 et 1. Pas de champ confidence séparé. |
La documentation détaille Choice, Score et Noul.
- Choice impose un choix exclusif. Pour plusieurs étiquettes compatibles, des questions binaires séparées peuvent convenir.
- Pensez aussi aux cas qui n’entrent dans aucune catégorie : une option absente de la liste ne pourra pas être sélectionnée.
| Besoin de l’application | Type de question | Exemple pédagogique |
|---|---|---|
| Choisir une équipe | Choice | Facturation, accès au compte, incident technique, autre. Choice prédit une catégorie. Si plusieurs motifs coexistent, des questions séparées permettent au code d’appliquer sa priorité de traitement. |
| Évaluer l’impact | Score | 0 : aucun impact décrit ; 1 : gêne contournable ; 2 : fonction indisponible ; 3 : plusieurs utilisateurs bloqués. Une moyenne de 1,7 reste une note sur cette échelle. |
| Vérifier un critère indépendamment des autres | Noul | Le message mentionne-t-il un paiement refusé ? Une autre question peut porter séparément sur une connexion impossible. |
- Dans l’entretien ThursdAI, une intervenante de TypeSafe explique comment décrire les niveaux de Score à 19:51, puis pourquoi des tags non exclusifs appellent des questions séparées à 23:00.
- Chez AICodeKing, l’exemple d’extraction à 03:55 consiste à choisir parmi des valeurs fournies au modèle.
DIAGRAMME · Une application interroge Jev
box qui renvoie un rectangle (top, bottom, left, right, en fractions de l’image) et une confidence. Il n’a pas de réponse « absent » : la documentation conseille de le coupler à une question Noul. Box exige jev-1.14.0. Les images, acceptées aussi par jev-1.13.0, et Box passent par l’en-tête TypeSafe-Danger-Zone-Images: true. TypeSafe les juge pas encore prêtes pour la production.Probabilités et confidence
Jev peut attribuer une forte probabilité à une réponse fausse.
La probabilité d’une option et le champ confidence répondent à 2 questions différentes.
- La première porte sur cette option.
- Le second résume la concentration des probabilités entre les options, selon la définition de TypeSafe. Il ne se lit pas directement comme la probabilité d’avoir raison.
Pour évaluer la calibration de Choice, prenez les cas où l’option retenue reçoit une probabilité proche de 80 %. Comparez ce nombre à la proportion de réponses réellement correctes. Cet exemple est pédagogique : aucun résultat Jev n’est mesuré ici. Avec Noul, vérifiez plutôt si les événements auxquels Jev attribue une probabilité de oui proche de 80 % se produisent dans environ 80 % des cas.
| Nombre fictif | Ce qu’il exprime | Ce qu’il ne permet pas de conclure |
|---|---|---|
| P(facturation) = 0,80 | Probabilité attribuée à l’option facturation dans cet appel. | Ce ticket précis a été correctement routé. |
| confidence = 0,80 | Valeur d’un indicateur de concentration de la distribution. | 80 % de chances d’avoir raison. |
| 80 réponses correctes sur 100 à P ≈ 0,80 | Fréquence observée compatible avec la probabilité dans ce groupe, sous réserve de l’incertitude d’échantillonnage. | Bonne calibration pour toutes les classes, toutes les probabilités et tous les domaines. |
DIAGRAMME · Même prédiction, résultats différents
Ces comparaisons exigent des réponses de référence, assez d’exemples et un jeu de test qui n’a pas servi au réglage. Guo et al., 2017 présente les méthodes de calibration. Une bonne moyenne sur un jeu ne garantit pas chaque décision ni les résultats sur un autre domaine.
DIAGRAMME · 4 mesures à séparer
Mesurez aussi la couverture : quelle part des cas l’application traite-t-elle sans relecture ? Un système qui laisse presque tout à un humain peut faire peu d’erreurs tout en automatisant très peu. SelectiveNet étudie ce compromis. Ovadia et al. examine ce qui arrive aux mesures d’incertitude lorsque les données changent. Ces travaux ne portent pas sur Jev.
- Une ECE faible, l’écart moyen de calibration par tranches, peut masquer une classe rare mal calibrée ou une erreur dans la zone automatisée. Publiez les effectifs par tranche, un diagramme de fiabilité et les erreurs parmi les cas acceptés.
- Le score de Brier mesure l’écart au carré entre probabilités et résultats, avec une convention à préciser pour plusieurs classes.
- Pour Score, une moyenne de gravité reste une note sur l’échelle choisie.
TypeSafe annonce aussi qu’une confidence plus élevée accompagne une meilleure justesse dans son billet de lancement. Cette relation se teste : les réponses d’ASSAY-001 permettent de mesurer la justesse et la couverture après sélection par confidence. Cela ne transforme pas ce champ en probabilité de réussite ; le chapitre sur les mesures détaille les 2 calculs.
Le chapitre « Probabilités mesurées et seuils de confidence » distingue 2 mesures : la calibration des probabilités de l’option choisie et l’exactitude des réponses retenues par un seuil sur confidence. Les données ASSAY-001 permettent de recalculer les 2 ; Agent Journal rapporte la seconde sur une autre tâche.
Dans les vidéos, cette distinction est parfois perdue : Fireship à 03:15 assimile la confiance à une fréquence de bonnes réponses. Le chapitre vidéo corrige cette explication et conserve le passage original.
Ce que TypeSafe décrit du fonctionnement de Jev
TypeSafe décrit son objectif d’apprentissage, mais les documents trouvés ne suffisent pas à reproduire le modèle.
Un LLM génératif autorégressif construit sa réponse en prédisant les tokens suivants à partir du contexte et de ce qu’il a déjà produit. C’est le fonctionnement décrit dans la documentation de génération de Hugging Face. La sortie peut être du texte libre ou du JSON, éventuellement contraint par un schéma.
TypeSafe annonce une architecture nouvelle et un échantillonnage parallèle dans son billet de lancement. L’API reçoit un état et des questions typées, puis renvoie leurs résultats. Selon le fournisseur, les sorties sont calculées en parallèle plutôt que générées token après token. Le dessin compare ce comportement annoncé au fonctionnement d’un LLM autorégressif ; il ne décrit pas les composants internes de Jev.
La différence mise en avant porte sur l’usage prévu : Jev fournit des réponses typées et des probabilités que le code utilise dans sa logique de décision. Un LLM peut lui aussi être appelé par un logiciel et produire une sortie structurée ; dans une conversation, son texte est lu par une personne. Il faut donc distinguer le destinataire de la réponse et la façon dont le modèle la produit.
DIAGRAMME · 2 façons de produire une réponse
TypeSafe appelle son procédé d’apprentissage RLCD, pour Reinforcement Learning for Calibrated Decisions. Son introduction technique en expose l’objectif. « System One » est le nom de la famille de modèles, pas la description d’une architecture publiée.
La recherche menée pour ce dossier n’a pas trouvé de publication donnant assez de détails sur l’architecture, les données et l’objectif d’entraînement pour reproduire Jev. D’autres documents peuvent exister hors de ce périmètre. Dans l’entretien ThursdAI à 05:59, l’intervenante de TypeSafe évoque RLCD sans divulguer l’architecture. Décrire Jev comme un modèle « sans raisonnement interne » dépasserait les informations disponibles.
| Publication | Apport pour les essais | Rapport avec Jev |
|---|---|---|
| Guo et al., ICML 2017 | Calibration et diagrammes de fiabilité | Cadre de mesure, pas implémentation Jev |
| SelectiveNet, ICML 2019 | Erreur parmi les cas acceptés et couverture | Cadre d’abstention |
| Ovadia et al., 2019 | Incertitude sous changement de distribution | Motif pour tests FR/EN et hors domaine |
| BERT, NAACL 2019 | Représentation du texte pour la classification | Travail antérieur ; aucun lien avec l’architecture interne de Jev établi |
| ModernBERT, 2024 | Modèle à comparer pour traiter et classer du texte | Son adaptation à la tâche a un coût à compter |
| RouteLLM, ICLR 2025 | Qualité finale et coût du routage | Tâche connexe |
| InstructGPT, 2022 | Participation de Diogo Almeida au travail RLHF | Biographie, pas article Jev |
| SCX Router, 2026 | Routage sans génération autorégressive | Résumé seul ; PDF non acquis |
| Rewarding Doubt, v6 | Apprentissage de la confiance par récompense logarithmique ; PDF acquis et passages étudiés | Travail de contexte, sans filiation avec Jev établie |
Méthode de recherche des publications
- La collecte initiale a fourni 7 PDF, soit 151 pages. Rewarding Doubt ajoute un PDF de 17 pages dans cette révision : 8 PDF et 168 pages extraites au total.
- Les passages étudiés sont indiqués dans les registres ; l’ensemble des pages n’a pas fait l’objet d’une lecture exhaustive.
- SCX Router reste consulté sous forme de résumé.
Paper Insights n’a trouvé aucun résultat local sur Jev ou TypeSafe dans le corpus interrogé. Ses recherches arXiv distantes ont échoué ; cet échec n’est pas un résultat négatif de recherche. Les PDF ont été récupérés séparément auprès de leurs éditeurs ou auteurs.
Les résumés de DeepSeek-R1 et Tülu 3 complètent cette sélection sans compter comme PDF acquis. Le chapitre suivant explique leur rapport avec l’apprentissage de Jev.
RLCD comparé aux méthodes d’apprentissage connues
Le nom de la méthode ne fournit ni sa recette ni une garantie sur les probabilités livrées.
DIAGRAMME · Qu’est-ce qui guide l’apprentissage ?
| Méthode | Signal utilisé | Limite de la comparaison avec Jev |
|---|---|---|
| Apprentissage supervisé | Exemples avec labels ; une fonction de perte peut entraîner une distribution de probabilités. | Les classifieurs ne sont pas limités à maximiser le taux de bonnes classes. Leur calibration reste à mesurer. |
| RLHF | Retours humains, souvent via des préférences et un modèle de récompense. | InstructGPT décrit un travail auquel Diogo Almeida a participé ; ce n’est pas la méthode publiée de Jev. |
| RLVR | Récompense fondée sur une vérification, par exemple une réponse ou un résultat contrôlable. | DeepSeek-R1 et Tülu 3 apportent du contexte, sans décrire le modèle de TypeSafe. |
| RLCD | Objectif annoncé de décisions calibrées. | La récompense exacte, les données, les ablations et les composants internes ne sont pas détaillés dans les sources consultées. |
Une fonction de perte classique peut déjà encourager des probabilités correctes. Pour un événement de probabilité réelle q, l’espérance du score logarithmique q·log(p) + (1−q)·log(1−p) est maximale en p = q. Ce résultat théorique ne garantit pas qu’un modèle entraîné sur des données finies sera calibré sur un nouveau domaine. Cette formule illustre un principe ; elle n’est pas attribuée à RLCD.
Le papier Rewarding Doubt, version 6 étudie l’apprentissage d’une confiance exprimée en texte, avec une récompense logarithmique et PPO.
- Son PDF de 17 pages a été acquis ; mécanisme, résultats, transfert et preuve ont été examinés.
- La première version date du 4 mars 2025, la version 6 du 28 février 2026.
- Le théorème décrit un optimum de l’objectif, tandis que les résultats empiriques varient selon les jeux.
Aucun lien publié avec Jev n’a été établi.
Les résumés et historiques de DeepSeek-R1 et Tülu 3 complètent le contexte du post-entraînement. Leurs expériences n’ont pas été auditées pour ce dossier. Ils ne fournissent aucune preuve sur le nombre de paramètres, le backbone ou les données d’entraînement de Jev.
Dans l’entretien TechCrunch du 18 septembre, Diogo Almeida déclare que Jev est entraîné exclusivement sur des données synthétiques. Cela reste une déclaration rapportée : ni le corpus ni sa procédure de génération n’ont été audités ici. Des données synthétiques peuvent aussi dériver d’autres modèles ou de sources existantes ; cette qualification ne démontre pas une absence de contamination des benchmarks.
| Élément | Ce qu’une publication devrait préciser |
|---|---|
| Architecture | Composants, dimensions, nombre de paramètres et calcul effectué à l’inférence. |
| Apprentissage | Récompense, optimisation, données et étapes d’entraînement. |
| Calibration | Événement visé, métriques, jeux réservés et résultats par domaine. |
| Ablations | Effet séparé de l’architecture, des données et de la méthode d’apprentissage. |
| Reproduction | Poids ou accès versionné, code et protocole suffisamment précis. |
Appeler l’API et lire ses réponses
Un exemple HTTP complet, puis les différences utiles avec les SDK Python et TypeScript.
La référence HTTP documente POST https://api.typesafe.ai/v1/systemone, avec un jeton Bearer et un corps JSON contenant model, state et questions. GET /v1/models sert à lister les modèles : /v1/systemone n’est donc pas l’unique route de tout le service.
- L’état partagé peut être une chaîne, un objet ou un tableau JSON. Il peut contenir des nombres et des booléens.
- « Entrées textuelles » signifie ici qu’aucune entrée native image, audio ou vidéo n’est documentée pour le modèle ; cela n’oblige pas à convertir chaque valeur JSON en texte.
- Les identifiants des questions servent à retrouver les réponses et ne remplacent pas les instructions explicites.
Le ticket ci-dessous mentionne un paiement échoué et un accès au compte bloqué. Choice évalue la catégorie principale ; sa réponse ne fixe pas la priorité de traitement. Pour détecter les deux motifs puis appliquer une priorité dans le code, voir la démonstration hors réseau du tutoriel.
- Les 2 objets JSON ont été analysés syntaxiquement ; les exemples SDK de ce chapitre ont été relus contre les sources des clients, sans exécution.
- Le tutoriel Premier appel utilise un autre script Python, exécuté avec le SDK installé et un transport simulé.
- Aucun appel à Jev n’a produit les valeurs affichées.
- Une clé API doit rester dans l’environnement du serveur.
Corps JSON : 3 questions sur un ticket
JSON POST /v1/systemone · requête illustrative 33 lignes
{
"model": "jev-1.13.0",
"state": {
"ticket": "Le paiement a échoué et je ne peux plus accéder à mon compte.",
"language": "fr"
},
"questions": {
"destination": {
"type": "choice",
"instructions": "Quelle catégorie décrit le mieux le sujet principal du ticket ? Évaluer les catégories à partir du texte fourni.",
"criteria": {
"facturation": "Paiement refusé, facture ou remboursement.",
"acces_compte": "Connexion impossible ou accès au compte bloqué.",
"incident_technique": "Panne ou erreur technique hors paiement et accès au compte.",
"autre": "Aucun des sujets précédents."
}
},
"payment_failed": {
"type": "noul",
"instructions": "Le message signale-t-il un paiement refusé ou échoué ?"
},
"impact": {
"type": "score",
"instructions": "Évaluer l'impact décrit, uniquement à partir du texte.",
"criteria": [
"Aucun impact décrit.",
"Gêne contournable.",
"Fonction indisponible pour la personne.",
"Plusieurs utilisateurs bloqués."
]
}
}
}
| Type | Réponse | Lecture par le programme |
|---|---|---|
| Choice | type, choice, probabilities, confidence | Lire le choix et la distribution ; maximum de 255 options. |
| Score | type, score, legend, probabilities, confidence | Échelle de 2 à 10 niveaux ; score peut être fractionnaire. |
| Noul | type, noul | noul est un nombre entre 0 et 1 ; convertir en booléen dépend d’une règle de l’application. |
Réponse JSON : les 3 réponses dans la même enveloppe
Structure conforme aux champs de la référence HTTP, avec des valeurs fictives pour apprendre à lire la réponse. Les probabilités, confidence et compteurs de tokens ci-dessous ne sont pas des résultats de Jev. Aucun calcul de confidence n’est reproduit ici.
JSON Corps de réponse illustratif · aucune mesure API 41 lignes
{
"model": "jev-1.13.0",
"answers": {
"destination": {
"type": "choice",
"choice": "facturation",
"probabilities": {
"facturation": 0.88,
"acces_compte": 0.08,
"incident_technique": 0.03,
"autre": 0.01
},
"confidence": 0.81
},
"payment_failed": {
"type": "noul",
"noul": 0.97
},
"impact": {
"type": "score",
"score": 1.7,
"legend": {
"0": "Aucun impact décrit.",
"1": "Gêne contournable.",
"2": "Fonction indisponible pour la personne.",
"3": "Plusieurs utilisateurs bloqués."
},
"probabilities": {
"0": 0.0,
"1": 0.3,
"2": 0.7,
"3": 0.0
},
"confidence": 0.6
}
},
"usage": {
"input_tokens": 500,
"output_tokens": 80
}
}
- answers reprend les 3 identifiants de questions.
- Dans impact, les clés JSON « 0 » à « 3 » correspondent aux positions de criteria : 0 × 0 + 1 × 0,3 + 2 × 0,7 + 3 × 0 = 1,7.
- Noul fournit directement une probabilité binaire.
- Pour Choice et Score, confidence résume la concentration de la distribution ; il ne donne pas le taux de réponses correctes. La calibration se vérifie sur des réponses annotées. Définition de confidence.
L’enveloppe contient model, answers et usage.
- Un compteur output_tokens peut exister même si son prix est nul.
- Conserver le modèle effectivement renvoyé et l’usage réel est plus précis que de noter seulement l’alias demandé.
- Le client Python consulté accepte des compteurs absents, représentés par None ; les types JavaScript v0.6.0 les déclarent numériques. Journaliser une absence au lieu de la compter comme 0.
Les structures et codes d’erreur figurent dans la référence native.
Python : lire une réponse Choice
Le client Python expose des accesseurs par type, dont response.choices. Ces accesseurs appartiennent au SDK ; ce ne sont pas des clés de la réponse JSON native. L’exemple reprend uniquement la question de destination.
Python Python · exemple non exécuté 28 lignes
"""Exemple documentaire, non exécuté pour ce dossier.
Requiert typesafe-sdk et TYPESAFE_API_KEY dans l'environnement.
Exemple limité à la question Choice du fichier request.json.
"""
from typesafe_sdk import Choice, TypeSafeClient
with TypeSafeClient() as client:
response = client.system_one(
model="jev-1.13.0",
state={
"ticket": "Le paiement a échoué et je ne peux plus accéder à mon compte.",
"language": "fr",
},
questions={
"destination": Choice(
instructions="Quelle catégorie décrit le mieux le sujet principal du ticket ? Évaluer les catégories à partir du texte fourni.",
criteria={
"facturation": "Paiement refusé, facture ou remboursement.",
"acces_compte": "Connexion impossible ou accès au compte bloqué.",
"incident_technique": "Panne ou erreur technique hors paiement et accès au compte.",
"autre": "Aucun des sujets précédents.",
},
),
},
)
answer = response.choices["destination"]
# Aucune action automatique : les seuils exigent une évaluation propre.
print(response.model, answer.choice, answer.probabilities, answer.confidence)
TypeScript : retrouver les options dans le type de la réponse
Le helper choice conserve les noms des options dans le type de la réponse : answer.choice peut valoir facturation, acces_compte, incident_technique ou autre, et probabilities porte les mêmes clés. Choice est déjà inféré dans cet exemple ; la garde sur answer.type vérifie seulement l’étiquette reçue à l’exécution. Elle ne valide pas tout le contenu de la réponse. L’exemple journalise une proposition.
TypeScript TypeScript · exemple non exécuté 26 lignes
// Exemple documentaire, non exécuté pour ce dossier.
// Requiert @typesafe-ai/sdk et TYPESAFE_API_KEY côté serveur.
// Exemple limité à la question Choice du fichier request.json.
import { choice, TypeSafeClient } from "@typesafe-ai/sdk";
const client = new TypeSafeClient();
const response = await client.systemOne({
model: "jev-1.13.0",
state: {
ticket: "Le paiement a échoué et je ne peux plus accéder à mon compte.",
language: "fr",
},
questions: {
destination: choice("Quelle catégorie décrit le mieux le sujet principal du ticket ? Évaluer les catégories à partir du texte fourni.", {
facturation: "Paiement refusé, facture ou remboursement.",
acces_compte: "Connexion impossible ou accès au compte bloqué.",
incident_technique: "Panne ou erreur technique hors paiement et accès au compte.",
autre: "Aucun des sujets précédents.",
}),
},
});
const answer = response.answers.destination;
// Choice est déjà inféré ici ; cette garde vérifie seulement le type reçu.
if (answer.type === "choice") {
console.log(response.model, answer.choice, answer.probabilities, answer.confidence);
}
| Point | Consigne pratique |
|---|---|
| Version | Les clients documentent jev-latest par défaut. Demander un identifiant versionné comme jev-1.13.0, conserver le modèle renvoyé et la date du test. La documentation conseille cet épinglage, sans engagement d’immutabilité de l’infrastructure identifié ici. |
| Authentification ou requête invalide | Distinguer 401 et 422 des erreurs réseau. Corriger la cause ; une répétition identique ne la résout pas nécessairement. |
| Quota ou surcharge | Documenter 429/529, attente et tentatives supplémentaires. Une erreur de transport ne signifie pas « aucun candidat ». |
| Temps SDK | Le temps total peut inclure plusieurs tentatives ; le comparer à un temps serveur seul serait trompeur. |
| Stabilité | Aucune garantie bit à bit n’a été identifiée dans les documents lus. Tester les répétitions séparément des variantes de formulation. |
- Dans le client JavaScript v0.6.0 inspecté, le délai est de 10 secondes par tentative et 2 nouvelles tentatives peuvent suivre l’appel initial pour certaines erreurs. Il n’expose pas de budget total de reprise.
- Le SDK Python distingue délai par opération HTTP et budget total de reprise.
Ces réglages doivent accompagner les mesures de latence. Reprises JavaScript, options JavaScript, politique de reprise Python.
- Le client JavaScript autorise des instructions absentes ou nulles que la référence HTTP décrit comme requises et non nulles. L’acceptation de ces valeurs par le serveur n’a pas été testée ; les exemples les évitent.
- La divergence sur usage touche aussi les mesures de coût : les compteurs peuvent être absents dans le client Python.
Les déclarations de types ne suffisent donc pas à établir les valeurs effectivement reçues.
Écrire des questions que le code peut exploiter
Le contexte, la liste de réponses et les règles d’assemblage font partie du système évalué.
Considérons un ticket : « Le paiement a échoué et je ne peux plus accéder à mon compte. » Demander « Quelle équipe ? » impose une priorité qui n’est pas écrite. Une liste exhaustive ne résout pas cette ambiguïté. Définissez d’abord la règle métier : 1 seule équipe pilote-t-elle l’incident, plusieurs étiquettes sont-elles autorisées, ou le cas doit-il être relu ?
| Élément | Mauvaise spécification | Spécification à tester |
|---|---|---|
| Contexte | Le titre seul d’une ancienne issue. | Le titre, la description et les éléments disponibles au moment de la décision. |
| Question | Est-ce important ? | Le correctif rétablit-il une fonction utilisée par les clients, d’après la PR fournie ? |
| Choix | Feature / Enhancement sans définition. | Catégories décrites pour la classification ; questions séparées si les motifs se recouvrent, puis priorité de traitement appliquée dans le code. |
| Barème | Note de 1 à 5 sans repères. | Description de chaque niveau avec des exemples proches des données réelles. |
| Assemblage | Le modèle décide implicitement de toute la politique. | Le code combine les signaux selon une règle écrite et contrôlable. |
Décomposer peut aider : détecter séparément le sujet, les informations manquantes et l’impact, puis appliquer une règle. Cela ajoute aussi des possibilités d’erreur.
- 2 réponses peuvent être incompatibles ; le code doit savoir quoi faire.
- Quand une question dépend d’une réponse précédente, utilisez des appels successifs et comptez leur temps total.
Une extraction avec Choice reste bornée aux valeurs candidates. Pour sélectionner une date, il faut que les dates possibles aient déjà été trouvées ou énumérées. Un exemple de choix parmi 3 dates ne prouve pas que Jev peut extraire librement n’importe quelle valeur d’un document. Vérifiez séparément la qualité de l’étape qui produit les candidats.
Examiner les résultats
Jev : intéressant, révolutionnaire ou « scam » ?
Un service à tester pour des évaluations précises. La rupture scientifique reste à démontrer, les promesses commerciales à comparer et l’accusation de tromperie à étayer.
| Qualification | Avis du dossier | Pourquoi |
|---|---|---|
| Intéressant pour une application | Oui, à tester sur une tâche précise. | Des valeurs directement utilisables dans le code et des temps de réponse courts peuvent servir au tri ou au routage. Les essais publiés donnent des résultats contrastés. Il faut comparer les erreurs et le coût complet aux règles, classifieurs et LLM adaptés au même besoin. |
| Révolution scientifique | Non démontrée dans les sources examinées. | La classification zero-shot existait déjà. TypeSafe ne publie pas assez de détails sur l’architecture et RLCD pour établir ce qui est nouveau. Cela ne prouve pas non plus que rien ne l’est. |
| Marketing | Des promesses qui demandent des limites explicites. | Les multiplicateurs de vitesse et de prix viennent de comparaisons choisies par TypeSafe. Le « 0 hallucination » décrit une conformité de format, pas une absence de mauvaises décisions. |
| Scam / escroquerie | Accusation non établie. | Une API, des SDK et des essais publics existent. Cela ne suffit pas à écarter toute tromperie, mais les critiques recensées ici n’en établissent pas une. Une technique ancienne, un modèle fermé ou une mauvaise réponse ne sont pas, à eux seuls, une preuve d’escroquerie. |
La classification et les catégories fournies à l’appel existaient déjà. Un classifieur associe une entrée à des catégories. Avec l’inférence en langage naturel, ou NLI, on peut transformer une catégorie en proposition, puis demander si le texte la confirme. Les catégories n’ont donc pas toujours besoin d’être figées dans une tête entraînée pour 1 seule tâche. Le travail de Yin et al. en 2019 et le pipeline zero-shot de Hugging Face donnent des antécédents concrets à comparer à Jev.
L’API Jev réunit des questions Choice, Score et Noul sur un état commun. Cela facilite leur utilisation dans du code, sans réentraîner un modèle pour chaque ensemble d’options. Ce service peut simplifier le développement d’une application même si les techniques employées existaient déjà. Cette facilité d’utilisation ne prouve pas, à elle seule, une nouvelle architecture ou une meilleure calibration.
| Affirmation | Ce qui est documenté | Ce qui reste à établir |
|---|---|---|
| « C’est juste un classifieur » | La fonction de classification et le zero-shot ont des antécédents. Jev renvoie aussi des notes et des probabilités pour les questions oui/non. | La qualité sur des critères nouveaux, le coût d’intégration et l’avantage sur les comparateurs adaptés. |
| « Une nouvelle famille de modèles » | TypeSafe annonce une architecture, un échantillonnage parallèle et un apprentissage RLCD. | La méthode complète, les données et les ablations nécessaires pour juger la nouveauté scientifique. |
| « 0 hallucination » | TypeSafe décrit une garantie de conformité au schéma et précise que son 0 % n’est pas une mesure empirique. | Le taux de mauvaises décisions parmi les réponses conformes. Une option autorisée peut être fausse. |
| « Jusqu’à 200 fois plus rapide » | Les multiplicateurs de lancement dépendent des workflows, des concurrents et des réglages choisis par TypeSafe. | Le gain sur le workflow du lecteur, à qualité comparable et avec les sorties dont son application a besoin. |
| « C’est un scam » | L’opacité et des promesses trop larges alimentent une critique du produit. Des essais publiés permettent toutefois d’en examiner le comportement. | Un fait de tromperie précis. Ni une technologie ancienne, ni un modèle fermé, ni un mauvais résultat isolé ne suffisent à le démontrer. |
Le billet de lancement de TypeSafe expose lui-même des limites :
- l’entrée courte favorise sa démonstration ;
- les grands multiplicateurs se situeraient dans le haut des gains attendus ;
- les références des workflows sont des réponses de modèles.
L’adaptateur demande aux LLM des distributions de probabilités, plus coûteuses à produire qu’une décision seule. Comparer les mêmes sorties est utile pour évaluer ce que renvoie l’API ; une application qui ne demande qu’une catégorie doit aussi tester ce besoin plus restreint.
| Approche | Ce qu’elle permet | Ce qu’il faut compter |
|---|---|---|
| Règles et graphe de code | Calculer une relation ou appliquer une politique explicite. Pixel fournit des recherches, classements et analyses fondés sur son index. | Couverture de l’index, limites de l’analyse et entretien des règles. Un résultat déterministe peut rester incomplet. |
| Encodeur et classifieur entraîné | Apprendre une tâche stable à partir d’exemples annotés ; comparer aussi une tête légère sur des embeddings gelés. | Annotation, entraînement, matériel, exploitation et évolution des catégories. Le coût local n’est pas nul. |
| NLI zero-shot | Évaluer des catégories décrites à l’appel en construisant des paires texte/hypothèse. | Nombre et longueur des paires, taille des lots et matériel. 77 catégories ne signifient pas nécessairement 77 appels séquentiels. |
| Jev | Fournir des questions et des critères à l’appel, puis recevoir des valeurs typées. | Conception des questions, évaluation locale, tokens d’entrée, réseau, relecture et dépendance au service. |
| LLM avec sortie contrainte | Interpréter des consignes et produire des champs conformes à un schéma supporté. | Contraintes réellement activées, refus et troncatures, tokens générés, réglage du raisonnement et erreurs de fond. |
| Modèle ouvert de décision | Exécuter et adapter une implémentation inspectable, par exemple Laya ou un moteur NLI. | Qualité du checkpoint exact, données d’ajustement, calibration et coût du service local. Une interface compatible ne reproduit pas Jev. |
Les sorties structurées de Claude contraignent déjà le décodage selon les schémas pris en charge. La documentation détaille les limites, dont les refus, les troncatures et une exception de casse pour les valeurs enum et const. Il faut distinguer une consigne « réponds en JSON », un mode garantissant la syntaxe JSON et un décodage contraint par schéma. Présenter tous les LLM comme incapables de respecter un schéma fausserait la comparaison. La conformité du format ne garantit la bonne décision chez aucun des concurrents.
Pixel est le projet de Livio Gamassia. Comme moi, Livio est un membre actif de la communauté DevWithAI. Les sources inspectées sont décrites dans le chapitre sur les projets communautaires. Son routage, son graphe et ses scores explicites permettent déjà de prendre des décisions dans leur périmètre. Les embeddings ajoutent une recherche sémantique ; ils ne transforment pas tous les résultats en preuves exactes. Aucune comparaison exécutée ici n’établit que Pixel et Jev traitent avec la même qualité tous les critères exprimés en langage naturel.
Sur Hacker News, la description comme classifieur est acceptée. Le 15 septembre, petesergeant décrit Jev comme un classifieur zero-shot. CompleteSkeptic répond « exactly right! ». Ce compte se présente comme CEO de TypeSafe dans le même fil. Cet accord porte sur une description fonctionnelle ; il ne publie pas l’architecture ni ne valide les performances annoncées.
La discussion distingue aussi type valide et réponse correcte. Sur la publication de l’architecture, le même compte indique que l’équipe a discuté d’un article, tout en gardant les détails confidentiels. Ce commentaire ne donne ni engagement de publication ni date.
Les 5 fils Reddit consultés
| Fil et communauté | Sujet de discussion | Portée de la source |
|---|---|---|
| JEV architecture · r/LocalLLaMA | Hypothèses sur les logits, l’architecture et l’intérêt du coût ou de la vitesse. | Interprétations de participants ; aucun accès à l’architecture interne de Jev. |
| Jev, BERT généralisé ? · r/LocalLLaMA | Comparaison avec les encodeurs et liens vers des travaux de classification. | Pistes de comparaison. Le fil appartient à LocalLLaMA, pas à accelerate. |
| Résumé en 45 secondes · r/accelerate | Reprise de messages X ; désaccord sur la nouveauté du classifieur. | Publication de stealthispost, pas un protocole de test. |
| Faire choisir des lettres · r/accelerate | Réactions à une utilisation de Choice pour produire des lettres. | Même compte de publication ; une démonstration détournée ne décrit pas le mécanisme interne du modèle. |
| Classer ses emails · r/accelerate | Discussion sur les limites du terme classifieur et sur les consignes en langage naturel. | Même compte de publication ; ni corpus, ni code, ni mesure dans la page consultée. |
Ces 5 fils réunissent des opinions divergentes et des reprises de publications.
- Les 3 fils d’accelerate ne constituent pas 3 expériences indépendantes.
- Les pages consultées ne permettent pas d’estimer un consensus ; leurs dates exactes n’ont pas pu être confirmées à partir des âges relatifs affichés.
- Les citations introuvables dans les pages accessibles ont été écartées.
L’antériorité d’une idée et la copie d’un travail sont des questions distinctes. Nandakishor M, auteur de Laya, revendique des travaux antérieurs sur les décisions non autorégressives. Des notices de prépublications de 2025 existent ; son billet reconnaît aussi que son premier système ne traitait pas de nouvelles questions à l’exécution. Ces éléments permettent de discuter la nouveauté revendiquée. Ils ne démontrent pas que TypeSafe a repris son code ou sa méthode. Les résumés ont été consultés, sans audit des PDF.
Les analyses vidéo confrontent aussi les avis favorables aux contre-exemples : jeu de dames de Theo, erreurs décrites par Gary Explains et tri de commentaires d’Erwan. Les réserves de Fireship sur le format sont utiles ; son explication de confidence demande une correction. Aucun de ces passages n’établit à lui seul une escroquerie.
Le 9 octobre, TypeSafe annonce 870 millions de dollars à 7,5 milliards de valorisation, 24 jours après le lancement. Les chiffres d’adoption ne sont ni audités ni définis :
- TypeSafe écrit qu’un tiers du Fortune 500 utilise Jev ;
- Andreessen Horowitz, qui mène le tour, écrit que 25 % l’ont intégré ;
- l’étude de cas Jack & Jill annonce 88 % de coût en tokens en moins sur la seule étape de tri initial, face à Gemini 3.1 Flash Lite ; l’écart de qualité mesuré n’est pas significatif (IC à 90 % de -0,4 à +1,8 point).
L’arrivée de modèles ouverts qui reprennent la même interface change aussi le débat sur le « scam » : le format est reproductible, la qualité se compare tâche par tâche. Voir les concurrents.
Prix et vitesse annoncés
TypeSafe publie un tarif et annonce des gains de vitesse et de coût. Ces gains dépendent des tests et des modèles comparés.
| Chiffre | Source et conditions | À mesurer pour votre usage |
|---|---|---|
| 70 à 500 ms | Billet TypeSafe du 15 septembre ; mesures généralement lancées depuis des ordinateurs sur la côte Ouest américaine, près du service. | Temps depuis votre région, charge, erreurs et p95. |
| 40× à 200× ; 193,6× plus rapide et 444,6× moins cher | Le billet rattache les 2 derniers ratios aux workflows publiés et les situe dans le haut des gains attendus en pratique. | Même tâche, mêmes sorties et qualité obtenue, avec les réglages de chaque comparateur. |
| 42 $ par milliard de tokens d’entrée | Tarif direct, soit 0,042 $ par million. | Tous les appels, reprises et traitements en aval. |
| Sorties gratuites | Prix de sortie nul annoncé. TypeSafe reconnaît que seul le temps permettra de juger si ce tarif est soutenable sans subvention. | Prix de la route utilisée et conditions en vigueur ; aucune durée illimitée garantie établie ici. |
Le chiffre de 150 ms figurait dans le post LinkedIn à l’origine de cette recherche. Je n’ai pas retrouvé de source primaire qui en fasse une latence générale du service. La plage du billet et les mesures datées des essais sont plus utiles pour préparer une comparaison.
| Élément | Question à poser |
|---|---|
| Tâches | Les mêmes cas et les mêmes informations sont-ils fournis à chaque méthode ? |
| Réponse attendue | Une étiquette suffit-elle, ou faut-il une distribution complète ? |
| Réglages | Quel modèle, quelle version, quel niveau de raisonnement et quelle route API ? |
| Référence | Annotations humaines indépendantes, règles vérifiables ou consensus d’autres modèles ? |
| Temps | Mesure depuis le même client, avec les mêmes appels simultanés et les reprises incluses ? |
| Coût | Tarif nominal, facture réelle ou estimation des concurrents ? |
| Qualité | Quel taux d’erreur, sur quelle population, après quel filtrage ? |
Les évaluations TypeSafe donnent le même poids à 4 workflows : incidents de sécurité, traces d’agents, factures et support. Leurs références sont produites par GPT-6 Astra et Claude Fable 5.1 en raisonnement élevé ; les modèles comparés utilisent leurs réglages par défaut. La colonne appelée accuracy mesure donc un accord avec ces références, pas avec des annotations humaines indépendantes.
| Modèle, mode workflow | Accord moyen | Coût par cas | Durée par cas |
|---|---|---|---|
| Jev | 67,8 % | 0,0004 $ | 0,4 s |
| sol | 74,1 % | 0,0836 $ | 23,3 s |
| Opus 5 | 73,1 % | 0,1761 $ | 37,8 s |
| terra | 67,9 % | 0,0304 $ | 10,1 s |
| Sonnet 5 | 67,8 % | 0,1174 $ | 78,1 s |
| luna | 66,8 % | 0,0033 $ | 12,9 s |
| DeepSeek v4 pro | 65,5 % | 0,0413 $ | 86,5 s |
| DeepSeek v4 flash | 64,4 % | 0,0059 $ | 51,9 s |
| Haiku 4.5 | 53,6 % | 0,0195 $ | 12,5 s |
Valeurs arrondies lues dans les graphiques du fournisseur le 21 septembre.
- Jev coûte moins et répond plus vite dans cet agrégat ; sol et Opus 5 ont un meilleur accord.
- Sur les factures, Jev atteint 61,8 % contre 79,1 % pour sol.
- Les 4 accords Jev sont 61,7 %, 71,6 %, 61,8 % et 76,0 %. Leur moyenne vaut 67,775 %, cohérente avec l’affichage à 67,8 %.
Les multiplicateurs de lancement ne se recalculent pas en divisant arbitrairement 2 cellules arrondies de ce tableau.
Calculer le coût de toute la chaîne
Le prix des tokens ne compte ni la recherche du contexte, ni les appels suivants, ni les corrections.
Le calcul de base est simple : tokens d’entrée facturés × tarif par token. Avec le tarif direct cité dans ce dossier, 1 000 tokens coûtent 0,000042 dollar. 1 million d’appels de cette taille coûte donc 42 dollars d’entrée. Ce calcul ne suppose ni que chaque appel est correct, ni que 1 seul appel suffit pour terminer une tâche.
| Poste | Hypothèse | Coût calculé |
|---|---|---|
| Appels prévus | 1 000 000 × 1 000 tokens | 42,00 $ |
| Nouvelles tentatives | 50 000 appels supplémentaires de même taille, tous facturés dans cet exemple | 2,10 $ |
| Deuxième décision | 100 000 cas nécessitant un autre appel de même taille | 4,20 $ |
| Total Jev | 1 150 000 appels, sans cache ni autres ajustements | 48,30 $ |
| Autres postes | Recherche, stockage, LLM rédacteur et relecture | À mesurer séparément, non inclus dans 48,30 $ |
Le traitement de plusieurs questions et la réutilisation du contexte changent les volumes facturés.
- Relevez les compteurs usage lorsqu’ils sont présents. S’ils sont absents, consignez « inconnu » dans les journaux, jamais 0 token : les clients Python et JavaScript ne déclarent pas ces champs de la même façon.
- Une estimation à partir du ticket ne remplace pas la facture.
- Les quotas, erreurs et reprises comptent aussi dans la chaîne.
- Le coût par décision correcte divise le coût complet par le nombre de décisions correctes, en précisant si celles corrigées par une personne sont incluses.
- Pour une tâche répétée, publiez aussi le coût par dossier terminé et les minutes de relecture mesurées.
Une solution qui réduit le prix du modèle mais augmente les corrections peut coûter davantage.
Dans une chaîne successive, les durées des étapes s’additionnent. Des questions indépendantes peuvent être parallélisées, mais le gain dépend des quotas et de la distribution des temps de réponse. Mesurez le temps entre la réception du dossier et la suggestion exploitable par l’application, puis les p50 et p95 de ce temps complet.
Les benchmarks publiés par des tiers
Les rapports ci-dessous évaluent des tâches différentes. Je les ai lus, sans reproduire leurs tests ni auditer toutes leurs données.
Le benchmark de phishing d’anisselbd porte sur 2 000 emails aux corps synthétiques. Le premier protocole pose 9 questions à Jev et demande un verdict direct à Haiku 4.5. Jev y obtient 62,6 % de décisions correctes contre 81,3 %. Ces 2 configurations ne permettent pas d’isoler le seul effet du modèle.
Un second protocole pose les mêmes 5 questions aux 2 modèles puis apprend une régression sur leurs signaux. Sur les 1 000 cas réservés au test : 95,0 % avec Jev, 93,2 % avec Haiku, contre 91,8 % pour la référence fondée sur des règles. L’écart Jev/Haiku n’est pas significatif au seuil usuel de 5 % (McNemar p = 0,063). Les auteurs rapportent aussi l’avantage de Jev en coût et en latence pour cette décomposition.
La formulation et l’assemblage des réponses font partie du système évalué. Passer du verdict direct à 5 signaux change le protocole ; ces résultats restent propres à ce corpus.
| Rapport | Stars GitHub | Résultat ou objet du test | Conditions à conserver |
|---|---|---|---|
| AbdelStark / jev-benchmarks | 17 | Classification comparée à GLiNER. | 300 exemples réservés, 100 par condition : AG News, Banking77-BTZSC avec 72 catégories, DAIR Emotion. Les seuils et critères doivent rester associés à ce pilote. |
| WallerChen / jev-measured | 0 | Jev : médiane de 352 ms, contre 1 343 ms pour Mistral et 877 ms pour Gemini. Les facteurs 1,4× et 1,7× annoncés concernent le coût. | 8 exemples × 5 répétitions, soit 40 appels par modèle, sans vérité terrain dans ce volet. Test distinct de 27 tickets annotés et 6 ambigus, 3 passages. Chemins d’accès différents. |
| fstandhartinger / jevbench | 117 | 534 décisions par système, dont 220 difficiles : 111 publiques et 109 réservées. | Cas synthétiques écrits et relus par des modèles, gelés avant exécution selon l’auteur. Score composite de 4 axes de même poids. Certaines latences sont ajustées par des hypothèses de production. |
| anessbelbati / jev-rerank-bench | 7 | 8 jeux anglais, 1 617 requêtes évaluables : nDCG@10 moyen par jeu de 0,692 pour Jev Rubric contre 0,691 pour Cohere Pro. Différence : 0,001 ; IC95 % [−0,009 ; +0,012]. Sur MIRACL-fr : Jev Choice 0,700 contre Cohere Pro 0,764. | En donnant le même poids à chaque requête anglaise, Cohere atteint 0,756 et Jev 0,738. MIRACL-fr : 152 requêtes évaluables sur 269, avec un passage pertinent dans les 30 candidats BM25. Les jeux et variantes diffèrent ; ce n’est pas un test isolant la langue. |
| RINNECODER / jev-behavior-study | 3 | Bonne réponse placée en premier : 95/108 réponses justes. En dernier : 62/108. | 6 problèmes × 24 ordres × 3 répétitions : 432 appels, 108 par position. Ces cas sont liés entre eux ; les identifiants des options ne sont pas contrôlés séparément. Le résultat reste limité à ces problèmes. |
Le nDCG@10 mesure la qualité du classement des 10 premiers documents. Un reranker reclasse des documents déjà retrouvés. Les valeurs anglaises ne montrent pas de vainqueur établi ; l’intervalle qui contient 0 ne démontre pas non plus une équivalence. Ces tests ne mesurent pas, à eux seuls, la qualité d’une réponse rédigée à partir des documents.
| Essai | Stars GitHub | Mesure Jev | Périmètre |
|---|---|---|---|
| Phishing | 5 | Médiane : 239 ms | Depuis la France, selon l’auteur ; corpus et questions propres à ce test. |
| ASSAY-001 / Banking77 | 0 | Médiane : 382,3 ms ; p95 : 553,7 ms | 3 080 premières tentatives réussies. Réseau inclus, région de Plano au Texas selon les métadonnées. Recalcul des réponses publiées. |
| ASSAY-001 / CLINC150, même campagne | 0 | Médiane : 385,9 ms ; p95 : 615,3 ms | 5 492 premières tentatives réussies. Les échecs et les reprises ne sont pas inclus dans ces quantiles. |
Ces observations ne permettent pas de comparer les régions entre elles : les entrées, les questions et les protocoles diffèrent. Elles donnent des repères plus précis qu’une latence générale de 150 ms.
- Comparer la décision directe et les questions décomposées chez chaque concurrent, avec les mêmes données.
- Choisir les seuils et les poids avant l’évaluation finale.
- Garder une méthode de référence sans LLM.
Le rapport de simonmesmith annonce 2 846 réponses correctes sur 3 080, soit 92,40 %, avec Jev 1.13.0.
- Chaque requête contient 24 exemples annotés retrouvés par BM25. Le choix de cette configuration se fait sur des données de développement, selon le protocole publié.
- Les 93,66 % de BERT sont repris d’un article de 2020, sans nouvelle exécution de BERT.
- Ce résultat porte sur une méthode avec exemples, pas sur un usage sans labels. README consulté ; réponses brutes non réauditées et aucune inférence reproduite ici.
jgrep : revue de code, diversité et modèles locaux
Le diagnostic de revue de code, exécuté par l’auteur le 19 septembre, contient 20 cas Go écrits à la main, dont 8 positifs. Le mode hunk complet rapporte 80 % de précision et 100 % de rappel. Questions et unités changent ensemble : leur effet n’est pas isolé. À budget de 250 tokens, une sélection sans pénalité de diversité conserve 5 fonctions positives; la diversité par défaut en conserve 4 et ajoute un faux positif. La variété peut donc préserver une erreur distinctive.
| Corpus / mesure | Jev 1.13 | DiffusionGemma / OpenJev | Laya / MLX |
|---|---|---|---|
| 2 000 SMS, F1 au seuil 0,5 | 90.81 % | 86.55 % | 69.18 % |
| 2 000 AG News, exactitude top-1 | 86.75 % | 87.35 % | 92.45 % |
Le rapport publié le 23 septembre réutilise les réponses Jev du 21 et les compare aux exécutions locales du 22, sur M3 Ultra 96 Gio. Les concurrences et dates diffèrent : ces temps n’isolent pas la vitesse du modèle. Les corpus sont publics, la contamination d’entraînement est inconnue et les sorties brutes locales ne sont pas toutes commitées. Le classement dépend de la tâche. Le guide local épingle un Laya-MLX antérieur à la correction du 22.
Probabilités mesurées et seuils de confidence
ASSAY-001 publie ses réponses brutes. Le résultat à 72,2 % vient d’une autre expérience.
Le rapport ASSAY-001 évalue Jev sur Banking77 et CLINC150, 2 corpus publics de classification d’intentions. Pour ce dossier, les réponses publiées de Banking77 et CLINC150 ont été récupérées et leurs empreintes contrôlées. Le recalcul porte sur les probabilités, les décisions et le champ confidence. Il exploite la campagne publiée, sans nouvel appel au modèle.
| Corpus | Réponses exploitables | Options | Bonnes décisions | ECE |
|---|---|---|---|---|
| Banking77 | 3 080 | 77 | 79,77 % | 0,0936 |
| CLINC150 | 5 496 | 151, dont hors périmètre | 88,12 % | 0,0204 |
L’ECE compare la probabilité de l’option renvoyée au taux de bonnes décisions, par tranches.
- Le script de calcul utilise 10 tranches : [0 ; 0,1], puis ]0,1 ; 0,2], jusqu’à ]0,9 ; 1]. Une valeur de 0,9 appartient donc à l’avant-dernière tranche.
- Chaque écart absolu pèse proportionnellement au nombre de réponses dans sa tranche.
L’ECE porte sur la probabilité de l’option choisie, même dans les 3 cas où elle diffère du maximum affiché ; elle ne porte pas ici sur confidence.
Le protocole retient ECE ≤ 0,05 comme critère pour cette étude. CLINC150 le satisfait, Banking77 non. Ce seuil n’est pas une norme générale. L’ECE dépend aussi du découpage : avec des tranches fermées à gauche, [0 ; 0,1[ jusqu’à [0,9 ; 1], celle de CLINC150 passe de 0,0204 à 0,0209 sur les mêmes réponses amendées. Aucun des 2 découpages ne change le verdict au seuil de 0,05. Ces résultats n’isolent pas l’effet du nombre de classes ; le corpus avec davantage d’options a ici l’ECE la plus faible.
Le deuxième amendement, décrit dans le rapport, relève après la mesure la tolérance sur la somme des probabilités, de 0,001 à 0,02. Il réintègre 145 réponses Banking77 et 368 réponses CLINC150 dont la somme vaut 0,99 à la précision publiée. La documentation Vercel du fournisseur TypeSafe AI précise que les probabilités sont arrondies à 2 décimales et peuvent ne pas totaliser exactement 1. Les données sont compatibles avec cette précision : 101 valeurs centésimales distinctes, en écartant le bruit de représentation des nombres flottants. Ce comptage seul ne révèle pas le procédé interne d’arrondi. Une somme de 0,99 ne suffit donc pas à établir une erreur de type.
| Corpus | Tolérance initiale : 0,001 | Tolérance amendée : 0,02 |
|---|---|---|
| Banking77 | 2 935 réponses ; exactitude 81,09 % ; ECE 0,0904 | 3 080 réponses ; exactitude 79,77 % ; ECE 0,0936 |
| CLINC150 | 5 128 réponses ; exactitude 89,43 % ; ECE 0,0209 | 5 496 réponses ; exactitude 88,12 % ; ECE 0,0204 |
La réintégration baisse l’exactitude sur les 2 corpus. Elle augmente l’ECE de Banking77 et réduit légèrement celle de CLINC150. Le changement de tolérance modifie donc aussi la population évaluée ; il faut conserver les 2 résultats pour comprendre son effet.
Un autre contrôle retrouve 3 choix inférieurs de 1 point de probabilité au maximum affiché : 0,46 contre 0,47 et 0,47 contre 0,48 dans Banking77 ; 0,48 contre 0,49 dans CLINC150. La référence API décrit choice comme l’option la plus probable. Un arrondi monotone appliqué de la même manière à chaque option ne peut, à lui seul, inverser leur ordre. Ces 3 écarts restent donc à expliquer ; les valeurs internes avant affichage ne sont pas publiées.
| Point | Conséquence pour la lecture |
|---|---|
| 8 580 requêtes prévues ; 8 576 réponses exploitables | 4 erreurs locales de résolution réseau sont exclues des métriques du modèle. |
| Requêtes : jev-latest ; 8 576 réponses : jev-1.13.0 | L’alias demandé et la version effectivement renvoyée sont distincts. Ces résultats ne décrivent pas une version ultérieure. |
| Corpus et révisions consignés dans PINS.txt | Banking77 vient du dépôt PolyAI ; CLINC150 utilise le jeu plus/test de clinc_oos. La présence de ces données dans l’entraînement reste inconnue. |
| Rapport daté du 18 septembre ; réponses du 17 septembre, de 20 h 57 à 21 h 45 UTC | Dater l’observation avec les fichiers de réponses et conserver l’écart avec la date annoncée du test. |
| Recalcul des mêmes fichiers | Une seconde lecture des résultats ne constitue pas une deuxième campagne d’inférence. |
Les fichiers ASSAY permettent aussi de vérifier ce que garde un filtre confidence ≥ 0,9.
- Dans le tableau suivant, la couverture est la part des réponses exploitables conservée par ce filtre.
- L’exactitude est calculée seulement parmi ces réponses conservées, avec la tolérance amendée sur les sommes.
| Corpus | Réponses conservées | Couverture | Réponses correctes | Exactitude après filtre |
|---|---|---|---|---|
| Banking77 | 2 137 sur 3 080 | 69,38 % | 1 979 ; 158 erreurs | 92,61 % |
| CLINC150 | 3 877 sur 5 496 | 70,54 % | 3 726 ; 151 erreurs | 96,11 % |
Le chiffre de 72,2 % relayé par des articles de synthèse vient d’Agent Journal. L’auteur décrit 300 cas synthétiques ; 126 ont une confidence d’au moins 0,9 et 72,2 % de leurs réponses sont correctes. Les réponses brutes n’ont pas été retrouvées dans les liens et la recherche ciblée. Ce résultat reste rapporté par l’auteur, sans recalcul dans ce dossier.
La couverture annoncée par Agent Journal est de 42 %. La tâche demande de combiner des indices faibles dans des textes synthétiques ; elle diffère des intentions Banking77 et CLINC150. L’auteur indique l’alias jev-latest, sans version résolue vérifiable dans des réponses brutes. Ces résultats peuvent coexister : les protocoles, les données et éventuellement les versions diffèrent. Ils ne permettent pas d’isoler la cause de l’écart.
Les 3 expériences conservent des erreurs après sélection par confidence. L’exactitude et la couverture de cette sélection ne sont pas des mesures d’ECE. Comme confidence n’est pas contractuellement la probabilité d’avoir raison, comparer le seuil 0,9 à 72,2 %, 92,61 % ou 96,11 % ne mesure pas la calibration des probabilités des options.
- Pour Agent Journal, l’absence de distributions brutes et de labels associés empêche ce recalcul de calibration.
- Pour ASSAY, ces données sont disponibles et l’ECE figure plus haut.
Le 8 octobre, Astronomer observe que chaque modèle de décision a sa propre échelle de confidence : sur le jeu riche en erreurs intermittentes, médiane de 0,94 pour Jev 1.13, 0,84 pour decider-0.8b et 0,45 pour GLiNER2.5-Decide. La confidence de Jev varie jusqu’à 0,14 entre 2 appels répétés. Un seuil choisi pour Jev ne se transfère donc pas à un autre modèle compatible.
- Conserver la distribution brute, nommer la variable utilisée pour le seuil et vérifier les résultats sur les tickets réellement visés.
- Fixer les tolérances numériques avant la mesure.
- Signaler tout changement de protocole après lecture des résultats.
Jev comme juge de traces d’agents
Un résultat à 100 % sur 5 traces répétées mesure un accord local, pas une fiabilité générale.
- Le tutoriel Building a Harness with Jev, publié par Sydney Runkle et Hunter Lovell le 17 septembre, explique une intégration.
- Les chiffres repris dans ExplainX viennent d’une autre source : le dépôt jev-as-a-judge.
Le tutoriel, l’article de reprise et le benchmark ont des fonctions différentes.
Le test prend 5 traces fixes, répétées 100 fois chacune. 1 seul annotateur fournit les labels de référence : 4 réussites et 1 échec. Sur la trace Dublin, la clarification paraît raisonnable mais ne satisfait pas la rubrique qui attend une recherche. Le choix de cette rubrique fait donc partie du résultat.
| Juge | Accord sur 500 répétitions | Interprétation |
|---|---|---|
| Jev | 100 % | Aucun désaccord déclaré sur ces traces et leurs répétitions. |
| GPT-5.6 Terra | 99,8 % | Un désaccord déclaré sur les 500 répétitions. |
| GPT-5.6 Luna | 96,4 % | Mesure sur les mêmes traces, pas un corpus indépendant de 500 situations. |
| Claude Sonnet 4.6 | 80 % | Un cinquième des jugements diffère de cette référence. |
Ces taux concordent avec les résumés publiés par cas. Les décisions élémentaires ne figurent pas dans l’archive consultée : elles n’ont pas été recomptées. Les 5 traces et les répétitions doivent rester visibles dans toute présentation du « 100 % ».
Les résumés du fichier benchmark.json donnent aussi la moyenne des variances de quality, calculées à l’intérieur de chacune des 5 traces. Le tableau recalcule les rapports à partir de ces résumés ; les jugements élémentaires ne sont pas disponibles pour recalculer les variances elles-mêmes.
| Juge | Moyenne des variances par trace | Rapport à Jev |
|---|---|---|
| Jev | 0,00001494 | 1 |
| Claude Sonnet 4.6 | 0,00137007 | 91,68 |
| GPT-5.6 Luna | 0,00646904 | 432,90 |
| GPT-5.6 Terra | 0,01364287 | 912,96 |
Ces rapports décrivent la stabilité d’un score continu sur les mêmes traces. Ils ne multiplient ni le taux de bonnes décisions ni la précision des probabilités.
- Le juge Jev assemble 3 réponses Noul pour quality et utilise un autre appel pour le verdict binaire.
- Les rubriques des juges ne sont pas formulées à l’identique : cette expérience n’isole pas un effet de l’architecture.
Les métadonnées de cette exécution datent du 18 septembre.
- Elles nomment les 3 modèles LLM et signalent un arbre de travail modifié lors du lancement. Le code archivé n’est donc pas une garantie de retrouver tous les fichiers exacts de cette exécution.
- La version du modèle Jev hébergé n’est pas indiquée ; la version du client LangChain ne permet pas de la déduire.
Le script de collecte des coûts interroge LangSmith. Le périmètre des moyennes et des totaux ne se réduit pas clairement aux 500 verdicts. Luna apparaît par ailleurs proche de Jev en coût dans leur tableau. La comparaison ne justifie donc pas l’affirmation que tous les LLM coûteraient plusieurs ordres de grandeur de plus.
Pour tester Jev comme juge, variez les tâches, les outils utilisés, les échecs partiels et les rubriques, puis faites annoter des traces nouvelles. Répéter une trace est utile pour mesurer la stabilité ; ajouter des traces différentes est nécessaire pour tester la couverture des situations.
Theo à 12:40 critique le choix entre plusieurs implémentations par un juge qui n’explore pas le dépôt. Cette objection rappelle de tester un critère précis avec le contexte nécessaire. Elle n’établit pas qu’un modèle sans raisonnement rédigé ne puisse jamais servir de juge. L’analyse de la vidéo distingue ces 2 affirmations.
| Projet | Stars GitHub | Rôle | Frontière de preuve |
|---|---|---|---|
| jev-semantic-reviewer | 0 | Faits statiques sur les fonctions modifiées puis jugements Jev optionnels sur lisibilité et responsabilités. | Les jugements sémantiques ne bloquent pas la revue; duplication et conventions restent prévues. |
| Supercov | 114 | Questions de qualité par fichier, combinées à la couverture mesurée par les tests. | Le score Jev ne mesure ni la couverture ni la pertinence d’une assertion. |
| NiazMorshed2007/jev-review | 221 | MCP d’évaluation par dimension; l’agent principal interprète les résultats et corrige. | Aucune validation indépendante de la qualité des revues trouvée dans le README. |
| devagrawal09/jev-review | 595 | Questions successives sur risque, preuve, mécanisme et gravité pour orienter la revue. | Prototype; intégration de compilation et d’analyse statique encore prévue. |
Le protocole JevGrep ajouté le 22 septembre distingue performances locales avec fournisseur simulé et pilote de recherche sémantique. Il définit 30 questions sur 3 petits dépôts synthétiques, dont 6 négatives. La présence de ce protocole ne prouve ni un résultat final réservé ni un gain sur la réussite d’un agent.
Retrouver les expériences derrière les articles
Une reprise médiatique peut donner de la visibilité à un test sans ajouter de nouvelles mesures.
Capital & Compute rapproche plusieurs résultats, mais ceux-ci ne partagent ni tâche, ni comparateur, ni définition du coût. Le résultat sur 18 514 emails est relayé par Arize, qui renvoie à bitnovus. Le compter 1 fois pour chaque article multiplierait artificiellement les confirmations.
DIAGRAMME · Un test, plusieurs reprises
| Auteur et tâche | Stars GitHub | Résultat rapporté | Limite principale |
|---|---|---|---|
| bitnovus, filtrage d’emails | 2 | Dans l’expérience à 18 514 emails : 98,33 % pour Jev avec critères détaillés, 98,39 % pour TF-IDF. | Les critères ont été affinés après lecture d’erreurs labellisées. Le README contient plusieurs expériences ; leurs dénominateurs ne se mélangent pas. |
| Near Here, validation d’événements | s.o. | Jev 48/50 sur des cas utilisés pour choisir les prompts ; puis 19/21 sur des cas supplémentaires, contre 20/21 pour Gemini. | Labels préparés par un assistant, sans arbitrage humain indépendant. Modèles génératifs en raisonnement élevé avec explication. |
| gemanor, petites fonctions Python | 5 | 98 % de jugements corrects sur la validité fonctionnelle pour Jev, 100 % pour Gemini et Fable ; médianes de 0,75 / 3,59 / 4,31 secondes. | 24 familles × 5 variantes × 3 répétitions par modèle. 4 règles sur de petites fonctions, pas des PR réelles. |
| paddo, rapprochement de produits | s.o. | 9 081 paires, 0,32 dollar et 13 min 22 s annoncés ; 30 % laissés sans verdict entre les seuils choisis. | L’auteur accepte 48 des 50 verdicts relus. Les résultats restent consultatifs et ne sont pas utilisés par les systèmes en aval. |
Ces essais sont plus utiles lorsqu’on conserve leur objet précis.
- Le test de produits ressemble à un rapprochement Sentry : rechercher des candidats, puis juger une paire. L’annotation et le coût d’une erreur restent pourtant différents.
- Les scores du code-review ne prédisent pas la qualité d’une revue de PR avec plusieurs fichiers et des règles métier.
- Capital & Compute rapporte aussi son propre essai sur 483 requêtes Search Console : Jev est appelé, mais les coûts des autres modèles sont calculés et seuls 18 exemples font l’objet d’un contrôle humain. Ce résultat n’est donc pas une comparaison d’exécutions complètes de tous les concurrents.
- Les chiffres Every repris dans ce circuit ne sont pas intégrés comme résultats vérifiés ici : l’article a été localisé, mais son corps et les pièces liées n’étaient pas lisibles.
L’analyse CounterProof sur les labels par consensus relève 8 divergences parmi 19 cas où ses 2 juges répondent. Ces cas proviennent d’une sélection de 20 exemples du fournisseur, pas d’un échantillon aléatoire de toute l’évaluation. Ce contrôle invite à discuter les labels ; il ne remplace pas ceux-ci par une vérité terrain humaine ni ne rejoue le benchmark complet.
L’article MindStudio sur Jev et les classifieurs rapporte notamment 93,2 % pour un encodeur de 22 millions de paramètres. Le corps consulté ne donne pas de lien vers le protocole ou le dépôt de cette expérience. Ce chiffre n’est donc pas ajouté au tableau des résultats vérifiés à la source. L’article rapporte aussi un résultat inverse sur Yelp ; il ne justifie pas la conclusion générale selon laquelle un classifieur entraîné gagnerait toujours.
Nouveau · Version 0.20.0
Clef, Strands Decider, OpenAI : Jev face à ses concurrents
Depuis le 1er octobre, plusieurs acteurs publient des modèles de décision. Les chiffres viennent surtout des éditeurs ; l’interface de Jev devient un format partagé.
Jev a ouvert la catégorie le 15 septembre. En 4 semaines, Cloudflare, Strands Labs, Perplexity et OpenAI ont publié des modèles qui répondent aux mêmes types de questions : oui ou non, choix parmi des options, note sur une échelle. Ils renvoient des probabilités, pas un texte à analyser.
| Modèle | Poids et base | Prix | Contexte hébergé | Entrées | Interface |
|---|---|---|---|---|---|
| Jev 1.13 / 1.14 (TypeSafe) | Fermés ; architecture non publiée | 0,042 $ | 64k par requête, 32k par question ; 262k en option | Texte ; images expérimentales | System One (/v1/systemone) |
| Clef (Cloudflare) | Apache 2.0 ; 27B, depuis Qwen3.8-27B | 0,24 $ | 64k | Texte, image | System One, compatibilité annoncée |
| Clef-flash | Apache 2.0 ; 9B, depuis Qwen3.5-9B | 0,038 $ depuis le 9 octobre (0,09 $ au lancement) | 24k depuis le 9 octobre ; poids entraînés pour 256k | Texte, image | System One |
| Clef-omni | Apache 2.0 ; MoE 30B-A3B, depuis Qwen3-Omni | 0,15 $ (prix de lancement) | 64k | Texte, image, audio, vidéo | System One |
| Strands Decider 2B (Strands Labs, AWS) | Apache 2.0 ; LoRA sur Qwen3.5-2B, code d’entraînement publié | Auto-hébergé : coût de la machine | Évalué sur 4 096 tokens | Texte ; images en option non entraînée | /v1/systemone via strands-decider serve |
| pplx-decider v1.1 (Perplexity) | Apache 2.0 ; depuis Qwen3.8-27B | Auto-hébergé ; API Perplexity non relue | Non relu | Texte, image | Code d’inférence fourni |
| Decisions API (OpenAI) | Fermés ; gpt-6-luna | 0,10 $ ; 0,01 $ en cache | Non relu | Texte, images, JSON natif | Format propre (/v1/decisions) |
Deux formats d’appel coexistent. System One, l’interface de Jev, envoie un state et des questions nommées de type noul, choice ou score. Clef, Strands Decider et Ollama 0.35 le reprennent. OpenAI utilise /v1/decisions : un input, un tableau de questions predicate, choice ou score, jusqu’à 400 questions, et une réponse refusal possible pour chaque question. LiteLLM sert les 2 routes depuis le 14 octobre.
| Mesure | Clef | Clef-flash | Jev | Ce qu’elle évalue |
|---|---|---|---|---|
| BANKING77, macro-F1 | 94,20 | 90,93 | 79,74 | Intentions bancaires |
| CLINC150+OOS, macro-F1 | 97,43 | 66,77 | 89,27 | Intentions, dont demandes hors périmètre |
| When2Call, exactitude | 72,37 | 65,58 | 80,97 | Décider d’appeler ou non un outil |
| BRIGHT, nDCG@10 | 45,91 | 39,26 | 47,52 | Recherche documentaire |
| Traces d’agents (évaluations TypeSafe) | 68,5 | 69,8 | 71,6 | Observabilité de traces |
| Latence médiane | 209,3 ms | 38,8 ms | 524,1 ms | Modèle seul, mesure Cloudflare |
Cloudflare présente Clef comme premier du Jev Decision Index ; sa propre table laisse Jev devant sur When2Call, BRIGHT et les traces d’agents. Le billet de lancement affirme aussi que les Clef battent les autres modèles de décision en latence, sauf Laya. Sa table donne pourtant 51,4 ms de médiane pour Kev-9B et 84,4 ms pour DiffusionGemma Jev, contre 209,3 ms pour Clef. Le 9 octobre, Cloudflare annonce 152 ms de médiane pour Clef sur environ 800 tokens, grâce à un changement de couche de service, sans nouveaux poids. Le même billet raconte que le projet a été décidé un vendredi soir, entraîné pendant le week-end et lancé le jeudi.
Les évaluations de Perplexity (pplx-decider) et de Strands Labs (Strands Decider) sont aussi des mesures d’éditeurs. La fiche de Strands Decider 2B v1-2610 annonce 180 bonnes réponses sur les 231 tâches publiques de JevBench, avec une fenêtre de 4 096 tokens.
3 évaluations publiées par des tiers. Aucune ne compare tous les modèles sur une même tâche, et aucune n’a été reproduite pour ce dossier.
| Évaluation | Tâche et effectif | Résultat principal | Limites signalées |
|---|---|---|---|
| Astronomer, 8 octobre | Arrêter ou relancer une tâche Airflow en échec ; 400 erreurs issues de tickets GitHub de 35 projets, dont 41 récupérables | Pas de vainqueur net ; Jev et decider-0.8b restent proches à couverture égale (McNemar exact, p = 0,15) | Erreurs de rapports de bugs, pas de production ; étiquettes produites par des LLM ; 41 cas récupérables seulement |
| AIMultiple, mis à jour le 22 octobre | 59 modèles sur 1 655 questions de classification ; 46 modèles sur 50 tâches de navigation | Moyenne de classification 47,9 pour Jev 1.13 et 51,0 pour Clef ; Strands Decider 62,6 sur les rappels de produits mais 33,9 sur la gravité des failles | 1 essai par tâche ; format d’étapes conçu pour Jev ; contamination des données non vérifiable ; éditeur commercial |
| JevBench Index, Leanmcp, 11 octobre | 22 jeux publics, de 18 à 4 924 cas, en 6 familles | pplx-decider v1.1 78,0 ; Jev 1.13 76,5 ; Clef 76,1 ; Decisions API 73,4 ; Clef-flash 71,8 | Jev 1.14 et Strands absents ; jeux refusés par une API comptés 0 ; affiliations des auteurs non publiées |
- Chez Astronomer, au seuil 0,8, Jev 1.13 arrête 147 tâches dont 15 récupérables, Clef 112 dont 5, Clef-flash 133 dont 11 et Strands Decider 63 dont 2. Moins d’erreurs va avec moins d’arrêts justes : 128, 105, 118 et 61 sur 222.
- Reformuler les descriptions de catégories change 5 à 14 % des décisions de chaque modèle ; la confidence de Jev varie jusqu’à 0,14 entre 2 appels répétés.
- Des règles placées avant le modèle produisent 25 arrêts, tous justes.
- Sur le JevBench Index, l’écart entre Jev 1.13 et Clef est de 0,4 point : un même tableau ne suffit pas à les départager.
- Les conclusions des POCs Laya restent inchangées.
- Strands Decider 2B devient le candidat local suivant : poids ouverts, installation par pip, exécution prévue sur Apple Silicon.
- Clef-flash et la Decisions API ne remplacent Jev qu’après une comparaison sur les mêmes jeux réservés, avec un seuil recalibré pour chaque modèle.
- Aucun de ces modèles n’a été appelé ni exécuté pour ce dossier.
Laya sur mon Mac : rapide, mais des erreurs sur les cas simples
Essais du 26 septembre : fonctionnement hors ligne, latence et qualité comparée aux règles.
Le laboratoire a été exécuté sur un Mac Apple M5 Max, 128 Gio, macOS 26.5.1, Python 3.12.13, Laya-MLX 0.2.0 et MLX 0.32.2, sur GPU en FP16. Modèle : aac6fef/laya-multilingual-mlx, révision f2b4faf51023039425946074e2cf1361d2db11d5. Compilation et cache de prompts désactivés. Les 11 fichiers du manifeste ont été vérifiés, dont environ 614 Mio de poids.
| Contrôle | Observation | Limite de la preuve |
|---|---|---|
| Tests du programme | 62 tests réussis, avec 6 sous-tests. | Les tests serveur ordinaires utilisent un double du moteur. |
| Inférence hors ligne | 2 processus neufs, FR/EN, GPU ; Choice, Score et Noul. Sonde réseau refusée avec EPERM. | Réseau bloqué pour ces processus ; pas une preuve qu’aucune connexion n’est tentée. |
| Application avec vrai modèle | 6 expériences exécutées en mémoire, réseau bloqué. | Valide les réponses et contrôles, pas leur justesse. |
| Reprise de lot | 3 entrées conservées puis 17 calculées ; 20 IDs uniques. | Arrêt normal et ligne partielle injectée, pas un crash forcé du GPU. |
| Navigateur | 6 formulaires, imports JSONL/CSV et erreurs de saisie vérifiés. | Export JSON non confirmé ; le JSON reste lisible dans la page. |
Les données contiennent 72 exemples synthétiques de développement. Les 3 tâches ci-dessous utilisent 20 exemples chacune, soit 60 prédictions. Questions, labels et mots-clés ont été figés avant l’inférence. Le validateur de scores ordinaux de l’évaluateur a été renforcé avant les rapports ; sa version finale est archivée. Ce n’est ni un test indépendant sur des données réelles, ni une annotation humaine indépendante. Aucun réglage n’a été modifié pour effacer les erreurs observées.
| Tâche | Laya | Règles lexicales |
|---|---|---|
| Frustration | 2 cas retrouvés sur 10 ; 11 réponses correctes sur 20. | 7 cas retrouvés sur 10 ; 12 réponses correctes sur 20. |
| Équipe de tri | 14 réponses correctes sur 20. | 15 réponses correctes sur 20. |
| Annonce de modèle | Rappel 33,3 % ; précision 22,2 %. | Rappel 33,3 % ; précision 66,7 %. |
| Usage | Médiane | p95 |
|---|---|---|
| Filtre, 1 question | 8,55 ms | 11,05 ms |
| Tri, 3 questions | 9,58 ms | 83,74 ms |
Protocole de vitesse : 10 appels de chauffe puis 100 appels successifs par configuration, avec le même texte court. Le temps inclut la validation du moteur, mais exclut chargement, HTTP et navigateur. Chargement mesuré : 5,45 s. Pic d’allocation MLX : environ 822 Mio, pas toute la mémoire du processus. Ce n’est pas un débit général de documents longs. Ces mesures ne sont pas directement comparables aux appels distants Jev ni aux données M3 Max du chapitre sur les modèles locaux.
Les erreurs vues dans le navigateur
| Exemple | Résultat | Lecture |
|---|---|---|
| Encore une erreur au paiement... J’en ai marre de recommencer ! | Correspondance 0,11. | Frustration sous-détectée. |
| Réinitialiser un mot de passe | Conseil générique 2,45/3 ; procédure de récupération 1,89/3. | Mauvais classement. |
| Lire un fichier et l’envoyer par email, action simulée | Lecture 0,24 ; envoi externe 0,93. | Lecture sous-détectée. |
| Réponse contenant une étape concrète | Critère satisfait : 0,0115. | Critère simple rejeté à tort. |
Le réseau n’a pas été bloqué à nouveau pendant la session navigateur. Le blocage réseau appartient aux contrôles distincts ci-dessus. Les actions d’outils n’étaient que des descriptions : aucun fichier n’a été envoyé.
Les données et mesures de cette révision contiennent les exemples synthétiques, questions, prédictions, références lexicales, échantillons de latence et empreintes des preuves. Aucune donnée client ou conversation privée n’y figure.
Laya sur 60 issues Aristote : écarter la configuration testée
Un pilote sur de vrais tickets, avec 30 cas de développement, 60 de test et des annotations encore provisoires.
La question était limitée : à quel domaine technique appartient la modification demandée ? Les options étaient tooling, backend, frontend, fullstack, multiple, other et unknown. Le pilote ne mesure ni les doublons, ni la complétude du ticket, ni le type de demande. Aucune étiquette GitHub n’a été modifiée et aucune automatisation n’a été activée.
| Méthode et texte lu | Conformes / émises | Précision | Couverture sur 60 | Erronées |
|---|---|---|---|---|
| Règles actuelles · titre seul | 12 / 17 | 70,6 % | 28,3 % | 5 |
| Variante lexicale · titre + corps | 40 / 51 | 78,4 % | 85,0 % | 11 |
| Laya EN · titre + corps | 8 / 11 | 72,7 % | 18,3 % | 3 |
La précision divise les suggestions conformes par les suggestions émises. La couverture divise les suggestions émises par les 60 tickets, y compris ceux trop longs. 8 sur 60 n’est donc pas la précision de Laya. Il laisse 49 tickets sans suggestion, contre 43 pour les règles actuelles. Ces cas nécessitent une autre prise en charge ; ils ne sont pas tous des classifications erronées.
La variante lexicale réutilise les expressions et leur priorité sur le titre et le corps. Elle n’est pas le workflow déployé. Elle donne aux règles davantage de texte, comme à Laya : son résultat ne doit pas être confondu avec celui de la référence titre seul. Ses 40 suggestions conformes en font une piste à faire vérifier humainement, avec 11 erreurs à examiner ; aucun gain de temps n’a été mesuré.
| Motif | Tickets | Traitement |
|---|---|---|
| Score maximal ou marge insuffisants | 35 | Abstention selon la politique figée. |
| Autre domaine ou information insuffisante | 6 | 5 choix other et 1 choix unknown ; aucune étiquette de domaine. |
| Dépassement de contexte | 8 | Refus explicite ; ni coupe, ni résumé, ni exclusion du dénominateur. |
Le modèle a produit 52 sorties structurées valides et 8 refus de longueur, sans autre erreur technique observée dans le lot test. Les questions et options laissent 896 tokens au texte sérialisé dans la limite totale de 1 024. Les 8 dépassements représentent 13,3 % du test. Les 8 suggestions conformes de Laya concernent toutes l’outillage ; aucun succès de suggestion n’est obtenu pour les autres domaines sur cet échantillon.
Comment le pilote a été préparé
600 instantanés d’issues ouvertes ou fermées ont été exportés sans commentaires ni labels. Après exclusion de 17 titres Jev/Laya, 583 tickets ont été regroupés en 369 groupes heuristiques. Un représentant par groupe, puis une sélection déterministe à graine fixe, ont fourni 30 tickets de développement et 60 de test. Les quotas sont syntaxiques ; ils ne reproduisent pas les proportions de la production.
Le test contient 29 cas outillage, 14 backend, 11 frontend, 1 fullstack, 3 multiples, 1 autre et 1 indéterminé. Les classes à 1 ou 3 exemples restent trop peu documentées. Les textes sont ceux exportés le 26 septembre, pas une reconstruction de ce qui était visible à l’ouverture des issues. Le contrôle de 67 liens parentaux explicites n’a trouvé aucun conflit entre les groupes retenus ; une parenté implicite résiduelle reste possible.
2 formulations, française et anglaise, ont été essayées sur développement. Le candidat anglais a été figé avant test avec un score maximal d’au moins 0,50 et une marge d’au moins 0,15 entre les 2 premiers choix. Le score n’est pas une probabilité de justesse. Les issues sont des données à classifier, jamais des instructions à exécuter. Aucun seuil ni aucune question n’a été ajusté sur les 60 tickets de test.
Erreurs et mesures à conserver
Une suggestion erronée atteint un score maximal de 0,9019 : le score élevé ne garantit donc pas la conformité au label. Les 3 erreurs de Laya sont conservées dans le dossier privé, avec les justifications des annotateurs. Certains cas entre plusieurs domaines restent discutables et demandent une relecture humaine.
Le meilleur choix brut, avant seuil et marge, correspond à l’annotation sur 25 des 60 tickets, ou 25 des 52 sorties acceptées. Baisser les seuils après avoir lu le test créerait un nouveau réglage à évaluer sur un autre jeu réservé. Le macro-F1 sur les 7 classes vaut 0,059 pour Laya, 0,158 pour les règles titre seul et 0,326 pour la variante titre + corps. Les abstentions comptent comme des faux négatifs.
| Mesure | Résultat | Ce qui est inclus |
|---|---|---|
| Moteur sur les tickets acceptés · médiane / p95 | 131,2 / 508,9 ms | Validation et inférence, 52 sorties, premier appel inclus ; aucun temps par ticket pour les 8 refus. |
| Processus complet du lot test | 15,74 s | Chargement, 60 tentatives, validation, écriture et fin du processus. |
| Chaîne chaude sur 1 cas synthétique · médiane / p95 | 42,4 / 92,5 ms | 10 chauffes puis 30 mesures : sérialisation, moteur, écriture, flush et fsync, sans HTTP. |
| Chargement neuf · mesure séparée | 8,67 s | Vérification et chargement des poids ; un seul essai. |
Ces temps ne sont pas interchangeables avec les 8,55 ms du filtre synthétique du chapitre précédent : entrées, question et périmètre diffèrent. Les autres activités du Mac n’étaient pas contrôlées. Aucun appel à une API d’inférence distante ni repli cloud ; chaque processus de calcul a vérifié un refus réseau EPERM. L’export GitHub nécessitait du réseau. Énergie et temps humain de correction n’ont pas été mesurés.
Environnement, vérifications et preuves disponibles
Laya-MLX 0.2.0, MLX 0.32.2, Python 3.12.13 et GPU en float16 sur le Mac M5 Max du laboratoire. Poids multilingues aac6fef/laya-multilingual-mlx, révision f2b4faf51023039425946074e2cf1361d2db11d5. Compilation et cache de prompts désactivés. Le pilote rapporte 62 tests du labo et 6 sous-tests, 7 tests du pilote et 20 cas de parité avec le JavaScript réel du workflow.
Les résultats agrégés et la configuration accompagnent ce chapitre. Ils permettent de relire les dénominateurs, les seuils et les mesures. Les textes, identifiants, liens privés et annotations par ticket ne sont pas publiés. Les empreintes identifient les fichiers sources ; elles ne permettent pas à elles seules de reproduire un test dont le corpus reste privé. Cette mise à jour éditoriale n’a pas relancé l’inférence.
Laya sur Sentry, reviews et CI : 3 candidats écartés
120 cas de test, 15 dépassements et aucun gain justifiant une adoption. Les annotations restent provisoires.
REJECT_CURRENT_CANDIDATE. Laya tourne localement ; ces résultats ne justifient pas son adoption pour ces usages. Ils ne mesurent ni Jev hébergé ni toutes les configurations possibles de Laya.unknown est comptée comme non justifiée dans la précision.| POC | Cas | Conformes / proposées par Laya | Précision Laya | Comparateur sans IA |
|---|---|---|---|---|
| Sentry ↔ GitHub | 48 | 2 / 38 | 5,3 % | 0 / 0 rapprochement lexical ; précision non définie |
| Regroupement de reviews | 36 | 1 / 9 | 11,1 % | 0 / 0 rapprochement lexical ; précision non définie |
| Échecs CI | 36 | 6 / 20 | 30,0 % | 5 / 6 orientations, soit 83,3 % |
Une suggestion est une réponse same pour Sentry/reviews, ou une orientation code, configuration ou infrastructure pour la CI. La précision divise les suggestions conformes par les suggestions proposées. La couverture rapporte les suggestions à tous les cas test, y compris ceux trop longs : 79,2 % pour Sentry, 25,0 % pour les reviews et 55,6 % pour la CI. Un comparateur qui ne propose rien n’a pas une précision de 0 % ; elle est non définie.
Sentry : aucun rapprochement conforme supplémentaire au-delà des liens connus. Le zéro lexical concerne les paires après masquage des liens et identifiants. Parmi les 48 paires, 16 ont déjà une association Sentry explicite dans la provenance GitHub. Les 2 suggestions Laya conformes appartiennent à cet ensemble. Un lien documentaire ne prouve pas à lui seul une cause commune.
CI : 1 suggestion conforme de plus au total, mais 13 erronées de plus. Laya propose 6 orientations conformes et 14 non conformes, contre 5 et 1 pour les signatures lexicales. Ses 20 suggestions sont toutes code : 6 concordent, 8 portent sur des cas annotés configuration et 6 sur des cas inconnus. Aucune orientation configuration ou infrastructure n’est proposée sur ce test.
Pour les reviews, Laya propose 1 rapprochement conforme et 8 non justifiés. Le macro-F1 légèrement supérieur au comparateur ne suffit donc pas à qualifier le regroupement. La tâche consiste à reconnaître le même défaut allégué ; elle ne vérifie pas que ce défaut existe.
| POC | Suggestions erronées | Décisions different | Décisions unknown | Abstentions par seuil | Trop longs |
|---|---|---|---|---|---|
| Sentry | 36 | 0 | 2 | 1 | 7 |
| Reviews | 8 | 3 | 0 | 16 | 8 |
| CI | 14 | Sans objet | 4 | 12 | 0 |
Les 15 dépassements sur 120 cas test restent dans les dénominateurs. Les décisions different, unknown et les abstentions ne sont pas des rapprochements erronés. Elles restent distinctes des erreurs de contexte. Aucun autre type d’erreur d’inférence n’est rapporté.
Corpus : ce que ces essais mesurent vraiment
| POC | Développement | Test | Familles dev / test |
|---|---|---|---|
| Sentry | 12 | 48 | 4 / 10 |
| Reviews | 18 | 36 | 6 / 12 PR |
| CI | 15 | 36 | 10 / 27 |
Les 45 cas de développement et 120 de test sont séparés par familles avant les résultats. Les cas synthétiques de vérification restent à part. Ces petits corpus diagnostiques ne représentent pas les fréquences de production ; des PR apparentées peuvent rester dépendantes.
Sentry : 3 tickets candidats par incident, dont le ticket historiquement lié ajouté par construction, puis 2 voisins lexicaux de la même partition. Le rappel de recherche et le gain de bout en bout ne sont pas évalués. Les entrées contiennent les titres Sentry, parfois abrégés par le CLI, l’environnement et le début du problème GitHub. Aucun événement détaillé ni stacktrace complète. Les snapshots actuels ne reconstituent pas l’état à l’ouverture.
Reviews : 18 PR sélectionnées parmi les 100 récemment mises à jour, puis 3 paires par PR. Les familles PR sont disjointes. Le choix des paires ne mesure pas la prévalence des doublons. L’extraction retire uniformément les annexes et consignes dupliquées avant prédiction ; certaines mentions masquées affectent aussi des annotations de code. Ce corpus ne permet pas d’évaluer une réparation exacte du code.
CI : 37 extraits de logs et 14 observations de tickets historiques. Les extraits, préparés avant prédiction, ne dépassent pas 746 caractères. L’extraction automatique depuis des logs complets n’est pas évaluée. Le développement contient 7 configurations et 8 inconnus, sans code ni infrastructure. Le test contient 11 code, 11 configuration, 1 infrastructure et 13 inconnus. Toutes les classes ne peuvent donc pas être calibrées sur le développement.
Choix des candidats et limites des comparateurs
2 formulations, FR et EN, fixées avant prédiction ; seuils 0,50, 0,65 et 0,80 ; marges 0 ou 0,15, évalués sur développement seulement. Les questions, comparateurs, corpus, annotations, sorties de développement et identité du modèle ont été gelés avant chaque test. Aucun réglage sur le test désormais connu.
| POC | Langue / seuil / marge | Conformes / proposées en dev |
|---|---|---|
| Sentry | FR / 0,50 / 0 | 1 / 8 |
| Reviews | EN / 0,65 / 0 | 1 / 5 |
| CI | EN / 0,65 / 0 | 1 / 7 |
La qualification préalable demandait au moins 3 suggestions et 90 % de précision. Avec 1 seul positif Sentry et 2 positifs reviews en développement, elle était mathématiquement inaccessible. Les 3 candidats sont conservés uniquement pour le diagnostic prévu, avec qualified_on_dev: false. Cela limite toute conclusion sur la meilleure configuration possible, sans rendre leurs erreurs favorables.
Pour poursuivre vers une validation humaine, le test devait atteindre 90 % de précision, au moins 5 suggestions et au moins 2 suggestions conformes de plus que le comparateur, sans erreur supplémentaire. Aucun candidat n’atteint ce signal exploratoire. Ces seuils ne sont ni des garanties statistiques ni une autorisation d’automatisation.
Sentry : interprétation figée du Jaccard des titres à 0,75 après masquage, sans prétendre reproduire tout le workflow. Reviews : même chemin et Jaccard du texte à 0,75. CI : signatures explicites. Les 2 derniers sont des références expérimentales, pas des automatisations déployées. Deux faiblesses du comparateur CI restent documentées : OOM associé à l’infrastructure sans preuve causale et signature RATE_LIMIT non reconnue. Elles n’ont pas été corrigées après lecture du test.
Exactitude globale, à distinguer de la précision des suggestions
| POC | Exactitude règles | Laya avec seuil | Laya brut | Macro-F1 règles / Laya avec seuil |
|---|---|---|---|---|
| Sentry | 13 / 48 | 4 / 48 | 4 / 48 | 0,142 / 0,122 |
| Reviews | 5 / 36 | 4 / 36 | 11 / 36 | 0,081 / 0,116 |
| CI | 18 / 36 | 9 / 36 | 16 / 36 | 0,328 / 0,185 |
Le choix brut est mesuré avant application du seuil de suggestion. Les scores du modèle ne sont pas des probabilités de justesse. Les paires d’une même famille ne sont pas des observations indépendantes ; les petits dénominateurs et les annotations provisoires limitent l’interprétation.
| POC | Médiane / p95 | Lot CLI, chargement inclus |
|---|---|---|
| Sentry | 103,0 / 148,5 ms | 5,32 s |
| Reviews | 93,9 / 162,4 ms | 3,88 s |
| CI | 42,3 / 108,0 ms | 5,38 s |
Les refus de contexte sont comptés séparément des quantiles. La charge globale du Mac n’est pas contrôlée ; collecte, annotation et correction humaine ne sont pas incluses. Ces temps ne mesurent pas un gain de temps humain et ne sont pas interchangeables avec ceux des autres tâches.
Exécution locale, preuves et reproduction
Laya-MLX 0.2.0, MLX 0.32.2, Python 3.12.13, GPU float16 et mêmes poids multilingues que le premier pilote : aac6fef/laya-multilingual-mlx, révision f2b4faf51023039425946074e2cf1361d2db11d5. Budget total : 1 024 tokens, questions et options incluses. Aucune troncature silencieuse pour faire tenir une entrée.
L’ensemble des vérifications synthétiques, développements et tests comporte 242 tentatives, 213 prédictions réussies, 29 dépassements et 15 chargements. Les 120 cas réservés ne sont qu’une partie de ce total. Les 15 invocations ont confirmé un refus réseau EPERM avant calcul. La collecte GitHub/Sentry nécessitait le réseau ; l’inférence n’a utilisé aucune API d’IA externe. Ce confinement porte sur les processus de calcul, pas sur tout le Mac.
La commande de contrôle du dossier reproductible a été rejouée pour cette édition, sans relancer le modèle : contrats du comparateur, fichiers figés, identité du modèle et antériorité du gel vérifiés. Le contrôle accepte les preuves originales et rejette une entrée dev périmée, une chronologie inversée et une révision différente sur des copies temporaires. Le contrôle supplémentaire d’attestation a été ajouté après revue, sans modifier l’évaluateur figé ni les prédictions.
Les agrégats, questions retenues et empreintes permettent de contrôler les chiffres de ce chapitre. Les logs bruts, textes, identifiants, liens privés et annotations par cas restent privés. La reproduction complète nécessite le corpus privé et un dossier de sortie neuf. Ces agrégats seuls ne suffisent pas à rejouer le test.
Vidéos : démonstrations, avis et critiques
Ce que les créateurs apprécient, ce qui échoue dans leurs essais et les affirmations à corriger. Les liens ouvrent les passages analysés.
Les vidéos donnent des idées de tests et montrent aussi des échecs. Un même auteur peut apprécier la rapidité de Jev tout en critiquant ses décisions. Les avis sont attribués ci-dessous ; les résultats annoncés restent ceux de leurs auteurs. Aucun de ces essais n’a été reproduit pour ce dossier.
| Argument | Passage | Lecture du dossier |
|---|---|---|
| Des réponses faciles à utiliser dans un logiciel | Theo, 06:34 ; Fireship, 01:33 | Un choix ou une note peut alimenter le code directement. Les LLM à sortie contrainte restent des comparateurs : ils peuvent aussi respecter un schéma. |
| Des décisions rapides sur beaucoup de textes | Greg Isenberg / Ryan Vogel, 04:34 ; Theo, 26:49 | Classement d’emails ou de discussions rapporté par les auteurs. Le débit et le coût ne mesurent pas la qualité des catégories obtenues. |
| Une réponse valide peut être mauvaise | Theo, 05:34 ; Fireship, 03:00 ; Gary Explains, 08:10 | Faiblesse au jeu de dames, erreurs factuelles et réponses assurées : des contre-exemples utiles, sans taux d’erreur général à en déduire. |
| La façon de poser la question change le résultat | Erwan, 06:15 ; AICodeKing, 02:16 | Une liste de catégories incomplète force un mauvais choix. Il faut examiner les critères et les entrées avant d’attribuer tout l’échec au modèle. |
| Les gains commerciaux demandent un comparateur précis | Theo, 15:48 ; Micah, 02:05 | Ces passages commentent les résultats de TypeSafe. Ils n’ajoutent pas de mesures indépendantes aux multiplicateurs du lancement. |
Theo : enthousiasme pour l’API, réserves sur le jeu, les juges et la compaction
Jev is incredible, publié le 21 septembre 2026, dure 30 min 29 s. La transcription a été lue intégralement. Son titre favorable ne résume pas les réserves formulées dans la vidéo.
- Jeu de dames. 05:04 : Theo transmet le plateau sous forme de données textuelles. Il apprécie la réponse rapide, puis constate à 05:34 que Jev joue mal. La démonstration ne mesure pas une capacité visuelle et ne fournit pas de benchmark comparatif.
- Intégration. 06:34 : Il décrit l’intérêt des réponses utilisables dans un programme. À 07:18, il reprend la promesse de sorties structurées du lancement. La garantie de format ne garantit pas le choix correct.
- Juge de code. 12:40 : Il conteste l’idée de faire choisir à Jev la meilleure de plusieurs implémentations sans lui donner les moyens d’enquêter dans le dépôt. Cette objection vise le contexte disponible et la tâche demandée. L’absence de raisonnement rédigé ne suffit pas à exclure tout jugement sur un critère précis ; voir les tests de juges de traces.
- Benchmarks. 15:48 : Il rappelle que les gains publiés se situent dans le haut de ce que TypeSafe attend en pratique et que les réponses de référence viennent d’autres modèles. Leur accord n’est pas une annotation humaine indépendante.
- Emails. 20:27 : Theo commente la démonstration de Ryan Vogel. Elle appartient à la même famille de sources que l’entretien chez Greg Isenberg, et ne compte pas comme une reproduction supplémentaire.
- Compaction. 23:03 : Il critique la suppression de messages présentée comme un résumé de conversation. Jev peut sélectionner des passages ; il ne rédige pas le résumé qui relie décisions, contraintes et résultats. Il faudrait mesurer les informations perdues et la qualité des réponses suivantes. Les affirmations sur les caches et les traces de raisonnement ne sont pas reprises comme des règles communes à tous les fournisseurs.
- Archives de discussions. 26:49 : Il raconte son classement de conversations, mais la recherche de discussions « intéressantes » retient trop de résultats. Ce retour invite à définir un critère observable, par exemple la présence d’une solution vérifiable. Le montant transcrit à 27:11 est incomplet : aucun coût n’en est déduit ici.
Fireship : une introduction critique, avec une correction sur confidence
An ex-OpenAI researcher just deleted language from the LLM..., publié le 21 septembre 2026, dure 5 min 27 s. La transcription a été lue intégralement. La vidéo mêle explication, sarcasme et exemples humoristiques ; elle ne fournit pas de benchmark indépendant.
- Décisions simples. 00:29 : La vidéo montre pourquoi générer beaucoup de texte pour une petite décision peut coûter inutilement cher. Ses caricatures ne permettent pas de chiffrer le gain face à un LLM configuré pour une sortie courte.
- Réponses typées. 01:33 : Présentation de l’état, des questions et des primitives. Le terme parfois transcrit « null » désigne ici Noul.
- Justesse et répétabilité. 03:00 : Fireship rappelle qu’un format correct peut contenir une mauvaise décision et qu’une même demande peut produire des résultats différents. Il ne fournit pas de mesure de cette variabilité.
- Confidence. 03:15 : L’explication assimile trop directement un niveau de confiance à une fréquence de bonnes réponses. La documentation TypeSafe définit
confidencepar la concentration de la distribution pour Choice et Score ; Noul n’a pas ce champ séparé. La calibration se mesure sur des exemples annotés, pour la tâche et la version testées. Un seuil de confidence n’est pas un intervalle de confiance statistique. - Architecture. 03:40 : Fireship souligne que les détails internes ne sont pas publiés. Malgré l’annonce d’un examen du code à 00:56, la transcription ne décrit pas une lecture du code interne de Jev.
- Antériorité. 04:02 : La vidéo rapporte une revendication de travail antérieur sans démontrer une copie. Elle ne nomme pas l’auteur dans ce passage. Le dossier ne transforme pas cette allusion en preuve de plagiat ou d’escroquerie ; voir les critiques et le marketing.
- OpenJev. 04:07 : Les propos concordent avec SemIf, anciennement OpenJev, qui lit les scores d’options à partir d’un modèle Qwen gelé. Le projet reproduit une interface de décision, pas les poids ou l’entraînement de Jev. Cette alternative demande ses propres mesures de qualité, de coût et de calibration ; voir les projets communautaires.
Le segment Mux commence à 04:24. Theo annonce pour sa part un sponsoring Depot. Ces passages ne démontrent pas un financement par TypeSafe.
4 retours francophones : usages proposés, erreurs et limites des tests
| Créateur et passage | Apport | Réserve à conserver |
|---|---|---|
| Meydeey, 11:06 ; 15:46 | Comparaison sur plusieurs scénarios ; le présentateur décrit aussi des faiblesses sur les dates, les nombres, les structures imbriquées et les données éloignées des exemples habituels. | Le score composite de 99,4/100 n’est pas un taux de bonnes réponses. Jeu de données, annotations et code non audités ; le présentateur dit ne pas comprendre le Brier score affiché. |
| Erwan, 06:00 ; 04:00 | Tri de 500 commentaires annoncé en 14 s pour 0,01 $. Selon sa relecture, moins de 10 des 85 commentaires classés spam le sont réellement. | La catégorie « avis » manque. Pas de matrice d’erreurs annotée indépendamment. Son autre test pose 2 questions binaires séparées : leurs réponses ne constituent pas une distribution Choice unique. |
| LVLUP, 12:00 ; 05:13 | Démo de tri et d’étiquetage d’environ 20 tickets fictifs. L’auteur dit avoir vu des erreurs et vouloir annoter un jeu de données avant un usage en production. | Le seuil de 60 % proposé à 14:24 est arbitraire. Sa conclusion juridique sur l’hébergement n’est pas retenue : elle n’est pas étayée par un examen des textes et contrats applicables. |
| Leon / Naleo, 05:17 ; 08:50 | Il annonce contraindre les sorties des 2 modèles, puis montre une classification de textes et un labyrinthe. Ce réglage mérite de figurer dans les comparaisons. | Le labyrinthe est annoncé autour de 200 ms contre 1 s, sans effectifs, p95 ni configuration complète. Le classement d’actualités fictives ne mesure pas la qualité d’une décision financière. |
La présentation de l’épisode ThursdAI du 17 septembre identifie Allie Laabs comme Founding DevRel chez TypeSafe. Les liens ci-dessous utilisent les minutes de l’extrait YouTube consacré à Jev, distinctes de celles de l’épisode complet.
| Vidéo et minute | À regarder | Comment lire le résultat |
|---|---|---|
| Greg Isenberg, 22:54 | Ryan Vogel décrit un essai peu concluant sur Bitcoin : acheter, conserver ou vendre. | Le modèle comparé disposait d’actualités supplémentaires ; les informations reçues étaient différentes. |
| Greg Isenberg, 24:22 | Une vidéo est transcrite avant que Jev ne note le texte. | Le passage montre une étape de transcription, pas une entrée vidéo native dans Jev. |
| Meydeey, 16:25 | Construction du score composite, annoncé à 99,4 à 16:39. | Ce nombre n’est pas un taux de bonnes réponses. À 16:49, le présentateur dit ne pas comprendre le Brier score ; la méthode et les écrans restent à vérifier. |
| Erwan, 06:15 | Test de tri des commentaires ; les erreurs sont décrites à 06:47. | La liste de catégories oublie les avis. L’auteur relève des commentaires classés spam, sans annotations indépendantes de référence. |
| Allie / ThursdAI, 23:00 | Choisir entre un choix unique et plusieurs étiquettes compatibles. | L’intervenante représente TypeSafe, qui sponsorise aussi le hackathon annoncé par l’hôte. |
| AICodeKing, 05:22 | Démo navigateur de Gregor Zunic, combinant Jev et un modèle génératif. | AICodeKing dit ne pas l’avoir reproduite. Le dépôt Jev Ultrafast inclut le travail du navigateur dans le temps mesuré après la première observation. À 06:01, le commentateur précise que le prix annoncé exclut l’infrastructure navigateur : durée et coût ont des périmètres distincts. |
| AICodeKing, 02:16 | Une catégorie « autre » manque dans la liste des choix. | Un choix imposé par une liste incomplète peut être faux ; le passage aborde aussi la confidence. |
| Allie / ThursdAI, 26:37 | Comment une démonstration a été montée. | L’intervenante annonce 15 minutes enregistrées pour 2 min 30 retenues. Le montage ne mesure pas le taux de réussite. |
| Vidéo et minute | Sujet | Portée |
|---|---|---|
| Micah, 02:05 | Comment les ratios varient selon le comparateur. | Commentaire des résultats fournisseur ; pas de nouveau benchmark. |
| Micah, 03:00 | Accord avec les modèles juges. | L’accord ne prouve pas une correction humaine indépendante. |
| AISeeKing, 05:20 | Désaccords dans les résultats publiés. | Analyse et reprises ; aucune exécution supplémentaire vérifiée. |
| SimplyExplain, 07:14 | Réduire les candidats avant le choix Wikiracing. | Une explication du système en 2 étapes décrit par TypeSafe. |
| Riley Brown, 19:13 | Accès par Vercel. | Le passage ne documente pas les conditions des autres plateformes. |
Les 12 vidéos les plus vues dans la collecte du 21 septembre
| Chaîne et vidéo entière | Mise en ligne | Vues |
|---|---|---|
| Greg Isenberg · Jev is HERE. How to use it | 18/09/2026 | 426 337 |
| Rob Shocks · JEV Breakdown: The First AI Model Built For Code | 17/09/2026 | 366 869 |
| Matthew Berman · We need to talk about Jev... | 18/09/2026 | 332 511 |
| Caleb Writes Code · Jev explained in 7min.. | 19/09/2026 | 304 716 |
| Sam Witteveen · Jev - The Ultimate Classification Model? | 18/09/2026 | 272 914 |
| Syntax · Jev Explained: Demos and Use Cases | 17/09/2026 | 195 238 |
| AI Engineer · Jev CEO: I made ChatGPT, now I'm building What's Next | 31/07/2026 | 170 856 |
| Theo - t3․gg · Jev is incredible | 21/09/2026 | 162 263 |
| David Ondrej · Build Anything with Jev, Here’s How | 19/09/2026 | 146 449 |
| The PrimeTime · 🚨🚨 TRYING JEV : The new STYLE of AI!!! 🚨🚨 | 18/09/2026 | 135 933 |
| Riley Brown · JEV: How It Works and What You Can Build | 18/09/2026 | 128 223 |
| Maximilian Schwarzmüller · It really is. No joke. | 17/09/2026 | 126 093 |
Méthode de collecte des vidéos
- La collecte initiale comptait 78 candidats et 38 transcriptions. Le complément du 21 septembre a ajouté 5 transcriptions, portant le total à 43.
- Fireship ajoute 1 transcription le 22 septembre : 44 transcriptions acquises au total. Celle de Theo, déjà présente, a été relue intégralement. Le bilan est de 14 transcriptions lues intégralement et 30 examinées par passages ciblés.
- Une acquisition du complément n’a pas produit les sous-titres anglais demandés ; ses métadonnées seules ne confirment aucune performance.
- Les repères correspondent au début des segments de sous-titres, sans précision à l’image près. Les noms et les nombres mal reconnus ne sont pas corrigés en faits supposés.
- Une transcription permet de retrouver les propos d’un auteur. Elle ne vérifie pas les compteurs affichés ni l’exécution présentée à l’écran.
- Les entretiens avec l’équipe TypeSafe restent des propos du fournisseur, même lorsqu’une chaîne tierce les publie.
- La durée cumulée des vidéos ne correspond pas à un visionnage intégral réalisé pour ce dossier.
La courte vidéo Jev Doom Demo SoftBed est une reprise commentée, sans expérience indépendante identifiée. Dans la démo originale, TypeSafe indique que Jev reçoit un état textuel du jeu, pas les images. Ni cette reprise ni une vidéo montée ne mesurent la capacité générale à jouer. Les liens minutés de ce dossier ont été contrôlés dans les transcriptions, sans audit audiovisuel des compteurs affichés.
Les 30 analyses par passages : usages, objections et hypothèses
Ce tableau donne accès aux autres analyses du corpus initial, dont Gary Explains, Sam Witteveen, The PrimeTime et Turing Post. Les liens correspondent aux passages lus ; ils ne signifient pas que toute la vidéo a été examinée. Les observations décrivent ce que dit chaque créateur à la date de sa vidéo.
| Chaîne et passages lus | Apport de la vidéo | Limite de l’analyse |
|---|---|---|
| Sam Witteveen · 12:53 ; 14:11 | Sam Witteveen distingue format de réponse et exactitude, et relève absence de papier/architecture détaillée. | Synthèse des annonces du fournisseur, sans reproduction des tests. |
| Sam Witteveen · 01:05 ; 03:49 ; 07:00 ; 08:47 | Présente SemIf, DJev et alternatives ouvertes; évoque NLI/BERT et limites de généralisation après peu d’exemples. | Ce sont des projets compatibles ou inspirés, pas poids Jev publiés. Vérifier benchmark, noms et conditions sur dépôts primaires; ToS évoquées sans vérification ici. |
| Syntax · 04:33 ; 10:39 ; 15:37 | Syntax propose un pipeline transcription puis notes LLM puis contrôle de affirmations; démontre Home Assistant annoncé à 300ms. | Pipeline proposé partiellement; ne pas confondre temps de cette démo et benchmark complet. |
| The PrimeTime · 21:37 ; 26:22 ; 32:47 ; 35:18 | Live PrimeTime explore intégration jeu, schéma d’actions et erreurs de câblage. | Passages seulement; erreurs de développement ne constituent pas un taux d’échec du modèle. Plus de 2 heures non analysées intégralement. |
| Matthew Berman · 00:23 ; 04:30 ; 08:47 | Matthew Berman répète zéro hallucination dans un contexte évoquant santé/traffic/décisions critiques. | Raccourci trompeur si lu comme exactitude garantie; aucune validation de sécurité observée dans ces passages. |
| Caleb Writes Code · 01:45 ; 07:04 | Caleb distingue vitesse d’exécution et profondeur de compréhension; rappelle que les démos sociales mettent surtout en scène la vitesse. | Interprétation et chiffres fournisseur, pas comparaison contrôlée. |
| Rob Shocks · 00:50 ; 07:21 | Rob Shocks décrit état + questions + réponses typées, et envisage sélection de outils et skills. | Le titre ne signifie pas que Jev génère du code. Les usages dans des agents sont surtout proposés. |
| Moritz | AI Systems · 00:00 ; 11:36 | Moritz annonce 3 projets et montre une amélioration du système de mémoire Claudia avec classement. | Pas validation de qualité du rappel ni mesure de régression dans les passages lus. |
| Riley Brown · 12:24 ; 15:25 | Riley Brown reprend les benchmarks internes et propose filtrage de notifications; cite 64k contexte. | Les chiffres de contexte cités varient. Voir le chapitre sur les limites pour distinguer état, question et requête complète. |
| David Ondrej · 01:13 ; 05:37 ; 09:59 | David Ondrej reprend les chiffres marketing, raisonnement sur sorties parallèles et démo navigateur. | Parallélisme ne prouve pas absence d’erreur; démo de navigateur rediffusée; vidéo comporte promotion hébergement. |
| RepoChad · 00:14 ; 02:11 ; 06:09 | RepoChad expose RLCD comme revendication, et absence de benchmark public standard/paramètres/poids. | Exposé tierce source; pas preuve d’architecture. Critique de la validation surtout interne utile. |
| Codevolution · 00:00 ; 10:59 | Codevolution explique smart-if, puis distinction Noul sans champ confidence séparé et version retournée. | Les dates de gratuité diffèrent entre vidéos. Ce passage ne fait pas référence pour les conditions d’accès actuelles. |
| AICodeKing · 02:16 ; 02:50 ; 07:34 | AICodeKing montre catégorie absente, injection simple résistée, choix d’email parmi candidats, audit faux succès. Distingue service et E2E, mentionne 8 requêtes, 4148 tokens, 1.13.0. | Échantillon minuscule. Browser Use externe non reproduit, LLM Mercury pour texte, timer après première observation, aucune réservation. |
| Turing Post TV · 04:38 ; 09:45 | Turing Post distingue garantie de structure et jugement correct; montre intégration Codex et cite architecture/RLCD comme revendications. | Analyse ciblée, pas audit complet du code ou du comparateur. |
| Gary Explains · 01:01 ; 08:10 | Gary Explains obtient attribution erronée d’une citation modifiée de Shakespeare et mauvaise réponse assurée sur énigme de fleurs. | Contre-exemples de créateur, pas taux d’erreur général; transcription seule, écran non revérifié. |
| Neural Breakdown with AVB · 11:30 ; 20:07 | Neural Breakdown explore décodage contraint et architectures possibles. | Spéculation explicite, pas analyse démontrée du fonctionnement interne de Jev; plus de 2 heures non analysées intégralement. |
| Jeremy Chone · 13:10 ; 38:40 | Jeremy Chone construit wrapper Rust/sysone; propose contrôle des pratiques Rust et exécute exemple urgence avec sortie objet. | Le cas de lint est proposé; travail de librairie ne prouve pas exactitude modèle. |
| vogel · 00:00 ; 02:06 | Ryan Vogel montre classifieur email avec 8 traitements simultanés et annonce environ 200ms/email. | Même auteur/source que démo Greg, ne pas compter comme réplication indépendante supplémentaire. |
| Founders You Should Know · 00:02 ; 02:25 | Diogo présente sa vision de l’automatisation avant lancement et annonce sortie future. | Vidéo publiée le 31 mars 2026, avant le lancement public ; elle ne mesure pas le Jev de septembre. |
| AI Council · 02:43 ; 05:35 | Talk TypeSafe de juin expose opposition assistance humaine/automatisation et critique des benchmarks. | Vision du fondateur, historique; pas documentation d’architecture ni évaluation de la version lancée. |
| Lukas Margerie · 00:00 ; 05:11 | Lukas Margerie propose de réutiliser un classifieur X pour catégories de vidéos YouTube et rapporte plusieurs démos externes. | Agrégation de démos, pas métriques originales vérifiées; compteurs et coûts attribués à leurs auteurs. |
| Mark Kashef · 01:06 ; 03:20 | Mark Kashef rappelle architecture non révélée et intérêt du classifieur comme contrôle ciblé dans workflow. | Suggestions, pas validation de qualité; un juge supplémentaire peut cumuler des erreurs. |
| Mayank Aggarwal · 05:50 ; 08:33 | Mayank montre score d’expérience de CV et routeur de modèle. | Dates/nombres/score demandent contrôle; contexte 64k cité sans vérification ici. |
| Alessio Garau · 02:10 ; 07:22 ; 15:27 ; 22:46 | Alessio Garau avertit que RLCD détaillé reste inconnu et que seuls benchmarks maison sont disponibles dans son exposé. | Transcription italienne originale; WikiRace présenté comme démo fournisseur, non reproduite. |
| tacosdedatos · 01:03 ; 03:36 | tacosdedatos explique calibration agrégée plutôt que promesse individuelle et décrit accès fournisseurs. | Description déclare vidéo créée par agent IA, voix clonée et animation Remotion; source secondaire, accès/prix à rafraîchir. |
| WatchSigma · 51:00 ; 65:51 | Replay WatchSigma contient réponse attribuée au CEO sur éventuel papier RLCD non prioritaire, priorité à modèles et amélioration du produit. | Rediffusion commentée avec voix superposées ; attribution incertaine. Aucun calendrier de publication n’en est déduit. |
| Krish Naik · 20:45 ; 22:54 | Krish Naik propose routeur Jev avant outils/RAG/LLM. | Schéma pédagogique et futures implémentations annoncées, pas test réalisé dans ces passages. |
| Maximilian Schwarzmüller · 07:32 | Maximilian Schwarzmüller relève 32k contexte, limites numériques/dates, et place Jev comme complément. | Synthèse des docs à la date de vidéo, pas benchmark indépendant. |
| KΞVPUSH · 05:53 ; 10:54 ; 19:30 | KEVPUSH montre choix SEO à contexte vide/faible confiance, puis routage, modération et urgence. | Démos contrôlées par créateur; aucun étalonnage statistique global démontré. |
| Adrian CHIAPELLO | Claude Code · 22:40 | Adrian Chiapello teste casse-brique avec état balle/raquette et constate réseau autour de 200 à 300 ms après attente 100 à 150 ms. | Observation développeur de cette démo; distinguer animation, réseau, code et inférence. |
Préparer ses essais
Premier appel à Jev : installer le SDK et tester un ticket
Un programme Python envoie un ticket fictif, puis affiche une proposition de classement. Le prompt en fin de chapitre permet aussi de préparer cet essai avec un assistant de code.
Jev est un service hébergé. Vous installez ici la bibliothèque cliente Python qui appelle son API. Les poids de Jev ne sont pas téléchargés sur votre machine. Le résultat sert au programme : aucune conversation avec un chatbot n’est nécessaire.
1. Obtenir une clé et vérifier Python.
- Ouvrez la console TypeSafe et créez une clé API si votre compte dispose de l’accès au service.
- Il faut Python 3.10 ou plus récent et une connexion Internet.
- Ce parcours utilise l’API directe de TypeSafe ; une clé d’un autre fournisseur ne convient pas.
- L’accès de votre compte et sa facturation se vérifient dans la console.
2. Installer le client dans un dossier dédié. Dans un terminal macOS ou Linux, lancez les commandes suivantes. Vérifiez que la version affichée de Python est au moins 3.10 avant de continuer. La version du SDK est fixée à 0.7.0 pour pouvoir reproduire l’exemple avec la même version du client.
Terminal Terminal macOS / Linux · installation 6 lignes
mkdir jev-premier-appel
cd jev-premier-appel
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python -m pip install "typesafe-sdk==0.7.0"3. Créer le script. Dans ce dossier, enregistrez le bloc suivant dans premier_appel.py. La clé est lue dans TYPESAFE_API_KEY si cette variable existe ; sinon, le programme la demande dans le terminal avec une saisie masquée. Elle ne figure ni dans le fichier ni dans le prompt pour l’assistant.
Python premier_appel.py · fichier complet 73 lignes
"""Un ticket fictif, une tentative API et une catégorie prédite affichée.
Requiert Python 3.10+ et typesafe-sdk==0.7.0.
Lancer ce fichier envoie une requête à TypeSafe, facturable selon le compte.
"""
import getpass
import json
import os
from time import perf_counter
from typesafe_sdk import (
Choice, RetryPolicy, TypeSafeAPIConnectionError, TypeSafeAPIError, TypeSafeClient,
)
def main():
api_key = os.environ.get("TYPESAFE_API_KEY", "").strip()
if not api_key:
api_key = getpass.getpass("Clé API TypeSafe (saisie masquée) : ").strip()
if not api_key:
raise SystemExit("Aucune clé fournie ; aucun appel envoyé.")
try:
with TypeSafeClient(
api_key=api_key,
base_url="https://api.typesafe.ai",
retry=RetryPolicy(max_retries=0),
timeout=30.0,
) as client:
start = perf_counter()
response = client.system_one(
model="jev-1.13.0",
state={
"ticket": "Le paiement a échoué et je ne peux plus accéder à mon compte.",
"language": "fr",
},
questions={
"destination": Choice(
instructions=(
"Quelle catégorie décrit le mieux le sujet principal du ticket ? "
"Évaluer les catégories à partir du texte fourni."
),
criteria={
"facturation": "Paiement refusé, facture ou remboursement.",
"acces_compte": "Connexion impossible ou accès au compte bloqué.",
"incident_technique": "Panne hors paiement et accès au compte.",
"autre": "Aucun des sujets précédents.",
},
),
},
)
elapsed = perf_counter() - start
except TypeSafeAPIError as error:
raise SystemExit(f"Erreur API TypeSafe : HTTP {error.status}.") from None
except TypeSafeAPIConnectionError:
raise SystemExit("Connexion à TypeSafe impossible ou délai HTTP dépassé.") from None
answer = response.choices["destination"]
print(json.dumps({
"model": response.model,
"proposition": answer.choice,
"probabilities": answer.probabilities,
"confidence": answer.confidence,
"duree_appel_secondes": round(elapsed, 3),
"usage": {
"input_tokens": response.usage.input_tokens,
"output_tokens": response.usage.output_tokens,
},
}, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()
4. Envoyer le ticket fictif. Avec l’environnement virtuel toujours actif, lancez la commande ci-dessous.
- Elle effectue une tentative SDK vers TypeSafe, facturable selon les conditions de votre compte.
- Les reprises automatiques sont désactivées.
- Le délai de 30 secondes s’applique aux opérations HTTP ; il ne garantit pas une durée totale de 30 secondes.
Terminal Terminal · appel au service 1 ligne
python premier_appel.py5. Lire la catégorie prédite. Le programme affiche un objet JSON avec l’option Choice et ses probabilités. Le ticket mentionne deux sujets : observez leur distribution sans attendre une priorité de traitement imposée au modèle. Le script ne déplace aucun ticket. Un premier appel réussi confirme le fonctionnement de la connexion pour ce cas ; il ne mesure pas la fiabilité du classement.
| Champ | Lecture |
|---|---|
proposition | La catégorie prédite dans choice. Le script l’affiche sans décider d’une affectation ni déplacer de ticket. |
probabilities | La probabilité attribuée à chacune des 4 options. |
confidence | La concentration de cette distribution ; ce nombre n’est pas une probabilité d’exactitude. |
model | L’identifiant renvoyé par le service, à conserver avec les résultats. |
usage | Les compteurs de tokens fournis par le SDK. null signifie que la valeur manque, jamais 0 par défaut. |
duree_appel_secondes | Durée côté client : préparation de la requête, réseau, serveur et décodage. Ce n’est pas le seul temps d’inférence. |
La décision appartient au code : démonstration hors réseau. Pour un ticket qui cumule paiement échoué et accès bloqué, deux Noul peuvent évaluer séparément ce que le texte mentionne. Ces signaux ne prouvent pas l’état réel de la transaction ou du compte. Le bloc suivant déclare les questions sans les envoyer et utilise uniquement des réponses fictives. Enregistrez-le dans decision_policy.py, puis lancez python decision_policy.py avec Python 3.10 ou plus récent ; aucune clé ni bibliothèque tierce n’est nécessaire.
Python decision_policy.py · hors réseau 50 lignes
"""Démonstration hors réseau : valeurs et seuils fictifs, aucun appel Jev."""
import json
# Deux questions indépendantes à poser à Jev ; ce fichier ne les envoie pas.
questions = {
"payment_failed": {
"type": "noul",
"instructions": "Le ticket mentionne-t-il un paiement refusé ou échoué ?",
},
"access_blocked": {
"type": "noul",
"instructions": "Le ticket mentionne-t-il un accès au compte bloqué ?",
},
}
def decide_route(probabilities, *, threshold=0.8, priority="facturation"):
# Politique pédagogique conservatrice, seuil non validé pour la production.
if not 0.5 < threshold <= 1 or priority not in ("facturation", "acces_compte"):
raise ValueError("Politique invalide")
payment = probabilities["payment_failed"]
access = probabilities["access_blocked"]
if not (0 <= payment <= 1 and 0 <= access <= 1):
raise ValueError("Probabilités attendues entre 0 et 1")
if payment >= threshold and access >= threshold:
return priority
if payment >= threshold and access <= 1 - threshold:
return "facturation"
if access >= threshold and payment <= 1 - threshold:
return "acces_compte"
return "relecture"
# Réponses simulées aux deux Noul, réutilisées sans nouvel appel.
probabilities = {"payment_failed": 0.92, "access_blocked": 0.88}
proposals = {
"billing_first": decide_route(probabilities, priority="facturation"),
"access_first": decide_route(probabilities, priority="acces_compte"),
"higher_threshold": decide_route(probabilities, threshold=0.95),
}
assert proposals == {
"billing_first": "facturation",
"access_first": "acces_compte",
"higher_threshold": "relecture",
}
assert decide_route({"payment_failed": 0.52, "access_blocked": 0.48}) == "relecture"
assert decide_route({"payment_failed": 0.92, "access_blocked": 0.10}) == "facturation"
assert decide_route({"payment_failed": 0.10, "access_blocked": 0.92}) == "acces_compte"
print(json.dumps({"questions": questions, "simulated_probabilities": probabilities,
"application_proposals": proposals}, ensure_ascii=False, indent=2))
Les mêmes probabilités, 0,92 et 0,88, donnent facturation ou acces_compte selon la priorité écrite dans le code. Avec un seuil fictif de 0,95, la fonction renvoie relecture. Elle ne propose un traitement sur un seul motif que si l’autre motif est sous le seuil complémentaire ; les cas ambigus passent en relecture. Les assertions vérifient cette politique locale, pas Jev. Aucun ticket n’est déplacé. Il faut mesurer les erreurs et choisir les seuils sur ses propres données avant une utilisation réelle.
Si le premier appel échoue
| Symptôme | À vérifier |
|---|---|
| Installation refusée ou import introuvable | Python doit être en version 3.10 ou plus. Réactivez .venv, puis utilisez python -m pip avec le même interpréteur que pour lancer le script. |
| Clé absente | Le script s’arrête avant l’appel. Relancez-le et saisissez la clé dans le terminal. |
| HTTP 401 ou accès refusé | Vérifiez la clé et l’accès du compte dans la console TypeSafe. |
| Modèle indisponible ou requête rejetée | Consultez les modèles documentés et la forme de la requête. Une erreur 422 demande de vérifier son contenu. |
| HTTP 429 ou 529 | Vérifiez le quota ou la disponibilité du service avant un nouvel essai. Le script ne relance pas automatiquement la requête. |
| Erreur réseau ou dépassement du délai | Vérifiez la connexion et l’état du service. Un échec de transport ne fournit aucune catégorie pour le ticket. |
Préparer le même essai avec Claude Code ou Codex. Copiez le prompt suivant dans votre assistant, depuis le dossier du projet. Il demande d’abord une simulation locale ; le passage au service réel reste une commande distincte que vous lancez. Ne collez pas votre clé dans la conversation.
Prompt Prompt à copier · créer une démonstration Jev 19 lignes
Crée dans ce projet une démonstration minimale de l’API Jev de TypeSafe, avec un ticket entièrement fictif. Commence par lire la structure et les instructions du projet ; préserve les fichiers existants.
Documentation à vérifier avant de coder :
- https://docs.typesafe.ai/introduction/quickstart
- https://docs.typesafe.ai/sdk/python/usage
- https://docs.typesafe.ai/sdk/python/api/retries
- https://docs.typesafe.ai/models
Utilise Python 3.10+ et typesafe-sdk==0.7.0 dans un environnement virtuel dédié. Demande le modèle jev-1.13.0 et enregistre l’identifiant réellement renvoyé. Si cette version n’est plus documentée, signale le changement dans le README.
Cas : « Le paiement a échoué et je ne peux plus accéder à mon compte. » Crée une question Choice nommée destination, avec facturation, acces_compte, incident_technique et autre. Décris chaque catégorie et demande celle qui décrit le mieux le sujet principal. Ne place pas de priorité opérationnelle dans cette question : choice est une catégorie prédite, pas une affectation de ticket.
Par défaut, lance une simulation locale utilisant le vrai SDK et un transport HTTP simulé. Étiquette clairement toutes les valeurs simulées. Ajoute une option --live que je lancerai moi-même pour envoyer ce ticket fictif au service ; ne l’exécute pas pendant ton travail. En mode réel, 1 seule tentative SDK avec RetryPolicy(max_retries=0), délai HTTP de 30 secondes, clé TYPESAFE_API_KEY ou saisie masquée dans le terminal. Ne demande jamais la clé dans la conversation et ne l’écris pas dans le code.
Affiche la catégorie prédite, les probabilités, confidence, le modèle, les compteurs de tokens et la durée complète de l’appel client. Conserve null si un compteur manque. Explique que confidence décrit la concentration des probabilités, pas la probabilité d’avoir raison.
Ajoute un fichier autonome decision_policy.py, sans client API ni réseau. Déclare deux questions Noul indépendantes sur la mention d’un paiement échoué et d’un accès bloqué. Utilise des réponses explicitement fictives et une fonction decide_route(probabilities, *, threshold=0.8, priority="facturation") qui applique une priorité et renvoie une proposition ou relecture. Les valeurs et seuils sont pédagogiques, non validés pour la production. Teste que les mêmes probabilités peuvent donner une autre proposition quand seule la politique change, ainsi que les motifs coexistants et les cas ambigus envoyés en relecture. Affiche séparément les probabilités simulées et la proposition applicative ; ne déplace aucun ticket. Ces signaux portent sur le texte, pas sur l’état réel du paiement ou du compte.
Produis le script, les commandes d’installation et d’exécution, puis des tests hors réseau pour une réponse valide, une clé absente, une erreur HTTP et l’absence de nouvelle tentative sur surcharge. N’effectue aucune modification sur GitHub ou Sentry. Indique exactement ce qui a été testé ; un transport simulé ne teste ni Jev ni l’accès à mon compte.
Après ce premier essai.
- Le chapitre Appeler l’API et lire ses réponses couvre aussi HTTP, TypeScript, Noul et Score.
- Pour passer à vos propres tâches, suivez les pilotes GitHub et Sentry, puis le protocole de comparaison.
Remplacer le ticket fictif par une issue réelle ne suffit pas à valider une automatisation.
Références du tutoriel : démarrage officiel, SDK Python 0.7.0 sur PyPI, client Python et options, politique de reprise. Documentation et déclarations de types du SDK relues le 21 septembre 2026.
Installer Laya sur un Mac et préparer un premier test
Logiciels et poids téléchargés une fois, puis inférence locale sans API d’IA.
Prérequis : Mac Apple Silicon, Python 3.12 déjà disponible et espace pour l’environnement et environ 614 Mio de poids. Ce parcours utilise les versions du laboratoire. Son inférence locale et l’interface de commande ont été vérifiées ; l’installation complète n’a pas été rejouée sur un Mac vierge. Windows, Linux et Mac Intel ne sont pas qualifiés ici. Installation officielle.
1. Depuis le dossier où vous rangez vos essais, créez un nouveau dossier. Ces commandes installent des paquets via Internet. Si python3.12 est introuvable, installez Python 3.12 avant de continuer. Si le dossier existe, choisissez un autre nom.
Terminal Installer les versions du laboratoire 6 lignes
mkdir laya-demo
cd laya-demo
python3.12 -m venv .venv
.venv/bin/python -m pip install \
'laya-mlx==0.2.0' 'mlx==0.32.2' 'tokenizers==0.23.2' 'numpy==2.5.3' 'huggingface-hub==1.33.0'
.venv/bin/python -m pip freeze > requirements-laya.txt2. Dans ce même dossier, téléchargez explicitement la révision multilingue. Cette étape nécessite Internet ; elle est séparée des prédictions. Conservez le fichier requirements-laya.txt pour identifier l’environnement résolu.
Terminal Télécharger les poids une fois 12 lignes
.venv/bin/python - <<'PY'
from huggingface_hub import snapshot_download
snapshot_download(
\
repo_id="aac6fef/laya-multilingual-mlx",
\
revision="f2b4faf51023039425946074e2cf1361d2db11d5",
\
local_dir="models/laya-multilingual",
)
PY3. Enregistrez le JSON ci-dessous dans questions.json, à côté de .venv. Il demande une catégorie sur un texte court. Les questions sont en anglais ; le modèle sélectionné accepte une entrée française ou anglaise.
JSON questions.json 11 lignes
{
"department": {
"type": "choice",
"instructions": "Which team should handle the main request?",
"criteria": {
"billing": "Invoices, payments and refunds.",
"technical": "Software bugs and outages.",
"other": "A clear request unrelated to billing or technical support."
}
}
}4. Lancez une prédiction avec les poids locaux. Le JSON doit contenir answers.department et les probabilités des options. Le paiement en double suggère une catégorie de facturation, mais cette attente ne doit pas devenir un résultat garanti. Une sortie JSON valide prouve le fonctionnement de l’appel, pas sa justesse.
Terminal Prédire avec le modèle local 6 lignes
HF_HUB_OFFLINE=1 HF_HUB_DISABLE_TELEMETRY=1 HF_HUB_DISABLE_IMPLICIT_TOKEN=1 \
.venv/bin/laya-mlx predict \
--model ./models/laya-multilingual \
--device gpu \
--questions questions.json \
--state "J'ai été débité 2 fois. Je demande le remboursement du doublon."Vérifier sans accès réseau sur macOS
Les variables Hugging Face ne constituent pas un pare-feu. Après le téléchargement, ce profil macOS refuse le réseau au seul processus de test et à ses enfants ; il ne désactive pas la connexion du Mac. C’est le mécanisme utilisé dans nos essais sur macOS 26.5.1. Sa disponibilité sur une autre version doit être vérifiée.
Terminal Inférence avec réseau refusé 9 lignes
printf '(version 1)
(allow default)
(deny network*)
' > deny-network.sb
/usr/bin/sandbox-exec -f deny-network.sb \
env HF_HUB_OFFLINE=1 HF_HUB_DISABLE_TELEMETRY=1 HF_HUB_DISABLE_IMPLICIT_TOKEN=1 \
.venv/bin/laya-mlx predict \
--model ./models/laya-multilingual --device gpu \
--questions questions.json --state "I was billed twice. Please refund the duplicate."Une erreur de chargement doit être résolue en vérifiant les fichiers locaux. Ne pas remplacer silencieusement le chemin par un service distant. Si le profil est refusé par l’environnement d’exécution, distinguer ce blocage d’un échec du modèle.
| Usage | Premier essai | Ce qui reste à mesurer |
|---|---|---|
| Tri d’issues GitHub | Proposer un domaine technique sur des tickets courts, sans ajouter de label. | Pilote effectué : candidat écarté ; annotations à valider humainement. |
| Orientation du support | Repérer accès, planning, paiement et demande pédagogique. | Autoriser plusieurs thèmes ; valider les catégories avec les personnes qui traitent les demandes. |
| Documents après OCR | Classer le texte déjà reconnu. | Vérifier si l’OCR distingue déjà cours et exercices ; ne pas ajouter un appel inutile. |
Le pilote de tri d’issues a maintenant été exécuté : 30 exemples de développement puis 60 de test. Le candidat est écarté et la validation humaine des annotations reste à faire. Pour un autre essai, grouper les doublons avant séparation, faire relire les labels, figer les seuils avant test et employer un nouveau jeu réservé. Mesurer qualité par catégorie, couverture, abstention, erreurs, dépassements et latence complète. Le tuto installe le moteur ; il ne promet pas un gain de qualité.
Le labo utilisé pour nos mesures ajoute une page locale, 6 formulaires, des imports et des lots reprenables. Il n’est pas encore distribué : les commandes start.command, stop.command et laya-lab ne sont pas installées par pip install laya-mlx. Le tuto public ci-dessus permet une première inférence ; reproduire tout le laboratoire demande son code et son environnement.
Mis à jour · Version 0.20.0
Accéder à Jev : versions, quotas et limites
Jev reçoit du texte. La version, les quotas et le chemin d’accès doivent être relevés pour chaque test.
Au 28 octobre, la page Models liste jev-1.14.0 et jev-1.13.0, au même prix et avec les mêmes limites ; jev-latest et jev-preview pointent vers jev-1.14.0. Le modèle direct documenté à l’édition initiale était jev-1.13.0.
- La limite de 64k tokens porte sur l’état et toutes les questions ; celle de 32k porte sur l’état et la question la plus longue.
- Les plafonds affichés, 250 000 tokens par seconde et 1 200 requêtes par minute, sont dynamiques et peuvent dépendre de l’offre. Ils ne constituent pas un engagement de disponibilité.
| Accès | Identifiant et interface | Prix affiché | Portée du contexte documentée |
|---|---|---|---|
| TypeSafe direct | jev-1.13.0 ; API state/questions | 0,042 $/million de tokens d’entrée ; sorties gratuites. | 64k pour state et toutes les questions ; 32k pour state et la question la plus longue. |
| Vercel AI Gateway | typesafe-ai/jev ; experimental_evaluate dans AI SDK | Promotion Free annoncée jusqu’au 25 septembre 2026. | Fiche : Context 32K. Répartition entre state et questions non précisée sur cette page. |
| Cloudflare | typesafe/jev ; env.AI.run avec state et questions | À consulter dans le tableau de bord. | Fiche : Context Window 32 000 tokens. Répartition entre state et questions non précisée sur cette page. |
| OpenRouter | typesafe/jev-1.13 dans le catalogue | 0,042 $/million en entrée, 0 en sortie. | Fiche : fenêtre de contexte 32 000 tokens. Répartition entre state et questions non précisée sur cette page. |
Ces routes sont décrites par les pages des opérateurs : Vercel, Cloudflare et OpenRouter.
- Leurs fiches 32k ne suffisent pas à leur attribuer le double budget 64k/32k de l’API directe. Vérifier le découpage appliqué par la route choisie avant de dimensionner les requêtes.
- Aucun droit d’accès de compte n’a été vérifié ici.
- La promotion Vercel est datée ; elle ne doit pas devenir un tarif permanent dans les comparatifs.
Les adaptations ne portent pas forcément les mêmes noms. Vercel expose notamment un type boolean là où l’API native a Noul, et range certaines informations dans les métadonnées du fournisseur. Un changement de passerelle peut aussi changer la facturation, les limites et la gestion des données. Comparez 2 routes comme 2 configurations distinctes, même si elles portent le nom Jev.
Les SDK officiels Python et JavaScript inspectés sont sous licence MIT. Le manifeste Python lu indique 0.7.0 et Python 3.10 minimum ; le tag JavaScript examiné est v0.6.0 et requiert Node 20 minimum. Le SDK Python 0.7.0 a aussi été installé pour le tutoriel Premier appel, puis exécuté avec un transport simulé. Le client JavaScript n’a pas été exécuté ici. SDK Python, SDK JavaScript.
- Jev 1.14 est disponible depuis le 14 octobre. TypeSafe annonce de petits gains généraux, surtout en multilingue, et un préavis de 60 jours avant le retrait de
jev-1.13.0, 30 jours pourjev-1.14.0. Aucune politique de dépréciation ni page de limites propre à la 1.14 n’a été trouvée. Billet Jev 1.14. - L’en-tête
TypeSafe-Danger-Zone-Long-Context: trueporte le contexte à 262k ; la documentation le dit plus lent et moins précis. OpenRouter affiche 262K pourtypesafe/jev-1.14: ce chiffre suppose cette option. - La page Models indique toujours une entrée texte alors que la page Images accepte des images sous en-tête. Les 2 pages de la documentation ne concordent pas.
- Cloudflare, devenu concurrent avec Clef, liste toujours
typesafe/jevet une fichetypesafe/jev-1.14.0à 0,042 $ et 32 000 tokens de contexte. - Le SDK Python est en 0.7.5 depuis le 14 octobre. La compression zstd y est activée par défaut ; une API non officielle peut ne pas l’accepter. Le tutoriel reste épinglé à 0.7.0. Changelog du SDK.
Données envoyées et conditions du service
Des engagements publics existent ; la rétention précise et les options du compte demandent encore vérification.
L’audit Perplexity indiquait que toutes les conditions de traitement restaient inconnues. Les pages officielles permettent d’être plus précis. Le tableau résume leurs déclarations au 21 septembre ; il ne vérifie ni leur exécution technique ni la conformité d’un usage particulier.
| Document | Engagement ou information consultée | Limite |
|---|---|---|
| Privacy Policy, 19 novembre 2025 | Hébergement aux États-Unis ; pas d’entraînement ou de fine-tuning sur les entrées. | Le document ne précise pas de durée unique de conservation des données en jours. |
| DPA, 24 avril 2026 | Rôles de traitement et mécanismes contractuels de transfert, notamment clauses UE et adaptations UK/Suisse. | L’existence du document ne valide pas automatiquement chaque transfert ou chaque usage. |
| MCA, 19 septembre 2026 | Pas de modification des poids avec Customer Data sans consentement préalable ; Telemetry traitée séparément. | Vérifier les définitions et conditions propres au contrat souscrit. |
| Index Legal | Option de rétention nulle, ZDR, proposée aux clients enterprise sur contact. | Aucune activation par défaut ou sur le compte utilisé pour un futur essai n’a été établie. |
Les pages Trust Center et sous-traitants n’ont pas fourni de contenu exploitable à l’outil de lecture. Les certifications, la liste nominative des sous-traitants et les modalités applicables au compte restent donc non vérifiées. Cette limite d’accès ne prouve pas que ces informations ou garanties sont absentes.
Le SDK Python prévient que son mode debug peut journaliser les corps de requêtes et de réponses sans expurgation. Préparer un pilote impose donc de regarder aussi les journaux côté application. Les messages Sentry, les descriptions de bugs et les diffs peuvent contenir plus d’informations qu’un simple titre.
Les versions du 19 septembre des conditions du site et du contrat client lues ne contiennent pas d’interdiction explicite de publier un benchmark identifiée dans cet audit. Le contrat conserve néanmoins des dispositions de confidentialité, des restrictions d’imitation ou de distillation et d’éventuelles conditions particulières. Ce constat documentaire ne vaut pas autorisation générale de publication.
Avant de publier ses propres résultats, conserver les conditions effectivement acceptées et celles de la plateforme choisie. Les crédits promotionnels, le tarif nominal et le montant payé sont 3 informations distinctes. Un essai gratuit ne démontre pas le coût durable d’une exploitation.
Où tester Jev dans mes workflows
3 premiers essais : trier les issues GitHub, rapprocher les erreurs Sentry et sélectionner des correctifs pour les notes de version.
J’ai relu une sélection de mes définitions de skills, d’agents et de tâches automatisées. Les propositions reprennent ces tâches existantes. Leur fréquence et leur coût restent à mesurer avant de juger l’intérêt d’ajouter Jev.
| Tâche | Question confiée à Jev | Comparateurs | Travail qui resterait dans la chaîne actuelle |
|---|---|---|---|
| Pré-tri GitHub | Quelle catégorie proposer ? Quelles issues seraient des doublons ? | Règles, recherche lexicale et LLM actuel. | Récupérer le contenu, appliquer les règles mécaniques et valider les modifications. |
| Rapprochement Sentry | Cette erreur et cette issue décrivent-elles la même cause probable ? | Règle lexicale définie et LLM, sur les mêmes candidats. | Vérifier les URL/ID exacts, calculer la sévérité, retrouver des candidats et enquêter. |
| Notes de version | Ce correctif a-t-il un impact utilisateur documenté ? | Filtres de commits et modèle actuel de sélection/rédaction. | Conserver les fonctionnalités obligatoires et les références, rédiger et valider avant publication. |
- Pour Sentry, Jev interviendrait seulement lorsque les correspondances exactes n’ont rien donné. Il classerait les candidats déjà retrouvés, avec une relecture avant tout rattachement.
- Pour les notes de version, il aiderait à sélectionner les correctifs ; le modèle rédacteur garderait la rédaction. Un titre de commit vague ne suffit pas à établir l’impact utilisateur : fournir aussi le contexte de la PR.
- Pour le pilote notes de version, le programme rassemblerait les commits et le contexte des PR.
- Jev proposerait une catégorie pour chaque correctif.
- Le code appliquerait les règles de sélection puis transmettrait au LLM les changements retenus avec leurs références.
DIAGRAMME · Jev classe, le LLM rédige
Jev peut donc fournir une évaluation avant que le code sélectionne les éléments transmis au LLM. Cette répartition reste un choix à tester : un LLM peut aussi classer des correctifs, et de simples règles peuvent suffire. Le schéma ne démontre aucun gain de vitesse, de coût ou de justesse.
DIAGRAMME · Rapprocher une erreur Sentry et une issue
Une autre proposition apparaît chez Syntax à 10:54 : transcrire un contenu, faire rédiger les notes par un LLM, puis demander à Jev de vérifier des affirmations. Il s’agit d’une idée d’utilisation présentée dans la vidéo, sans mesure d’exactitude de cette chaîne.
Les 8 expériences proposées
| Réf. | Cas | Méthodes comparées | À mesurer |
|---|---|---|---|
| UC1 | Suggestion de skills FR/EN | BM25 actuel, règles, LLM contraint, Jev | Reformulations retrouvées, fausses suggestions et part des cas traités |
| UC2 · pilote 1 | Pré-tri GitHub | Règles, recherche lexicale, LLM, Jev | Catégories proposées, doublons retrouvés et relecture |
| UC3 | Sélection de documents pour un RAG | BM25, reranker, LLM, Jev | Passages nécessaires conservés et qualité de la réponse finale |
| UC4 | Décision directe ou questions décomposées | Même décomposition pour chaque modèle | Qualité et coût de tous les appels et de leur assemblage |
| UC5 | Choix parmi 5 à 250 options | Ordre des options, voisins proches, cas sans option adaptée | Erreurs selon le nombre d’options, leur position et le domaine |
| UC6 · pilote 2 | Rapprochement Sentry/GitHub | Règle lexicale précisée, LLM et Jev sur les mêmes candidats | Faux rapprochements, doublons manqués et relecture |
| UC7 | Anciennes issues, après enquête | Modèle actuel et Jev sur le même dossier de preuves | Verdicts de clôture erronés et coût total, enquête incluse |
| UC8 · pilote 3 | Correctifs pour les notes de version | Filtres de commits, modèle rédacteur actuel et Jev | Correctifs utilisateur omis, changements internes retenus et coût total |
Les règles locales à préciser avant le test
- Les catégories Feature et Enhancement se recouvrent dans la définition de tri GitHub examinée. Il faut fixer une priorité ou autoriser plusieurs étiquettes.
- Pour Sentry, la définition mentionne un seuil Jaccard de 0,75, un poids de 0,7 et un seuil composite de 0,7, sans préciser la combinaison. Définir cette référence avant de la comparer à Jev.
Le tri des anciennes issues emploie 5 verdicts : problème déjà traité (DONE), toujours présent (STILL_RELEVANT), décision abandonnée ou remplacée (STALE_DECISION), travail partiellement livré (PARTIAL), preuves insuffisantes (UNCLEAR). Jev pourrait classer un dossier après l’enquête dans le code. Accélérer le verdict seul ne mesure pas le gain sur tout le triage.
DIAGRAMME · Séparer entraînement, réglage et test
- Pour chaque essai, relever les erreurs, la part de cas traités, les temps de réponse p50/p95 et le coût par décision correcte.
- Préciser la région, le nombre de requêtes simultanées, la taille des entrées, le nombre de questions et la version.
- Compter les erreurs réseau, les nouvelles tentatives et la relecture.
Brier et ECE se calculent sur les probabilités adaptées à la tâche, pas sur le champ confidence renommé.
Le pilote produira des suggestions, sans créer ou fermer d’issues.
- Chaque cas historique doit contenir uniquement les informations disponibles à cette date.
- Réserver une période ultérieure au test et garder la proportion réelle des catégories.
- Distinguer une erreur de recherche, où le bon candidat manque, d’une erreur de classement parmi des candidats présents.
Pour ces essais proposés, les règles qui calculent la sévérité Sentry, normalisent les URL ou traduisent un verdict en action restent dans le code. Les essais portent sur les évaluations sémantiques pour lesquelles une règle lexicale peut manquer une reformulation ou rapprocher à tort 2 problèmes.
| Cas | Ce qu’il faut fournir | Décision de référence à discuter |
|---|---|---|
| GitHub : « le paiement refuse ma carte depuis la mise à jour » | Description, version, reproduction, catégories définies et éventuels incidents connus. | Incident existant, nouveau bug ou problème de compte ? Le titre seul ne tranche pas. |
| Sentry : même message, 2 composants différents | Trace, version déployée, environnement et descriptions des issues candidates. | Ne pas fusionner sur le seul texte de l’exception ; chercher les éléments de cause commune. |
| Notes de version : « fix: cache » | Diff et description de la PR, comportement avant/après, public concerné. | Informations insuffisantes tant que l’impact utilisateur n’est pas documenté. |
5 usages concrets au-delà d’une liste de catégories
Routage, annotation massive et seuil de confiance ne forment pas des catégories disjointes. Les usages suivants précisent le traitement autour de l’évaluation. Les implémentations citées ont été lues, sans exécution.
| Réf. | Usage | Rôle du programme et limite |
|---|---|---|
| U10 | Contexte d’un agent sous budget | jselect : conserver extraits et références, gérer taille et répétitions. Mesurer la qualité de la réponse en aval. |
| U11 | Rapprochement d’entités | jlink : proposer des paires puis appliquer la règle de rapprochement. Mesurer séparément le rappel des candidats. |
| U12 | Extraction d’une valeur présente | Recette TypeSafe : regex pour les candidats, Jev pour le rôle, code pour la recopie et la normalisation. Une mauvaise sélection reste possible. |
| U13 | Support d’une affirmation par sa citation | Recette TypeSafe : recherche exacte puis évaluation du contexte. 8 exemples avec erreurs introduites, Jev 1.12 le 16 août; aucune validation générale. |
| U14 | Variables pour un modèle supervisé | AutoResearch : le LLM propose des questions, Jev produit les valeurs, CatBoost apprend, les erreurs orientent la suite. |
Le cookbook AutoResearch annonce 67 variables issues de 38 questions et une RMSE de 1,77 contre 2,47 avec des comptes de mots, sur 800 notes de vin réservées. Le code indique Jev 1.12; date de publication exacte non établie. Mesure du fournisseur, non reproduite. L’essai U14 doit comparer aussi les embeddings avec le même modèle supervisé.
Pour les skills, la recette officielle classe 182 candidats, vérifie les 3 premiers et peut s’abstenir. Elle annonce 16,8 % puis 7,3 % de chargements incorrects sur 315 demandes couvertes parmi 488 demandes synthétiques. Jev 1.12, rendu indiqué au 31 juillet : cette source est ajoutée au dossier, sans être présentée comme une mesure nouvelle de septembre.
6 essais inspirés des nouveaux projets
Propositions, non exécutées. Fixer les seuils de réussite avant de comparer. A1 et A2 offrent une démonstration lisible avec des textes sourcés; les pilotes GitHub et Sentry gardent leurs contrôles métier.
| Réf. | Essai | Comparateur | À mesurer |
|---|---|---|---|
| A1 | Veille IA : filtrer les titres puis vérifier chaque annonce dans sa source. | Mots-clés et sélection actuelle. | Annonces retrouvées, faux positifs, sources et coût par élément utile. |
| A2 | YouTube/Papers : sélectionner les passages qui contredisent une hypothèse. | BM25 puis reranker, mêmes documents et rédacteur. | Preuves conservées, négations et propos rapportés; qualité de la synthèse. |
| A3 | GitHub : présélectionner des hunks supprimant une gestion d’erreur. | Motifs textuels et revue actuelle. | Bugs vérifiés, omissions et bruit; suppressions justifiées ou code déplacé. |
| A4 | Sentry/GitHub : proposer des paires selon une définition de même cause probable. | Correspondances exactes puis mêmes candidats pour les modèles. | Rappel des candidats et faux rapprochements séparés; aucune fusion automatique. |
| A5 | Corpus : produire des colonnes jcol pour un classifieur. | TF-IDF et embeddings, même classifieur et mêmes partitions. | Gain réservé, coût total et stabilité FR/EN; affirmations citées puis réfutées. |
| A6 | Tests : choisir un premier sous-ensemble avant la suite complète. | Sélection par noms et dépendances uniquement. | Régressions retrouvées ou manquées, temps total incluant la sélection. |
L’idée de Kiln se transpose aussi à Sentry : comparer la sélection de frames et des changements de version transmis au modèle. Cette transposition reste une proposition; elle n’est pas une fonctionnalité démontrée dans l’article sur le pinyin.
Préparer un test reproductible
Définir les erreurs acceptables avant de choisir un seuil ou un nombre d’exemples.
- Décrire la décision
Fixer l’unité évaluée : ticket, paire Sentry/issue, correctif ou document. Écrire les catégories, les ambiguïtés et l’action que la suggestion pourrait entraîner.
- Constituer les réponses de référence
Faire annoter des exemples réels autorisés ou synthétiques par des personnes connaissant la tâche. Sur un sous-ensemble, 2 annotations indépendantes permettent de repérer les désaccords. Les arbitrer et conserver les consignes.
- Séparer les données
Réserver des ensembles distincts pour une éventuelle adaptation, le choix des questions et seuils, puis le test final. Grouper les doublons et reformulations du même incident. Pour un workflow historique, tester aussi une période ultérieure.
- Fixer les comparateurs
Règles existantes, recherche lexicale, classifieur ou LLM contraint et Jev reçoivent les mêmes informations utiles. Une variante avec questions décomposées doit être proposée à chaque modèle concerné.
- Exécuter et journaliser
Consigner version, route API, région cliente, options, nombre de questions, tokens, temps, réponse brute et erreurs. Alterner l’ordre des concurrents pour limiter l’effet des variations de charge.
- Évaluer la chaîne
Mesurer les erreurs, la couverture, les reprises, le coût et la latence. Vérifier ensuite l’effet sur la rédaction ou l’enquête finale, avec le même modèle en aval.
| Tâche | Mesures utiles | Erreur à regarder de près |
|---|---|---|
| Catégorisation GitHub | Précision et rappel par catégorie, macro-F1, matrice des confusions, couverture | Une catégorie rare importante systématiquement oubliée. |
| Rapprochement Sentry | Rappel des candidats puis précision des rapprochements acceptés | 2 incidents distincts fusionnés à tort. |
| RAG | Rappel des passages nécessaires, qualité du classement, exactitude de la réponse finale | Un passage indispensable écarté avant la rédaction. |
| Notes de version | Correctifs utiles retenus, omissions, éléments internes inclus, fidélité du texte final | Un impact utilisateur inventé à partir d’un titre ambigu. |
| Probabilités | Brier avec convention explicite, ECE avec tranches/effectifs, diagramme de fiabilité | Une mauvaise calibration précisément dans la zone automatisée. |
Le français mérite un sous-ensemble propre : accents, formulations orales, abréviations métier, fautes, négations et tickets mêlant français et anglais. Une traduction d’un même cas doit rester dans le même groupe de données. Comparer 2 jeux de sujets différents en français et en anglais ne permet pas d’attribuer leur écart à la langue seule.
- Pour les choix nombreux, faire varier le nombre de distracteurs proches tout en gardant le même problème.
- Permuter à la fois la position et les identifiants des options.
- Au-delà de la limite documentée, un filtre préalable puis un choix final forment un nouveau système : mesurer les candidats éliminés à tort et le coût des 2 étapes.
Commencer en mode suggestion permet de comparer chaque sortie à la décision habituelle. Le journal peut stocker un identifiant pseudonymisé, les versions, la décision suggérée, son devenir et les métriques de l’appel. Les clés API et les contenus sensibles n’ont pas leur place dans un jeu de résultats destiné à être partagé.
| Pilote | Critère de rejet avant adoption | Décision après le test |
|---|---|---|
| GitHub | À couverture comparable, davantage d’erreurs sur les catégories prioritaires que la méthode actuelle, ou aucun gain sur le coût complet et la relecture. | Conserver le comparateur ; analyser les cas où Jev apporte une information supplémentaire. |
| Sentry | Au niveau de faux rapprochements fixé avant l’essai, rappel inférieur à la méthode actuelle ou surcoût sans réduction de l’enquête. | Écarter Jev de ce rapprochement. Une erreur de recherche de candidats se corrige en amont. |
| Notes de version | Omission d’un changement obligatoire dans les cas de contrôle, ou davantage de correctifs utiles omis sans gain de relecture. | Corriger le filtre ou garder la sélection actuelle ; ne pas publier automatiquement. |
Ces critères sont une proposition de protocole, pas des seuils métier déjà approuvés.
- Avant l’essai, le responsable renseigne le taux maximal d’erreur par classe, la couverture minimale, le coût complet maximal et le p95 acceptable.
- Si l’échantillon ne permet pas de départager les méthodes, le résultat reste indécis et l’automatisation n’est pas élargie.
- Une sortie n’obtient jamais de permission nouvelle parce que son score est élevé.
Pour le routage de modèles, demander à un expert quel modèle il préfère ne suffit pas. Exécutez la tâche avec les modèles candidats sur un ensemble de référence, puis comparez la qualité obtenue, le coût et la latence du modèle choisi. Le routeur ajoute son propre coût. Évaluer son accord avec un avis expert est une mesure distincte, utile mais insuffisante pour établir un gain sur les tâches terminées.
| Pilote proposé | Comparaison à figer avant le test | Décision attendue |
|---|---|---|
| Pré-tri GitHub | Règles actuelles, NLI zero-shot, Jev et LLM à sortie contrainte. Ajouter un classifieur entraîné si des labels utilisables existent. Tester séparément les catégories stables et une politique modifiée. | Mesurer l’erreur, l’abstention et le coût de maintenance. Tous les systèmes doivent recevoir la même politique ; adapter aussi les règles quand le changement est calculable. |
| Rapprochement Sentry | Donner aux comparateurs les mêmes candidats issus de la recherche. Séparer cas identiques, reformulations, messages proches de causes différentes et absence de candidat. | Mesurer faux rapprochements et doublons manqués, puis la part proposée à la relecture. Une suggestion ne fusionne aucun incident. |
| Décisions avant action d’un agent | Rejouer hors production des actions autorisées, interdites et ambiguës, avec ou sans injection dans les données. Séparer les règles d’autorisation du classement sémantique. | Compter les actions dangereuses non signalées et les actions sûres bloquées. Tester erreurs réseau et cas hors domaine ; aucune probabilité ne crée un droit d’action. |
- Mesurer l’erreur et la couverture pour toutes les méthodes. Pour celles qui produisent des probabilités, évaluer aussi leur calibration et la qualité des décisions conservées après un seuil. Le champ confidence n’est pas une probabilité d’exactitude.
- Régler les seuils sur le jeu de validation, puis mesurer le taux d’erreur et la couverture sur le test réservé.
Un texte synthétique ou une langue rare ne prouvent pas que le modèle n’a jamais rencontré une donnée proche pendant son entraînement.
Garder les permissions dans le code
Un signal produit par Jev peut aider à repérer un risque ; il ne doit pas créer un droit d’action.
L’audit Perplexity envisage un contrôle avant l’action d’un agent. Le test proposé consiste à utiliser Jev pour repérer les cas qui méritent une relecture supplémentaire. L’autorisation reste définie par l’identité, les droits, les actions permises et les approbations du système. Comparer ce signal aux règles locales et à un juge LLM exige de compter les actions dangereuses non signalées, les actions sûres bloquées, la latence et le coût.
DIAGRAMME · Un signal de risque dans une application
Un format strict limite la forme de la réponse. Il n’empêche pas une instruction malveillante dans un ticket de modifier la catégorie choisie. Le test doit donc inclure du texte ordinaire, des instructions intégrées aux données et des formulations ambiguës, sans confondre ces 3 populations. Une classification rassurante ne neutralise pas une injection.
Pour GitHub et Sentry, la première sortie reste une suggestion. Retrouver un identifiant exact, vérifier un droit d’accès ou appliquer une règle de sévérité est un travail de code. Réserver le modèle à une question sémantique ne dispense pas de tester cette question : « même cause probable » peut être faux malgré des messages d’erreur très proches.
Lire le visuel « Top 9 places to Use Jev »
Une image transmise pendant la recherche porte ce titre et le logo ByteByteGo. L’URL et la date de publication restent inconnues; elle n’est pas reproduite ici. Ses flèches simplifient la place du code entre l’évaluation et l’action.
| Case | Lecture corrigée |
|---|---|
| 9 | Le classifieur ne fixe pas les seuils. Le code applique une politique; 0,5 et 0,9 sont des exemples à valider sur les données. |
| 2–3 | Un score de risque ne crée aucun droit d’action. Vérifier les permissions et les règles avant allow, ask, deny ou block. |
| 4 | 1 500 emails pour 0,03 USD supposeraient environ 476 tokens d’entrée facturés par email au tarif direct. Longueur, questions et reprises ne sont pas précisées. |
| 8 | Une boucle dessinée à 300 ms ne démontre pas une garantie de latence. Les appels lents et les erreurs doivent être traités. |
Le calcul du coût suppose le tarif direct de 0,042 dollar par million de tokens : 0,03 dollar finance environ 714 286 tokens, soit 476 pour chacun des 1 500 emails. Ce calcul n’est pas un benchmark. La documentation confidence demande d’adapter les seuils au domaine et aux performances observées.
La formule « 100× plus rapide et moins cher » ne décrit pas tous les usages : TypeSafe situe ses plus gros gains dans le haut de la plage attendue pour ses workflows évalués. La mention du trading ne fournit ni résultat de stratégie ni mesure prédictive. Une faible latence ne suffit pas à valider une application critique.
Sources et veille
SDK officiels et projets inspirés de Jev
Une interface compatible ne fournit ni les poids de Jev ni son procédé d’apprentissage.
| Dépôt officiel | Stars GitHub | Rôle | Version ou réglage à conserver |
|---|---|---|---|
| typesafe-sdk-python | 220 | Client Python pour appeler Jev et lire ses réponses typées. | Release 0.7.1 du 21 septembre; tutoriel conservé et vérifié sur 0.7.0. Python 3.10 minimum; licence MIT pour le client. |
| typesafe-sdk-js | 234 | Client JavaScript et TypeScript. | Tag v0.6.0, Node 20 minimum ; licence MIT pour le client. |
| system-one-adapter-python | 289 | Pose les mêmes questions à une API de LLM et expose des réponses compatibles avec system_one. | Choisir sortie structurée, réponse discrète ou probabilités. Consigner normalisation, nouvelles tentatives, tokens et latence. |
L’adaptateur officiel facilite les comparaisons des pilotes GitHub et Sentry : les mêmes entrées et questions peuvent passer par Jev ou par un LLM.
- Son mode
discretedemande une décision, son modeprobabilitiesdemande une distribution. Ces 2 tâches n’ont pas le même coût ; le protocole doit préciser laquelle répond au besoin. - Le README documente les traces des tentatives et les corrections de structure.
- Cet adaptateur n’a pas été exécuté pour ce dossier. Le tutoriel Premier appel vérifie le client Python officiel sur un transport simulé, sans inférence.
| Projet | Stars GitHub | Approche décrite | Résultats et limites annoncés |
|---|---|---|---|
| SemIf, ancien TheoLeeCJ/openjev | 4 205 | Qwen 4B gelé, lecture de logits pour une interface de décision. | Ni les poids Jev ni RLCD. Le projet se déclare non affilié. |
| vinnylarouge/jevlike | 1 283 | Encodeur byte entraîné de zéro par défaut, tête d’attention sur les options ; encodeur préentraîné et chemin visuel facultatifs. | L’auteur publie 0 victoire, 2 nulles et 48 défaites contre Stockfish niveau 0. Les extraits vidéo sont sélectionnés pour montrer de l’activité. |
| daseinlabs/open-jev | 108 | Gemma 3 4B sur MLX ; score de continuations et contexte mis en cache. | Calibration à évaluer séparément. Aucune licence identifiée par l’API GitHub au 21 septembre 2026. |
| razorback16/openjev | 392 | DiffusionGemma ; compatibilité annoncée avec le protocole et les SDK Jev, images et génération de texte en plus. | Poids différents, 128 options au maximum. Le README propose aussi le service tiers api.codiv.ai ; sa disponibilité n’a pas été testée ici. |
| OpenSysOne | s.o. | Adaptateurs de rang 8 et tête scalaire sur Qwen3-4B-Instruct-2507 ; 16,5 millions de paramètres entraînables, code et adaptateurs sous Apache 2.0. | Entrée limitée à 1 024 tokens. ECE de 8,30 % sur Social IQA selon l’auteur ; pas de comparaison directe à Jev. Plus lent que ses 2 comparateurs sur les 12 charges profilées. |
| Laya | 22 502 | Encodeurs ModernBERT-large ou mmBERT-base, modèles de 421 ou 322 millions de paramètres, réponses Choice/Score/Noul et routeur de modèles. | Le bon résultat sur typed-decisions vient d’un modèle ajusté sur son ensemble d’entraînement. Les résultats Jev sont repris de tiers, avec d’autres questions et effectifs. |
| browser-use/jev-ultrafast | 19 660 | Jev choisit une opération et un élément observé ; un petit LLM rédige uniquement le texte à saisir. | Comparaison de 2 versions sur 3 répétitions chacune d’une recherche de vols. Aucun vol réservé ; le succès final est vérifié séparément. |
Le test SemIf compare une lecture de scores à du JSON généré sur RTX 3090, avec un accord de 18 décisions sur 21. Sa comparaison à Jev reprend des sorties publiques du fournisseur, sans nouvel appel à Jev. Ces résultats proviennent du README. Aucun projet de ce tableau n’a été installé ni exécuté pour ce dossier.
Dans sa vidéo, Micah explique sa lecture de logits à 02:07, puis la distillation par un modèle professeur à 02:39. Cette démonstration entraînée est distincte du Qwen 4B gelé de SemIf. À 03:55, il précise les limites de sa démonstration Doom et rappelle que l’architecture Jev n’est pas divulguée.
La fiche OpenSysOne, inaccessible lors de la première collecte, a été lue le 21 septembre. Elle distingue entraînement, calibration et test.
- Sur 768 décisions Social IQA réservées, elle rapporte 72,92 % contre 70,31 % pour son modèle de base.
- Ses mesures de vitesse sont en FP32, à chaud et en série sur une machine GB10 : elles comparent ses propres variantes, sans appel Jev.
Le README de Laya publie aussi les échecs de ses modèles de base : sur 2 000 décisions typées, ils restent sous la classe majoritaire, tandis que le modèle ajusté atteint 76,6 %.
- Les auteurs reprennent les chiffres Jev publiés ailleurs ; cela ne forme pas un face-à-face à entrées identiques.
- Les latences locales sur GPU T4 ne comprennent pas le service réseau de Jev. L’inférence locale demande du matériel, même sans facture d’API.
- Le sigle RLCD employé par Laya désigne sa méthode publiée, sans établir qu’elle reproduit celle de TypeSafe.
- Dans Pixel 0.4.0, le routage de plan reconnaît des mots et choisit parmi 5 analyses.
- Le classement des fichiers combine plusieurs indices.
- Les pistes issues d’embeddings sont classées P2 et signalées comme non vérifiées.
- Le champ confidence du résolveur de concepts prend les valeurs resolved, ranked ou unresolved ; ce statut de recherche n’est pas une probabilité de justesse.
Pour choisir entre Pixel et Jev, commencer par la décision attendue. Pixel peut calculer et classer ce que ses règles et ses index décrivent ; Jev évalue par inférence apprise des critères fournis dans l’appel. Une règle métier peut très bien suffire à trier des tickets. L’intérêt de Jev dépend des cas que cette règle couvre mal et du coût pour l’entretenir. Les sources de Pixel ont été inspectées à la version citée, sans benchmark comparatif : une équivalence de qualité ou de vitesse entre ces approches reste à mesurer.
- jevtypesafeai.com annonce 0,42 dollar par million de tokens d’entrée, 10 fois le tarif direct, et présente explicitement ce supplément comme le prix de son service géré.
- jev-agent.com propose 5 crédits gratuits par mois, puis des packs payants sans abonnement.
Ces sites se déclarent indépendants de TypeSafe et annoncent relayer les appels vers son API.
Les conditions de jev-agent.com précisent que les textes sont transmis à TypeSafe. TokenRa, agrégateur d’API, affiche Jev à 0,042 dollar par million de tokens, au même prix que sa colonne « tarif officiel ». Ce sont les déclarations des opérateurs, lues le 21 septembre ; aucun appel ni circuit réel de transmission des données n’a été testé ici.
- La description de la vidéo de Micah a fourni les liens SemIf, jevlike, open-jev et OpenSysOne.
- Celle de Sam Witteveen, à 17:50 renvoie à Laya.
- Les listes AnotiaWang/awesome-jev, fatwang2/awesome-jev et Made with Jev complètent cette découverte.
Seules leurs sections utiles ont été parcourues ; leur sélection ne garantit ni exhaustivité ni performance.
Laya : 3 lignes de calibration qui ne se comparent pas directement
Le README de Laya à la révision consultée contient plusieurs tableaux. Reprendre seulement 0,081 contre 0,246 donnerait l’impression d’un essai commun qui n’a pas été exécuté.
| Tableau du README | Valeurs rapportées | Limite |
|---|---|---|
| Typed-decisions, modèles comparés sur 400 cas et 2 000 décisions | Laya spécialiste : 0,213 ; Jev repris de tiers : 0,144. | Le spécialiste a été ajusté sur ces workflows ; les résultats Jev proviennent d’une autre exécution. |
| Calibration des modèles de base | Laya : 0,466 puis 0,081 ; multilingue : 0,314 puis 0,106. | Le second nombre suit un réglage des températures par type et nombre d’options. Il ne décrit pas le même checkpoint que la ligne précédente. |
| Tableau de synthèse Laya avec routage / Jev | 0,081 et 0,246. | Valeurs issues d’expériences distinctes, insuffisantes pour conclure à une meilleure calibration générale. |
La fiche laya-typed-decisions signale aussi un réglage hérité pouvant écraser les températures par type. Conserver le checkpoint et la configuration exacte est donc nécessaire. Il faudrait faire passer les mêmes entrées aux 2 systèmes, avec calibration sur un jeu séparé, pour les départager.
Les ajouts du 24 septembre sont répartis entre les commandes et intégrations et Laya-MLX / Kev. Les premières utilisent une interface d’évaluation; les seconds servent d’autres poids. Leurs résultats ne révèlent pas l’architecture de Jev.
Filtrer, trier et sélectionner le contexte avec Jev
Des commandes et des intégrations rendent les usages concrets. Leurs README décrivent des fonctionnalités; leurs mesures restent celles des auteurs.
La collecte du 24 septembre ajoute 17 dépôts absents de la version 0.15.0. Certains existaient avant le 21 septembre : date de découverte et date de création sont séparées. Les sources utiles ont été lues et une partie du code de jgrep a été inspectée; aucun de ces outils n’a été installé ou exécuté pour ce dossier.
| Outil | Stars GitHub | Opération | Condition à conserver |
|---|---|---|---|
| jgrep | 85 | Filtrer des lignes, paragraphes, CSV/JSONL, diffs ou fonctions selon une description. | Le code filtre une probabilité Noul. Le seuil doit être choisi pour la tâche. |
| jsort | 21 | Comparer des textes par paires selon un critère puis ajuster une échelle Bradley-Terry. | L’échelle et son erreur standard ne prouvent pas que le critère produit un classement juste. |
| jlink | 4 | Rapprocher des enregistrements selon une définition de la même entité. | Le filtre initial peut éliminer la bonne paire avant l’évaluation. |
| jcol | 1 | Transformer une grille de codage en colonnes, avec sauvegarde et reprise. | La signification des champs de confiance dépend de la primitive. |
| jselect | 3 | Sélectionner des extraits référencés sous un budget de tokens, avec pertinence et diversité. | Sans clé, le mode automatique peut être lexical. La sortie conserve les extraits, sans résumé généré. |
Ces commandes partagent jevkit-core, distribué sous le nom jevkit-runtime, pour le transport, le cache, la provenance et les coûts. Elles viennent du même auteur; leur nombre ne mesure pas le nombre de validations indépendantes. Versions observées le 23 septembre : jgrep 0.4.1, jselect 0.3.1 et runtime 0.3.1. Le support des serveurs locaux date des versions précédentes du 22.
Le code de jgrep inspecté construit des questions Noul et applique un seuil de 0,5 par défaut. Avec plusieurs descriptions, il utilise un minimum ou un maximum selon le mode; ces opérations ne calculent pas une probabilité jointe. Le README annonce environ 200 ms par appel et rapporte 994 titres traités en 4,6 secondes pour 0,012 dollar, avec concurrence. Ces chiffres sont ceux de l’auteur.
Exemples adaptés, non exécutés. Ils supposent jgrep installé et un fournisseur configuré; un fournisseur hébergé peut facturer les appels. Le premier attend un CSV avec une colonne abstract, le second évalue les hunks du diff courant. Les sorties demandent une relecture.
Terminal 2 critères sémantiques à essayer 2 lignes
jgrep --csv --field abstract "reports a failed replication" papers.csv
git diff --no-color | jgrep --diff "removes error handling for a persistent write"| Projet | Stars GitHub | Apport documenté | Limite |
|---|---|---|---|
| llm-typesafe | 13 | Plugin de l’outil LLM de Simon Willison, créé le 22 septembre : CLI, Python, modèles de requête et 3 primitives. | Une intégration supplémentaire, sans nouvelle mesure de qualité. |
| jev-compactor | 1 | Retirer des messages peu pertinents et conserver les autres tels quels. CLI, MCP et bibliothèque TypeScript. | Conversations synthétiques et comparateurs reconstitués; réussite d’une continuation réelle non établie. |
| jev-semgrep | 135 | Expressions AND/OR/NOT et exemples de recherche multilingue. | Projet distinct de Semgrep. Les exemples ne valident pas toutes les langues. |
| nassim-arifette/jevgrep | 66 | Recherche de code par comportement, avec fichiers et lignes, via CLI/MCP. | Le README distingue transports simulés et essais réels limités. Gain final pour l’agent à mesurer. |
| kyu1204/jgrep | 29 | Recherche de code, règles sur les diffs, annotation de tableaux et présélection de tests. | Les fragments sont jugés isolément. La sélection ne remplace pas toute la suite de tests. |
keltokhy/jgrep, kyu1204/jgrep et nassim-arifette/jevgrep sont distincts. Le deuxième distribue le paquet npm jevgrep; le troisième @nassim-arifette/jevgrep. Leurs options et leurs résultats ne sont pas interchangeables.La sélection de tests de kyu1204 retient d’abord les fichiers par nom et imports, puis interroge Jev sur les autres candidats à partir du diff et des noms de tests. L’auteur demande de lancer ensuite toute la suite. Mesurer le premier signal utile et les régressions manquées, en incluant le coût de sélection.
Dates des 17 dépôts ajoutés
Métadonnées GitHub consultées le 24 septembre 2026. Une date de push n’est pas une date de fonctionnalité. jcol, le runtime et llm-typesafe ont été créés dans la fenêtre du 21 au 24; les autres entrées sont des découvertes ou des mises à jour de projets antérieurs.
| Dépôt | Stars GitHub | Création | Dernier push |
|---|---|---|---|
| keltokhy/jgrep | 85 | 2026-09-18 | 2026-09-23 |
| keltokhy/jsort | 21 | 2026-09-19 | 2026-09-23 |
| keltokhy/jlink | 4 | 2026-09-18 | 2026-09-23 |
| keltokhy/jcol | 1 | 2026-09-21 | 2026-09-23 |
| keltokhy/jselect | 3 | 2026-09-19 | 2026-09-23 |
| keltokhy/jevkit-core | 0 | 2026-09-22 | 2026-09-23 |
| nassim-arifette/jevgrep | 66 | 2026-09-20 | 2026-09-23 |
| sglenon/jev-semantic-reviewer | 0 | 2026-09-18 | 2026-09-21 |
| supercorp-ai/supercov | 114 | 2026-08-23 | 2026-09-24 |
| mizorewww/laya-mlx | 6 166 | 2026-09-19 | 2026-09-22 |
| simonw/llm-typesafe | 13 | 2026-09-22 | 2026-09-22 |
| edwardyen724-g/jev-compactor | 1 | 2026-09-19 | 2026-09-19 |
| uehaj/jev-semgrep | 135 | 2026-09-19 | 2026-09-24 |
| kyu1204/jgrep | 29 | 2026-09-19 | 2026-09-23 |
| NiazMorshed2007/jev-review | 221 | 2026-09-17 | 2026-09-17 |
| devagrawal09/jev-review | 595 | 2026-09-16 | 2026-09-17 |
| jaredpalmer/kev | 6 644 | 2026-09-17 | 2026-09-24 |
Laya-MLX et Kev : des modèles locaux à comparer
Les mêmes types de questions peuvent être servis par des poids différents. Compatibilité, vitesse et qualité se vérifient séparément.
Laya-MLX est un portage indépendant de Laya vers MLX sur Apple Silicon. Après téléchargement, l’inférence est locale et produit Choice, Score et Noul. Le README figé au 22 septembre documente un modèle anglais de 421 millions de paramètres, un multilingue de 322 millions et une variante typed-decisions de 421 millions. Il ne fournit pas les poids de Jev. Version déclarée : 0.2.0, commit 0a85951.
| Modèle | Médiane dans le README | Rapport et données brutes |
|---|---|---|
| Anglais | 13.42 ms | 17.75 ms |
| Multilingue | 7.39 ms | 10.91 ms |
Les 50 échantillons de chaque fichier donnent 17,745958 et 10,9073125 ms après recalcul. Les données sont datées du 22 septembre, sur M3 Max à 40 cœurs GPU et 128 Gio. Le temps inclut préparation, inférence synchronisée et formatage; chargement et téléchargement sont exclus. Le README ne concorde pas avec ces fichiers au même commit. Sources : rapport, anglais, multilingue. Ces benchmarks M3 Max n’ont pas été rejoués dans les mêmes conditions.
L’accord de 63/63 réponses avec le moteur d’origine, pour chaque modèle et précision, mesure la fidélité du portage. Le petit test AG News porte sur un corpus présent dans le mélange d’entraînement amont. Ces 2 observations ne prouvent pas une équivalence générale avec Jev.
Le guide JevKit fournit un serveur adaptateur séparé et documente jgrep --api laya. Il refuse par défaut les textes qui seraient coupés. L’auteur n’a essayé que le modèle anglais 421M; son guide épingle le portage au 19 septembre, avant la correction de calibration. Ses essais ne valident donc pas automatiquement la révision du 22. Le comparatif jgrep montre aussi des classements différents selon les tâches.
Dans la démo Snake, le programme prépare des informations sur le plateau, Laya évalue les propositions, puis une règle de sécurité peut corriger l’action. Les résultats de survie concernent cet ensemble; ils ne démontrent pas une résolution autonome à partir du plateau.
Kev propose des poids et des recettes d’entraînement pour une famille Qwen3.5 de 0,8B, 4B et 9B. Son API reprend System One; le README examiné documente CUDA, ROCm et Apple Silicon via MLX. Sa référence à une analyse intitulée « Architecture Unmasked » ne prouve pas que l’architecture propriétaire de Jev est connue.
Le 24 septembre, Kev-4B reçoit une spécialisation sur des réclamations financières : le gain annoncé reste dans le même domaine et les mêmes formulations de questions. Le commit 60c8d39 ajoute le traitement groupé et des optimisations GPU. Les données d’entraînement de Jev étant inconnues, le comparatif ne permet pas d’isoler les architectures. Le dépôt conserve aussi des écarts défavorables à Kev sur des évaluations externes.
- Strands Decider 2B v1-2610 : adaptateur LoRA et tête de lecture sur Qwen3.5-2B, Apache 2.0.
pip install strands-decider, puisstrands-decider serveexpose/v1/systemonesur 127.0.0.1, sans authentification. La fiche prévoit--device mpspour Apple Silicon et des évaluations sur une fenêtre de 4 096 tokens. - Clef (27B) a été testé par Cloudflare sur une H200 ; Clef-omni demande environ 64 Go de mémoire GPU en bf16. Leur déploiement local relève d’un serveur GPU, pas d’un portable.
- pplx-decider v1.1 de Perplexity, sous Apache 2.0, demande environ 49 Gio de mémoire GPU pour ses poids.
Questions fréquentes
Réponses courtes aux confusions qui reviennent dans les articles et les démonstrations.
Suivre les évolutions de Jev
Une veille hebdomadaire suit les versions, les prix, les publications et les nouveaux tests.
| Nouveauté attendue | Travail prévu | État au 21 septembre |
|---|---|---|
| Version, prix ou limite modifiés | Dater la nouvelle valeur et refaire les tests concernés | Valeurs documentées au 21/09 |
| Article scientifique ou fiche technique RLCD | Lire la méthode, les données et la description de l’architecture | Aucune publication suffisante trouvée dans cette recherche |
| Benchmark indépendant reproductible | Vérifier les données, les comparateurs, les jeux de test et les résultats bruts | Rapports tiers lus, sans reproduction des tests |
| Échanges communautaires | Relever les questions et essais, distinguer les opinions et respecter le caractère privé des propos | Extraits reçus et analysés ; fil complet non disponible |
| Audit Perplexity transmis | Vérifier les affirmations dans les sources d’origine et intégrer les corrections | Intégré à la révision 0.6 ; pistes non vérifiées signalées |
L’audit Perplexity sert de carte de recherche. Ses articles de synthèse, vidéos et reprises commerciales ne sont pas comptés comme autant de réplications. Les sources primaires ont été privilégiées pour l’API, les conditions d’accès et les expériences ; les pages secondaires restent utiles pour retrouver un auteur ou un essai.
La veille signale les changements utiles ; elle ne publie pas le dossier et ne lance pas de tests payants. Chaque révision conserve la date des sources, les résultats bruts et les versions antérieures.
Poursuivre la recherche avec Perplexity
Relancer à partir du 24 septembre et vérifier les changements précis. Le prompt ne demande ni installation, ni appel d’inférence, ni publication. Conserver les URL et les dates de chaque source.
Prompt Prompt Deep Research actualisé 11 lignes
Recherche complémentaire Jev / TypeSafe. Dossier de référence : version 0.16.0, collecte du 24 septembre 2026. Fixe une nouvelle date de fin et cherche les changements postérieurs; marque séparément les projets plus anciens absents du dossier.
Déjà couverts : primitives, calibration, RLCD non entièrement divulgué, benchmarks antérieurs et 17 dépôts supplémentaires : keltokhy/jgrep, jsort, jlink, jcol, jselect et jevkit-core; nassim-arifette/jevgrep; sglenon/jev-semantic-reviewer; supercorp-ai/supercov; simonw/llm-typesafe; edwardyen724-g/jev-compactor; uehaj/jev-semgrep; kyu1204/jgrep; NiazMorshed2007/jev-review; devagrawal09/jev-review; mizorewww/laya-mlx; jaredpalmer/kev. Ne les présente pas comme nouveaux sans changement daté. Les jgrep/jevgrep sont des projets distincts.
Vérifie les releases TypeSafe (Python 0.7.1 observé, tutoriel du dossier testé sur 0.7.0; JS 0.6.0), les modèles, prix et limites. Distingue Jev hébergé et modèles locaux. Pour Laya-MLX, examine l’écart README/mesures brutes, la troncature et les températures corrigées; le guide JevKit épingle une révision antérieure. Pour Kev, sépare développement, test et spécialisation de domaine.
Explore les outils composables, sélection de contexte, rapprochement, extraction de valeurs existantes, citations, variables supervisées et sélection de tests. Relis les cookbooks skill_suggestion, autoresearch_feature_discovery, pre_parsed_value_extraction_cookbook et citation_check sur docs.typesafe.ai. Essaie de récupérer autoformat, annoncé par llms.txt mais inaccessible lors de la collecte. Leurs exemples Jev 1.12 ne deviennent pas de nouvelles mesures de septembre.
Priorité aux sources primaires, commits, protocoles, échecs et réponses brutes. Jev évalue; le code applique seuils, permissions et actions. Confidence ne mesure pas une probabilité de justesse. Ne généralise pas les facteurs 100×, les coûts par email ou les boucles à 300 ms. Ne déduis pas l’architecture propriétaire d’une réimplémentation.
Livre 5 découvertes utiles, une matrice datée des changements et sources, les limites et des essais avec comparateurs et critères de réussite. Sépare fonctionnalités documentées, chiffres des auteurs, résultats reproduits et propositions. UNKNOWN pour ce qui reste invérifiable. N’installe rien, n’appelle pas l’API et ne publie rien. Les synthèses Perplexity précédentes contenaient des erreurs; vérifie chaque fait à sa source.Une publication détaillant RLCD permettrait d’étudier la nouveauté de la méthode. Un comparatif avec des méthodes d’apprentissage ou de calibration concurrentes devrait contrôler le modèle de base, les données et les réglages. Cette publication dépend de TypeSafe ; elle constitue un point de veille, pas un test que le lecteur peut exécuter avec la seule API.
L’index officiel annonce aussi un cookbook autoformat qui reconstitue une structure Markdown. Sa page détaillée était inaccessible pendant cette collecte : piste à recouper, sans résultat retenu.
Pour aller plus loin
Mes articles et guides pour configurer vos agents, préparer vos essais et suivre leurs coûts. FR et EN indiquent la langue de lecture.
- Configuration portable de Claude Code et Codex (EN) : organiser instructions, skills, hooks et vérifications dans une configuration partagée.
- Back Market et OpenRouter (FR) : un retour d’expérience sur les budgets et le choix des fournisseurs derrière une API commune.
- Concevoir les boucles et les étapes d’un agent (EN) : définir les étapes, les conditions d’arrêt et le passage à une personne.
- Évaluer un agent (EN) : choisir les critères de qualité et comparer des exécutions avec leurs outils et leurs règles.
- Calculer le coût par tâche acceptée (EN) : compter les tentatives, les reprises et la relecture dans le coût d’un résultat accepté.
- Sécuriser les agents, hooks et outils (EN) : traiter les permissions, les dépendances et les entrées non fiables.
Glossaire
Les termes utilisés dans ce dossier.
- Abstention
- Cas que l’application laisse à une personne ou à une autre méthode, faute de pouvoir décider selon ses règles.
- Calibration
- Accord entre les probabilités annoncées et les résultats sur un ensemble de cas. Parmi des prédictions à 80 %, on s’attend à environ 80 % de réussites ; cela ne garantit aucune réponse prise isolément.
- Réponse typée
- Réponse dont la forme est définie avant l’appel : option et probabilités avec Choice, note et probabilités avec Score, probabilité de oui avec Noul. Le code applicatif détermine comment l’utiliser pour décider du traitement.
Les autres termes du glossaire
- Ablation
- Expérience qui retire ou modifie un composant pour mesurer sa contribution, en gardant le reste comparable.
- API
- Interface qu’un programme appelle pour obtenir une réponse structurée.
- Autorégressif
- Qui construit la sortie en prédisant le token suivant à partir du contexte et des tokens déjà produits. Le schéma du dossier décrit ce mode de génération courant.
- Backbone
- Réseau principal d’un modèle, auquel peuvent s’ajouter des composants spécialisés.
- Baseline
- Méthode de référence à laquelle on compare Jev : règle, recherche lexicale, classifieur ou autre modèle.
- BM25
- Score de recherche lexicale basé sur les mots de la requête et du corpus. Son score n’est pas une probabilité.
- Bradley-Terry
- Modèle statistique qui ajuste une échelle à partir de comparaisons par paires. Il dépend des jugements fournis et ne prouve pas leur justesse.
- Brier
- Mesure l’écart au carré entre les probabilités annoncées et les résultats observés. Avec plusieurs classes, préciser comment les écarts sont agrégés.
- CatBoost
- Modèle supervisé sur données tabulaires; le cookbook lui fournit des colonnes calculées à partir de textes.
- Codebook
- Grille qui définit les catégories ou niveaux à attribuer aux éléments d’un corpus.
- Confidence
- Champ de Jev calculé à partir de la concentration des probabilités entre les options. Il est distinct de la probabilité attribuée à chaque option.
- Couverture
- Part des cas que l’application traite automatiquement, après avoir écarté ceux qui demandent une relecture.
- Distillation
- Entraînement d’un modèle à partir des réponses ou scores d’un autre modèle, appelé professeur. L’accord avec ce professeur ne prouve pas la justesse des réponses.
- Distribution
- Ensemble des probabilités attribuées aux réponses possibles. Elle est concentrée lorsqu’une option reçoit l’essentiel de la probabilité.
- DPA
- Data Processing Agreement : accord décrivant les conditions de traitement des données personnelles entre les parties.
- ECE
- Écart moyen de calibration mesuré par tranches de probabilités. Le résultat dépend des tranches choisies et du nombre de cas dans chacune.
- Encodeur
- Modèle ou composant qui transforme une entrée en une représentation numérique utilisable pour classer ou comparer des données.
- Jaccard
- Mesure le recouvrement entre 2 ensembles, par exemple les mots de 2 titres. Des mots communs ne prouvent pas que 2 bugs ont la même cause.
- Jeu de test
- Ensemble d’exemples réservé à l’évaluation finale, sans servir au choix des seuils ni à l’apprentissage.
- LLM
- Modèle de langage généralement utilisé pour produire du texte, éventuellement contraint à un schéma de sortie.
- Log-loss
- Mesure qui pénalise la faible probabilité attribuée à la réponse correcte, particulièrement lorsque le modèle se trompe avec assurance.
- Logits
- Scores bruts produits par un modèle avant leur éventuelle conversion en probabilités. Les lire ne garantit pas la calibration.
- Macro-F1
- Moyenne du F1 de chaque classe, donnant le même poids aux classes fréquentes et rares. Le F1 combine précision et rappel.
- MCA
- Master Customer Agreement : contrat général entre le fournisseur et son client, à lire avec les éventuelles conditions particulières.
- MLX
- Bibliothèque de calcul utilisée ici pour exécuter des modèles localement sur Apple Silicon.
- nDCG@10
- Mesure la qualité du classement des 10 premiers résultats, en tenant compte de leur pertinence et de leur position.
- NLI
- Natural Language Inference : évaluer si un texte confirme une hypothèse, la contredit ou ne permet pas de conclure. Une catégorie reformulée en hypothèse peut servir à classer le texte.
- Noul
- Type de question Jev qui renvoie une probabilité entre 0 et 1 pour une question binaire.
- p50/p95
- Temps de réponse sous lesquels se situent respectivement 50 % et 95 % des appels réussis. Les échecs se comptent séparément et restent dans le bilan.
- PPO
- Proximal Policy Optimization : méthode d’apprentissage par renforcement utilisée notamment dans Rewarding Doubt. Son emploi par Jev n’est pas établi ici.
- Primitive
- Type de question et de réponse de l’API TypeSafe : Choice, Score ou Noul. L’application le choisit avant l’appel.
- Précision
- Parmi les cas sélectionnés ou attribués à une catégorie, proportion dont la décision est correcte. À distinguer du taux global de bonnes réponses.
- RAG
- Génération d’une réponse à partir de documents retrouvés. Le filtrage des documents n’est qu’une étape de la chaîne.
- Rappel
- Parmi les cas qui auraient dû être retrouvés ou retenus, proportion effectivement récupérée.
- Reranker
- Méthode qui reclasse des documents déjà trouvés par un moteur de recherche.
- RLCD
- Reinforcement Learning for Calibrated Decisions, nom donné par TypeSafe à son procédé d’apprentissage. Les documents trouvés ne suffisent pas à le reproduire.
- RLHF
- Apprentissage par renforcement à partir de retours humains. InstructGPT est un travail de référence auquel Diogo Almeida a contribué.
- RLVR
- Apprentissage par renforcement à partir de récompenses vérifiables, par exemple en contrôlant une réponse ou l’exécution d’un programme.
- SDK
- Bibliothèque cliente qui facilite les appels à une API. Son code public ne rend pas publics les poids du modèle.
- Softmax
- Transformation de scores en nombres positifs dont la somme vaut un. Cette propriété numérique ne garantit pas des probabilités calibrées.
- Sortie contrainte
- Réponse dont le décodage limite les formes autorisées selon un schéma pris en charge. Le respect du format ne garantit pas l’exactitude des valeurs.
- TF-IDF
- Représentation lexicale qui pondère les mots selon leur fréquence dans un document et leur rareté dans le corpus.
- Token
- Unité de texte manipulée par le modèle, souvent un morceau de mot. Un token n’est pas nécessairement un mot entier.
- Vérité terrain
- Réponses de référence utilisées pour juger les prédictions. Leur création et leur vérification doivent être indépendantes du modèle testé.
- ZDR
- Zero Data Retention : offre de rétention nulle, dont le périmètre et les conditions doivent être vérifiés pour le service utilisé.
- Zero-shot
- Utilisation sans exemples de la tâche fournis dans la requête ni ajustement propre à cette tâche dans le protocole considéré. Cela ne signifie pas que le modèle n’a jamais vu de données similaires pendant son entraînement.
Conclusion, sources et mises à jour
Périmètre et méthode du dossier
État documentaire au 21 septembre 2026. Les mesures publiées par TypeSafe et les auteurs des benchmarks sont distinguées des recalculs sur leurs données. Aucun appel à l’API Jev n’a été exécuté pour ce dossier. Les pistes de l’audit Perplexity et de la relecture éditoriale ont été vérifiées avant intégration. Des extraits communautaires ont été reçus ; le fil complet reste manquant. Dossier disponible en français et en anglais ; les 2 versions restent en cours de mise à jour. Complément du 23 septembre 2026 : article pédagogique de Daniel Moka publié le 22 septembre, infographies originales et vérification des pages officielles State, Choice, Score, Noul et Confidence. Les benchmarks et leurs dates de vérification restent ceux indiqués dans leurs chapitres. Complément du 24 septembre : outils sémantiques, 17 dépôts supplémentaires, Laya-MLX et Kev, expériences jgrep/Kiln, recettes officielles et SDK Python 0.7.1. Les sources ont été recoupées après une recherche Perplexity; aucun nouvel appel d’inférence ni benchmark exécuté. Les dates des anciens essais sont conservées. Complément du 26 septembre : inférence Laya réellement exécutée hors ligne, 60 prédictions synthétiques évaluées, 6 parcours navigateur et tutoriel local. Ces essais ne portent pas sur Jev ; aucun appel à son API. À cette révision du 26 septembre, aucun résultat du pilote métier n’était encore intégré. Complément du 27 septembre : pilote Laya sur les issues Aristote, 30 cas de développement et 60 de test. Annotations provisoires de 2 agents, sans validation humaine ; configuration rejetée pour ce tri. Résultats agrégés publiés, corpus privé non distribué. Aucun nouvel appel Jev ni nouveau calcul pour cette mise à jour. Complément 0.19.0 du 27 septembre : 3 POCs Laya Sentry, reviews et CI, 45 cas de développement et 120 de test. Configurations rejetées, annotations provisoires. Contrôle des preuves rejoué sans inférence ; agrégats publics et corpus privé séparés. Complément 0.20.0 du 28 octobre 2026 : Jev 1.14, concurrents (Clef, Strands Decider, Decisions API d’OpenAI, pplx-decider), levée de fonds et 3 évaluations publiées par des tiers. Sources primaires relues le 28 octobre ; aucun appel d’API ni nouvelle inférence.
Conclusion
Au 27 septembre 2026, le dossier sépare Jev, les benchmarks publiés, nos essais Laya synthétiques et le pilote sur les issues Aristote. L’inférence locale fonctionne. Le pilote n’apporte toutefois pas le gain requis : 8 suggestions conformes sur 11 émises par Laya, contre 12 sur 17 pour les règles titre seul, sur 60 tickets. Aucun appel à l’API Jev ni comparaison directe Jev/Laya n’a été exécuté.
Conserver les règles et liens exacts. Le pilote de domaine et les 3 POCs Sentry, reviews et CI écartent les configurations Laya testées. Sur les 120 cas des 3 derniers POCs, les suggestions conformes sont 2/38, 1/9 et 6/20 ; en CI, les règles atteignent 5/6. Les annotations d’agents sans validation humaine et les corpus diagnostiques limitent la généralisation. Toute nouvelle configuration exige un autre jeu réservé. La variante lexicale du premier pilote reste non déployée.
Au 28 octobre, la question n’est plus seulement « Jev ou un LLM ? ». Clef, Strands Decider, pplx-decider et la Decisions API proposent la même famille de réponses ; les classements publiés par des tiers placent plusieurs modèles à quelques points les uns des autres, et leurs auteurs n’en tirent pas de vainqueur général. Mes POCs Laya restent négatifs. Le prochain essai local candidat est Strands Decider 2B, sur les mêmes jeux réservés et avec des seuils recalibrés.
Sources datées
- Introducing System One Models & Jev · TypeSafe AI / Diogo Almeida · consulté le 21/09/2026 · 15 septembre 2026 · Source documentaire
- Introduction · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Choice · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Score · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Noul · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Confidence · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- AI primer · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Models · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- API reference · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Jev 1.13 jaggedness · TypeSafe AI · consulté le 21/09/2026 · 17 septembre 2026 · Source documentaire
- Workflow evals · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- System One Adapter · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Python SDK manifest · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- JavaScript SDK manifest · TypeSafe AI · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- InstructGPT paper · OpenAI authors / arXiv · consulté le 21/09/2026 · 4 mars 2022 · Source documentaire
- Privacy policy · TypeSafe AI · consulté le 21/09/2026 · 19 novembre 2025 · Source documentaire
- Phishing benchmark · anisselbd · consulté le 21/09/2026 · 17 septembre 2026 · Source documentaire
- BTZSC pilot · AbdelStark · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Jev measured · WallerChen · consulté le 21/09/2026 · 20 septembre 2026 · Source documentaire
- JevBench · Benchmark Heaven / fstandhartinger · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TypeSafe Jev on AI Gateway · Vercel · consulté le 21/09/2026 · 16 septembre 2026 · Source documentaire
- Jev reranking benchmark, MIRACL French · anessbelbati · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Jev 1.13.0 behavior study, arithmetic permutations · RINNECODER · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Calibration, Guo et al. · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SelectiveNet · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Uncertainty under shift, Ovadia et al. · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- BERT · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- ModernBERT · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- RouteLLM · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SCX Router, résumé uniquement · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Text generation · Hugging Face · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- ASSAY-001, rapport et données · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- ASSAY-001, protocole · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- ASSAY-001, premier amendement du protocole · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Vercel AI SDK, TypeSafe AI : arrondis et confidence · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Agent Journal, LLM judge vs feature extraction · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- LangChain, Building a Harness with Jev · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Jev as a judge, dépôt de l’expérience · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Rewarding Doubt, v6 · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- DeepSeek-R1, résumé · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Tülu 3, résumé · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TechCrunch, entretien avec Almeida · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Équipe TypeSafe · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Annonce de financement DCVC · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- State, contexte partagé · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SDK Python, usage · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SDK Python, types de réponses inspectés · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SDK JavaScript v0.6.0, types de réponses et options · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SDK JavaScript v0.6.0, helpers de questions · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SDK JavaScript v0.6.0 · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Vercel, fiche Jev et promotion · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Cloudflare, Jev · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- OpenRouter, catalogue Jev · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TypeSafe, DPA · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TypeSafe, contrat client MCA · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TypeSafe, documents juridiques et ZDR · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- TypeSafe, conditions du site · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Capital & Compute, compilation de coûts et usages · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Near Here, validation d’événements · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- gemanor, benchmark de revue de code · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- paddo, Thirty-Cent Judge · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- bitnovus, expériences de filtrage d’emails · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- SemIf, interface de décision sur Qwen · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- jevlike, prototype communautaire · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- daseinlabs, open-jev sur MLX · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- razorback16, openjev avec DiffusionGemma · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- AnotiaWang, catalogue awesome-jev · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Made with Jev, catalogue de projets · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- jevtypesafeai.com, documentation du service tiers · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- jev-agent.com, conditions d’utilisation du site tiers · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- CounterProof, examen des labels de consensus · consulté le 21/09/2026 · 21 septembre 2026 · Source documentaire
- Every · article de Mike Taylor (titre et URL ; corps non lu) · 21 septembre 2026 · Source documentaire
- Arize / Laurie Voss · évaluation de Jev comme juge · 21 septembre 2026 · Source documentaire
- OpenSysOne · carte de modèle publiée par andyshu · 21 septembre 2026 · Source documentaire
- TokenRa · offre et prix affichés · 21 septembre 2026 · Source documentaire
- NandhaKishorM / Laya · README et limites des comparaisons · 21 septembre 2026 · Source documentaire
- LivioGama / Pixel · code intelligence et classification · 21 septembre 2026 · Source documentaire
- TypeSafe · SDK Python officiel · 21 septembre 2026 · Source documentaire
- Browser Use · démonstration Jev Ultrafast · 21 septembre 2026 · Source documentaire
- Aness Belbati · benchmark de reranking · 21 septembre 2026 · Source documentaire
- ThursdAI · épisode du 17 septembre et présentation d’Allie Laabs · 21 septembre 2026 · Source documentaire
- ExplainX · reprise des chiffres du benchmark Jev comme juge · 21 septembre 2026 · Source documentaire
- Yin et al., 2019 · classification zero-shot par NLI · 21 septembre 2026 · Source documentaire
- Hugging Face · pipeline ZeroShotClassification · 21 septembre 2026 · Source documentaire
- Anthropic · sorties structurées et limites des schémas · 21 septembre 2026 · Source documentaire
- simonmesmith · Jev sur Banking77 avec exemples, README consulté · 21 septembre 2026 · Source documentaire
- MindStudio · synthèse sur les classifieurs, protocole d’origine non retrouvé · 21 septembre 2026 · Source documentaire
- Hacker News · lancement Jev, discussion publique · 21 septembre 2026 · Source documentaire
- Hacker News · description zero-shot par petesergeant · 21 septembre 2026 · Source documentaire
- Hacker News · réponse de CompleteSkeptic à la description zero-shot · 21 septembre 2026 · Source documentaire
- Hacker News · CompleteSkeptic se présente comme CEO · 21 septembre 2026 · Source documentaire
- Hacker News · confidentialité de l’architecture et discussion d’un article · 21 septembre 2026 · Source documentaire
- Hacker News · type valide et exactitude factuelle · 21 septembre 2026 · Source documentaire
- Reddit / LocalLLaMA · hypothèses sur l’architecture Jev · 21 septembre 2026 · Source documentaire
- Reddit / LocalLLaMA · comparaison avec BERT · 21 septembre 2026 · Source documentaire
- Reddit / accelerate · résumé et réactions · 21 septembre 2026 · Source documentaire
- Reddit / accelerate · choix successifs de lettres · 21 septembre 2026 · Source documentaire
- Reddit / accelerate · discussion sur le classement d’emails · 21 septembre 2026 · Source documentaire
- Nandakishor M · revendication d’antériorité, billet de l’auteur · 21 septembre 2026 · Source documentaire
- SalesRLAgent · notice et résumé, PDF non audité · 21 septembre 2026 · Source documentaire
- Routage par confiance · notice et résumé, PDF non audité · 21 septembre 2026 · Source documentaire
- Laya · README épinglé, périmètres de calibration · 21 septembre 2026 · Source documentaire
- Laya typed-decisions · modèle ajusté et réglages de calibration · 21 septembre 2026 · Source documentaire
- TypeSafe · démarrage officiel · 21 septembre 2026 · Source documentaire
- PyPI · typesafe-sdk 0.7.0 et prérequis Python · 21 septembre 2026 · Source documentaire
- TypeSafe · client Python synchrone et transport · 21 septembre 2026 · Source documentaire
- Theo · Jev is incredible · transcription complète analysée le 22/09/2026 · 22 septembre 2026 · Source documentaire
- Fireship · An ex-OpenAI researcher just deleted language from the LLM... · transcription complète analysée le 22/09/2026 · 22 septembre 2026 · Source documentaire
- Jev Engineering 101 · Daniel Moka / Craft Better Software · inspiration pédagogique, consulté le 23/09/2026 · 22 septembre 2026 · Source documentaire
- keltokhy/jgrep · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- keltokhy/jsort · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- keltokhy/jlink · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- keltokhy/jcol · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- keltokhy/jselect · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- keltokhy/jevkit-core · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- nassim-arifette/jevgrep · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- sglenon/jev-semantic-reviewer · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- supercorp-ai/supercov · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- mizorewww/laya-mlx · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- simonw/llm-typesafe · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- edwardyen724-g/jev-compactor · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- uehaj/jev-semgrep · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- kyu1204/jgrep · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- NiazMorshed2007/jev-review · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- devagrawal09/jev-review · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- jaredpalmer/kev · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- jgrep · Noul questions and filtering · 5727fe3 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- jgrep · code-review diagnostic · September 19 run · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- jgrep · local model comparison · September 22 runs · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- JevGrep · retrieval pilot protocol · 2495212 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · README · 0a85951 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · detailed local benchmarks · 0a85951 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · English FP16 raw timings · September 22 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · multilingual FP16 raw timings · September 22 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · input preparation and truncation · 0a85951 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · calibration temperature handling · 0a85951 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- JevKit · Laya adapter and pinned environment · 3a672d7 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Laya-MLX · Snake planner and safety interventions · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Kev · model family and evaluation boundaries · 30c619b · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Kev · batching and GPU optimizations · September 24 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Kiln · Auto Optimizing Jev with Autoresearch · September 21 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe Python SDK · v0.7.1 release · September 21 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe · skill suggestion cookbook · Jev 1.12 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe · AutoResearch feature discovery · Jev 1.12 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe · pre-parsed value extraction · Jev 1.12 · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe · citation checking · August 16 example · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- TypeSafe · documentation index and unresolved autoformat lead · consulté le 24 septembre 2026 · 24 septembre 2026 · Source documentaire
- Essais Laya locaux : données synthétiques et preuves jointes · 26 septembre 2026 · Observation vérifiée
- Poids multilingues : révision utilisée dans nos essais · 26 septembre 2026 · Source documentaire
- Laya-MLX 0.2.0 : version installée · 26 septembre 2026 · Source documentaire
- Pilote Laya / Aristote : agrégats et configuration, corpus privé exclu · 27 septembre 2026 · Observation vérifiée
- POCs Laya Sentry, reviews et CI : agrégats et configurations, corpus privé exclu · 27 septembre 2026 · Observation vérifiée
- Cloudflare, lancement de Clef et Clef-flash · consulté le 28/10/2026 · 1 octobre 2026 · Source documentaire
- Cloudflare, changelog Workers AI : Clef · consulté le 28/10/2026 · 1 octobre 2026 · Source documentaire
- Cloudflare, Clef-omni et baisse du prix de Clef-flash · consulté le 28/10/2026 · 9 octobre 2026 · Source documentaire
- Hugging Face, fiche du modèle Clef · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- Hugging Face, fiche du modèle Clef-omni · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- Cloudflare, fiche Workers AI de Clef-omni · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- Cloudflare, fiche Workers AI de Jev 1.14 · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- TypeSafe, Jev 1.14 et fonctions expérimentales · consulté le 28/10/2026 · 14 octobre 2026 · Source documentaire
- TypeSafe, annonce de la Series A · consulté le 28/10/2026 · 9 octobre 2026 · Source documentaire
- Andreessen Horowitz, investissement dans TypeSafe · consulté le 28/10/2026 · 9 octobre 2026 · Source documentaire
- TypeSafe, étude de cas Jack & Jill · consulté le 28/10/2026 · 7 octobre 2026 · Source documentaire
- TypeSafe, type de question Box · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- TypeSafe, images en entrée · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- TypeSafe, changelog du SDK Python · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- OpenAI, guide de la Decisions API · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- OpenAI, changelog de l’API · consulté le 28/10/2026 · 22 octobre 2026 · Source documentaire
- Strands Labs, dépôt strands-decider · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- Hugging Face, fiche Strands Decider 2B v1-2610 · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- Astronomer, évaluer un modèle de décision avant de lui faire confiance · consulté le 28/10/2026 · 8 octobre 2026 · Source documentaire
- AIMultiple, AIM-Decision : Jev, Clef et LLM · consulté le 28/10/2026 · 22 octobre 2026 · Source documentaire
- Leanmcp, JevBench Index · consulté le 28/10/2026 · 11 octobre 2026 · Source documentaire
- Ollama, version 0.35.0 · consulté le 28/10/2026 · 28 septembre 2026 · Source documentaire
- Hugging Face, fiche pplx-decider v1.1 · consulté le 28/10/2026 · 28 octobre 2026 · Source documentaire
- LiteLLM, routes /v1/decisions et /v1/systemone · consulté le 28/10/2026 · 14 octobre 2026 · Source documentaire
La mention « consulté le » indique la date de lecture. Une source peut avoir été publiée plus tôt, puis modifiée.
Historique des mises à jour
| Date | Version | Ajouts |
|---|---|---|
| 28 octobre 2026 | 0.20.0 | Ajout du chapitre sur les concurrents : Clef, Clef-flash, Clef-omni, Strands Decider 2B, pplx-decider et Decisions API, prix, interfaces et limites. Jev 1.14, Box, images et contexte long, SDK 0.7.5, levée de fonds et chiffres d’adoption non audités. Évaluations Astronomer, AIMultiple et Leanmcp résumées. Chronologie, FAQ et veille actualisées. Sources primaires relues le 28 octobre ; aucun appel d’API ni nouvelle inférence. |
| 27 septembre 2026 | 0.19.0 | Intégration des 3 POCs Laya Sentry/reviews/CI : 45 cas de développement, 120 de test, 15 dépassements. Précisions des suggestions 5,3 %, 11,1 % et 30,0 % ; candidats écartés. Liens Sentry connus, limites des corpus, annotations provisoires et latences distingués. Contrôle des preuves rejoué, aucune nouvelle inférence ni API Jev. Agrégats, news et bandeau actualisés. |
| 27 septembre 2026 | 0.18.0 | Ajout du pilote de domaine sur les issues Aristote : 30 cas de développement, 60 de test, 3 comparateurs, précision et couverture, 41 abstentions et 8 dépassements Laya, latences séparées. Annotations de 2 agents sans validation humaine ; configuration écartée. Agrégats sans données privées, bandeau, conclusion et news mis à jour. Aucun calcul relancé ni appel Jev. |
| 26 septembre 2026 | 0.17.0 | Ajout des essais Laya sur M5 Max : inférence hors ligne, 62 tests du programme, 60 prédictions synthétiques comparées aux règles, latence et 6 parcours navigateur. Erreurs sémantiques et export JSON non confirmé documentés. Tutoriel public avec versions et poids épinglés ; données de preuve jointes. Aucun appel Jev, aucun résultat métier Aristote. Les anciennes sources et stars gardent leur date. |
| 24 septembre 2026 | 0.16.0 | Ajout de 17 dépôts, de 2 chapitres sur les outils sémantiques et les modèles locaux, des expériences jgrep/Kiln, de 5 usages et 6 essais proposés. Analyse Laya-MLX : médianes recalculées, contexte et calibration; ajout de Kev. Notice SDK 0.7.1, recettes officielles datées, limites du visuel ByteByteGo et prompt de veille renouvelé. Sources et rapports FR/EN synchronisés; aucune inférence exécutée. Stars GitHub ajoutées pour les 35 dépôts listés, relevées le 24 septembre à 16 h 40 UTC. |
| 23 septembre 2026 | 0.15.0 | Correction de la distinction entre les évaluations probabilistes de Jev et la décision applicative. Accroches, glossaire, exemples Choice et quatre infographies FR/EN harmonisés. Une démonstration hors réseau applique des règles et des seuils fictifs aux mêmes réponses pour montrer que la politique du code détermine le traitement. Dates et résultats des benchmarks conservés ; aucun appel Jev. |
| 23 septembre 2026 | 0.14.0 | 4 infographies en français et en anglais expliquent les rôles du LLM, de Jev et du code, un appel complet, Choice / Score / Noul et une comparaison de toute la chaîne. Les exemples sont fictifs ; les raccourcis sur la calibration, les sorties des LLM et le traitement interne sont précisés. Aucun nouvel essai de l’API. |
| 22 septembre 2026 | 0.13.0 | Version anglaise complète : 26 chapitres, 108 sources, 45 termes de glossaire, interface et illustrations traduits. Les liens FR/EN sont actifs en haut de page. Les chiffres, liens minutés et limites des résultats sont conservés. |
| 22 septembre 2026 | 0.12.4 | Une infographie explique ce qu’est un classifieur dans l’analyse critique : exemple de ticket, catégories définies à l’entraînement ou à l’appel, puis place de Jev. Les explications et les sources existantes sont conservées. |
| 22 septembre 2026 | 0.12.3 | Pixel attribué à Livio Gamassia avec son profil LinkedIn dans les chapitres critique et écosystème. Mention de notre participation à la communauté DevWithAI. |
| 22 septembre 2026 | 0.12.2 | Le sommaire suit le défilement : la partie en cours s’ouvre et les autres se replient au changement de partie. Les ouvertures manuelles sont conservées tant que la lecture reste dans la même partie. |
| 22 septembre 2026 | 0.12.1 | Avis critique placé en tête du résumé et accès direct depuis le premier parcours de lecture. Le chapitre critique distingue intérêt pratique, nouveauté scientifique, marketing et accusation de scam. Synthèse des sources déjà examinées, sans nouveau test du modèle. |
| 22 septembre 2026 | 0.12.0 | Analyses de Theo et Fireship intégrées avec leurs réserves et des liens minutés. Retours francophones et autres passages du corpus accessibles dans le chapitre vidéo. Correction de confidence, attribution des démonstrations et bilan de 44 transcriptions, dont 14 lues intégralement. |
| 22 septembre 2026 | 0.11.17 | Liens LinkedIn ajoutés aux mentions des 3 fondateurs dans le texte, les tableaux et le glossaire. |
| 22 septembre 2026 | 0.11.16 | Nombres écrits en chiffres dans les titres, textes, tableaux, légendes et le glossaire. Exemples de code et titres originaux des sources conservés. |
| 22 septembre 2026 | 0.11.15 | Ajout du bouton Partager en haut du dossier : téléchargement du HTML, copie du lien en ligne et partage natif selon le navigateur. Les adresses locales ne sont pas proposées comme liens à partager. |
| 22 septembre 2026 | 0.11.14 | Les langues sont indiquées en haut de page : français disponible, anglais à venir. Le lien anglais sera ajouté une fois la traduction disponible. |
| 22 septembre 2026 | 0.11.13 | Un menu repliable « Autres ressources », sous la recherche, donne accès au portfolio, au guide Claude Code, à GitHub et à LinkedIn. |
| 22 septembre 2026 | 0.11.12 | Liens vers mon portfolio, GitHub et LinkedIn ajoutés. 8 renvois dans les chapitres et une sélection « Pour aller plus loin » relient le dossier à mes ressources publiées sur les agents, leur évaluation, leur sécurité et leurs coûts. |
| 22 septembre 2026 | 0.11.11 | Un bouton LinkedIn permet de me contacter après la lecture du dossier. Le lien est aussi accessible depuis le menu, pour les questions, retours de tests et corrections. |
| 22 septembre 2026 | 0.11.10 | Sur grand écran, le texte et les tableaux occupent davantage de largeur. Les diagrammes gardent leur taille et la lecture sur mobile reste identique. Les sources restent arrêtées au 21 septembre 2026. |
| 21 septembre 2026 | 0.11.9 | Un diagramme compare les signaux et objectifs de l’apprentissage supervisé, du RLHF et du RLVR à l’objectif annoncé de RLCD. Les détails manquants sur RLCD sont signalés ; le tableau reste disponible. |
| 21 septembre 2026 | 0.11.8 | Le texte des diagrammes Mermaid passe de 16 à 14 pixels. Les blocs sont calculés avec cette taille, en conservant les libellés et les flèches. |
| 21 septembre 2026 | 0.11.7 | Une infographie compare Choice, Score et Noul sur un même ticket fictif : choix de catégorie, note sur une échelle et probabilité de oui. Les tableaux et explications détaillés sont conservés. |
| 21 septembre 2026 | 0.11.6 | Titres et passages reformulés pour décrire les entrées, les réponses et les limites de Jev avec des termes concrets. Exemples, chiffres et sources conservés. |
| 21 septembre 2026 | 0.11.5 | Un bouton « Copier pour un LLM » copie le dossier complet en JSON, avec les sources, les exemples et les diagrammes Mermaid. Les images sont représentées par leurs descriptions et légendes. |
| 21 septembre 2026 | 0.11.4 | Le diagramme « Un test, plusieurs reprises » est réduit de moitié. Les largeurs minimales des autres schémas ne dépassent plus leur taille naturelle. |
| 21 septembre 2026 | 0.11.3 | La recherche parcourt les textes complets du dossier, y compris les tableaux, encadrés, codes et prompts repliés. Les résultats indiquent leur partie et leur chapitre, sans limite à 40 passages. Un bouton de recherche est aussi disponible sur mobile. |
| 21 septembre 2026 | 0.11.2 | Le titre du sommaire reste visible. Chaque partie se déplie et se replie indépendamment, sur ordinateur et mobile ; le défilement conserve les choix du lecteur. |
| 21 septembre 2026 | 0.11.1 | Coloration syntaxique des exemples Python, TypeScript, JSON et terminal, disponible hors ligne. Le contenu copié reste identique au code source. |
| 21 septembre 2026 | 0.11.0 | Relecture des 25 chapitres : énumérations, prérequis et résultats distincts présentés en listes. Le résumé d’ouverture passe en puces. Textes, chiffres, conditions, sources et exemples de code conservés. |
| 21 septembre 2026 | 0.10.0 | Lecture réorganisée : 3 parcours au début, sommaire par parties, glossaire en fin de dossier et tutoriel dans les essais. Texte moins large, tableaux et notes allégés. Tous les exemples de code et prompts sont repliables, avec copie accessible sans les ouvrir. Navigation et thèmes clair et sombre harmonisés. |
| 21 septembre 2026 | 0.9.2 | Bouton Copier en haut à droite de chaque bloc de code, avec confirmation et conservation des espaces et retours à la ligne. |
| 21 septembre 2026 | 0.9.1 | Résumé d’ouverture simplifié : rôle de Jev, date du lancement, raisons de l’intérêt, ordres de grandeur de vitesse et de prix, exemple de coût. Les gains annoncés par TypeSafe restent distingués des mesures indépendantes. |
| 21 septembre 2026 | 0.9.0 | Ajout d’un parcours développeur : installation du SDK Python, premier appel sur un ticket fictif, lecture de la réponse, dépannage et prompt à copier. Script vérifié avec le SDK installé et des réponses simulées ; aucun appel au modèle Jev. |
| 21 septembre 2026 | 0.8.0 | Ajout d’un chapitre critique sur la classification, les promesses commerciales et les accusations de « scam ». Discussions communautaires vérifiées, comparateurs précisés et essais GitHub/Sentry détaillés. |
| 21 septembre 2026 | 0.7.1 | Ajout d’un repère de dernière mise à jour en ouverture et d’un accès direct à l’historique. Les corrections de fond et nouveaux visuels figurent dans la version 0.7.0 ci-dessous. |
| 21 septembre 2026 | 0.7.0 | Corrections après audit éditorial : sources et tiers, résultats fournisseur complets, recalculs de sélection par confidence, réponse API illustrative, critères de rejet proposés et nouvelles figures. Les constats de l’audit ont eux aussi été confrontés aux sources. Aucun appel à Jev. |
| 21 septembre 2026 | 0.6.0 | Intégration critique de l’audit Perplexity : contrat API, mesures de calibration, provenance des benchmarks, accès et données, écosystème, protocoles et nouveaux schémas. Aucun résultat personnel d’API ajouté. |
| 21 septembre 2026 | 0.5.0 | Interactions entre logiciels mises au premier plan dans le titre, l’introduction et 3 diagrammes. Appelant, destinataire et relecture humaine distingués. Un LLM peut également servir une application. |
| 21 septembre 2026 | 0.4.0 | Ajout d’un comparatif entre génération autorégressive et API Jev, puis d’un scénario combinant Jev et un LLM pour les notes de version. Limites de connaissance de l’architecture indiquées ; 2 termes ajoutés au glossaire. |
| 21 septembre 2026 | 0.3.0 | Relecture complète des titres, explications, tableaux et légendes. Jargon expliqué et détails de collecte regroupés. Liens vidéo revus sur les transcriptions ; attribution de la démonstration navigateur corrigée. |
| 21 septembre 2026 | 0.2.0 | Cas d’usage affinés après inspection de skills, agents et workflows : pré-tri GitHub, rapprochement Sentry, verdict de backlog après enquête et sélection de correctifs pour les notes de version. Les règles déterministes et les ambiguïtés du protocole sont isolées. Aucun test API exécuté. |
| 21 septembre 2026 | 0.1.0 | Premier état de recherche. Contrat de l’API, limites documentées, benchmarks tiers, corpus vidéo, littérature de contexte et protocole d’essai. Thread communautaire et tests personnels en attente. |