← Derniers articles
💻 computer science

Code2UML: Agentic LLMs with context engineering for scalable software visualization

Ce papier présente Code2UML, un système d'IA agentic basé sur les grands modèles de langage, doté d'une couche d'ingénierie de contexte déterministe qui permet une génération automatisée évolutive et de haute qualité de diagrammes UML à partir de dépôts de code source à grande échelle, tout en maintenant des performances stables quelle que soit la taille du projet ou le langage de programmation.

Auteurs originaux : Alin-Gabriel Văduva, Anca-Ioana Andreescu, Simona-Vasilica Oprea, Adela Bâra

Publié 2026-05-26
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Alin-Gabriel Văduva, Anca-Ioana Andreescu, Simona-Vasilica Oprea, Adela Bâra

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous possédiez une immense bibliothèque de livres (une base de code logiciel) et que vous souhaitiez créer une carte simple (un diagramme UML) montrant comment les pièces sont connectées, où se trouvent les sorties et comment les personnes circulent entre elles.

Le problème est que la bibliothèque est si vaste que si vous essayez de décrire l'ensemble à un seul expert (une IA) d'un seul coup, elle se sent submergée, commence à inventer des choses ou s'arrête simplement en cours de route. C'est le problème de la « limite de contexte » que l'article aborde.

Les auteurs, Code2U, ont constitué une équipe intelligente d'assistants IA pour résoudre ce problème. Au lieu de demander à une seule IA géante de tout faire, ils ont créé une hiérarchie de cinq agents spécialisés (pensez à une équipe de chantier avec des tâches spécifiques) et un système de compression de données ingénieux.

Voici comment leur système fonctionne, décomposé en concepts simples :

1. Le filtre « Ingénierie du contexte » (Le bibliothécaire)

Avant même que l'équipe d'IA ne regarde le code, un outil spécial agit comme un bibliothécaire ultra-rapide.

  • Le problème : La bibliothèque complète de code est trop volumineuse pour tenir dans la « mémoire de travail » de l'IA (sa fenêtre de contexte).
  • La solution : Cet outil n'utilise pas l'IA pour décider quoi conserver. Au lieu de cela, il utilise des règles strictes et préécrites (logique déterministe) pour scanner rapidement le code et créer une « instantanée » personnalisée pour la carte spécifique que vous souhaitez dessiner.
  • L'analogie : Imaginez que vous avez besoin d'une carte du métro d'une ville. Le bibliothécaire ne demande pas à l'IA : « Qu'est-ce qui est important ? ». Au lieu de cela, le bibliothécaire jette instantanément tous les noms de rues, les adresses des bâtiments et les détails des parcs, ne conservant que les stations de métro et les voies. Cet instantané est minuscule, tient parfaitement dans la mémoire de l'IA et est produit en millisecondes sans avoir besoin d'aucune puissance de cerveau IA.

2. L'équipe à cinq agents

Une fois que le bibliothécaire a créé le bon instantané, une équipe de cinq agents IA spécialisés prend le relais. Ils travaillent ensemble comme une machine bien huilée :

  • Le Planificateur (L'architecte) : Examine l'instantané et décide : « D'accord, nous devons diviser ce grand projet en plus petits morceaux. Créons trois cartes séparées pour les différents départements. »
  • L'Analyseur (Le détective) : Pour chaque morceau, cet agent lit les fichiers spécifiques et résume les interactions clés (qui parle à qui). Il ignore le bruit et se concentre sur le signal.
  • L'Agent Diagramme (L'artiste) : Cet agent prend le résumé et dessine réellement la carte (en écrivant le code du diagramme).
  • Le Correcteur (L'éditeur) : L'artiste peut commettre de petites erreurs (comme une faute de frappe dans la légende de la carte). Cet agent lit la carte terminée, la vérifie par rapport aux règles et corrige instantanément toute erreur.
  • L'Analyseur de dépendances (Le gestionnaire de chaîne d'approvisionnement) : Cet agent regarde à l'extérieur du code principal pour voir quels outils ou bibliothèques externes le projet utilise, s'assurant que la carte inclut également ces connexions.

3. Les résultats : Qu'ont-ils découvert ?

L'équipe a testé ce système sur 12 projets logiciels open-source différents (allant de petites applications à des systèmes massifs) écrits dans quatre langages différents (Java, Python, JavaScript, PHP). Ils ont tenté de générer 7 types de cartes différents (comme des diagrammes de classes, des organigrammes et des cartes de déploiement).

Voici ce qui s'est passé :

  • Haute précision : Les cartes étaient presque toujours syntaxiquement correctes (environ 91,5 % étaient parfaites dès le départ ; pour certains types comme les cartes « Composant » et « Déploiement », c'était 100 %).
  • Résumés intelligents : Le système n'a pas essayé de lister chaque morceau individuel de code (ce qui rendrait la carte illisible). Au lieu de cela, il s'est concentré sur les parties les plus importantes. Il a capturé environ 31 % des entités de code, mais ce sont les bonnes.
  • Cohérence : Il fonctionnait aussi bien sur un petit projet de 30 lignes de code que sur un projet géant de plus de 4 500 lignes. La qualité ne baissait pas à mesure que le projet grossissait.
  • Pas d'hallucinations : Les cartes inventaient rarement de fausses connexions entre les parties du code. Si la carte disait que deux éléments étaient connectés, ils l'étaient réellement.

4. Pourquoi cela compte

L'article soutient que les tentatives précédentes d'utilisation de l'IA pour cela ont échoué parce qu'elles tentaient de fournir l'ensemble de la base de code à l'IA d'un seul coup.

  • Ancienne méthode : « Voici toute la bibliothèque, veuillez dessiner une carte. » (Résultat : l'IA se perd et fait des erreurs).
  • Méthode Code2U : « Voici un instantané minuscule et parfaitement filtré de ce dont vous avez besoin spécifiquement pour cette carte. Maintenant, veuillez la dessiner. » (Résultat : une carte propre, précise et valide).

Résumé

L'article présente un système qui automatise la création de plans logiciels. Il réussit en ne cherchant pas à être un génie « fait pour tous », mais en agissant comme une équipe spécialisée qui compresse d'abord intelligemment les données, puis collabore pour dessiner des diagrammes précis et valides. Il prouve que l'on peut générer des cartes logicielles de haute qualité pour d'immenses bases de code sans que l'IA ne se sente submergée.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →