Habr AI→ original

Archspec investigate : comment les LLM détectent les conflits inter-services avant la rédaction du code

Claude Sonnet 4.6 est testé en tant qu'architecte de microservices : les modèles reçoivent des contrats SERVICE_MAP.yaml lisibles par machine et sont invités…

Traité par IA depuis Habr AI ; édité par Hamidun News
Archspec investigate : comment les LLM détectent les conflits inter-services avant la rédaction du code
Source : Habr AI. Collage: Hamidun News.
◐ Écouter l'article

Un développeur a vérifié si une LLM peut détecter les conflits entre services au stade de la planification — avant la première ligne de code. L'outil est archspec avec des contrats lisibles par machine `SERVICE_MAP.yaml`, la fonctionnalité est la réaffectation automatique des tâches après le refus d'un freelancer.

Où LLM perd le contexte inter-services

Dans la première partie du cycle, l'auteur a documenté un problème structurel du développement assisté par LLM dans les systèmes de microservices. Chaque service individuellement, le modèle le décrit correctement — mais quand une fonctionnalité traverse plusieurs services, le plan s'effondre. La raison : les règles aux frontières entre services — états autorisés, ordre des appels, contraintes de transition — ne sont enregistrées nulle part en un seul endroit.

Chaque service est documenté localement, en isolation. La LLM voit chaque fragment séparément, mais ne voit pas le système dans son ensemble. Les accords inter-services restent implicites, et le modèle les manque.

La fonctionnalité « réaffectation de tâche après refus de freelancer » est un bon test précisément parce qu'elle touche plusieurs services à la fois : file d'attente des tâches, notifications, facturation, profils des exécutants. Une erreur dans n'importe quelle transition casse tout le flux. C'est sur cette fonctionnalité que le plan a d'abord échoué à converger.

Des contrats plutôt que du Markdown en forme libre

La deuxième partie du cycle a présenté archspec — un outil qui génère un fichier `SERVICE_MAP.yaml` pour chaque service. Ce n'est pas de la documentation en forme libre pour humains avec des descriptions narratives, mais un contrat lisible par machine : contraintes explicites, transitions autorisées entre états, dépendances entre services et exigences de données à chaque transition. La différence est fondamentale. Markdown en forme libre est du texte qu'une LLM interprète avec des suppositions. `SERVICE_MAP.yaml` est des données structurées qu'un modèle analyse de manière déterministe. Il n'y a pas de place pour des « hallucinations » sur des accords implicites. Éléments clés du contrat :

  • Formats explicites d'entrée et de sortie pour chaque service
  • Transitions autorisées entre états d'objets métier
  • Champs obligatoires pour les appels inter-services
  • Contraintes de logique métier aux frontières des services

Ce que /archspec:investigate a montré

Les conditions de test sont strictes : le même prompt, le même modèle (Claude Sonnet 4.6), la même fonctionnalité. La seule différence — des contrats lisibles par machine au-dessus de `SERVICE_MAP.yaml` au lieu de texte en forme libre.

« Le même prompt, le même modèle.

La question est : le plan détectera-t-il ces erreurs inter-services avant que le code ne soit écrit, » — formule l'auteur l'essence de l'expérience.

Avec des contrats, le modèle a détecté les conflits inter-services dès le stade de la planification — exactement ceux qui la première fois n'ont surgi qu'après l'écriture du code. Formaliser les frontières a donné à la LLM un contexte structuré suffisant pour des transitions correctes entre services avant que la première ligne d'implémentation ne soit écrite. Mais l'outil présentait des limites.

Archspec investigate fonctionne exactement aussi bien que les contrats eux-mêmes sont précis. Si `SERVICE_MAP.yaml` a pris du retard par rapport au code réel — le modèle planifie à partir d'une carte périmée et échoue à nouveau.

L'implémentation elle-même a également été vérifiée séparément par rapport au plan final : là aussi, des points ont été trouvés où le code « s'est éloigné » du prévu — et c'est une partie honnête de la recherche.

Ce que cela signifie

Le développement axé sur les spécifications avec LLM dans les microservices fonctionne — mais nécessite des contrats explicites lisibles par machine. Sans eux, le modèle perd structurellement le contexte inter-services : ce n'est pas une question de qualité du prompt ou de puissance du modèle. Archspec est un moyen pratique de fixer ce contexte, l'outil est disponible sur GitHub. La principale limitation : maintenir `SERVICE_MAP.yaml` à jour nécessite un effort manuel — c'est une étape séparée qui doit être intégrée au processus de développement. Sans contrats à jour, l'outil crée une fausse confiance au lieu d'une aide réelle.

ZK
Hamidun News
Actualités IA sans bruit. Sélection éditoriale quotidienne de plus de 400 sources. Produit de Zhemal Khamidun, Head of AI chez Alpina Digital.

Vous voulez cesser de lire sur l'IA et commencer à l'utiliser?

AI News est un fil d'actualité IA. Hamidun Academy vous apprend à utiliser l'IA dans votre travail.

Qu'en pensez-vous ?
Chargement des commentaires…