[{"data":1,"prerenderedAt":995},["ShallowReactive",2],{"post-jev-typesafe-decisions-ia-applications-fr":3,"surround-/fr/blog/jev-typesafe-decisions-ia-applications-fr":985,"post-translations-28":990},{"id":4,"title":5,"body":6,"canonical_id":968,"category":969,"date_created":970,"date_updated":970,"description":12,"extension":971,"head":972,"image":973,"lang":974,"layout":975,"meta":976,"navigation":977,"ogImage":972,"path":978,"reading_time":366,"robots":972,"schemaOrg":972,"seo":979,"sitemap":981,"stem":983,"__hash__":984},"blog/fr/blog/28.jev-typesafe-decisions-ia-applications.md","Jev : une IA pour prendre des décisions dans nos applications",{"type":7,"value":8,"toc":955},"minimark",[9,13,16,23,26,29,52,55,60,63,86,95,163,180,188,194,199,204,254,257,284,290,592,606,609,656,662,669,675,679,688,691,706,709,712,728,734,739,743,746,750,759,762,773,776,780,788,791,794,797,801,809,820,826,846,849,852,858,862,874,881,890,897,900,907,911,951],[10,11,12],"p",{},"Depuis quelques jours, je vois passer Jev, un nouveau modèle IA, partout dans mon fil X (Twitter).",[10,14,15],{},"Un nouveau modèle IA, encore ? Oui, mais celui-ci ne cherche pas à écrire de meilleurs articles, à coder une application ou à remplacer ChatGPT.",[10,17,18,22],{},[19,20,21],"strong",{},"Jev, le nouveau modèle de TypeSafe, ne génère pas de texte."," Il répond à des questions dont nous avons défini les réponses possibles.",[10,24,25],{},"Classer un message client, repérer une demande urgente ou choisir le prochain outil à appeler : nos applications et nos agents IA prennent beaucoup de petites décisions. Nous utilisons souvent un LLM pour cela, avec un temps d'attente et un coût à chaque appel, alors que nous attendons simplement un oui/non, ou une catégorie parmi une liste fournie.",[10,27,28],{},"Jev est conçu pour ce travail. Il reçoit un contexte et des questions, puis retourne des choix, des scores et des probabilités directement utilisables par l'application. Ses réponses étant limitées aux options autorisées, TypeSafe le présente comme un modèle « sans hallucination ».",[10,30,31,32,35,36,39,40,43,44,51],{},"TypeSafe annonce des réponses en ",[19,33,34],{},"70 à 500 millisecondes",", jusqu'à environ ",[19,37,38],{},"200 fois plus rapides et 400 fois moins coûteuses"," que celles des LLM comparés dans ses évaluations. Le tarif est de ",[19,41,42],{},"0,042 dollar par million de tokens d'entrée",", avec des sorties gratuites. C'est la promesse de son premier modèle « System One », ",[45,46,50],"a",{"href":47,"rel":48},"https://typesafe.ai/blog/introducing-system-one-models-and-jev",[49],"nofollow","présenté le 15 septembre 2026",".",[10,53,54],{},"J'ai accès depuis peu au service et je réfléchis aux meilleurs usages pour mes projets. Voici comment il fonctionne et ce que j'envisage d'en faire.",[56,57,59],"h2",{"id":58},"ce-que-jev-fait-concrètement","Ce que Jev fait, concrètement",[10,61,62],{},"Pour utiliser Jev, on lui fournit deux éléments :",[64,65,66,77],"ul",{},[67,68,69,70,76],"li",{},"Un ",[19,71,72],{},[73,74,75],"code",{},"state"," : les données à analyser. Cela peut être un message seulement, ou un ensemble d'informations.",[67,78,79,80,85],{},"Des ",[19,81,82],{},[73,83,84],{},"questions"," : ce que l'on veut savoir sur ce state, avec les réponses possibles définies à l'avance.",[10,87,88,89,94],{},"Jev propose ",[45,90,93],{"href":91,"rel":92},"https://docs.typesafe.ai/primitives",[49],"trois types de questions"," :",[96,97,98,114],"table",{},[99,100,101],"thead",{},[102,103,104,108,111],"tr",{},[105,106,107],"th",{},"Type",[105,109,110],{},"À quoi sert-il ?",[105,112,113],{},"Ce que Jev retourne",[115,116,117,133,148],"tbody",{},[102,118,119,127,130],{},[120,121,122],"td",{},[19,123,124],{},[73,125,126],{},"Choice",[120,128,129],{},"Choisir parmi plusieurs options : bug, facturation, demande commerciale…",[120,131,132],{},"L'option retenue et une probabilité pour chaque option.",[102,134,135,142,145],{},[120,136,137],{},[19,138,139],{},[73,140,141],{},"Score",[120,143,144],{},"Évaluer selon une échelle décrite : problème mineur, fonctionnalité dégradée, utilisation bloquée…",[120,146,147],{},"Un score sur cette échelle et les probabilités associées aux différents niveaux.",[102,149,150,157,160],{},[120,151,152],{},[19,153,154],{},[73,155,156],{},"Noul",[120,158,159],{},"Répondre à une question oui/non : ce message demande-t-il un remboursement ?",[120,161,162],{},"Une probabilité entre 0 et 1 que la réponse soit oui.",[10,164,165,166,168,169,171,172,175,176,179],{},"La différence entre ",[73,167,141],{}," et ",[73,170,156],{}," est importante. Le premier indique ",[19,173,174],{},"un degré",", par exemple la gravité d'un problème. Le second indique ",[19,177,178],{},"la probabilité qu'une affirmation soit vraie"," : une valeur de 0,5 signifie que le modèle hésite entre oui et non.",[10,181,182,183,168,185,187],{},"Les réponses ",[73,184,126],{},[73,186,141],{}," comprennent aussi un indicateur de confiance, qui résume si les probabilités sont concentrées sur une réponse ou réparties entre plusieurs possibilités.",[10,189,190,193],{},[19,191,192],{},"Plusieurs questions peuvent être évaluées en parallèle dans une même requête."," Elles portent sur le même contexte, mais chacune est évaluée indépendamment. Le même contexte sert ainsi à plusieurs décisions dans un seul appel, sans répéter son envoi ni attendre les réponses les unes après les autres. L'application peut ensuite combiner les résultats pour décider de la suite.",[195,196,198],"h3",{"id":197},"un-exemple-orienter-un-message-de-support","Un exemple : orienter un message de support",[10,200,201,202,94],{},"Imaginons qu'un utilisateur envoie ce message. Il constitue notre ",[73,203,75],{},[205,206,211],"pre",{"className":207,"code":208,"language":209,"meta":210,"style":210},"language-json shiki shiki-themes enchanter-dark","{\n  \"message\": \"Mes rapports ne s'ouvrent plus depuis ce matin. J'ai une présentation client dans deux heures. Pouvez-vous m'aider ?\"\n}\n","json","",[73,212,213,222,248],{"__ignoreMap":210},[214,215,218],"span",{"class":216,"line":217},"line",1,[214,219,221],{"class":220},"syxy-","{\n",[214,223,225,228,232,235,238,241,245],{"class":216,"line":224},2,[214,226,227],{"class":220},"  \"",[214,229,231],{"class":230},"sL3Wm","message",[214,233,234],{"class":220},"\"",[214,236,237],{"class":220},":",[214,239,240],{"class":220}," \"",[214,242,244],{"class":243},"sloqg","Mes rapports ne s'ouvrent plus depuis ce matin. J'ai une présentation client dans deux heures. Pouvez-vous m'aider ?",[214,246,247],{"class":220},"\"\n",[214,249,251],{"class":216,"line":250},3,[214,252,253],{"class":220},"}\n",[10,255,256],{},"Je souhaite obtenir trois informations :",[64,258,259,268,276],{},[67,260,261,267],{},[19,262,263,264,266],{},"Sujet (",[73,265,126],{},")"," : bug, facturation, demande de fonctionnalité ou autre.",[67,269,270,275],{},[19,271,272,273,266],{},"Impact décrit (",[73,274,141],{}," : 0 pour une gêne mineure, 1 pour une fonctionnalité dégradée, 2 pour une tâche bloquée.",[67,277,278,283],{},[19,279,280,281,266],{},"Échéance urgente (",[73,282,156],{}," : le message mentionne-t-il une échéance proche nécessitant une intervention ?",[10,285,286,287],{},"Voici un extrait simplifié de ce que pourrait retourner Jev. ",[19,288,289],{},"Les valeurs sont fictives, uniquement pour illustrer le fonctionnement.",[205,291,293],{"className":207,"code":292,"language":209,"meta":210,"style":210},"{\n  \"answers\": {\n    \"topic\": {\n      \"choice\": \"bug\",\n      \"probabilities\": {\n        \"bug\": 0.92,\n        \"billing\": 0.02,\n        \"feature_request\": 0.04,\n        \"other\": 0.02\n      }\n    },\n    \"impact\": {\n      \"score\": 1.85,\n      \"probabilities\": {\n        \"0\": 0,\n        \"1\": 0.15,\n        \"2\": 0.85\n      }\n    },\n    \"urgent_deadline\": {\n      \"noul\": 0.98\n    }\n  }\n}\n",[73,294,295,299,313,327,350,364,382,399,416,431,437,443,457,474,487,504,521,536,541,546,560,575,581,587],{"__ignoreMap":210},[214,296,297],{"class":216,"line":217},[214,298,221],{"class":220},[214,300,301,303,306,308,310],{"class":216,"line":224},[214,302,227],{"class":220},[214,304,305],{"class":230},"answers",[214,307,234],{"class":220},[214,309,237],{"class":220},[214,311,312],{"class":220}," {\n",[214,314,315,318,321,323,325],{"class":216,"line":250},[214,316,317],{"class":220},"    \"",[214,319,320],{"class":230},"topic",[214,322,234],{"class":220},[214,324,237],{"class":220},[214,326,312],{"class":220},[214,328,330,333,336,338,340,342,345,347],{"class":216,"line":329},4,[214,331,332],{"class":220},"      \"",[214,334,335],{"class":230},"choice",[214,337,234],{"class":220},[214,339,237],{"class":220},[214,341,240],{"class":220},[214,343,344],{"class":243},"bug",[214,346,234],{"class":220},[214,348,349],{"class":220},",\n",[214,351,353,355,358,360,362],{"class":216,"line":352},5,[214,354,332],{"class":220},[214,356,357],{"class":230},"probabilities",[214,359,234],{"class":220},[214,361,237],{"class":220},[214,363,312],{"class":220},[214,365,367,370,372,374,376,380],{"class":216,"line":366},6,[214,368,369],{"class":220},"        \"",[214,371,344],{"class":230},[214,373,234],{"class":220},[214,375,237],{"class":220},[214,377,379],{"class":378},"sj-18"," 0.92",[214,381,349],{"class":220},[214,383,385,387,390,392,394,397],{"class":216,"line":384},7,[214,386,369],{"class":220},[214,388,389],{"class":230},"billing",[214,391,234],{"class":220},[214,393,237],{"class":220},[214,395,396],{"class":378}," 0.02",[214,398,349],{"class":220},[214,400,402,404,407,409,411,414],{"class":216,"line":401},8,[214,403,369],{"class":220},[214,405,406],{"class":230},"feature_request",[214,408,234],{"class":220},[214,410,237],{"class":220},[214,412,413],{"class":378}," 0.04",[214,415,349],{"class":220},[214,417,419,421,424,426,428],{"class":216,"line":418},9,[214,420,369],{"class":220},[214,422,423],{"class":230},"other",[214,425,234],{"class":220},[214,427,237],{"class":220},[214,429,430],{"class":378}," 0.02\n",[214,432,434],{"class":216,"line":433},10,[214,435,436],{"class":220},"      }\n",[214,438,440],{"class":216,"line":439},11,[214,441,442],{"class":220},"    },\n",[214,444,446,448,451,453,455],{"class":216,"line":445},12,[214,447,317],{"class":220},[214,449,450],{"class":230},"impact",[214,452,234],{"class":220},[214,454,237],{"class":220},[214,456,312],{"class":220},[214,458,460,462,465,467,469,472],{"class":216,"line":459},13,[214,461,332],{"class":220},[214,463,464],{"class":230},"score",[214,466,234],{"class":220},[214,468,237],{"class":220},[214,470,471],{"class":378}," 1.85",[214,473,349],{"class":220},[214,475,477,479,481,483,485],{"class":216,"line":476},14,[214,478,332],{"class":220},[214,480,357],{"class":230},[214,482,234],{"class":220},[214,484,237],{"class":220},[214,486,312],{"class":220},[214,488,490,492,495,497,499,502],{"class":216,"line":489},15,[214,491,369],{"class":220},[214,493,494],{"class":230},"0",[214,496,234],{"class":220},[214,498,237],{"class":220},[214,500,501],{"class":378}," 0",[214,503,349],{"class":220},[214,505,507,509,512,514,516,519],{"class":216,"line":506},16,[214,508,369],{"class":220},[214,510,511],{"class":230},"1",[214,513,234],{"class":220},[214,515,237],{"class":220},[214,517,518],{"class":378}," 0.15",[214,520,349],{"class":220},[214,522,524,526,529,531,533],{"class":216,"line":523},17,[214,525,369],{"class":220},[214,527,528],{"class":230},"2",[214,530,234],{"class":220},[214,532,237],{"class":220},[214,534,535],{"class":378}," 0.85\n",[214,537,539],{"class":216,"line":538},18,[214,540,436],{"class":220},[214,542,544],{"class":216,"line":543},19,[214,545,442],{"class":220},[214,547,549,551,554,556,558],{"class":216,"line":548},20,[214,550,317],{"class":220},[214,552,553],{"class":230},"urgent_deadline",[214,555,234],{"class":220},[214,557,237],{"class":220},[214,559,312],{"class":220},[214,561,563,565,568,570,572],{"class":216,"line":562},21,[214,564,332],{"class":220},[214,566,567],{"class":230},"noul",[214,569,234],{"class":220},[214,571,237],{"class":220},[214,573,574],{"class":378}," 0.98\n",[214,576,578],{"class":216,"line":577},22,[214,579,580],{"class":220},"    }\n",[214,582,584],{"class":216,"line":583},23,[214,585,586],{"class":220},"  }\n",[214,588,590],{"class":216,"line":589},24,[214,591,253],{"class":220},[10,593,594,595,598,599,602,603,51],{},"L'application dispose directement des informations utiles : un ",[19,596,597],{},"bug probable",", un impact proche du niveau ",[19,600,601],{},"« tâche bloquée »"," et une ",[19,604,605],{},"échéance urgente",[10,607,608],{},"Elle peut orienter le message vers le support technique et le faire remonter dans la liste des demandes à examiner en priorité. Si une réponse au client doit être rédigée, un modèle génératif peut prendre le relais.",[205,610,614],{"className":611,"code":612,"language":613,"meta":210,"style":210},"language-mermaid shiki shiki-themes enchanter-dark","flowchart TD\n    A[\"Message reçu\"] --> B[\"Jev analyse le sujet, l'impact et l'urgence\"]\n    B --> C{\"Résultat suffisamment clair ?\"}\n    C -- \"Non\" --> D[\"Vérification humaine\"]\n    C -- \"Oui\" --> E[\"L'application classe et priorise le message\"]\n    E --> F{\"Une réponse rédigée est-elle nécessaire ?\"}\n    F -- \"Oui\" --> G[\"Un LLM prépare un brouillon\"]\n    F -- \"Non\" --> H[\"Le traitement continue\"]\n","mermaid",[73,615,616,621,626,631,636,641,646,651],{"__ignoreMap":210},[214,617,618],{"class":216,"line":217},[214,619,620],{},"flowchart TD\n",[214,622,623],{"class":216,"line":224},[214,624,625],{},"    A[\"Message reçu\"] --> B[\"Jev analyse le sujet, l'impact et l'urgence\"]\n",[214,627,628],{"class":216,"line":250},[214,629,630],{},"    B --> C{\"Résultat suffisamment clair ?\"}\n",[214,632,633],{"class":216,"line":329},[214,634,635],{},"    C -- \"Non\" --> D[\"Vérification humaine\"]\n",[214,637,638],{"class":216,"line":352},[214,639,640],{},"    C -- \"Oui\" --> E[\"L'application classe et priorise le message\"]\n",[214,642,643],{"class":216,"line":366},[214,644,645],{},"    E --> F{\"Une réponse rédigée est-elle nécessaire ?\"}\n",[214,647,648],{"class":216,"line":384},[214,649,650],{},"    F -- \"Oui\" --> G[\"Un LLM prépare un brouillon\"]\n",[214,652,653],{"class":216,"line":401},[214,654,655],{},"    F -- \"Non\" --> H[\"Le traitement continue\"]\n",[10,657,658,661],{},[19,659,660],{},"Jev interprète le message, l'application organise son traitement, et un modèle génératif rédige si nécessaire."," On peut ainsi intégrer Jev dans une application existante, avec ou sans agent.",[10,663,664],{},[665,666],"img",{"alt":667,"src":668},"Le Playground de Jev avec un state, une question Noul et la probabilité retournée","/img/blog/jev-playground.webp",[10,670,671],{},[672,673,674],"em",{},"Le Playground de Jev permet de tester un state et ses questions avant de les intégrer dans une application.",[56,676,678],{"id":677},"un-nouveau-modèle-system-one","Un nouveau modèle “System One”",[10,680,681,682,687],{},"Le ",[45,683,686],{"href":684,"rel":685},"https://docs.typesafe.ai/concepts/system-one",[49],"nom System One"," fait référence à la distinction popularisée par Daniel Kahneman entre une pensée rapide et intuitive et un raisonnement plus lent et délibéré.",[10,689,690],{},"TypeSafe reprend cette idée pour des jugements ciblés. Reconnaître une demande de remboursement n'est pas le même travail que construire un plan de migration technique.",[10,692,693,694,697,698,701,702,51],{},"L'entreprise annonce une architecture qui évalue les sorties en parallèle et un entraînement baptisé ",[19,695,696],{},"RLCD",", pour ",[672,699,700],{},"Reinforcement Learning for Calibrated Decisions",". L'objectif est notamment de produire des probabilités qui reflètent mieux l'incertitude du modèle, comme le décrit la ",[45,703,705],{"href":684,"rel":704},[49],"documentation System One",[10,707,708],{},"Les LLM savent déjà classer des textes et retourner des données structurées. La nouveauté n'est donc pas de pouvoir obtenir du JSON. Elle tient à un modèle spécialisé dans ce travail, qui renonce à la génération libre.",[10,710,711],{},"Cette spécialisation ouvre des usages où la vitesse et le volume comptent : classer une grande quantité de commentaires, orienter une demande pendant un parcours utilisateur ou choisir parmi les outils disponibles d'un agent.",[10,713,714,717,718,723,724,727],{},[19,715,716],{},"L’autre avantage de Jev, c’est son tarif :"," seulement ",[45,719,722],{"href":720,"rel":721},"https://docs.typesafe.ai/models",[49],"0,042 dollar par million de tokens d’entrée",", sans facturation des sorties. Pour donner un exemple concret, analyser 100 000 messages de 1 000 tokens chacun, questions comprises, coûterait ",[19,725,726],{},"4,20 dollars en appels à Jev",". Un prix qui permet d’envisager son utilisation sur de gros volumes de données.",[10,729,730],{},[665,731],{"alt":732,"src":733},"Jev représenté comme un chronomètre face à une pile de messages à traiter","/img/blog/jev-vitesse-volume-cout.webp",[10,735,736],{},[672,737,738],{},"Vitesse, volume et coût : les trois arguments qui rendent Jev intéressant pour les décisions répétées.",[56,740,742],{"id":741},"trois-pistes-que-jenvisage-pour-mes-projets","Trois pistes que j'envisage pour mes projets",[10,744,745],{},"Dans mes projets, plusieurs tâches reposent déjà sur cette lecture du langage : comprendre ce qu'un client exprime, reconnaître une information utile ou identifier le sujet d'une demande. Ce sont les premières pistes que j'ai envie d'explorer avec Jev.",[195,747,749],{"id":748},"_1-trier-les-avis-clients-dans-begonia","1. Trier les avis clients dans Begonia",[10,751,752,753,758],{},"Dans un produit de SEO local comme ",[45,754,757],{"href":755,"rel":756},"https://begonia.pro/",[49],"Begonia.pro",", les avis clients constituent une matière intéressante pour ce type de modèle afin de les analyser et les classer.",[10,760,761],{},"Je pourrais tester Jev sur des questions comme :",[64,763,764,767,770],{},[67,765,766],{},"l'avis parle-t-il de l'accueil, du délai, du prix ou de la qualité du service ?",[67,768,769],{},"décrit-il une expérience positive et un problème dans le même message ?",[67,771,772],{},"signale-t-il une situation qui mérite une lecture prioritaire par le professionnel ?",[10,774,775],{},"L'objectif serait d'aider le professionnel à repérer les sujets récurrents. Le comptage resterait dans le code et la rédaction d'une réponse dans un modèle génératif, avec validation avant publication.",[195,777,779],{"id":778},"_2-qualifier-les-informations-collectées-pour-la-prospection","2. Qualifier les informations collectées pour la prospection",[10,781,782,783,787],{},"J'avais déjà testé un modèle local (",[45,784,786],{"href":785},"/fr/blog/ia-locale-lm-studio-gemma-prospection","Gemma de Google",") dans un prototype de prospection afin de réduire les coûts.",[10,789,790],{},"Jev pourrait intervenir après la collecte pour examiner des critères précis : l'entreprise présente-t-elle un produit logiciel ? Décrit-elle un usage destiné aux professionnels ? Mentionne-t-elle des intégrations avec d'autres outils ?",[10,792,793],{},"Ces signaux pourraient alimenter des filtres dans mon outil et m'aider à sélectionner les entreprises à examiner.",[10,795,796],{},"Sa vitesse me permettrait de qualifier les informations bien plus rapidement qu’avec le modèle local, tout en maîtrisant les coûts.",[195,798,800],{"id":799},"_3-choisir-le-bon-tool-dans-mon-prototype-shopify","3. Choisir le bon tool dans mon prototype Shopify",[10,802,803,804,808],{},"Dans ",[45,805,807],{"href":806},"/fr/blog/commerce-agentique-claude-shopify","mon prototype de commerce agentique avec Claude et Shopify",", Claude choisit les outils à appeler pour rechercher des produits, consulter les informations de la boutique ou gérer le panier.",[10,810,811,814,815,51],{},[19,812,813],{},"Jev pourrait prendre en charge certaines de ces décisions : quel tool faut-il appeler maintenant ?"," La sélection du prochain outil fait notamment partie des ",[45,816,819],{"href":817,"rel":818},"https://vercel.com/changelog/typesafe-ai-jev-now-available-on-ai-gateway",[49],"usages présentés pour Jev",[10,821,822,823,825],{},"Je lui fournirais le contexte de la conversation et la liste des tools disponibles, avec leur description. Une question ",[73,824,126],{}," lui permettrait de sélectionner l’outil adapté :",[64,827,828,834,840],{},[67,829,830,831,51],{},"« Je cherche un soin hydratant pour le visage » → ",[19,832,833],{},"rechercher dans le catalogue",[67,835,836,837,51],{},"« Livrez-vous en Belgique ? » → ",[19,838,839],{},"consulter la politique de livraison",[67,841,842,843,51],{},"« Qu’est-ce que j’ai déjà ajouté ? » → ",[19,844,845],{},"lire le panier actuel",[10,847,848],{},"Le choix porterait sur les outils réellement disponibles dans l’application. Je prévoirais aussi une option permettant de rendre la main à Claude lorsque la demande nécessite une clarification ou un raisonnement plus poussé.",[10,850,851],{},"L’application préparerait ensuite les paramètres nécessaires lorsqu’ils sont déjà disponibles ou déductibles du contexte. Un modèle génératif pourrait encore intervenir pour les demandes qui nécessitent une interprétation plus ouverte. L’application exécuterait l’outil sélectionné avec ses contrôles habituels, puis Claude pourrait exploiter le résultat pour comparer les produits, conseiller le client ou rédiger sa réponse.",[10,853,854,857],{},[19,855,856],{},"L’intérêt serait de réserver les appels au modèle génératif aux étapes qui en ont réellement besoin",", en utilisant Jev pour les choix d’outils simples et fréquents.",[56,859,861],{"id":860},"les-limites-à-garder-en-tête","Les limites à garder en tête",[10,863,864,865,868,869,873],{},"Jev est spécialisé dans les décisions ciblées. ",[19,866,867],{},"Il ne remplace pas un modèle génératif"," pour rédiger une réponse, expliquer un choix ou mener un raisonnement complexe. Il accepte actuellement du texte, mais pas directement des images, de l’audio ou de la vidéo. La ",[45,870,872],{"href":720,"rel":871},[49],"documentation de TypeSafe"," précise également que ses performances sont meilleures en anglais que dans les autres langues.",[10,875,876,877,880],{},"La promesse « sans hallucination » mérite aussi d’être précisée : Jev ne peut pas inventer une réponse en dehors des options fournies, ",[19,878,879],{},"mais il peut sélectionner la mauvaise",". La qualité des questions, des catégories et du contexte reste donc essentielle. Prévoir une option « autre » ou une vérification humaine permet de traiter les situations ambiguës.",[10,882,883,884,889],{},"Enfin, les gains de vitesse et de coût annoncés proviennent des ",[45,885,888],{"href":886,"rel":887},"https://evals.typesafe.ai/",[49],"évaluations de TypeSafe",". Ils dépendent des tâches et des modèles comparés, et ne se retrouveront pas nécessairement dans les mêmes proportions sur chaque application.",[10,891,892,893,896],{},"Mais la proposition est intéressante : ",[19,894,895],{},"un modèle génératif pour rédiger et raisonner, Jev pour les décisions ciblées, et le code pour organiser l'ensemble",". Chaque composant peut être utilisé là où il apporte le plus.",[10,898,899],{},"Et vous, quelle petite décision répétitive de votre application aimeriez-vous pouvoir déléguer sans confier tout le workflow à un agent ?",[10,901,902,903,51],{},"📌 Vous souhaitez intégrer l'IA dans un produit ou automatiser un processus métier ? Je peux vous accompagner du cadrage aux premiers tests avec mes ",[45,904,906],{"href":905},"/fr/services/product-engineering","services de Product Engineering",[56,908,910],{"id":909},"pour-aller-plus-loin","Pour aller plus loin",[64,912,913,920,927,935,943],{},[67,914,915,916,51],{},"TypeSafe, ",[45,917,919],{"href":47,"rel":918},[49],"annonce des modèles System One et de Jev",[67,921,915,922,51],{},[45,923,926],{"href":924,"rel":925},"https://docs.typesafe.ai/introduction/quickstart",[49],"documentation et démarrage",[67,928,929,930,51],{},"Sydney Runkle, ",[45,931,934],{"href":932,"rel":933},"https://x.com/sydneyrunkle/status/2100754364545761643",[49],"« Building a Harness with Jev »",[67,936,937,938,51],{},"Flavio Copes, ",[45,939,942],{"href":940,"rel":941},"https://flaviocopes.com/jev/",[49],"présentation détaillée de Jev",[67,944,945,946,51],{},"Rory Garton-Smith, ",[45,947,950],{"href":948,"rel":949},"https://easyjev.app/",[49],"démonstrations interactives EasyJev",[952,953,954],"style",{},"html pre.shiki code .syxy-, html code.shiki .syxy-{--shiki-default:#BFBDC1}html pre.shiki code .sL3Wm, html code.shiki .sL3Wm{--shiki-default:#80C29C}html pre.shiki code .sloqg, html code.shiki .sloqg{--shiki-default:#A9D3BB}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sj-18, html code.shiki .sj-18{--shiki-default:#E7B566}",{"title":210,"searchDepth":224,"depth":224,"links":956},[957,960,961,966,967],{"id":58,"depth":224,"text":59,"children":958},[959],{"id":197,"depth":250,"text":198},{"id":677,"depth":224,"text":678},{"id":741,"depth":224,"text":742,"children":962},[963,964,965],{"id":748,"depth":250,"text":749},{"id":778,"depth":250,"text":779},{"id":799,"depth":250,"text":800},{"id":860,"depth":224,"text":861},{"id":909,"depth":224,"text":910},"28","ai","2026-09-18T08:00:00.000Z","md",null,"/img/blog/blog28.jpg","fr","page",{},true,"/fr/blog/jev-typesafe-decisions-ia-applications",{"description":980,"title":5},"Jev de TypeSafe classe, évalue et oriente les données en quelques centaines de millisecondes. Présentation, coûts et exemples d'usages dans mes projets.",{"loc":978,"lastmod":982},"2026-09-18T10:00:00+02:00","fr/blog/28.jev-typesafe-decisions-ia-applications","j3XxCPybtdCRKTdgj6XXVDO3XiKB8oWXiTQwmC33U7k",[972,986],{"title":987,"path":988,"stem":989,"children":-1},"Comment ChatGPT avec Codex et Computer Use est devenu mon agent de QA","/fr/blog/chatgpt-computer-use-agent-qa","fr/blog/27.chatgpt-computer-use-agent-qa",[991,994],{"path":992,"lang":993},"/en/blog/jev-typesafe-ai-decisions-applications","en",{"path":978,"lang":974},1789723903743]