Rapport d'Audit Expert : Architecture du Prompt de Génération de Scénarios (BTP / Embeddings)

Objectif de l'audit : Évaluer la capacité du prompt actuel à générer 5 scénarios de très haute qualité par ouvrage (pour 34 000 lignes) afin d'optimiser un système de recherche sémantique par similarité cosinus (RAG), tout en respectant l'équilibre entre diversité lexicale et intégrité technique.

1. Synthèse Exécutive

Le prompt actuel présente une excellente compréhension métier du BTP et pose de solides gardes-fous contre les hallucinations techniques. Cependant, son architecture cognitive est bridée par des contradictions majeures qui forcent le LLM à produire des scénarios "clones". Ce sur-ajustement textuel annulera l'efficacité de la recherche vectorielle (embeddings), empêchant le système de capter les requêtes orales naturelles des artisans. De plus, des failles de formatage JSON compromettent l'industrialisation du processus.

2. Analyse Approfondie des Faiblesses (Catégorisées)

A. Contradictions Sémantiques & Effondrement Vectoriel

Cette catégorie regroupe les failles qui détruisent la performance de vos embeddings (Faiblesses 1, 7, 11, 12).

Contradiction : Copier-coller textuel vs diversité lexicale

Problème (Faiblesses 1 & 12)

Les contraintes 2, 3 et 4 exigent la répétition "textuelle et sans synonymie" des caractéristiques techniques, tandis que les règles de rédaction demandent un "vocabulaire différent". Le LLM va privilégier la sécurité et générer 5 scénarios sémantiquement clonés. Dans l'espace vectoriel, ces 5 vecteurs seront superposés, réduisant drastiquement la surface de "capture" sémantique.

Recommandation

Remplacer l'injonction de "copier-coller" par une consigne de "préservation stricte de la métrologie et des valeurs cibles". Autoriser la flexion des descripteurs non-critiques.

Dissonance du persona "familier_artisan / chantier_jargon"

Problème (Faiblesses 7 & 11)

Un artisan sur un chantier ne récite jamais l'ontologie complète d'une sous-famille. Forcer ces attributs dans le jargon détruit le réalisme du dataset et éloigne les embeddings des vrais prompts utilisateurs finaux.

Recommandation

Créer des règles de tolérance : autoriser le mode chantier_jargon à omettre les évidences de la famille macro, tout en conservant les discriminants de l'ouvrage (ex: entraxe, épaisseur, matériaux).

B. Paramètres d'Inférence & Mécanique LLM

Cette catégorie concerne la façon dont le modèle (GPT-4.1) interprète les instructions (Faiblesses 2, 6, 13, 14).

Paramètres d'inférence inadaptés (Température 0)

Problème (Faiblesse 2)

Une température à 0 bride totalement la créativité et la diversité lexicale. Le LLM utilisera exactement les mêmes tournures syntaxiques pour les 34 000 ouvrages.

Recommandation

Relever la température à 0.4 ou 0.5, avec un Top P à 0.9. C'est le "sweet spot" pour obtenir une variation syntaxique tout en gardant une précision factuelle stricte.

Contrainte de longueur irréaliste (13 à 30 mots)

Problème (Faiblesse 6)

Certains ouvrages (comme l'isolation acoustique avec montants complexes) dépassent déjà 20 mots dans leur intitulé brut. Cette limite forcera l'IA à amputer des données critiques pour "rentrer" dans la contrainte, générant de faux chiffrages.

Recommandation

Ajuster la contrainte : « 15 à 45 mots, adapté à la densité technique de l'ouvrage cible ».

Consigne de vérification inopérante

Problème (Faiblesse 13)

Demander à un LLM de "Vérifier avant de sortir le JSON" ne fonctionne pas sans une étape de Chain-of-Thought (CoT). L'IA générera le JSON sans réfléchir en amont.

Recommandation

Implémenter un espace de brouillon cognitif avant le JSON : "_analyse_prealable": "chaîne de pensée".

Potentiel d'abréviation inexploité

Problème (Faiblesse 14)

Le persona évoque les abréviations, mais aucune consigne ne force l'IA à convertir "plaques de plâtre" en "BA13" ou "placo".

Recommandation

Ajouter une règle explicite forçant l'usage des alias métiers reconnus dans les scénarios jargon/chantier.

C. Risques d'Hallucination & Few-Shot Prompting

Cette catégorie cible les biais induits par les exemples et les restrictions (Faiblesses 8, 9, 10).

Biais d'hallucination (Few-Shot) dans l'exemple

Problème (Faiblesse 8)

L'exemple ajoute "prêt chantier", ce qui viole frontalement la Règle 6. Le modèle imitera ce comportement et inventera des contextes ("rénovation", "neuf") qui fausseront les embeddings.

Recommandation

Purger l'exemple de tout terme ne figurant pas strictement dans la data d'entrée.

Redondance cognitive et bridage sémantique

Problème (Faiblesses 9 & 10)

Les règles 1, 5 et 6 disent la même chose différemment, gaspillant des tokens de contexte. La liste de verbes imposés empêche l'IA de trouver les vrais mots d'artisans.

Recommandation

Condenser les interdictions en une seule clause stricte ("Zero-Hallucination Clause"). Supprimer la liste de verbes pour laisser libre cours à la simulation orale.

D. Formatage Strict, JSON & Automatisation

Cette catégorie relève les erreurs bloquantes pour l'industrialisation (Faiblesses 3, 4, 5, 15).

Incohérence et erreurs syntaxiques JSON

Problème (Faiblesses 3, 4, 5)
  • Clé annoncée : contexte_terrain / Clé codée : libre_pertinant (avec faute d'orthographe).
  • Présence d'espaces résiduels critiques : "professionnel_technique ".
  • Un script de parsing Python/Node.js crashera instantanément sur ces 34 000 JSON.
Recommandation

Assainir la structure d'output. Les clés doivent matcher parfaitement à la lettre près.

Input User non optimisé

Problème (Faiblesse 15)

Fournir les données d'entrée sous forme de texte hybride ralentit l'attention (Self-Attention) du modèle.

Recommandation

Pousser chaque ouvrage sous forme d'objet JSON strict en input pour garantir un mapping parfait par l'IA.

3. Synthèse des Cas Limites (Edge Cases)

Pour parfaire cette analyse, 3 points marginaux nécessitent une attention lors de la refonte :

La gestion des unités

Imposer une normalisation (ex: forcer mm, m2, Ø) pour éviter que le tokenizer n'éparpille la sémantique.

Accords et pluriels

Définir si la dictée doit tolérer le singulier/pluriel.

Résilience de l'Input

Que fait l'IA si la donnée d'entrée est vide ou tronquée ? (Prévoir un comportement fallback).