LaReunion.ai Le Fil

Une IA qui connaît son île

Un modèle général répond toujours, même quand la case est vide. Ce qu’on construit à la place : un copilote qui calcule au lieu de se souvenir, une recherche par le sens avec ses ratés, et une porte d’entrée pour les agents.

Vision7 min de lectureLaReunion.ai

Écran de l’application : Une IA qui connaît son île

À Saint-⁠Joseph, la zone U5 du plan local d’urbanisme couvre près de 388 hectares. Notre table la résume d’après le règlement et le zonage : « reste du tissu urbain, résidentiel peu dense ». On y monte à 9 mètres, on couvre la moitié du terrain. Juste à côté, il y a un secteur U5cv, que la même source qualifie de « secteur de U5 à emprise et hauteur augmentées ». Augmentées de combien ? La case est vide.

Posez la question à une intelligence artificielle généraliste. Il y a de fortes chances qu’elle réponde. Avec aplomb, en trois lignes bien tournées, et probablement avec un chiffre rond. Ce chiffre, elle ne l’a lu nulle part. Elle l’a produit comme elle produit tout le reste : en cherchant la suite la plus plausible. Quand le fait manque, il ne reste que le plausible — et le plausible, en urbanisme, se paie au moment du certificat.

Ce qu’un modèle général ne peut pas savoir

Le règlement de Saint-⁠Joseph n’est pas un secret. C’est un document publié sur le Géoportail de l’urbanisme. Le zonage qui va avec est un autre fichier, fait de polygones. Les deux existent, et les deux ne se parlent pas : l’un est du texte, l’autre de la géométrie.

On a passé un moment à les rapprocher. Résultat : 712 lignes de règle pour les 24 communes — 709 lues dans un vrai règlement, 3 fiches pour la seule commune qui n’en a pas —, dont 58 pour Saint-⁠Joseph. Sur ces 58, 30 portent une hauteur maximale chiffrée. Les 28 autres, non. Sur l’île entière, 402 lignes sur 712 n’ont pas de hauteur, et les 712 n’ont pas de COS — celui-là, c’est normal, la loi ALUR l’a supprimé.

Le point important n’est pas qu’il y ait des trous. C’est qu’un modèle général ne sait pas qu’il y en a. Il ne dit pas « je ne sais pas », parce qu’il ne sait pas qu’il ne sait pas. Nous, on sait où sont les trous : on les a comptés.

Un copilote qui calcule au lieu de se souvenir

Le copilote de l’application s’appelle Zarboutan — en créole, le pilier, celui qui soutient. Ce n’est pas un modèle à qui on aurait fait lire une documentation. C’est un modèle à qui on a donné quatorze outils et interdit de répondre de tête.

Deux de ces outils font l’essentiel du travail. Le premier écrit du SQL et interroge la base en lecture seule. Le second va chercher des extraits dans les 122 documents de la bibliothèque, dont les 24 règlements d’urbanisme, et doit les citer.

La consigne qui gouverne tout ça est écrite dans son prompt, mot pour mot :

N’invente JAMAIS un chiffre : calcule-le.

Ce n’est pas une intention de communication, c’est un verrou. La route qui exécute la requête n’accepte que SELECT et WITH, rejette tout mot-clé d’écriture, interdit même les commentaires SQL, et plafonne le nombre de lignes à 500. Derrière, le compte de base de données est lui-même en lecture seule — la ceinture et les bretelles, parce qu’on n’a pas confiance dans la ceinture. Le modèle peut se tromper de question. Il ne peut pas se tromper de chiffre, puisqu’il ne l’écrit pas : il le lit.

Chercher par le sens, et rater « boutik la kaz »

Depuis le 15 septembre, l’application cherche aussi par le sens et plus seulement par les mots. Le mécanisme — des textes et une question passés par le même petit modèle ouvert, puis comparés — est décrit avec ses chiffres dans Comment on sait ce qu’on affiche. Ce qui se joue ici, c’est l’usage : ce que ça trouve, et ce que ça rate.

Ça marche, et on a mesuré combien. Sur un jeu de 45 questions d’urbanisme, la bonne réponse arrive en tête dans 91 % des cas, et dans les cinq premières à chaque fois. Sur la bibliothèque et sur les secteurs d’activité, c’est un peu moins bon. Sur la presse, franchement moyen, et les réglages sont encore provisoires. Une question coûte entre 4 et 56 millisecondes selon qu’elle a déjà été posée — mesuré en local, réseau non compris.

Tapez « où manger un carry » : vous tombez sur la restauration traditionnelle. Tapez « boutik la kaz » : vous tombez sur les papiers peints, la charpente et le déménagement. Le jeu de tests en tournures créoles plafonne à 43 sur 100. Pourquoi exactement, on ne l’a pas établi ; le décrochage, lui, est mesuré, et il est écrit noir sur blanc dans nos notes avant d’être écrit ici.

