ai-agents-for-beginners

Conception multi-agent

(Cliquez sur l’image ci-dessus pour voir la vidéo de cette leçon)

Modèles de conception multi-agent

Dès que vous commencez à travailler sur un projet impliquant plusieurs agents, vous devrez envisager le modèle de conception multi-agent. Cependant, il n’est pas toujours évident de savoir quand passer à un système multi-agent et quels en sont les avantages.

Introduction

Dans cette leçon, nous cherchons à répondre aux questions suivantes :

Objectifs d’apprentissage

Après cette leçon, vous devriez être capable de :

Quelle est la vision d’ensemble ?

Les multi-agents sont un modèle de conception qui permet à plusieurs agents de travailler ensemble pour atteindre un objectif commun.

Ce modèle est largement utilisé dans divers domaines, y compris la robotique, les systèmes autonomes et l’informatique distribuée.

Scénarios où les multi-agents sont applicables

Alors, quels scénarios sont de bons cas d’utilisation pour les multi-agents ? La réponse est qu’il existe beaucoup de situations où l’emploi de plusieurs agents est bénéfique, notamment dans les cas suivants :

Avantages d’utiliser plusieurs agents plutôt qu’un agent unique

Un système à agent unique peut convenir pour les tâches simples, mais pour des tâches plus complexes, l’utilisation de plusieurs agents offre plusieurs avantages :

Prenons un exemple, réservons un voyage pour un utilisateur. Un système à agent unique devrait gérer tous les aspects du processus de réservation, de la recherche de vols à la réservation d’hôtels et de voitures de location. Pour réaliser cela avec un seul agent, cet agent aurait besoin d’outils pour gérer toutes ces tâches. Cela pourrait conduire à un système complexe et monolithique, difficile à maintenir et à faire évoluer. Un système multi-agent, en revanche, pourrait avoir différents agents spécialisés dans la recherche de vols, la réservation d’hôtels et de voitures de location. Cela rendrait le système plus modulaire, plus facile à maintenir et évolutif.

Comparez cela à une agence de voyage gérée par un petit commerce familial versus une agence de voyage opérée en franchise. Le commerce familial aurait un agent unique gérant tous les aspects de la réservation, tandis que la franchise aurait différents agents gérant chaque aspect du processus de réservation.

Éléments de base pour implémenter le modèle de conception multi-agent

Avant de pouvoir implémenter le modèle multi-agent, vous devez comprendre les éléments de base qui composent ce modèle.

Rendons cela plus concret en regardant de nouveau l’exemple de la réservation d’un voyage pour un utilisateur. Dans ce cas, les éléments de base incluent :

Visibilité sur les interactions multi-agents

Il est important que vous ayez une visibilité sur la façon dont plusieurs agents interagissent entre eux. Cette visibilité est essentielle pour déboguer, optimiser et garantir l’efficacité globale du système. Pour cela, il faut disposer d’outils et techniques pour suivre les activités et interactions des agents. Cela peut prendre la forme d’outils de journalisation et surveillance, de visualisation, et d’indicateurs de performance.

Par exemple, dans le cas d’une réservation de voyage, vous pourriez disposer d’un tableau de bord affichant l’état de chaque agent, les préférences et contraintes de l’utilisateur, ainsi que les interactions entre agents. Ce tableau de bord pourrait montrer les dates de voyage de l’utilisateur, les vols recommandés par l’agent de vol, les hôtels recommandés par l’agent hôtelier et les voitures de location recommandées par l’agent voiture. Cela vous donnerait une vue claire des interactions entre agents et si les préférences et contraintes de l’utilisateur sont respectées.

Regardons ces aspects plus en détail.

Modèles multi-agent

Approfondissons quelques modèles concrets à utiliser pour créer des applications multi-agent. Voici des modèles intéressants à considérer :

Chat de groupe

Ce modèle est utile lorsque vous souhaitez créer une application de chat de groupe où plusieurs agents peuvent communiquer entre eux. Les cas d’utilisation typiques incluent la collaboration en équipe, le support client et les réseaux sociaux.

Dans ce modèle, chaque agent représente un utilisateur dans la discussion de groupe, et les messages sont échangés entre agents via un protocole de messagerie. Les agents peuvent envoyer des messages au groupe, recevoir des messages du groupe, et répondre aux messages d’autres agents.

Ce modèle peut être implémenté avec une architecture centralisée où tous les messages passent par un serveur central, ou une architecture décentralisée où les messages sont échangés directement.

Chat de groupe

Transmission de tâche

Ce modèle est utile lorsque vous souhaitez créer une application où plusieurs agents peuvent se transmettre des tâches.

Les cas d’utilisation typiques incluent le support client, la gestion des tâches et l’automatisation des flux de travail.

Dans ce modèle, chaque agent représente une tâche ou une étape d’un workflow, et les agents peuvent transmettre des tâches à d’autres agents selon des règles prédéfinies.

Transmission de tâche

Filtrage collaboratif

Ce modèle est utile lorsque vous souhaitez créer une application où plusieurs agents collaborent pour faire des recommandations aux utilisateurs.

La raison de vouloir plusieurs agents collaboratifs est que chaque agent peut avoir une expertise différente et contribuer au processus de recommandation de manière variée.

Prenons l’exemple d’un utilisateur qui souhaite une recommandation sur la meilleure action à acheter en bourse.

Recommandation

Scénario : Processus de remboursement

Considérez un scénario où un client cherche à obtenir un remboursement pour un produit, plusieurs agents peuvent être impliqués dans ce processus, mais divisons-les entre agents spécifiques à ce processus et agents généraux utilisables ailleurs.

Agents spécifiques au processus de remboursement :

Voici quelques agents qui pourraient être impliqués dans le processus de remboursement :

Agents généraux :

Ces agents peuvent être utilisés par d’autres parties de votre entreprise.

Il y a donc beaucoup d’agents listés ci-dessus, à la fois pour le processus spécifique de remboursement et pour les agents généraux utilisables ailleurs dans votre entreprise. Cela vous donne une idée de comment décider quels agents utiliser dans votre système multi-agent.

Exercice

Concevez un système multi-agent pour un processus de support client. Identifiez les agents impliqués dans le processus, leurs rôles et responsabilités, ainsi que leurs interactions. Prenez en compte à la fois les agents spécifiques au support client et les agents généraux pouvant être utilisés dans d’autres parties de votre entreprise.

Réfléchissez un peu avant de lire la solution suivante, vous pourriez avoir besoin de plus d’agents que vous ne le pensez.

ASTUCE : Pensez aux différentes étapes du processus de support client et considérez également les agents nécessaires pour tout système.

Solution

Solution

Contrôles des connaissances

Question 1

Quel scénario est le plus adapté à un système multi-agent ?

Question 2

Quand un agent unique est-il généralement le meilleur choix ?

Solution quiz

Résumé

Dans cette leçon, nous avons examiné le modèle de conception multi-agent, y compris les scénarios où les multi-agents sont applicables, les avantages d’utiliser plusieurs agents plutôt qu’un agent unique, les blocs de construction pour implémenter le modèle multi-agent, et comment avoir une visibilité sur la manière dont les agents multiples interagissent entre eux.

Encore des questions sur le modèle de conception multi-agent ?

Rejoignez le Microsoft Foundry Discord pour rencontrer d’autres apprenants, participer aux heures de bureau et obtenir des réponses à vos questions sur les agents IA.

Ressources supplémentaires

Leçon précédente

Planning Design

Leçon suivante

Métacognition dans les agents IA


Avertissement : Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d’interprétation découlant de l’utilisation de cette traduction.