Compound AI Systems
Découvre comment les systèmes d'IA composés combinent modèles, outils, données et règles. Explore les architectures, les applications, les compromis et les bonnes pratiques pour des workflows d'IA fiables.
Les systèmes d’IA composés sont des applications d’IA constituées de plusieurs composants interagissant entre eux, plutôt que d’un modèle unique. Un système peut combiner des modèles, des services de récupération, des bases de données, des règles déterministes, des outils externes et une validation humaine au sein d’un workflow coordonné. En vision par ordinateur, par exemple, un modèle peut détecter des objets tandis qu’un logiciel de suivi conserve les identités, que des règles métier interprètent les événements et que des services de supervision observent les performances en production. La caractéristique déterminante est la composition : le comportement au niveau du système émerge de la manière dont les composants échangent des informations et prennent des décisions.
Fonctionnement des systèmes d’IA composés#
Un système composé divise une tâche globale en étapes spécialisées. Les composants courants incluent le prétraitement des données, un ou plusieurs modèles d’IA, le stockage, une logique de validation, des interfaces de programmation d’applications et une couche d’orchestration. Des contrats clairs, tels que ceux décrits par la spécification OpenAPI, définissent les données que chaque service accepte et renvoie.
Le contrôle peut être déterministe, avec du code conventionnel qui appelle les composants selon une séquence fixe, ou dynamique, avec une couche d’orchestration d’agent d’IA qui sélectionne les outils et les itinéraires au moment de l’exécution. L’orchestration de l’IA coordonne les dépendances, les nouvelles tentatives, les ressources et les flux de données dans l’ensemble de l’application.
Parmi les modèles courants figurent la génération augmentée par récupération, où la récupération fournit du contexte à un modèle de langage, ainsi que les pipelines de fusion de capteurs qui combinent des caméras, des radars ou d’autres sources. L’évolution plus large des modèles isolés vers des systèmes intégrés est décrite dans la présentation de Berkeley AI Research sur les systèmes d’IA composés. (bair.berkeley.edu)
Pourquoi les systèmes composés sont importants#
La composition permet aux développeurs d’améliorer une application sans réentraîner un modèle gigantesque. Un composant spécialisé peut être remplacé, mis à l’échelle ou optimisé tandis que le reste du workflow demeure stable. Les règles et les étapes de validation peuvent également offrir davantage de contrôle que le fait de s’appuyer entièrement sur les sorties probabilistes d’un modèle.
Ces avantages introduisent des compromis au niveau du système :
- Propagation des défaillances : Une détection incorrecte, une récupération échouée ou une API indisponible peut affecter chaque décision en aval.
- Latence et coût : Chaque appel de modèle, requête réseau et étape de vérification consomme une partie du budget total de réponse.
- Évolution des interfaces : La mise à jour d’un service peut modifier son format de sortie ou ses hypothèses et interrompre silencieusement le fonctionnement d’un autre composant.
- Évaluation difficile : Un composant performant ne garantit pas un résultat performant de bout en bout.
Par conséquent, les opérations de machine learning doivent couvrir l’ensemble du workflow. Les recommandations d’OpenTelemetry sur l’observabilité expliquent comment les traces, les métriques et les journaux révèlent ce qui s’est produit entre les services distribués, tandis que le suivi des expériences avec MLflow peut enregistrer les configurations des modèles et les résultats d’évaluation. (opentelemetry.io)
Concepts connexes et principales différences#
Un système d’IA composé n’est pas simplement un autre nom pour désigner un modèle complexe.
Un ensemble de modèles combine les prédictions de plusieurs modèles, souvent par vote, moyennage ou empilement. Un ensemble peut être un composant d’un système composé, mais il ne dispose généralement pas de bases de données, d’outils, de logique de workflow ni de services opérationnels.
Un workflow agentique permet aux modèles de choisir des actions ou des outils de manière autonome. Les systèmes composés ont une portée plus large : beaucoup utilisent des pipelines fixes, des services pilotés par les événements ou une approbation humaine sans agents autonomes.
De même, RAG est un modèle composé particulier qui implique la récupération et la génération. L’IA composée peut également coordonner la vision par ordinateur, la prévision, l’optimisation, la robotique et les logiciels conventionnels sans utiliser de modèle de langage.
Applications concrètes#
-
Inspection visuelle dans le secteur manufacturier : Une caméra capture les produits, un modèle Ultralytics YOLO26 détecte les défauts, une logique fondée sur des règles vérifie leur gravité et leur emplacement, puis un système de production rejette ou approuve chaque article. Les cas incertains peuvent être transmis à un inspecteur humain, tandis que les images stockées facilitent un réentraînement ultérieur.
-
Analyse du trafic et du stationnement : La détection identifie les véhicules, le suivi multi-objets conserve les identités d’une image à l’autre, une logique géométrique détermine l’occupation des voies ou des zones de stationnement, et des tableaux de bord agrègent les comptages et les alertes. Les erreurs peuvent entraîner des comptages en double, des événements de congestion manqués ou des estimations incorrectes de la disponibilité ; chaque étape doit donc être testée avec les autres.
L’exemple simplifié suivant montre une perception alimentant une logique de décision déterministe :
from ultralytics import YOLO
# Perception component
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Policy component
person_class = next(i for i, name in result.names.items() if name == "person")
person_count = int((result.boxes.cls == person_class).sum())
decision = "review" if person_count >= 4 else "continue"
print({"people_detected": person_count, "next_step": decision})
result.save(filename="compound_system_input.jpg")Ici, YOLO produit des observations structurées, tandis qu’une logique de politique distincte détermine l’action suivante. Un système de production pourrait ajouter du stockage, des notifications, des contrôles d’accès ou une validation humaine.
Recommandations pratiques de conception#
Commence par définir un objectif mesurable de bout en bout, puis attribue à chaque composant une responsabilité claire. Définis des schémas et des délais d’expiration à chaque interface, teste les composants indépendamment et évalue des workflows réalistes plutôt que la seule précision du modèle.
Utilise les traces pour suivre les requêtes individuelles, définis des budgets de latence et de coût, et prévois des nouvelles tentatives ou des solutions de repli sûres pour les services indisponibles. Les sondes de santé Kubernetes montrent comment les services déployés peuvent exposer des signaux de disponibilité et de vivacité.
Les contrôles des risques doivent couvrir l’ensemble du système, notamment l’accès aux données, les outils externes, les remplacements manuels et les conséquences en aval. Le Cadre de gestion des risques liés à l’IA du NIST fournit des recommandations axées sur le cycle de vie pour gouverner, mesurer et gérer ces risques. Les équipes peuvent utiliser Ultralytics Platform pour relier l’annotation des jeux de données, l’entraînement, le déploiement et la supervision en production des composants de vision au sein d’une application composée plus large. (nist.gov)









