j’ai passé un peu de temps dans l’explorateur de politiques de newton cette semaine, simplement en parcourant ce que les gens ont réellement déployé. je ne cherchais rien de particulier.
une entrée attirait sans cesse mon attention : la politique en langage naturel. la description est suffisamment claire : elle évalue une règle formulée en anglais simple par rapport à une intention on-chain à l’aide d’un llm, plutôt que via une rego écrite à la main. pas de dsl à apprendre, pas de syntaxe rego à maîtriser : il suffit de décrire la condition et de laisser le modèle décider.
ça, cette partie a du sens.
au début, je me suis concentré sur ce que la politique fait réellement. le passage le plus intéressant s’est avéré être le nombre de fois où elle a été déployée.
L’explorateur de Newton pagine à la page 1 sur 49, 290 résultats au total, et une partie de cette première page contient la même politique. Politique en langage naturel, même nom, même description mot pour mot, mais une adresse différente à chaque fois. Et ce n’est pas non plus un simple hasard de nom : le même créateur se cache derrière au moins trois d’entre elles.
Cette partie ne me paraît pas juste.

Ce qui est réellement enregistré par instance n’est pas le raisonnement des modèles : c’est un objet de verdict uniquement, oui ou non, sans rien montrer sur la façon dont on y est arrivé. Rego n’encode plus de la logique dans ces déploiements ; il ne fait que relayer ce que le modèle a décidé.
Donc le jugement s’est déplacé ailleurs.
Rego est apprécié parce qu’il est déterministe et vérifiable statiquement : on peut raisonner sur ce qu’une politique autorisera ou n’autorisera pas avant même qu’on l’exécute. Confier cette décision à un LLM lui fait perdre cette propriété. La frontière est toujours appliquée, mais l’entité qui l’applique n’est plus quelque chose que l’on peut auditer entièrement de l’extérieur.
Donc la politique n’enlève pas la part de jugement.
Il la déplace simplement dans le modèle.
Mais quelque chose n’arrêtait pas de me travailler pendant que je parcourais les doublons. 290 déploiements d’un seul motif expérimental, sans variation visible entre eux, n’est pas une preuve évidente que l’idée fonctionne. Ça pourrait tout aussi bien vouloir dire que personne ne teste si un verdict d’LLM tient comme véritable barrière de sécurité : ils ne font que copier ce qui existe déjà.
La répétition n’est pas une validation.
Le cas de l’accessibilité est réel, toutefois. Écrire en Rego, c’est apprendre un langage de politique que la plupart des développeurs Solidity ou Python n’ont jamais touché. Décrire une condition en anglais courant et laisser un modèle la vérifier par rapport à une intention supprime cette barrière. Pour le marketplace de Newton, conçu pour séduire des développeurs d’IA plutôt que des spécialistes de Rego, c’est un compromis délibéré.
Ce choix de design suit cette logique.

La partie que je n’ai pas encore tranchée, c’est de savoir si 290 déploiements quasiment identiques signifient que ce modèle s’est discrètement imposé comme défaut de confiance de Newton pour encadrer des actions pilotées par l’IA, ou si ça signifie qu’un seul modèle a été copié 290 fois sans que personne ne stresse-teste ce qui se passe quand le modèle se trompe sur le verdict.
Newton n’explique pas son travail ici.
Aucune historique de versions entre les clones, aucun signe que l’un d’eux s’est écarté de l’original pour gérer un cas limite, rien qui distingue le bilan d’un déploiement de celui d’un autre. À partir de l’explorateur seul, impossible de distinguer des tests du simple fait de copier.
La politique en langage naturel est un primitif vraiment utile pour Newton si elle tient comme elle est décrite. La question ouverte est de savoir si trois cents copies prouvent que c’est solide, ou si elles prouvent juste que c’est facile à trouver.
Est-ce qu’un motif qui se déploie autant de fois signifie qu’il a survécu à une utilisation réelle suffisante pour être digne de confiance, ou bien que le design ne donne que le verdict rend l’échec assez silencieux pour que personne ne remarque s’il n’aurait pas dû ?
@NewtonProtocol $NEWT #Newt $BILL $TRIA