Dernière chose, qui compte autant que le reste : quand le service d’encodage tombe — ça arrive — la recherche retombe sur les mots, et elle le dit. La réponse porte un champ qui vaut « texte » au lieu de « sens », avec la raison de la bascule. Un outil qui se dégrade en silence est un outil qui ment.

Deux fois où on a testé la mode, et deux fois où elle a perdu

Le 14 septembre, on a voulu savoir s’il fallait une base vectorielle pour les 147 922 établissements de l’île — ranger les noms d’entreprises dans un espace où les voisins se ressemblent. Réponse mesurée : non. Dans cet espace, « SCI BAK » et « SCI BAYU » se retrouvent à une distance de 0,0000. Ce sont deux sociétés différentes. La conclusion tient en six mots, et elle vaut pour bien au-delà de ce cas : le vecteur propose, la clé tranche.

Le 17 septembre, on a passé une journée de bancs d’essai sur JEPA, la famille de modèles dont tout le monde parle cette année — des modèles qui apprennent à voir en devinant, non pas les pixels qu’on leur cache, mais la description de ces pixels. La question était sérieuse : est-ce qu’ils reconnaissent le type d’un bâtiment sur une photo aérienne mieux que nos règles ? Sur le protocole le plus propre — cinq classes, ortho à 20 centimètres —, les trois encodeurs d’image tournent autour de 40 % de justesse, quand la géométrie seule — l’emprise, la hauteur, la forme du toit — en fait 88. Deux autres protocoles, montés autrement, disent la même chose sur le point qui compte : aucun JEPA ne bat DINOv2, le modèle d’image ordinaire qu’on avait déjà sous la main.

Le meilleur moment de la journée est ailleurs. On a ajouté un témoin bête, qui ne regarde aucun pixel et ne connaît que la longitude et la latitude du bâtiment. Il fait 48 % : il bat les trois modèles d’image. Avec un découpage plus sévère, qui empêche deux imagettes voisines de se retrouver des deux côtés du test, il redescend à 37 % et les modèles à 38-40 : au mieux 3,7 points d’avance pour une incertitude de ±3,4. Dans les deux cas, la même conclusion : ce qu’on prenait pour de la vision était surtout de la géographie.

Reste à dire ce que ce 88 % ne dit pas. L’étiquette qu’on demandait de retrouver, c’est nous qui l’avions posée, avec un arbre de règles sur l’emprise, la hauteur et la forme du toit. On a donc demandé à des photos de deviner ce qu’une règle géométrique avait décidé : 88 %, c’est le plafond de la tâche, pas la victoire d’une méthode sur une autre. Pour trancher pour de bon il faudrait quelques centaines de bâtiments étiquetés à l’œil, un par un. On ne les a pas.

Ça n’a rien produit sur la carte. C’est probablement le meilleur usage qu’on ait fait d’une journée ce mois-ci.

Le public auquel personne ne pense : les agents

Il y a un lecteur qu’on oublie toujours, et qui va devenir majoritaire : l’assistant de quelqu’un d’autre. Le Claude ou le ChatGPT de l’architecte, à qui on demande « regarde-moi cette parcelle ».

Pour lui, le site publie sa propre carte, en texte, à l’adresse lareunion.ai/llms.txt. Elle est publique et lisible par n’importe qui. Elle dit ce qu’il y a, d’où ça vient, et quelles questions se posent. Le contrat complet des verbes, lui, demande une session de la bêta.

L’idée directrice tient en une phrase : l’agent ne doit pas dessiner. Un modèle de langage qui fabrique un graphique produit quelque chose de laid et souvent de faux. Le même modèle qui compose une adresse ouvrant la carte 3D sur la bonne couche, avec sa légende, produit quelque chose de juste — et ça ne coûte rien, puisque c’est nous qui dessinons. La première règle du contrat, celle que l’agent lit avant de s’en servir, est la même que celle qu’on s’applique : calcule, n’invente pas ; chaque chiffre vient d’une requête, chaque réponse porte sa source.

On a même ajouté un verbe dont le seul travail est de dire à l’agent « ton adresse est bonne » avant qu’il la livre. Première version : il répondait oui à une adresse qui demandait la couche zorglub, la palette arc_en_ciel et la vue mars. C’est une IA extérieure, à qui on avait demandé de nous prendre en défaut, qui l’a trouvé. Le commentaire est resté dans le fichier : un feu vert sur une URL fausse est pire que pas de vérification du tout.

Où ça va

Le créole, un jour, et sans promesse de date : on connaît le problème, on n’a pas encore la solution. Brancher les mêmes outils sur l’assistant que vous utilisez déjà, plutôt que de vous demander de venir chez nous — c’est écrit comme l’étape suivante dans nos notes, ce n’est pas fait. Et une chose qu’on ne fera pas : demander au visiteur de coller sa propre clé d’API. C’est décidé depuis le 4 septembre.

Une IA qui connaît son île, ce n’est pas un modèle plus gros. C’est un modèle, n’importe lequel, branché sur des données qu’on peut montrer du doigt — avec, à côté de chaque réponse, la ligne qui dit d’où elle sort. Et le droit de répondre : la case est vide, allez lire le règlement.