1. Des décisions, pas des chaînes
Sections
Réglages de lecture
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
Code et termes techniques en anglais
Désactivé : la voix de la page lit tout, sans pause entre deux voix.
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
D’autres voix : Microsoft Edge propose des voix naturelles en ligne, et Windows (Paramètres › Heure et langue › Voix), macOS et Android en installent d’autres.
TypeSafe AI présente Jev comme un modèle de jugements rapides et ciblés dans du logiciel. Une requête contient un state et une ou plusieurs questions. Chaque question est évaluée indépendamment sur le même état, et la réponse revient sous l’identifiant choisi par l’appelant.
C’est volontairement moins général que du texte généré. Le gain n’est pas une justesse magique, mais une interface réduite que le code peut valider et composer.
Trois primitives
Section intitulée « Trois primitives »| Primitive | Quand l’utiliser | Valeur renvoyée |
|---|---|---|
Choice |
un membre d’un ensemble fermé doit l’emporter | option choisie, probabilités de toutes les options, confiance |
Score |
la réponse se place sur une échelle ordonnée | score pondéré, légende, probabilités, confiance |
Noul |
la réponse utile est un degré de oui ou non | un nombre de 0 à 1 |
Noul est le nom de la primitive binaire de TypeSafe. Contrairement à Choice et Score, elle n’a pas de champ confidence distinct.
Le laboratoire pose les trois questions en un appel :
{ "next_step": { "type": "choice", "instructions": "Quelle prochaine étape du cycle de vie les preuves fournies permettent-elles?", "criteria": { "design_review": "Réviser le design; l'autorité d'implémentation est absente ou les preuves sont incomplètes.", "bounded_implementation": "Implémenter un seul tracer borné uniquement lorsque le design et les preuves d'autorité sont explicites.", "reject": "La proposition contredit une contrainte absolue ou ne peut pas échouer de manière fermée." } }, "delivery_risk": { "type": "score", "instructions": "À quel point l'effet proposé serait-il difficile à annuler?", "criteria": ["Faible et réversible", "Modéré ou compensable", "Élevé ou difficile à annuler"] }, "authority_present": { "type": "noul", "instructions": "L'état contient-il une autorité d'implémentation explicite et bornée?" }}Il ne demande pas « Gaia doit-il implémenter ceci sans danger? », question trop large qui mélangerait plusieurs décisions.
Questions atomiques, composition dans le code
Section intitulée « Questions atomiques, composition dans le code »La décision finale reste du code :
if not authority_artifact_verified: return "human_review:no_explicit_authority"if authority_present < 0.9: return "human_review:model_did_not_observe_authority"if next_step_confidence < 0.75: return "human_review:uncertain_next_step"if delivery_risk > 1.0: return "human_review:risk_above_bound"authority_artifact_verified vient du code local de confiance, jamais de Jev. La réponse Noul peut rendre la route plus prudente, mais elle ne peut pas transformer l’absence d’un artefact d’autorité en permission.
Les seuils sont des hypothèses, pas des constantes universelles. La documentation sur la confiance recommande de commencer prudemment et d’ajuster sur les données du domaine. Une action destructive exige une politique différente d’une recommandation en lecture seule.
La sûreté des types n’est pas la vérité sémantique
Section intitulée « La sûreté des types n’est pas la vérité sémantique »L’API peut limiter next_step.choice aux options de la requête. Notre validateur peut donc refuser "merge_now". Une réponse valide ne peut pas glisser une nouvelle commande en inventant une chaîne.
Mais deux affirmations restent distinctes :
- Forme : la réponse appartient à l’espace déclaré.
- Sens : la réponse choisie est juste pour cet état.
La première se vérifie mécaniquement à chaque appel. La seconde demande un corpus étiqueté, une analyse des erreurs, de la calibration et une politique adaptée aux conséquences. L’affirmation « can’t hallucinate » de l’annonce concerne l’interface fermée; ce cours ne l’interprète pas comme l’impossibilité d’un mauvais jugement.
Discipline de version et de probabilités
Section intitulée « Discipline de version et de probabilités »La page actuelle liste jev-1.13.0 et les alias jev-latest et jev-preview. Un alias peut bouger. Si des seuils ont été évalués sur un modèle, épinglez sa version et journalisez le champ model concret de chaque réponse.
Utilisez la distribution complète lorsque l’alternative secondaire importe. confidence résume la forme de la distribution; elle ne dit ni quelle seconde option mérite une escalade, ni si une marge convient à votre domaine.
À retenir
Section intitulée « À retenir »- Choice, Score et Noul sont des primitives de jugement fermées, pas de la génération libre.
- Posez des questions atomiques et composez les réponses dans le code.
- Une forme valide empêche les options inventées; elle ne prouve pas la justesse.
- La confiance guide une politique; elle n’est ni autorité ni acceptation.
- Épinglez le modèle quand les seuils comptent et mesurez chaque montée de version.
Exercices
Section intitulée « Exercices »- Il faut choisir quel dépôt possède un bogue : Gaia, GA, IX, TARS ou Demerzel. Quelle primitive convient, et quelle option faut-il ajouter si la liste peut être incomplète?
Solution
Choice, car la réponse est un élément d’un ensemble fermé sans ordre. Ajoutez unknown ou none_of_the_above; sinon le modèle doit affecter sa probabilité à une option même si aucune ne convient.
- Une réponse choisit
bounded_implementationavec une confiance de 0,98, mais l’état ne contient aucune autorisation. Peut-on dispatcher?
Solution
Non. La confiance décrit la distribution du modèle, pas l’autorité. Le code doit vérifier l’artefact d’autorité réel. Même la réponse Noul reste consultative et ne remplace aucune preuve cryptographique ou de dépôt.
- TypeSafe AI : introduction, primitives, confiance, modèles
- TypeSafe AI : Introducing System One Models & Jev