Bibliothèque de patterns d'IA d'entreprise
Patterns de conception réutilisables pour la construction de systèmes d'IA et agentiques — chacun constituant une unité autonome et citable décrivant le problème résolu, quand l'utiliser, son fonctionnement, ses avantages, ses risques et quand ne pas l'utiliser. Conçu pour les humains et les agents d'IA.
Orchestration
7Décomposition d'objectifs
La décomposition d'objectifs consiste à faire en sorte qu'un agent décompose un objectif de haut niveau en un ensemble ordonné de sous-tâches plus petites et gérables — un plan — avant d'agir, puis exécute et surveille ce plan, en replanifiant lorsque des étapes échouent. Le plan explicite devient un artefact inspectable que vous pouvez examiner, valider et déboguer. Utilisez cette approche lorsqu'un objectif nécessite plusieurs étapes dépendantes et que les agents réactifs, qui avancent étape par étape, s'égarent ou bloquent ; évitez-la pour les tâches simples et ponctuelles.
Orchestrateur-Workers
Un LLM orchestrateur décompose dynamiquement une tâche en sous-tâches, délègue chacune à un LLM worker, et synthétise les résultats. Contrairement à la parallélisation fixe, l'orchestrateur décide des sous-tâches au moment de l'exécution — ce qui le rend adapté aux tâches complexes dont la décomposition n'est pas connue à l'avance.
Parallélisation
La parallélisation exécute plusieurs appels de LLM en même temps et agrège les résultats. Deux variantes : le sectionnement (diviser une tâche en sous-tâches indépendantes exécutées en parallèle) et le vote (exécuter la même tâche plusieurs fois pour améliorer la fiabilité ou la couverture). Elle réduit la latence et peut améliorer la qualité.
Enchaînement de prompts
L'enchaînement de prompts décompose une tâche en une séquence fixe d'appels de LLM, où chaque étape travaille sur le résultat de la précédente. Il échange un peu de latence contre une précision et un contrôle bien plus élevés, et constitue le pattern de workflow le plus simple : utilisez-le dès qu'une tâche se divise clairement en sous-tâches ordonnées.
Routage
Le routage classifie une entrée et la dirige vers le gestionnaire, le prompt ou le modèle spécialisé le plus approprié. Il améliore la qualité en permettant d'optimiser chaque chemin pour son cas d'usage, et maîtrise les coûts en envoyant les requêtes simples vers des modèles économiques et les requêtes complexes vers des modèles performants.
Agent superviseur
Un agent superviseur est un coordinateur persistant qui gère une équipe de sous-agents spécialisés. Il lit l'état de la conversation, décide quel spécialiste doit intervenir ensuite, lui oriente les messages et intègre les résultats renvoyés pour atteindre l'objectif. Contrairement à un décomposeur ponctuel (one-shot), le superviseur reste actif tout au long de nombreux tours, déléguant par compétence et replanifiant jusqu'à ce que la tâche soit accomplie ou restituée à l'utilisateur.
Priorisation des tâches
Ordonner les tâches candidates d'un agent par valeur, urgence, dépendances et coût plutôt que de les traiter selon le principe du premier entré, premier sorti (FIFO). Une fonction de score et une file d'attente prioritaire déterminent l'exécution suivante, afin d'allouer les ressources de calcul, le budget et le temps limités aux travaux les plus importants. Réévaluer les scores à chaque changement d'état et limiter la taille de la file d'attente pour éviter une croissance infinie.
Fiabilité
4Trace d'exécution corrélée
Un identifiant unique relie toute une exécution d'agent — entrées, modèle et version, chaque appel d'outil avec ses arguments et son résultat, l'action finale — dans un enregistrement que vous pouvez rejouer des mois plus tard. Le plus difficile n'est pas la capture. C'est d'être assez complet pour reconstruire l'exécution et assez mesuré pour que le stockage des traces ne devienne pas une seconde copie des données qu'il décrit.
Évaluateur-Optimiseur
Un premier LLM génère une réponse tandis qu'un second l'évalue par rapport à des critères et renvoie des commentaires ; le générateur la révise et la boucle se répète jusqu'à ce que l'évaluation soit validée. Cela améliore la qualité sur les tâches dotées de critères d'évaluation clairs, au prix d'appels supplémentaires.
Stratégie de récupération
Donnez à l'agent un plan explicite en cas de panne. Détectez les défaillances en validant les sorties et en interceptant les erreurs des outils ; puis réessayez avec ajustement, basculez vers un chemin alternatif, annulez les actions partielles ou escaladez. Limitez les tentatives pour éviter les boucles infinies et les coûts, rendez les actions idempotentes et distinguez les défaillances transitoires des défaillances permanentes. L'objectif est une dégradation progressive plutôt que des plantages ou des résultats silencieusement erronés.
Réflexion
La réflexion consiste à faire critiquer par un modèle sa propre sortie, puis à la réviser en utilisant cette critique comme retour d'expérience. C'est un moyen léger, basé sur un seul modèle, de détecter les erreurs et d'améliorer la qualité des tâches de raisonnement, de codage et de rédaction — au coût d'appels supplémentaires.
Sécurité et supervision
7Mémoire attribuée
Stockez ce dont un agent se souvient sous forme d'enregistrements indiquant leur origine, un propriétaire capable de les supprimer et une durée de vie — jamais sous la forme d'un bloc de texte anonyme. La mémoire est ce qui transforme une attaque ponctuelle en une attaque qui se déclenche à nouveau sur des tâches futures et non liées ; l'attribution est ce qui rend cela réversible.
Liste d'autorisation de sortie
Restreignez les destinations autorisées pour le trafic d'un agent. Le vol de données et la livraison de charges utiles d'injection se terminent tous deux par une requête sortante, de sorte qu'une liste de destinations autorisées avec refus par défaut est le contrôle qui fonctionne encore lorsque tous les autres ont échoué.
Porte d'approbation humaine
Une porte d'approbation humaine suspend un flux de travail automatisé à un point de contrôle défini afin qu'une personne puisse examiner, modifier ou rejeter une action proposée avant son exécution — en particulier pour les opérations à fort impact, irréversibles ou réglementées. C'est la forme opérationnelle de la supervision humaine (human-in-the-loop).
Escalade humaine
Confiez l'intégralité de la tâche à un humain lorsque l'agent détecte qu'il est dépassé — faible confiance, échecs répétés, ambiguïté ou situations sensibles — et transmettez tout le contexte pour que la personne puisse prendre le relais sans avoir à tout réanalyser. Contrairement à une porte d'approbation, qui suspend une action pour validation, l'escalade transfère la responsabilité de sorte que l'agent cesse de piloter. La difficulté réside dans le calibrage des déclencheurs pour éviter à la fois la sur-escalade et la sous-escalade.
Outils de moindre privilège
Attribuez à un agent l'ensemble d'outils le plus restreint, et à chaque outil la portée la plus étroite, dont la tâche a réellement besoin. Ce modèle accepte le fait que l'injection de prompt réussira parfois et limite ce qu'un agent compromis peut faire — vous ne pouvez pas corriger le modèle, mais vous pouvez décider de ce qu'il est capable d'atteindre.
Encodage aux limites de sortie
Traitez tout ce que le modèle émet comme une entrée hostile pour tout ce qui la consomme. Encodez et validez au niveau de chaque destination — moteur de rendu, shell, requête, agent en aval — en utilisant les règles propres à cette destination. Un outil d'assainissement global unique ne peut pas faire cela : un échappement correct pour HTML n'a aucun sens pour un shell.
Exécution en bac à sable
Exécutez tout ce qu'un agent génère ou invoque au sein d'un environnement isolé et jetable, sans identifiants ambiants, avec un système de fichiers restreint, une sortie contrôlée et des limites strictes de ressources. Le bac à sable n'est pas là parce que l'agent est malveillant, mais parce que les entrées de l'agent peuvent l'être.
Coût et performance
2Compression de contexte
La compression de contexte réduit les tokens fournis à un modèle lors de chaque appel tout en préservant les informations dont il a réellement besoin pour agir. Utilisez-la sur des agents à exécution longue et des conversations prolongées pour réduire les coûts et la latence, et pour rester dans les limites de la fenêtre de contexte. Les trois leviers sont le résumé de l'historique, l'élagage du contexte non pertinent et la compression des prompts. Le risque principal est la perte d'informations : omettre le seul détail qui importait. Mesurez les informations conservées, et pas seulement les tokens économisés.
Mise en cache sémantique
La mise en cache sémantique stocke les réponses passées des modèles et les réutilise lorsqu'une nouvelle requête est sémantiquement similaire à une précédente — en faisant correspondre le sens via des plongements (embeddings), et non par texte exact. Elle réduit les coûts et la latence pour les requêtes répétitives ou quasi-identiques fréquentes en production.