Comment transformer AutoCAD en une plateforme intelligente grâce à l’intégration d’un agent IA capable de comprendre le langage naturel

Ce document détaille une approche innovante pour transformer AutoCAD, passant d’un environnement de géométrie statique à un système réactif et « sensible au domaine » grâce à l’intégration d’une IA agente. Contrairement aux chatbots conventionnels qui se limitent à répondre à des questions, une application agente utilise une boucle de rétroaction pour exécuter des actions concrètes sur les dessins — telles que l’affectation de métadonnées de tuyauterie ou l’audit de conformité — à partir d’instructions en langage naturel. Le succès de cette intégration repose sur la gestion rigoureuse du contexte de thread d’AutoCAD, l’ancrage du domaine via des invites système (system prompts) et la préservation de l’intégrité des données au sein des produits verticaux.

1. Le Concept de l’IA Agente dans AutoCAD

L’objectif central est de pallier le manque d’intelligence intrinsèque de la géométrie AutoCAD. Par défaut, un cercle ne possède pas de sémantique métier (tuyau, colonne, etc.). L’approche agente permet de définir ces entités via une conversation.

  • Différence entre Chatbot et Agent : Un chatbot se contente de fournir des informations. Un agent prend des mesures concrètes en utilisant des outils définis par le développeur.
  • Capacités Démontrées :
    • Enregistrement d’entités avec des spécifications précises (ex: « tuyau en acier au carbone de 6 pouces SCH40 »).
    • Écriture automatique de données étendues (XData) et d’entrées dans le dictionnaire d’extension.
    • Audit en temps réel des entités par rapport aux règles métier (ex: vérification de l’état de préparation pour une soumission ISO).

2. Architecture et Implémentation Technique

L’application repose sur une architecture légère utilisant l’IA Claude d’Anthropic, intégrée sans dépendances SDK lourdes pour éviter les conflits de version d’assemblage.

2.1 L’Interface ITool

Le pivot de l’action de l’IA est l’interface ITool. Elle permet au modèle de décider quel outil appeler en fonction de l’intention de l’utilisateur.

2.2 Le Défi du Contexte de Document

AutoCAD impose que la base de données du document ne soit modifiée que depuis le thread de contexte du document. L’inférence de l’IA s’exécutant sur un thread d’arrière-plan, une tentative d’écriture directe provoquerait une erreur eLockViolation.

  • Solution : Utilisation de ExecuteInCommandContextAsync combinée à une TaskCompletionSource.
  • Mécanisme :
    1. La boucle de l’agent attend la tâche (tcs.Task).
    2. Le thread de contexte du document exécute l’opération de base de données.
    3. Le résultat est renvoyé à la boucle de l’agent via tcs.SetResult, permettant à la conversation de poursuivre.

3. Ancrage au Domaine (Domain Grounding)

L’IA comprend le schéma métier de l’utilisateur grâce à l’ancrage dans l’invite système (system prompt), agissant comme un dictionnaire de données pour le dessin.

Méthode Description Cas d’utilisation
Ancrage Statique Le schéma du domaine est inclus dans chaque requête. Schémas de données petits et statiques.
RAG (Retrieval-Augmented Generation) Récupération dynamique de segments pertinents depuis une base de connaissances. Domaines vastes (normes industrielles, catalogues volumineux).

4. Intégrité des Données et Produits Verticaux

L’utilisation d’IA pour modifier des dessins nécessite une prudence particulière concernant la structure des données, surtout avec les produits verticaux comme Plant 3D ou Civil 3D.

  • Risque des écritures brutes : L’écriture directe de XData ou dans le dictionnaire d’extension est sûre pour les métadonnées appartenant exclusivement au plugin. Cependant, cela est dangereux pour les objets gérés par des produits verticaux qui maintiennent des graphes de relations complexes.
  • Recommandation : Pour les produits verticaux, les outils de l’IA doivent appeler les API spécifiques du produit (ex: API AcPp3d pour Plant 3D) plutôt que de modifier les données brutes. Cela garantit que le moteur de spécification et l’intégrité référentielle restent intacts.

5. Comparaison avec le Model Context Protocol (MCP)

Bien que le standard MCP définisse la communication entre les modèles d’IA et les systèmes externes, une implémentation « in-process » a été privilégiée pour AutoCAD.

  • Avantages de l’in-process : Accès direct à la base de données du document sans couche de transport (HTTP ou stdio).
  • Limitation du MCP externe : Un serveur MCP hors processus ne pourrait pas appeler ExecuteInCommandContextAsync directement et nécessiterait un pont IPC (Named Pipes, WebSockets) complexe.

6. Flux de Travail Type (Exemple)

Le document identifie un scénario d’utilisation standard illustrant la puissance de l’agent :

  1. Identification : L’utilisateur demande ce qu’est une entité.
  2. Enregistrement : L’IA enregistre l’entité avec des spécifications techniques.
  3. Approbation : L’IA met à jour les révisions et le statut d’approbation.
  4. Audit : L’IA vérifie si l’entité remplit les conditions pour une soumission ISO et propose de corriger les champs manquants.