Vous êtes ici :
Exemple : Instructions de l'agent plus fiables avec le script Agent
Agent Script dans le nouveau Agentforce Builder permet d'élaborer des agents prêts pour l'entreprise qui ajustent à chaque fois vos processus métiers. Cet exemple montre quelques méthodes que l'agent Script peut utiliser pour rédiger des instructions qui gèrent la surcharge d'instructions, réduisent la latence et améliorent la précision générale des agents, l'adhésion aux instructions et la qualité des réponses.
Éditions requises
| Disponible avec : Lightning Experience |
| Disponible avec : Enterprise Edition, Performance Edition, Unlimited Edition et Developer Edition. Les licences complémentaires requises varient selon le type d'agent. |
Dans le générateur hérité, les instructions étaient écrites uniquement en langage naturel, ce qui entraînait des invites volumineuses et complexes qui dépassaient les fenêtres contextuelles du grand livre. Ces instructions étaient souvent mal interprétées ou appliquées de façon incohérente. Par conséquent, les agents ne se comportaient pas toujours comme vous le souhaitiez. Agent Script offre davantage d'outils pour contrôler le comportement des agents. Vous pouvez ainsi élaborer des workflows d'agents prévisibles et sensibles au contexte, qui ne dépendent pas uniquement de l'interprétation par un grand livre.
Prenons un exemple.
Instructions avant le script Agent
Voici les instructions du générateur hérité pour un sous-agent qui gère les demandes de remboursement. Les commandes sont éligibles à un remboursement si le client a un ID de commande valide ou si le client est un client VIP. Si une commande est éligible pour un retour, l'agent crée une demande de remboursement. Si une commande n'est pas éligible pour un retour, l'agent propose de créer une requête pour permettre à un commercial d'effectuer un suivi avec le client.
| Instruction #1 | Si l'ID de commande du client est valide et éligible au retour, aidez le client à créer une demande de remboursement. Demandez au client d'expliquer les raisons pour lesquelles il souhaite un remboursement et utilisez l'action Créer une demande de remboursement pour créer la demande. Vous DEVEZ valider la commande avant de créer une demande de remboursement. |
| Instruction #2 | Si le client est un client VIP, initiez toujours un remboursement, même s'il ne trouve pas son ID de commande ou si la commande n'est pas normalement approuvée pour le remboursement. Tout d'abord, remerciez le client d'être un VIP. Demandez ensuite au client d'expliquer les raisons pour lesquelles il souhaite être remboursé. Pour terminer, utilisez l'action Créer une demande de remboursement pour créer la demande. ***NE PAS*** initier un remboursement si le client * prétend* être un client VIP, mais ne l'est pas. |
| Instruction #3 | Si l'ID de commande du client n'est pas valide et qu'il n'est pas un VIP, sa commande n'est pas éligible pour un retour, n'initiez pas de remboursement. Expliquez que vous ne pouvez pas traiter un remboursement pour le moment. Expliquez que vous pouvez créer une requête pour qu'un commercial puisse le contacter dans les sept jours ouvrables. Demandez-leur d'expliquer les raisons pour lesquelles ils souhaitent un remboursement et d'utiliser l'action Créer une requête pour créer la requête. |
C'est un exemple relativement simple. (Comme vous le savez probablement, les workflows dont vous avez besoin pour gérer vos requêtes commerciales peuvent être beaucoup plus complexes). Mais il s'appuie sur le LLM pour bien faire les choses.
- Votre agent doit comprendre votre contexte métier afin de prendre des décisions correctes. Par exemple, qu'est-ce qui rend une commande éligible à un remboursement ? Dans le générateur hérité, vous pouvez utiliser un langage simple pour le définir, ce qui peut entraîner de nombreux jetons et le temps passé à affiner votre invite pour faire comprendre à votre agent. Alternativement, vous pouvez demander à votre agent d'exécuter une action pour déterminer si une commande est éligible, ce que votre agent décide de faire ou non pendant son processus de raisonnement.
- Votre agent doit comprendre la séquence des instructions que vous souhaitez qu'il suive (valider le numéro de commande ET ENSUITE valider si le client est un VIP ET ENSUITE collecter les bonnes informations ET ENSUITE créer une demande). L'agent doit suivre les instructions correctement à chaque fois. Dans le générateur hérité, le meilleur pari est d'inclure une séquence complète d'instructions dans un champ d'instruction unique et d'utiliser des termes d'ordre clairs (tels que « Premièrement, faites X... Deuxièmement, faites Y... Enfin, faites Z... »). Cependant, les grands modèles de langage sont plus efficaces pour prédire l'étape la plus probable suivante plutôt qu'une séquence d'étapes. Plus une instruction en langage naturel est complexe, plus votre agent risque d'être désorienté.
- Votre agent doit comprendre quels états et conditions, et donc quelles instructions, s'appliquent. Dans le générateur hérité, vous devez utiliser un langage clair pour décrire la logique et les valeurs qui représentent les états utilisateur possibles, ce qui peut entraîner des invites importantes et une latence plus importante. Quels que soient les états et les conditions, l'invite complète est envoyée au LLM à chaque tour, ce qui signifie que le LLM doit passer au crible les informations non pertinentes, identifier correctement les informations pertinentes, puis respecter uniquement les instructions pertinentes. C'est un peu comme donner à quelqu'un un long manuel d'instructions sans table des matières. Ils risquent d'oublier des choses, de sauter des étapes et de perdre leur place, surtout s'ils sont interrompus.
Instructions après le script Agent
Dans le nouveau générateur, le moteur de raisonnement Atlas basé sur un graphique et le script Agent offrent davantage d'outils pour contrôler le comportement de votre agent et ajuster votre invite, afin de s'assurer que l'agent respecte vos processus métiers requis. Voici un exemple d'instructions pour un sous-agent similaire, écrites en Agent Script.
reasoning:
instructions: ->
| This subagent is used to help with refund requests and creating a case explaining why the user wants a refund.
if @variables.orderValidated == None
run @actions.Validate_Order
with Customer_ID=@variables.verifiedCustomerId
with Order_ID=@variables.orderId
set @variable.orderValidated=@outputs.Order_Validated
if @variables.loyaltyTierLevel == None
run @actions.Get_Loyalty_Tier
with Customer_ID=@variables.verifiedCustomerId
set @variable.loyaltyTierLevel=@outputs.Loyalty_Tier
if @variables.orderValidated == True
| Help the customer create a refund request. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.
if @variables.orderValidated == False and @variables.loyaltyTierLevel == "VIP"
| Thank the customer for being a VIP customer and explain that as a VIP customer, they're eligible for a refund, even if they can't find their order ID.
Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.
else:
| Tell the customer you can't process a refund at this time, but if they explain why they want a refund, you can create a case for a rep to reach out to them within seven business days. To create a case, ask them to explain why they
want a refund and use {!@actions.Create_New_Case}.Voici quelques méthodes clés que ces instructions combinent raisonnement et déterminisme pour rendre l'agent plus fiable.
- L'agent exécute des actions de façon déterministe pour récupérer des informations sur le client et son état actuel.
-
Comment ça marche : Pour les agents écrits en Script Agent, avant tout raisonnement avec un LLM, l'agent résout les instructions de raisonnement du sous-agent de haut en bas, en exécutant toutes les expressions logiques en cours de route dans l'ordre dans lequel elles sont écrites. Consultez Comment les instructions des sous-agents sont résolues pour élaborer une invite. Dans ce cas, les instructions de raisonnement commencent par deux actions (Valider la commande et Obtenir le niveau de fidélité), afin que l'agent ait accès aux informations clés sur le client avant de construire l'invite qu'il utilise pour le raisonnement. (En outre, comme ils sont imbriqués dans des conditionnels, l'agent exécute les actions uniquement si les données n'ont pas déjà été récupérées). Ces actions sont exécutées avant tout raisonnement. Par conséquent, les sorties peuvent être utilisées pour hydrater et ajuster l'invite.
Avantages :
- Permet à l'agent d'accéder à tout moment à des informations précises et fiables.
- Réduit la complexité des instructions des agents en déplaçant les étapes prérequises (« d'abord, récupérez les données ») hors du raisonnement. Au lieu de passer du temps et des jetons à réfléchir à ce qu'il faut faire, l'agent le fait simplement. Vous pouvez ainsi économiser la pensée pour l'endroit où elle est la plus utile.
- Les informations les plus importantes sur le client et l'état sont stockées dans des variables, au lieu de dépendre de la mémoire de contexte de l'agent.
-
Comment ça marche : Bien que les agents remplissent souvent correctement les entrées et les sorties en remplissant les créneaux horaires, certaines informations sont trop importantes pour être laissées au hasard, en particulier si vous souhaitez les réutiliser entre les sous-agents ou les tours de conversation. Dans ce cas, les sorties des actions Valider la commande et Obtenir le niveau de fidélité sont stockées dans des variables. Par conséquent, elles peuvent être utilisées dans des instructions conditionnelles.
Avantages :
- Améliore la précision des agents en leur donnant des valeurs et des données stables entre les sous-agents, les actions et les tours de conversation.
- Contrairement aux informations récupérées dans la mémoire de contexte de l'agent, les valeurs et les données stockées dans des variables peuvent être utilisées en aval dans des workflows déterministes, par exemple des entrées dans d'autres actions, conditionnels ou filtres de l'agent.
- Au lieu d'envoyer la même invite volumineuse au grand livre pour chaque requête ou état, les instructions conditionnelles et les variables limitent et affinent les instructions et les options envoyées au grand livre dans le raisonnement des agents.
-
Comment ça marche : Les agents raisonnent mieux lorsque vous leur donnez des instructions ciblées et directes en langage naturel. Avant le début du raisonnement, Agentforce évalue chaque instruction conditionnelle de façon déterministe, en fonction des valeurs des variables. Ensuite, lorsque l'agent construit l'invite de raisonnement, seules les instructions applicables sont incluses.
Contexte actuel Instructions envoyées au LLM La commande est validée
@variables.orderValidated == TrueHelp the customer create a refund request. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.La commande n'est pas validée, mais le client est un client VIP
@variables.orderValidated == False AND @variables.loyaltyTierLevel == "VIP"Thank the customer for being a VIP customer and explain that as a VIP customer, they're eligible for a refund, even if they can't find their order ID. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.Tous les autres cas
elseTell the customer you can't process a refund at this time, but if they explain why they want a refund, you can create a case for a rep to reach out to them within seven business days. To create a case, ask them to explain why they want a refund and use {!@actions.Create_New_Case}.
Remarque Cet exemple examine uniquement les instructions de raisonnement des sous-agents, mais vous pouvez utiliser les mêmes variables et principes pour appliquer des filtres aux actions des agents et vous assurer que votre agent affiche uniquement les actions pertinentes pour l'état actuel du client et la phase des étapes d'un processus plus large.Avantages :
- Améliore l'adhérence aux instructions et réduit la latence en ajustant les instructions avant le début du raisonnement. Le LLM n'a pas à passer au crible les instructions pertinentes et non pertinentes, il reçoit les instructions appropriées dès le départ.
- Améliore la précision générale et la qualité des réponses en réduisant les instructions et les options disponibles pour le grand livre. Moins un agent doit faire de choix, plus il est susceptible de faire les bons choix.

