Pilier

La question qui échouait à chaque fois, jusqu'à ce qu'elle cesse

Nous testons ce produit plus durement que la plupart des gens ne prendraient la peine de tester un outil qu’ils ne vendent pas. Pas parce que nous aimons trouver nos propres bugs, mais parce que l’affirmation “l’IA connaît vraiment votre activité” ne vaut rien si personne n’a vérifié que c’est vrai sous une vraie pression.

Une question échouait sans arrêt. Pas presque juste, pas vague, un “Je n’ai pas cette information” tout sec.

La question, et à quelle fréquence elle échouait

“Propose un forfait de services hybride, fondé sur ce qui a réellement fonctionné.”

Nous avons posé une version de cette question dans trois séries de simulation AlphaForge distinctes, un test complet de la verticale cabinets d’avocats, et un test de la verticale aménagement paysager. À chaque fois, avec l’ancienne méthode de récupération : une version de “Je n’ai pas d’entrées du Vault ni de dossiers montrant quelles combinaisons ont fonctionné.”

Ce qui était frustrant, ce n’était pas l’échec en soi. C’est que l’information n’était réellement pas manquante. Le Vault avait l’entrée générale sur les tarifs. Il avait l’entrée précise sur le résultat obtenu. Il ne les a simplement jamais reliées, parce que la méthode de récupération sous-jacente faisait une correspondance de mots-clés en direct à chaque message, jusqu’à quarante balayages distincts de la base de données par question, et la correspondance de mots-clés ne sait pas que “palettes de gazon” et “couverture en palettes” parlent de la même chose.

Ce que nous avons vraiment changé

Pas ce que le Vault stocke. La façon dont on y cherche.

Chaque entrée du Vault est désormais transformée en embedding, une représentation numérique de son sens réel, au moment où elle est écrite, pas au moment où quelqu’un pose une question à son sujet. La récupération est devenue une simple recherche du plus proche voisin sur cette représentation, au lieu de balayer tout le Vault depuis zéro à chaque message. C’est la même base de données sous-jacente, Postgres, sur la même instance que nous avions déjà, avec une extension conçue exactement pour ça. Aucune nouvelle catégorie d’infrastructure. Juste une autre façon de retrouver ce qui était déjà là.

Y arriver a demandé un vrai travail d’ingénierie, peu glorieux, sur lequel la plupart de ces articles ne s’attardent pas : vérifier quels fournisseurs d’IA proposent même un endpoint d’embeddings (ce n’est pas le cas de tous), une conception tenant compte de chaque client (tenant-aware) pour que le fournisseur configuré propre à chaque entreprise soit utilisé plutôt qu’une seule clé pour toute la plateforme, et un bug vraiment tatillon où les embeddings d’un fournisseur avaient besoin d’une normalisation explicite avant que les comparaisons de distance soient même mathématiquement valides. Nous avons aussi comparé cinq modèles candidats sur une vraie question avant d’en choisir un, et découvert quelque chose qui vaut d’être su en soi : l’option la plus rapide battait la plus lente de dix à quinze fois, sans aucune différence de qualité de réponse sur la question numérique précise sur laquelle nous l’avons testée.

Le nouveau test

Même client. Même question. Ancienne méthode, puis nouvelle, l’une après l’autre.

L’ancienne réponse : “Je n’ai pas d’entrées du Vault ni de dossiers montrant quelles combinaisons ont fonctionné.”

La nouvelle réponse, confirmée par les journaux comme ayant vraiment emprunté le nouveau chemin de récupération, pas une coïncidence : une proposition réelle et précise, des services nommés, un vrai client cité par son nom, une valeur totale calculée, un raisonnement rattaché à la façon dont le travail de cette entreprise se déroule réellement. Pas une version légèrement meilleure de l’ancienne non-réponse. Un résultat complètement différent, sur une question qui avait échoué à l’identique, à chaque fois, pendant tout le programme de tests jusque-là.

Ce que nous n’allons pas prétendre

Le coût réel est apparu immédiatement, alors nous le rapportons, sans l’enjoliver. Le rattrapage des embeddings pour un Vault déjà volumineux, plus de mille entrées, a pris presque cinq minutes, dangereusement près d’une limite stricte de délai d’expiration de requête. Sur un Vault vraiment mature, profond de plusieurs milliers d’entrées, ce même rattrapage en une seule fois échouerait probablement en cours de route. Nous le savons maintenant parce que nous l’avons mesuré, pas parce que nous devinons. C’est un vrai chantier identifié à venir, pas quelque chose que nous avons livré en espérant discrètement que personne ne tombe dessus.

Le chiffre derrière tout ça

Cette seule comparaison avant/après n’est qu’un test au sein d’un programme bien plus vaste : environ vingt-cinq années d’activité commerciale simulées sur plusieurs secteurs, plus de neuf mille entrées réelles du Vault générées en chemin, onze vrais bugs trouvés et corrigés, dont cette lacune de récupération. Dépense totale réelle en API pour l’ensemble du programme, sur plusieurs mois : 9,57 $.

Nous préférons vous montrer la question qui a échoué cinq fois de suite, et exactement ce qu’il a fallu pour la corriger, plutôt que de commencer par un chiffre choc en espérant que personne ne demande ce qu’il y a vraiment derrière.

Questions que les gens posent vraiment

L'IA manquait-elle vraiment de l'information, ou était-ce un problème de recherche ?

Un problème de recherche, confirmé directement. Chaque fait nécessaire pour répondre à la question se trouvait déjà dans le Vault. L'ancienne méthode de récupération utilisait une correspondance de mots-clés en direct, si bien qu'une question utilisant ‘palettes’ ne trouvait pas forcément une entrée écrite avec ‘palette’, et une question de synthèse plus large ne reliait pas forcément deux entrées liées mais formulées différemment. Le savoir était là. La recherche ne le trouvait simplement pas.

Qu'est-ce qui a vraiment changé ?

Les entrées du Vault sont désormais transformées en embedding, une représentation numérique de leur sens, au moment même où elles sont écrites. La récupération est devenue une simple recherche du plus proche voisin sur cette représentation, au lieu d'un balayage par mots-clés en direct sur tout le Vault à chaque message. Le même savoir sous-jacent. Une façon fondamentalement différente de le retrouver.

Comment savez-vous que l'amélioration est réelle et pas un coup de chance ?

Nous avons rejoué la question identique sur le même client, d'abord avec la recherche par mots-clés, puis avec la recherche vectorielle, et comparé les résultats. Nous avons aussi vérifié le coût réel : la latence, le temps de rattrapage à grande échelle, et un vrai risque que nous avons identifié (le rattrapage ponctuel d'un grand Vault s'approchant dangereusement d'un délai d'expiration de requête), plutôt que de ne présenter que la victoire.

Rejoindre l'Early Crew →← Retour à tous les articles

Recorded on a live database and a live screen, but run by automated scripts standing in for a human's clicks and typing, not performed live. When Stark answers faster than the script expects, the screen can hold still for a beat before the next step starts. That's left in on purpose. The goal was never a polished demo reel, it was proof the feature actually works. Dejan's own verdict, after watching the raw footage: rough, but the best demo video we've made.