Guide Agentforce pour parvenir à un comportement fiable des agents
Un framework pour 5 niveaux de déterminisme
Un framework pour 5 niveaux de déterminisme
Olfa Kharrat, directrice de la gestion des produits - Agentforce
Reinier van Leuken, directeur principal de la gestion des produits - Agentforce
Composants de base d'Agentforce et raisonnement agentique
Définir les niveaux de contrôle agentique
Contrôle agentique de niveau deux : instructions
Contrôle agentique de niveau trois : Contextualisation
Contrôle agentique de niveau quatre : variables
La confiance est au cœur des préoccupations de Salesforce depuis sa création en 1999, pour lancer un nouveau modèle technologique de cloud computing et de SaaS. Les entreprises accordent leur confiance à Salesforce et stockent leurs données précieuses dans le cloud, en ayant la certitude que ces données sont protégées et soumises aux contrôles d'accès appropriés. Cela reste essentiel, mais à l'ère de l'IA agentique, la définition de la confiance ne cesse de s'élargir. À mesure que les entreprises s'appuient de plus en plus sur des agents autonomes pour effectuer des fonctions commerciales critiques, les agents doivent devenir des partenaires commerciaux de confiance dont le travail est précis, pertinent et, surtout, fiable.
Dans ce contexte, comment peut-on créer un agent fiable ? La fiabilité signifie généralement fournir le même résultat pour la même saisie. Cependant, les agents ne fonctionnent pas nécessairement de cette manière, car ils sont alimentés par des modèles de langage de grande taille (LLM), qui sont par nature non déterministes. Cela donne aux agents la fluidité nécessaire pour développer des solutions créatives adaptées à des circonstances particulières, sans avoir à programmer explicitement chaque condition ou situation qu'ils rencontrent. Cependant, les agents ont également besoin d'une gouvernance pour se conformer aux exigences de l'entreprise et respecter les directives opérationnelles. Lorsqu'ils exécutent des processus métier, ils doivent faire preuve de fiabilité et produire des résultats commerciaux conformes aux contraintes déterministes. Le déterminisme impose une rigidité et une discipline qui sont difficilement compatibles avec l'autonomie et la fluidité des agents. Par conséquent, la clé de la réussite de la création d'agents est de trouver le bon équilibre entre la fluidité créative et le contrôle de l'entreprise.
Ce document aborde les considérations clés pour le développement d'agents fiables. Il définit cinq niveaux de contrôle agentique et fournit les meilleures pratiques pour acquérir et garder le contrôle sur le comportement agentique pour chacun de ces niveaux. Les conseils abordent le fonctionnement du moteur de raisonnement Agentforce. Au fur et à mesure de la croissance d'Agentforce, ce document sera mis à jour pour refléter les meilleures pratiques les plus récentes.
Ce document suppose une connaissance de base de la conception et de la création d'agents Agentforce. Pour une présentation de Agentforce, nous vous proposons les ressources suivantes :
Pour mieux comprendre le comportement agentique, comparons d'abord les agents à leurs homologues rigides : les chatbots.
Chatbots : suivi strict des règles
Les chatbots suivent des arbres de décision prédéterminés qui structurent les dialogues auxquels ils peuvent participer. La traversée de ces arbres de décision est basée sur les réponses données par l'utilisateur. Cette réponse peut être une sélection parmi un ensemble prédéterminé d'options, ou une réponse en texte libre. Dans le cas d'une réponse en texte libre, un modèle prédictif est utilisé pour la classification des intentions. Ces arbres cartographient tous les parcours conversationnels potentiels et dictent les réponses du chatbot à chaque étape. Le comportement du chatbot est strictement déterminé par des règles prédéfinies. Si la saisie d'un utilisateur ne correspond pas à un parcours reconnu, ou si le modèle prédictif n'a pas été entraîné à reconnaître une certaine intention, le chatbot ne répond pas de manière appropriée.
Agents : adaptatifs et intuitifs
En revanche, les agents exploitent la puissance des LLM et leurs capacités avancées en matière de traitement du langage naturel (NLP). Les LLM permettent aux agents de comprendre l'intention derrière la saisie d'un utilisateur, même si elle est formulée de manière inattendue. Sur la base de sa compréhension de l'intention, l'agent peut sélectionner l'action la plus appropriée parmi un éventail de possibilités. Un agent peut même formuler des réponses entièrement nouvelles. Cette flexibilité et cette adaptabilité distinguent les agents de leurs homologues, les chatbots.
Une analogie culinaire
La différence entre les chatbots et les agents peut être comparée au contraste entre un cuisinier novice et un chef chevronné.
En résumé, la différence fondamentale entre les agents et les chatbots réside dans leur adaptabilité et leur capacité à gérer des saisies inattendues.
Une fonctionnalité distincte de l'intelligence d'un agent réside dans sa capacité à orchestrer et à déclencher les actions les plus appropriées au bon moment. Cette flexibilité élimine la nécessité de programmer de manière approfondie chaque interaction potentielle avec l'utilisateur.
Dans Agentforce, la création d'un agent implique des rubriques, des actions et des instructions et des descriptions en langage naturel.
Les rubriques sont les « tâches à accomplir » pour l'agent. Les rubriques ont des attributs tels qu'une description de classification, un champ d'application et des instructions qui définissent chaque tâche et la manière dont elle est effectuée. Les rubriques contiennent des actions que l'agent peut exécuter, ainsi que des instructions qui régissent la manière dont ces actions sont exécutées.
Les actions sont les tâches prédéfinies que l'agent peut effectuer pour faire son travail. Il existe cinq types d'actions différents :
La définition d'un agent contient des instructions en langage naturel qui décrivent les actifs de l'agent et définissent les directives qu'il doit respecter lors de son fonctionnement. Des instructions sont écrites pour les actions et les rubriques.
Ces différents composants de base, lorsqu'ils sont correctement construits, aident un agent à atteindre son objectif tout en respectant les limites appropriées.
Le moteur de raisonnement Agentforce orchestre ces composants de base dans le comportement agentique correct. Il s'appuie sur les instructions et les descriptions en langage naturel définies dans les rubriques et les actions. Il est construit sur ReAct, un nouveau paradigme de raisonnement pour les LLM introduit en 2022 par Yao et al. Ce paradigme imite la gestion des tâches humaines en raisonnant sur un problème, en prenant des mesures, en observant les résultats de l'action et en répétant le cycle jusqu'à l'achèvement de la tâche.
Les agents Salesforce respectent ce paradigme :
Le moteur de raisonnement utilise les LLM à chaque étape de raisonnement et d'observation. Selon le type d'action, il peut également utiliser les LLM à l'étape d'action.
Cette section présente une approche en couches pour améliorer le déterminisme des agents. Chaque niveau s'appuie sur le précédent, avec une complexité croissante et des capacités qui permettent de mieux contrôler le comportement de l'agent.
Le premier niveau vise à permettre aux agents d'identifier de manière autonome les rubriques pertinentes, puis de sélectionner les actions appropriées en utilisant des objectifs plutôt que des instructions explicites. Le mécanisme de base consiste à utiliser une compréhension contextuelle pour répondre aux saisies des utilisateurs. Bien que techniquement, n'importe quel type d'action puisse être ajouté, à ce niveau, nous supposons que les actions sont des actions de prompt. Les rubriques sans instruction avec des actions de prompt fournissent un moyen rapide et efficace de traiter les requêtes courantes.
À ce niveau, l'accent est mis sur l'établissement d'un niveau de référence de réactivité et d'autonomie des agents grâce à une compréhension dynamique.
S'appuyant sur la base de la sélection d'actions sans instruction, ce niveau introduit des instructions explicites pour guider le comportement des agents. L'ajout d'instructions précises permet de mieux contrôler la manière dont les agents réagissent aux différentes situations. Les instructions aux agents peuvent être exprimées sous forme de règles, de directives, de garde-fous et d'exemples. Celles-ci fournissent à l'agent des instructions spécifiques sur la manière de traiter diverses rubriques, d'exécuter des actions et de traiter leurs réponses. L'objectif de ce niveau est de fournir des conseils clairs à l'agent afin d'accroître la cohérence et d'améliorer le respect des directives et des processus de l'entreprise.
La contextualisation consiste à relier la compréhension de l'agent et ses réponses à des sources de connaissances externes. La contextualisation permet de s'assurer que les informations fournies par l'agent sont plus précises, à jour et pertinentes. Ce niveau intègre l'accès aux bases de données, aux bases de connaissances et à d'autres référentiels d'information. La contextualisation des réponses de l'agent dans des données vérifiées améliore sa fiabilité.
Ce niveau permet aux agents de travailler avec des variables. Les variables permettent aux agents de personnaliser les interactions, de conserver le contexte de plusieurs interactions et d'ajuster dynamiquement leur comportement en fonction de points de données spécifiques conservés pendant la session de l'agent. Par exemple, un agent peut capturer les préférences de l'utilisateur, les détails de la commande et d'autres informations pertinentes, puis utiliser ces données pour adapter l'interaction. Avec les variables, les agents sont mieux à même de gérer des interactions plus complexes, plus prescrites et plus personnalisées.
L'étape finale intègre l'agent aux fonctionnalités de base de Salesforce : APEX, API et de flux. L'intégration permet à l'agent d'effectuer des actions complexes au sein de l'écosystème Salesforce, telles que l'accès aux données et leur manipulation, le déclenchement de workflows et l'interaction avec d'autres systèmes.
Ce niveau transforme l'agent en un outil puissant capable d'exécuter des tâches sophistiquées et de contribuer directement aux résultats de l'entreprise.
En commençant par une référence en matière de réactivité et d'autonomie des agents, envisagez un agent composé uniquement de rubriques et d'actions, avec les descriptions correspondantes. Nous pouvons utiliser cet exemple d'agent pour présenter les différentes étapes du moteur de raisonnement et pour montrer comment il exploite ces descriptions pour sélectionner les bons sujets, puis les actions à exécuter. En omettant les instructions de la rubrique de cet exemple, nous pouvons constater que les agents de ce premier niveau ont le plus grand degré de liberté par rapport aux agents des niveaux supérieurs. Au niveau un, l'agent est entièrement libre de sélectionner l'action qu'il juge appropriée, en se basant uniquement sur la conversation en cours.
Activité | Étapes | Description |
---|---|---|
Invocation de l'agent | 1 | L'agent est invoqué. |
Classification par thèmes | 2-3 | Le moteur analyse le message du client et le fait correspondre à la rubrique la plus appropriée en fonction du nom de la rubrique et de la description de la classification. |
Assemblage de contexte | 4-5 | Une fois qu'une rubrique est sélectionnée, le moteur rassemble le champ d'application de la rubrique, les instructions et les actions disponibles, ainsi que l'historique des conversations. (Remarque : les instructions sont traitées au niveau deux, Contrôle agentique.) |
Prise de décision |
À l'aide de toutes ces informations, le moteur détermine s'il faut : • exécuter une action pour récupérer ou mettre à jour des informations ; • demander plus de détails au client • répondre directement par une réponse. |
|
Exécution de l'action | 6-8 | Si une action est nécessaire, le moteur l'exécute et recueille les résultats. |
Boucle d'action | Le moteur évalue les nouvelles informations et décide à nouveau de ce qu'il faut faire ensuite : exécuter une autre action, demander plus d'informations ou répondre. | |
Vérification de la contextualisation | Avant d'envoyer une réponse finale, le moteur vérifie que la réponse : • est basée sur des informations précises provenant d'actions ou d'instructions ; • respecte les directives fournies dans les instructions de la rubrique ; • reste dans les limites définies par le champ d'application de la rubrique. |
|
Envoi d'une réponse | La réponse contextualisée est envoyée au client. |
Passez en revue les considérations suivantes pour le moteur de raisonnement :
Le processus de raisonnement comprend quatre étapes principales :
Les rubriques sont conçues pour améliorer la précision avec laquelle les agents classent la bonne action ou séquence d'actions. Chaque rubrique doit être composée d'actions sémantiquement distinctes qui peuvent toutes appartenir à une description concise de la rubrique et donc appartenir à une fonction d'agent similaire.
La rubrique adéquate est sélectionnée par le LLM du moteur de raisonnement (étapes 2-3 du schéma). Il sélectionne la rubrique dont la description de classification correspond le plus au dernier énoncé, à l'aide d'un prompt de rubrique. Ce prompt de rubrique contient les descriptions de classification de toutes les rubriques et l'historique des conversations. En plus des énoncés et des réponses des agents, l'historique des conversations comprend les actions exécutées et leurs résultats. De plus, le prompt intègre des instructions cruciales qui imposent une analyse dans le contexte de l'historique des conversations et exigent que le LLM partage son processus de réflexion.
Considérations supplémentaires :
L'objectif des rubriques est double :
En organisant soigneusement les capacités de l'agent en rubriques clairement définies et composées d'actions connexes, l'agent fonctionne de manière plus efficace et prévisible, et il est plus facile de le mettre à jour et de l'étendre. Il existe deux approches possibles pour la conception de rubriques : descendante et ascendante.
Les deux approches conduisent à de bons résultats lorsqu'elles sont suivies correctement.
Commencez par répertorier toutes les actions spécifiques que l'agent doit être capable d'effectuer. À ce stade, il est préférable d'être très spécifique plutôt que trop général. Évitez d'essayer de regrouper ou de simplifier les actions prématurément. L'objectif est de créer une vue complète et granulaire de ce que l'agent peut faire.
Par exemple, dans le cas d'un agent du service client, la liste initiale peut inclure :
À noter qu'une action telle que « Résoudre les plaintes des clients » est trop large à ce stade. Les actions doivent représenter le plus petit niveau de granularité dans le comportement des agents. Les plaintes peuvent être de plusieurs types, et différentes actions les couvrent déjà :
Marquez les actions qui sont de nature similaire car elles peuvent engendrer de la confusion pour le moteur de raisonnement. Leurs descriptions ne seront pas suffisamment différentes sur le plan sémantique et, par conséquent, le moteur de raisonnement ne saura pas quelle action sélectionner à l'étape 5.
Par exemple, « Résoudre les problèmes techniques » et « Répondre aux questions avec des connaissances » ont des descriptions similaires, mais leurs fonctionnalités peuvent différer considérablement. Le marquage de ces chevauchements sémantiques aidera à identifier les actions à séparer entre plusieurs rubriques.
Une fois que les actions sont clairement définies et que leurs chevauchements sémantiques ont été identifiés, elles peuvent être regroupées en rubriques préliminaires. Une rubrique est une catégorie logique de fonctionnalités, un regroupement d'actions qui représentent une capacité ou une compétence cohérente de l'agent.
Lors de la création de ces regroupements :
Voici un exemple de regroupement initial pour un agent de service client :
Rubrique 1 :
Rubrique 2 :
Une fois le regroupement initial en place, rédigez des descriptions de classification pour chaque rubrique.
Après affinage, nous obtenons :
Pour récapituler, créez d'abord une liste complète de toutes les actions possibles, puis marquez le chevauchement sémantique entre ces actions. Ensuite, créez un ensemble de rubriques qui, au minimum, résout tous les chevauchements sémantiques (afin que le moteur de raisonnement visualise clairement les limites d'une rubrique). Écrivez ensuite la description de la classification de chaque rubrique. Si le champ d'application des rubriques est trop large, divisez-les en rubriques plus granulaires. En suivant ces conseils, vous pouvez créer un agent qui non seulement fonctionne bien, mais qui est également facile à maintenir et à étendre.
Cette structure permet un meilleur raisonnement, une exécution plus précise et des limites de décision plus claires dans le comportement de l'agent. Elle s'appuie également sur la collaboration entre les concepteurs, les ingénieurs et les experts en la matière pour rendre les capacités de l'agent plus transparentes et modulaires.
Considérations supplémentaires pour une création efficace de rubriques
Imaginez qu'un agent de service reçoive une demande de garantie pour une montre. Le problème de garantie ne semble pas être lié à l'échange de produit ou à l'assistance. La gestion des commandes semble être la rubrique la plus appropriée pour répondre à cette demande. Par conséquent, le moteur de raisonnement choisit cette rubrique comme étant la plus probable pour répondre à la demande.
Après la sélection de la rubrique, le moteur de raisonnement sélectionne les bonnes actions à exécuter à partir de la rubrique sélectionnée. Encore une fois, le LLM du moteur de raisonnement est en charge de cette étape, pour laquelle il utilise un autre prompt appelé prompt d'observation. L'objectif du prompt d'observation est d'obtenir l'étape suivante du processus de raisonnement. L'étape suivante peut être l'une des suivantes :
La saisie dans le prompt d'observation est formée par toutes les descriptions de toutes les actions de la rubrique, ainsi que par l'historique des conversations.
Les actions sont les tâches prédéfinies que l'agent peut effectuer pour faire son travail. Les actions sont les définitions les plus fines du travail. Il existe cinq types différents d'actions de l'agent : (1) exécuter le code Apex, (2) appeler une API, (3) exécuter un flux, (4) obtenir une réponse LLM à un modèle de réplique et (5) appeler un modèle prédictif. La plupart de ces actions peuvent être déterministes. Une exception est l'obtention d'une réponse à un modèle de réplique (à condition que le système externe, le flux ou l'action Apex ne contienne pas d'éléments probabilistes tels que les invocations de prompt). Nous aborderons ces questions dans le cinquième niveau du contrôle agentique.
Continuons avec l'exemple précédent dans lequel un agent de service a reçu une question concernant la politique de garantie d'une montre. Après avoir sélectionné la rubrique Gestion des commandes, l'action la plus probable est choisie. Comme il s'agit de la rubrique Gestion des commandes, la première étape logique consiste à rechercher la commande (sinon, qu'est-ce qui permet de récupérer les informations sur la garantie ?) en lançant l'action de recherche de commande.
L'énoncé d'un utilisateur peut déclencher l'exécution de plusieurs actions avant qu'une réponse ne soit renvoyée à l'utilisateur. Cela est dû à la boucle agentique, qui continue à sélectionner et à exécuter l'action suivante la plus appropriée jusqu'à ce que l'une des conditions suivantes soit remplie :
Les actions ne sont pas soumises à un délai d'attente spécifique. Cela permet d'éviter les interruptions lorsque les délais d'exécution des actions varient en fonction de leur complexité. Certaines actions sont tout simplement plus complexes à exécuter que d'autres.
Après avoir lancé une recherche de commande, le moteur de raisonnement évalue la réponse générée jusqu'à présent, puis décide qu'il doit effectuer plus de travail avant qu'une réponse puisse être renvoyée à l'utilisateur. Il est sur le point de consulter la politique de garantie, maintenant que la commande est présente dans l'historique des conversations.
Cependant, ce faisant, l'agent se rend compte que le client a en réalité acheté deux montres, comme le montre l'action de recherche de commande. Par conséquent, dans la boucle agentique, le moteur de raisonnement décide désormais de demander au client de préciser pour quelle montre il a besoin d'informations sur la garantie.
La fiabilité des agents est renforcée par une répartition minutieuse des actions entre les rubriques, ainsi que par des actions et des rubriques bien décrites. Cependant, ces méthodes ne permettent pas l'expression de règles métier, de politiques et de garde-fous dans le moteur de raisonnement. Les instructions fournissent une couche supplémentaire importante de contrôle agentique. Les instructions offrent des conseils supplémentaires au moteur de raisonnement lors de l'utilisation simultanée de différentes actions. Cela permet une approche plus nuancée et basée sur des règles du comportement des agents. Avec des instructions, les générateurs d'agents peuvent s'assurer que les agents fonctionnent non seulement de manière fiable, mais qu'ils respectent également les règles commerciales établies et les meilleures pratiques.
Les instructions écrites au niveau de la rubrique font partie du prompt d'observation. Les instructions de rubrique guident le moteur de raisonnement dans le choix des actions appropriées. Elles peuvent fournir des conseils sur quand choisir quelle action et peuvent être utilisées pour définir la dépendance de l'action. Dans certaines circonstances, elles peuvent également appliquer un contrôle séquentiel. Cependant, il existe des alternatives et les instructions doivent être utilisées avec prudence pour répondre à cette exigence. Les instructions relatives aux rubriques sont ajoutées une par une et apparaissent dans des cases distinctes dans l'interface utilisateur. Cependant, elles sont toujours envoyées au prompt d'observation ensemble. L'ajout d'instructions dans des cases séparées augmente la lisibilité et la maintenabilité de la rubrique, mais n'affecte pas le moteur de raisonnement.
Parfois, les instructions s'appliquent globalement à l'agent et ne sont pas liées à une rubrique en particulier. La fonctionnalité de gestion des instructions globales figure actuellement sur la feuille de route du produit. Les meilleures pratiques pour la rédaction d'instructions de rubrique sont disponibles dans le Guide Agentforce des rubriques, instructions et actions. Passons en revue quelques directives supplémentaires.
Évitez de créer des scripts excessifs sur la manière dont les agents doivent converser avec les utilisateurs. L'overscripting peut empêcher un agent d'établir une relation, de comprendre les besoins uniques des utilisateurs et de répondre efficacement en temps réel à des circonstances dynamiques. De plus, de longues instructions peuvent ralentir la réponse de l'agent et compliquer la tâche du moteur de raisonnement. Forcer le déterminisme par des instructions n'est pas l'approche privilégiée.
Par exemple, il n'est pas nécessaire de dire à un agent d'éviter de faire référence aux concurrents dans les réponses de service. Cela peut conduire à un comportement indésirable, car l'agent peut également refuser de répondre à des questions relatives à l'intégration avec un fournisseur qui est également un concurrent. Au lieu de cela, l'instruction peut être quelque chose comme « Lorsque vous parlez des concurrents, répondez en gardant à l'esprit l'intérêt de l'entreprise ». Cela évite les instructions restrictives et conditionnelles telles que « Mentionner le concurrent xyz uniquement dans le cas de… », et exploite à la place les capacités de raisonnement du LLM. Cet exemple montre comment les instructions peuvent être données à un niveau plus élevé et plus abstrait, de la même manière qu'un employé humain serait formé après avoir rejoint l'entreprise.
Voyons d'autres exemples de ce qu'il ne faut pas faire. Il s'agit de mauvaises instructions données à un agent de service qui traite les profils des candidats sur un site Internet de recrutement. Ces instructions tentent d'anticiper tous les énoncés possibles des clients et doivent donc être évitées :
Instruction 1 :
L'agent reçoit l'énoncé suivant : « Puis-je ajouter une photo à mon profil ? » et demande immédiatement au client : « Quel est votre type de profil ? ».
Instruction 2 :
si le client indique qu'il dispose d'un profil Premium, répondez « Laissez-moi vérifier les détails de votre contrat », puis recherchez les détails du contrat et vérifiez s'il a été convenu qu'il peut mettre à jour la photo de profil.
S'il a été convenu que le candidat peut le faire, répondez « Oui, je peux effectuer la mise à jour pour vous. Pouvez-vous fournir votre nouvelle photo ? ». Une fois la photo reçue, mettez à jour le profil du candidat en conséquence. Si le contrat n'inclut pas de modifications de la photo de profil, dites « Désolé, ce n'est pas possible. Laissez-moi vous diriger vers un agent humain. ».
Instruction 3 :
Profil non Premium : si le client indique qu'il dispose d'un profil non Premium, répondez « Vous ne pouvez pas mettre à jour votre photo. Si vous souhaitez le faire, dites-le-moi et je vous transférerai vers un agent humain. ».
Instruction 4 :
si le type de profil n'est pas clair, répondez par « Je n'ai pas compris votre type de profil. ».
Au lieu de ce type de micro-gestion, utilisez une approche plus flexible qui indique le comportement et la conduite des agents. Tenez compte des meilleures pratiques suivantes :
« Seuls les candidats disposant d'un profil Premium et dont le contrat permet de modifier leur image peuvent mettre à jour leur image
. »Sur la base de ces meilleures pratiques, ce qui suit pourrait être un meilleur ensemble d'instructions :
Instruction 1
: « Utilisez les actions de connaissance pour vérifier les politiques en cas de demandes de modification de compte. »
Instruction 2
: « Ne répondez pas aux questions pour lesquelles aucune politique applicable n'a pu être trouvée. »
Le respect des directives ci-dessus peut améliorer les résultats des agents. Désormais, si le client demande à l'agent de modifier son profil, l'agent comprendra qu'il doit récupérer la politique requise dans la base de connaissances, interpréter les règles récupérées, appliquer ces règles au contexte et enfin répondre au client. Par opposition à l'overscripting, cette approche comportementale est beaucoup plus générique et largement applicable. Sans avoir à écrire chaque conversation possible, l'agent peut désormais répondre de manière flexible avec le comportement souhaité à un plus large éventail de sujets de conversation.
Continuons avec l'exemple des agents de sites Internet de recrutement. L'agent doit être en mesure de gérer la planification des entretiens avec la personne en charge de ces derniers. Pour ce faire, l'agent doit d'abord vérifier la disponibilité des recruteurs, puis proposer trois créneaux possibles au candidat.
Dans ce cas, afin de conserver l'ordre d'exécution, les instructions ne doivent pas être placées dans des cases distinctes :
Vérifiez les disponibilités des personnes en charge des entretiens.
Ensuite, proposez des créneaux appropriés au candidat.
Ces instructions ne fonctionnent pas parce que le moteur de raisonnement ne sait pas à quoi se réfère l'instruction « Then » de l'instruction 2. En effet, les instructions sont envoyées au moteur de raisonnement en tant que groupe, et non dans un ordre particulier.
Au lieu de cela, les instructions définissant les séquences doivent être combinées en une seule déclaration et rédigées comme suit :
Vérifiez la disponibilité des personnes en charge des entretiens. Ensuite, proposez des créneaux appropriés au candidat.
Cependant, lorsque l'on s'attend à ce qu'une seule action de prompt ait été exécutée, une instruction peut être mise en œuvre pour demander à l'agent de ne jamais modifier la réponse d'une action. Ainsi, le comportement des agents est plus prévisible et plus fiable.
Le respect strict de ces éléments dans les modèles de réplique approuvés devient crucial dans certains scénarios, en particulier lorsque la cohérence, la conformité et la messagerie prédéfinie sont importantes. Voici deux exemples :
Cette instruction limite la liberté de l'agent de modifier la réponse des actions. Assurez-vous que l'instruction fait référence à la réponse du modèle de réplique (par exemple « promptResponse »), comme indiqué dans ce traceur de plan.
Dans ce cas, l'instruction peut être la suivante :
«
Ne modifiez pas la réponse promptResponse, quel que soit le canal de l'agent.
»
Limites relatives à l'application d'une stricte conformité :
Lorsqu'une interaction nécessite plusieurs actions distinctes de l'agent, il n'est pas possible de faire respecter strictement un modèle unique. En réalité, dans ce scénario, le moteur de raisonnement doit consolider ces actions en une seule réponse, et donc modifier le résultat de chaque action.
Sur la base des caractéristiques générales du LLM, le nombre cible d'instructions est compris entre 5 et 10, en fonction de la complexité de l'instruction et de l'interaction avec l'instruction. Ces caractéristiques d'instruction influencent le nombre d'instructions que le moteur de raisonnement peut suivre :
Si une instruction est très importante à suivre explicitement, ajoutez des termes qui reflètent son importance :
La contextualisation des réponses dans les données améliore considérablement la fiabilité des agents. Les réponses contextualisées sont basées sur des informations factuelles plutôt que sur des spéculations ou des connaissances obsolètes. La génération augmentée de récupération (RAG) est une technique largement adoptée qui permet à un agent d'accéder à une base de connaissances et de l'utiliser afin de formuler des réponses plus précises et pertinentes sur le plan contextuel. Sur la base d'une requête d'un utilisateur, un agent utilise la RAG pour récupérer des informations pertinentes à partir de sources de données applicables, puis ajoute ces informations au prompt avant de le soumettre au LLM. Un agent utilisant la RAG offre une qualité, une précision et une utilité supérieures des interactions avec les agents, ce qui augmente la confiance et la satisfaction des utilisateurs. Les meilleures pratiques en matière de RAG sont décrites en détail dans un livre blanc accessible au public intitulé Agentforce et RAG : meilleurs pratiques pour de meilleurs agents .
Il est important de faire la différence entre les connaissances et les instructions pour trouver le bon équilibre entre les conseils et la flexibilité, car elles remplissent des objectifs différents :
La génération augmentée de récupération (RAG) agit comme une couche de données intelligente pour les connaissances. Elle permet aux agents d'accéder aux informations dans différents formats et fournit des fragments de texte pertinents pour répondre aux questions. Avec la RAG, les agents peuvent obtenir des réponses LLM plus précises sans submerger le prompt LLM de contenu étranger ou dépasser sa fenêtre contextuelle.
Au moment de l'exécution, la RAG exécute trois étapes :
Dans Agentforce, la RAG peut être utilisée avec ou sans modèle de réplique :
La méthode recommandée est l'option 1. Elle réduit le nombre de tâches que le moteur de raisonnement doit effectuer et améliore ainsi la qualité de ses réponses. La section suivante explore une exception à cette règle, dans laquelle le contenu est préservé tout au long de la conversation et est donc attribué explicitement à une action.
Stockage de la réponse de la RAG dans une variable : lorsque le nombre de limites d'interaction peut être atteint, stockez la réponse de la RAG dans une variable. Les informations restent ainsi accessibles pour guider les interactions des agents au-delà du seuil standard. Vous trouverez un exemple dans la section suivante.
Certains processus métier exigent une exécution encore plus prévisible, comme l'application d'une séquence d'actions ou de conditions spécifiques pour déclencher des actions ou des rubriques.
Pour obtenir ce comportement déterministe, des variables peuvent être utilisées. Les variables fonctionnent comme une forme structurée de mémoire d'agent à court terme qui peut servir de saisies ou de réponses d'action. De plus, l'état d'une variable peut régir le déclenchement de rubriques et d'actions spécifiques.
Les types de variables prennent en charge les capacités suivantes :
Variables de contexte | Variables personnalisées | |
---|---|---|
Peut être instancié par l'utilisateur | X | ✓ |
Peut être une saisie d'actions | ✓ | ✓ |
Peut être une réponse d'actions | X | ✓ |
Peut être mise à jour par des actions |
X | ✓ |
Peut être utilisé dans des filtres d'actions et de thèmes | ✓ | ✓ |
Penchons-nous un peu plus sur les variables avec un exemple de cas d'usage : un agent de dépannage en contact avec le client. Dans cet exemple, les variables sont utilisées pour les trois objectifs : contextualisation dynamique persistante, saisies/réponses d'action et filtrage.
Dans cet exemple, l'agent aide un client à résoudre un problème technique lié à un appareil. Le dépannage implique généralement de passer par un certain nombre d'étapes. L'agent doit offrir une expérience de service qui imite le travail d'un agent de service humain. Pour ce faire, l'agent ne doit pas fournir toutes les étapes de dépannage au client en même temps. Au lieu de cela, il doit proposer des instructions étape par étape, ainsi que la possibilité de naviguer entre les étapes (y compris de revenir aux étapes précédemment couvertes) en fonction de la manière dont le client répond.
La capacité de l'agent à conserver toutes les étapes de dépannage tout au long de la conversation est un défi. Étant donné la mémoire limitée de l'agent en raison du nombre restreint d'interactions qu'il peut stocker, ces étapes peuvent être supprimées du contexte du moteur de raisonnement si la conversation devient longue.
Pour relever ce défi, il est possible d'utiliser une variable pour contextualiser le moteur de raisonnement de manière dynamique au cours des étapes de dépannage. En récupérant les informations et en les stockant dans une variable, elles restent disponibles et peuvent être mises à jour tout au long de la conversation. Le moteur de raisonnement utilise les informations stockées dans cette variable pour la contextualisation dynamique.
Dans cet exemple, une rubrique comprend deux actions. Ces deux actions sont nécessaires pour maintenir un flux de données cohérent. La première action est utilisée pour renseigner la variable qui contient toutes les étapes de dépannage. La deuxième action utilise cette variable pendant le dépannage lui-même.
La question initiale du client sert de saisie pour les deux actions. La deuxième action a une autre saisie : le contenu de la variable « Étapes de résolution ». Cette variable a été définie par la première action. Notez que la deuxième action ne récupère pas les étapes de dépannage elle-même, mais les récupère en tant que saisie de la première action via la variable. Le diagramme suivant illustre le flux de données entre ces deux actions.
L'action « À utiliser lors de la résolution d'un problème » fera toujours référence aux étapes de dépannage d'origine récupérées par l'action Étapes de résolution des problèmes. Ce flux de données garantit que les étapes de dépannage sont maintenues de manière cohérente et qu'elles sont toujours présentes, quelle que soit la durée de la conversation.
Pour exécuter les actions définies dans cet exemple, des instructions spécifiques sont nécessaires, telles que « Toujours exécuter les étapes de Renseigner les étapes de résolution des problèmes en premier ». Cependant, étant donné la nature non déterministe des LLM utilisés par les agents, cela peut conduire à un ordre différent dans certains cas. Pour garantir un ordre d'exécution déterministe, nous introduisons des filtres conditionnels sur ces variables afin d'appliquer la séquence d'actions appropriée. L'agent lit la valeur de la variable « Étapes de résolution » et définit deux filtres selon que cette variable a une valeur ou non.
Ces filtres conditionnels appliquent désormais de manière déterministe la séquence d'exécution de l'action : « À utiliser lors de la résolution d'un problème » doit attendre que « Étapes de résolution d'un problème » soit terminée, garantissant ainsi que la variable « Étapes de résolution » a toujours une valeur.
Pour garantir l'exécution correcte de l'action, une troisième action est nécessaire pour réinitialiser la variable « Étapes de résolution » si le problème est entièrement résolu. Par conséquent, l'agent est réinitialisé à l'état requis pour aider à résoudre un éventuel nouveau problème différent. Cette troisième action est appelée « Vider la variable de résolution ». Le diagramme complet de l'action figure ci-dessous.
Les variables sont essentielles pour permettre à notre agent de dépannage de résoudre les problèmes des clients en permettant :
À l'ère de l'IA générative, l'IA prédictive reste d'une importance cruciale dans la mesure où elle constitue l'intelligence fondamentale qui guide, améliore et contextualise les capacités génératives. Alors que l'IA générative se concentre sur la création de nouveau contenu, tel que du texte, des images ou des vidéos, les modèles prédictifs font des prédictions sur l'avenir en se basant sur des saisies provenant de données commerciales en temps réel. Parmi les exemples de résultats commerciaux, citons la probabilité d'attrition des clients, les probabilités de conversion, la probabilité de remontée des requêtes, la valeur à vie du client et la classification des cas. Les prédictions peuvent aider à anticiper les besoins des utilisateurs, à personnaliser les réponses, à prendre des décisions, à optimiser la pertinence du contenu en temps réel, le tout en analysant les tendances et les chiffres. Par exemple, dans des applications telles que l'apprentissage personnalisé, les soins de santé ou la planification financière, l'IA prédictive garantit que les réponses génératives s'alignent sur les contextes individuels et les scénarios futurs probables. Ensemble, l'IA prédictive et générative créent une puissante synergie, en fusionnant la prévoyance et la créativité pour créer des solutions technologiques plus intelligentes, adaptatives et percutantes.
Pour intégrer les réponses des modèles prédictifs dans les flux de travail des agents, il suffit d'ajouter des actions de modèles prédictifs aux actifs Agentforce. Le générateur de modèles permet de créer ou d'enregistrer des modèles prédictifs (BYO), qui sont ensuite utilisés par l'agent pour faire des prédictions. Les prédictions qui en résultent (ainsi que les prédicteurs) peuvent être stockées dans des variables personnalisées. Les agents peuvent utiliser ces valeurs de variable comme saisies pour des actions et des rubriques spécifiques et définir des conditions pour l'exécution de ces dernières.
Certains processus métier doivent être exécutés dans un ordre précis et ne nécessitent pas de saisie de l'utilisateur au cours de l'exécution. Dans ce cas, un flux prédéterminé d'étapes peut être appliqué via des flux, des API ou Apex. Si vous disposez d'un flux existant qui est utilisé en production, c'est une bonne indication qu'il peut être conservé et utilisé par l'agent pour l'exécution de ce processus métier. Tous les exemples suivants comprennent des séquences prédéterminées d'étapes que l'agent peut exécuter sans saisie de l'utilisateur. Dans ce cas, le comportement agentique consiste à identifier le processus déterministe à exécuter, comment recueillir les saisies nécessaires et comment interpréter et traiter les réponses.
Les processus métier comportant de nombreuses étapes séquentielles (plus de trois, en règle générale) et de nombreuses dépendances sur des variables deviennent trop complexes et encombrants pour être appliqués avec des instructions. Dans ce cas, il est possible de les coder simplement en dur à l'aide des types d'actions déterministes répertoriés dans cette section. Enfin, notez que ces implémentations peuvent inclure des éléments non déterministes, tels que l'appel de LLM avec des modèles de réplique résolus. Par conséquent, elles ne sont pas nécessairement complètement déterministes, de bout en bout, et elles peuvent toujours offrir les niveaux de fluidité souhaités pour lesquels les agents sont connus.
La séquence des étapes d'un parcours marketing est conditionnée par des règles fixes et ne dépend d'aucune entrée conversationnelle de l'utilisateur. Par conséquent, le flux peut être utilisé comme une action Agentforce. Une action invocable peut être créée pour effectuer des tâches déclenchées en arrière-plan ou par un événement à partir d'un composant de solution qui peut appeler un flux ou une classe Apex. Ajoutez une action invocable à un flux ou à une classe Apex et spécifiez la tâche que l'agent effectue, ainsi que les conditions qui déclenchent l'agent. Les actions invocables peuvent également porter les variables contextuelles de l'agent et transmettre des informations importantes.
Les flux Salesforce peuvent être utilisés pour automatiser les tâches de routine, telles que la création de tâches de suivi, l'envoi d'e-mails de rappel ou la mise à jour d'enregistrements. Les flux rendent le travail plus efficace et plus productif. Les agents peuvent également exécuter des flux à l'aide d'actions de flux. En raison de leur déterminisme, les flux constituent un excellent moyen d'orienter le comportement agentique lorsqu'un processus métier doit être exécuté dans une séquence particulière. Lorsque la rubrique contiendrait autrement des instructions telles que « Faites d'abord ceci, puis faites ceci, et enfin faites ceci », c'est un signe qu'une action de flux est préférée. L'application de séquences de plus de trois étapes devient lourde à gérer via des instructions et des variables.
Les flux peuvent également inclure des éléments non déterministes en appelant des prompts. Un nœud de prompt dans un flux invoque un modèle de réplique et recueille la réponse qui peut être transmise à d'autres éléments du flux. Ces éléments supplémentaires peuvent encore être des nœuds de prompt, par exemple résumant la réponse précédente, créant ainsi une chaîne de prompts. Ceci est particulièrement utile lorsque les règles de chaînage de répliques sont définies par des éléments fixes et ne dépendent pas de la saisie de l'utilisateur. La génération augmentée de récupération (RAG) agentique en est un exemple : une séquence prédéfinie de récupérateurs ou de prompts dans un flux peut accéder à des sources de données spécifiques dans un ordre particulier, par exemple en récupérant initialement des données à partir d'un document du pays d'un utilisateur avant de consulter d'autres sources si nécessaire. Ce mécanisme de chaînage permet une extraction fiable et ordonnée des informations pertinentes.
À l'instar des flux, les actions Apex et API sont déterministes en ce sens qu'une séquence prédéfinie d'actions peut être codée. Ces actions peuvent inclure des éléments non déterministes, tels que l'appel de modèles de réplique ou d'appels LLM. Cependant, dans leur définition, elles exécutent ces étapes de manière déterministe, ce qui réduit la variabilité agentique en appelant l'action au bon moment, en recueillant les données nécessaires et en traitant la réponse. Ces responsabilités doivent tout de même être régies par des instructions agentiques. Elles sont donc non déterministes. Les actions Apex et API sont l'équivalent pro-code des actions de flux.
L'obtention d'un comportement fiable des agents nécessite une approche structurée qui équilibre la flexibilité inhérente aux modèles de langage de langage de grande taille (LLM) et le besoin de contrôle et de prévisibilité au niveau de l'entreprise. Cet article a présenté une stratégie en couches pour mettre en œuvre un « déterminisme guidé » permettant la création d'agents qui sont non seulement intelligents et autonomes, mais également toujours précis et alignés sur les processus métier. La clé de la création de ces agents de confiance réside dans la mise en œuvre progressive de mécanismes de contrôle, chacun ajoutant une nouvelle couche de fiabilité :
En appliquant systématiquement ces couches de contrôle, de la conception réfléchie et des instructions claires à la contextualisation des données, en passant par la gestion de l'état et l'automatisation déterministe des processus, les développeurs peuvent relever avec succès les défis de la création d'agents fiables avec des résultats commerciaux cohérents. Cette approche stratégique garantit qu'il est possible de faire confiance aux agents Agentforce pour effectuer des fonctions commerciales critiques avec la précision et la cohérence requises dans le paysage de l'entreprise.
Les cinq niveaux de déterminisme dans l'IA sont : la sélection de rubriques et d'actions sans instruction, les instructions des agents, la contextualisation des données, les variables des agents et les actions déterministes à l'aide de flux, d'Apex et d'API.
Il est essentiel de comprendre le déterminisme de l'IA pour créer des agents fiables capables d'assurer des fonctions commerciales critiques avec précision et cohérence, en trouvant un équilibre entre la fluidité créative et le contrôle de l'entreprise.
Dans l'IA, le terme « déterministe » fait référence à la capacité d'un système à produire la même réponse avec les mêmes saisies et les mêmes conditions, ce qui impose une rigidité et une discipline essentielles pour un comportement fiable des agents.
Le non-déterminisme dans les systèmes d'IA est principalement dû à l'utilisation de modèles de langage de grande taille (LLM), qui sont par nature non déterministes, ce qui permet aux agents d'être flexibles et adaptatifs.
Les niveaux de déterminisme améliorent progressivement le déterminisme des agents IA, affectant ainsi leur autonomie. Au fur et à mesure que les niveaux progressent, les agents deviennent moins autonomes, mais plus fiables et alignés sur les processus métier.
Les systèmes d'IA moins déterministes présentent des défis en termes de fiabilité et de conformité aux exigences de l'entreprise, car leur non-déterminisme inhérent peut conduire à un comportement imprévisible.
Les entreprises gèrent les systèmes d'IA avec différents niveaux de déterminisme en appliquant une approche en couches qui comprend une conception réfléchie, des instructions claires, la contextualisation des données, la gestion de l'état par le biais de variables et l'automatisation des processus déterministes à l'aide de flux, d'Apex et d'API.
Découvrez comment se déroule la création d'un agent dans notre bibliothèque.
Lancez Agentforce rapidement et en toute confiance, avec un ROI que vous pouvez mesurer.
Faites-nous part des besoins de votre entreprise et nous vous aiderons à trouver les solutions adéquates.