Lire en anglais

Partager via


Fonctionnement des agents et des copilotes avec des LLM

Les agents et les copilotes étendent les fonctionnalités d’un LLM en appelant intelligemment des fonctionnalités externes, telles que l’envoi d’un e-mail.

  • Un agent est une intelligence artificielle capable de répondre aux questions et d’automatiser les processus pour les utilisateurs. Les agents peuvent déterminer quelles fonctions répondent à l’objectif d’un utilisateur, puis appellent ces fonctions au nom de l’utilisateur.
  • Un copilote est un type d’agent qui fonctionne côte à côte avec un utilisateur. Contrairement à un agent, un copilote n'est pas entièrement automatisé : il repose sur l'interaction avec l'utilisateur. Un copilote peut aider un utilisateur à effectuer une tâche en fournissant des suggestions et des recommandations.

Par exemple, supposons que vous créez une application d’assistance de conversation par e-mail. Outre le LLM, vous aurez également besoin d’un plug-in pour effectuer des actions liées à l’e-mail, ainsi que des plug-ins pour la recherche, la synthèse, la détermination de l’intention et les autres. Vous pouvez utiliser les fonctions natives, plug-ins prêts à l’emploiet vos propres plug-ins personnalisés.

La création des plug-ins est seulement la moitié de la bataille : vous devez toujours appeler les fonctions appropriées au bon moment, un processus qui peut être sujet à des erreurs et inefficace. Un agent peut mieux s'en charger.

Un agent détermine automatiquement la séquence de fonctions qu’un LLM peut utiliser pour atteindre un objectif utilisateur. Par exemple, supposons que vous disposez d’une application de conversation qui passe en revue les nouveaux éléments de boîte de réception et détermine l’action dont chaque élément a besoin. Si vous configurez un agent, il peut orchestrer les fonctions de plug-in nécessaires et effectuer automatiquement les étapes.

Composants d’un agent

Chaque agent a trois blocs de construction principaux : un personnage, des plug-ins et des planificateurs.

  • Les Personnages déterminent la façon dont les agents répondent aux utilisateurs ou effectuent des actions.
  • Les Plug-ins permettent aux agents de récupérer des informations à partir de l’utilisateur ou d’autres systèmes. Vous pouvez utiliser des plug-ins prédéfinis et vos propres plug-ins personnalisés.
  • Les Planificateurs permettent aux agents de planifier l’utilisation des plug-ins disponibles.

Personnel

Le personnage d’un agent est son identité : tous les plug-ins et planificateurs utilisés par l’agent sont des outils, mais le personnage détermine comment il utilise ces outils. Vous utilisez les instructions dans une invite pour établir le personnage d’un agent.

Par exemple, vous pouvez utiliser des instructions pour indiquer à un agent qu’il aide les personnes à gérer les e-mails et à expliquer ses décisions au fur et à mesure qu’elle les prend. Votre invite peut ressembler à ceci :

prompt = $"""
    <message role="system">
    You are a friendly assistant helping people with emails.
    When you decide to perform an action, explain your decision and then perform the action.
    </message>
"""

Plug-ins

Vous utilisez les plug-ins pour faire des choses qu’un LLM ne peut pas faire seul, comme récupérer des données à partir de sources de données externes ou effectuer des tâches dans le monde réel.

Par exemple, un LLM ne peut pas envoyer d’e-mail. Par conséquent, pour ajouter cette fonction à une application de conversation, vous devrez créer un plug-in. Pour traiter le texte des e-mails, vous pouvez utiliser les plug-ins principaux tels que ConversationSummaryPlugin.

Veillez à documenter clairement les fonctions de vos plug-ins : les planificateurs utilisent ces informations pour déterminer les fonctions disponibles.

Planificateurs

Un planificateur peut analyser les fonctions disponibles et trouver d’autres façons d’atteindre l’objectif.

L’appel des fonctions de plug-in n’est pas toujours efficace. Par exemple, supposons que vous voulez additionner les nombres compris entre 1 et 100. Vous pouvez appeler un plug-in mathématique, mais le LLM doit effectuer un appel distinct pour chaque numéro.

En outre, la meilleure séquence et combinaison de fonctions pour atteindre un objectif dépend des détails. Par exemple, supposons que vous créez une application d’assistance de conversation par e-mail. Vous incluez donc un plug-in pour activer l’envoi d’e-mails. Toutefois, certains courriers électroniques peuvent nécessiter une action différente, comme une demande de réunion sans RSVP - il n'est pas nécessaire d'envoyer une réponse, mais l'ajout d'un élément de calendrier l'est. Un planificateur examine toutes les fonctions disponibles et propose des moyens efficaces d’atteindre les objectifs.

Les Copilotes ajoutent une interaction utilisateur

L’automatisation des processus présente de nombreux avantages, mais parfois l’utilisateur doit prendre des décisions en cours de route. Un agent ne peut pas automatiser les actions utilisateur. C’est là que les copilotes entrent en jeu.

Un agent dans votre application de conversation par e-mail peut produire le plan suivant pour l’envoi d’un e-mail :

  1. Obtenir l’adresse e-mail et le nom de l’utilisateur
  2. Obtenir l’adresse e-mail du destinataire
  3. Obtenir la rubrique de l’e-mail
  4. Générer l’objet et le corps de l’e-mail
  5. Envoyer l’e-mail

Très pratique, mais que se passe-t-il si l’utilisateur n’aime pas le corps de l’e-mail ? Un copilote ajoute une étape d’interaction utilisateur au plan :

  1. Obtenir l’adresse e-mail et le nom de l’utilisateur
  2. Obtenir l’adresse e-mail du destinataire
  3. Obtenir la rubrique de l’e-mail
  4. Générer l’objet et le corps de l’e-mail
  5. Passez en revue l’e-mail avec l’utilisateur et apportez des ajustements
  6. Envoyer l’e-mail

Application Copilot de conversation de noyau sémantique

Pour bien démarrer avec les copilotes, essayez le Copilot de conversation de noyau sémantique, une application de référence pour la création d’une expérience de conversation avec un agent IA.