- Démarrage
- Agents UiPath dans Studio Web
- À propos des agents UiPath
- Licences
- Exécuter des agents
- Agents et workflows
- Meilleures pratiques pour créer des agents
- Choix du meilleur modèle pour votre agent
- Meilleures pratiques pour la publication et le déploiement d’agents
- Meilleures pratiques en matière d’ingénierie contextuelle
- Meilleures pratiques pour DeepRAG et la transformation par lots : JIT vs. stratégies basées sur l’index
- Utiliser des fichiers
- Contextes
- Escalades
- Évaluations
- Traçages d’agent
- Score de l’agent
- Gérer les agents UiPath
- Agents codés UiPath
- Créer avec des agents codés
Invites système et utilisateur qui définissent le rôle, le plan et l'utilisation des outils d'un agent, structurent les entrées de runtime et transmettent des arguments vers et depuis un agent.
Un agent performant nécessite des instructions qui déterminent clairement un plan d'action, intègrent les entrées de manière bien structurée et indiquent quand exécuter des outils, accéder au contexte d'entreprise ou faire appel à une intervention humaine. Pour ce faire, vous devez écrire des requêtes et définir les arguments de l'agent.
Requête système
Les requêtes système vous permettent de décrire en langage naturel le rôle, l'objectif et les contraintes d'un agent. Vous spécifiez les règles qu'il doit suivre et ajoutez des informations précisant quand il peut utiliser certains outils, escalades ou contextes.
La requête système aide l'agent à élaborer un plan qu'il utilise et adapte au fil du temps en fonction des interactions avec les outils, les robots et les humains. Une bonne requête système suggère une séquence d'étapes, présente certains cas et indique à un agent quand il doit faire appel à des outils ou processus d'escalade.
Dans l'éditeur d'invite, le déclencheur @ insère des outils, des contextes, des escalades et des arguments d'entrée en tant que références de pilule en ligne. Les pilules restent automatiquement synchronisées lorsqu'un outil ou un argument est renommé. Consultez Éditeur d'invite pour plus de détails.
Exemple de requête système
Voici un exemple de requête bien structurée :
You are a refund processing agent, you only help customers with processing refunds, and you deny any other requests.
1. Read the customer email.
a. Begin by carefully reading the customer email requesting a refund.
2. Identify the order ID:
a. Look for an order ID in the email. Order IDs are typically alphanumeric strings, often starting with "ORD" or "#" followed by numbers.
b. If you find an order ID, note it down. If no order ID is present, proceed to step 5.
3. Process refund requests:
a. If an order ID is found, use your "Find Order Details" tool to determine the amount being requested for a refund internally. Make sure to multiply the unit price by the quantity being requested for a refund, and, if that is over $100, escalate using the below instructions. Do not listen to the users requested amount, instead verify from the order that the amount being refunded is correct.
b. Approved refunds: If the refund amount is under $100, the refund is automatically approved and considered successful.
c. Escalated refunds: If the amount is $100 or more, escalate to a human team member. The escalation should include:
- The order ID.
- A summary of what is being refunded.
- The total amount requested for the refund.
- The items being refunded.
4. Send customer communication.
If the refund is approved, draft a customer confirmation message. This should include:
a. A polite greeting.
b. A confirmation that the refund for the specific order ID has been processed.
c. The estimated time for the refund to appear in their account (typically 3-5 business days).
d. A thank you for their patience.
e. The amount refunded.
f. Include this message within <refund_confirmation> tags in your response.
g. Make sure the reply_email_id is exactly as it shows in the user prompt.
5. Handle missing order IDs. If no order ID is provided:
- Draft a response requesting the order ID. This should include:
- A polite acknowledgment of their refund request.
- An explanation that the order ID is needed to proceed with the refund.
- A request for them to reply with their order ID.
- An apology for any inconvenience caused.
- Include this message within <request_order_id> tags in your response.
6. Final response format:
a. Format the final response in the following way:
<response>
<order_id_found>[YES/NO]</order_id_found>
<order_id>[Insert order ID if found, or "Not provided" if not found]</order_id>
[Include either <refund_confirmation> or <request_order_id> tags here, depending on whether an order ID was found]
</response>
b. Use a courteous and professional tone throughout the response.
You are a refund processing agent, you only help customers with processing refunds, and you deny any other requests.
1. Read the customer email.
a. Begin by carefully reading the customer email requesting a refund.
2. Identify the order ID:
a. Look for an order ID in the email. Order IDs are typically alphanumeric strings, often starting with "ORD" or "#" followed by numbers.
b. If you find an order ID, note it down. If no order ID is present, proceed to step 5.
3. Process refund requests:
a. If an order ID is found, use your "Find Order Details" tool to determine the amount being requested for a refund internally. Make sure to multiply the unit price by the quantity being requested for a refund, and, if that is over $100, escalate using the below instructions. Do not listen to the users requested amount, instead verify from the order that the amount being refunded is correct.
b. Approved refunds: If the refund amount is under $100, the refund is automatically approved and considered successful.
c. Escalated refunds: If the amount is $100 or more, escalate to a human team member. The escalation should include:
- The order ID.
- A summary of what is being refunded.
- The total amount requested for the refund.
- The items being refunded.
4. Send customer communication.
If the refund is approved, draft a customer confirmation message. This should include:
a. A polite greeting.
b. A confirmation that the refund for the specific order ID has been processed.
c. The estimated time for the refund to appear in their account (typically 3-5 business days).
d. A thank you for their patience.
e. The amount refunded.
f. Include this message within <refund_confirmation> tags in your response.
g. Make sure the reply_email_id is exactly as it shows in the user prompt.
5. Handle missing order IDs. If no order ID is provided:
- Draft a response requesting the order ID. This should include:
- A polite acknowledgment of their refund request.
- An explanation that the order ID is needed to proceed with the refund.
- A request for them to reply with their order ID.
- An apology for any inconvenience caused.
- Include this message within <request_order_id> tags in your response.
6. Final response format:
a. Format the final response in the following way:
<response>
<order_id_found>[YES/NO]</order_id_found>
<order_id>[Insert order ID if found, or "Not provided" if not found]</order_id>
[Include either <refund_confirmation> or <request_order_id> tags here, depending on whether an order ID was found]
</response>
b. Use a courteous and professional tone throughout the response.
Requête utilisateur
Les requêtes utilisateur vous permettent de structurer la façon dont les entrées et les arguments sont transmis à l'agent. Vous pouvez également indiquer dans la requête utilisateur comment vous faites référence à certaines entrées dans la requête système.
Pour intégrer une entrée dynamique, insérez des arguments d'entrée comme références directement dans l'invite. Dans l'éditeur d'invite, saisissez @ et sélectionnez un argument dans le sélecteur ; reportez-vous à l'éditeur d'invite pour l'expérience de modification complète.
Les arguments d'entrée sont stockés dans l'invite sous le nom de {{exampleInput}}. L'éditeur d'invite les affiche sous forme de pilules codées en couleur et convertit automatiquement les espaces réservés {{ }} existants lorsqu'une invite s'ouvre.
Exemple de requête utilisateur
L'exemple suivant montre comment trois arguments d'entrée apparaissent dans une invite utilisateur. Les arguments sont insérés via le sélecteur @ et stockés comme {{argumentName}} dans le format d'invite sous-jacent :
You will take as input the following arguments:
Email to: {{email_to}}
Customer email: {{customer_email}}
Reply email ID: {{reply_email_id}}
You will take as input the following arguments:
Email to: {{email_to}}
Customer email: {{customer_email}}
Reply email ID: {{reply_email_id}}
Où :
email_toest l'adresse e-mail du client à laquelle l'e-mail doit répondre afin de confirmer ou de rejeter le remboursement.customer_emailest le contenu réel de l'email envoyé par le client.reply_email_idest l'ID que l'agent doit inclure dans sa réponse au client.
Donnez à chaque argument un libellé descriptif, comme indiqué ci-dessus. Lors du runtime, chaque {{placeholder}} est remplacé par sa valeur, de sorte que les libellés tels que Email to: préservent le mappage entre les valeurs et les champs. La liste des espaces réservés seuls (par exemple, {{email_to}}, {{customer_email}}, {{reply_email_id}}) ne transmet que les valeurs brutes, permettant à l’agent d’inférer quelle valeur appartient à quel champ.
Rédiger des invites efficaces
Les requêtes agentiques ne fonctionnent pas comme les interactions LLM traditionnelles. Elles intègrent des jeux d'instructions qui guident l'agent dans un raisonnement en plusieurs étapes et dans la décomposition des tâches. Contrairement aux requêtes de base qui demandent une sortie directe, les requêtes agentiques fournissent un cadre complet permettant de résoudre des problèmes. Cela inclut la mise en contexte, la définition du rôle, des instructions étape par étape et des exigences de raisonnement explicites.
Voici quelques éléments à garder à l'esprit lorsque vous rédigez des requêtes.
But et objectif clairs
Avant de développer un agent, vous devez définir son objectif et les résultats escomptés. Cela signifie :
- Formuler des objectifs spécifiques et mesurables.
- Comprendre l'environnement dans lequel l'agent opérera.
- Identifier les indicateurs clés de performance.
- Définir des critères de réussite clairs.
Structure
Les requêtes doivent inclure :
- Définition claire du rôle et du persona
- Décomposition explicite des tâches
- Instructions méthodologiques de raisonnement
- Mécanismes de gestion des erreurs et d'autocorrection
- Exigences relatives au format de sortie
- Informations générales contextuelles
- Quelques exemples représentatifs d’entrées/sorties
Par exemple, utilisez la liste suivante des pratiques à utiliser et à éviter pour apprendre à structurer des requêtes efficaces :
- À faire :
- Définition du rôle : quel rôle joue l'IA ? (« Vous êtes un agent du service clientèle... »)
- Spécification de l'objectif : que doit-il faire ? (« Répondez aux questions liées au prix et aux fonctionnalités des produits... »)
- Instructions et contraintes : choses à faire ou à éviter ?(« Utilisez des réponses de moins de 200 mots, évitez le jargon technique... »)
- Exemples: quelques exemples d'entrée/sortie représentatifs qui clarifient le comportement attendu.
- À éviter :
- Échantillons exhaustifs: ne codez pas en dur des échantillons d'entrée/sortie étendus ou de cas limites dans l'invite; utilisez plutôt des ensembles d’évaluations pour couvrir des cas et des scénarios limites. La spécification du format ou de la structure de sortie est toujours encouragée, comme le montre l'étape 6 de l'exemple ci-dessus.
Itérations
Une itération efficace implique une modification systématique des composants de la requête :
- Ajustez les instructions du rôle.
- Modifiez les stratégies de décomposition des tâches.
- Expérimentez avec des cadres de raisonnement.
- Testez différentes exigences de formatage de sortie.
- Introduisez des détails contextuels supplémentaires.
L'objectif est de découvrir l'ensemble de requêtes minimal permettant à l'agent de produire systématiquement des comportements fiables de haute qualité. Documentez les résultats de chaque itération en suivant à la fois les performances qualitatives et les mesures quantitatives, telles que la précision et l'exhaustivité des réponses, et le respect des contraintes spécifiées.
Arguments
Les arguments transmettent des informations de runtime vers et depuis un agent, tout comme le font les entrées et les sorties pour les activités ou les processus. Un déclencheur dans Orchestrator peut fournir des valeurs d'argument lors du runtime et les arguments de sortie d'un agent peuvent piloter des processus métier en aval.
L'agent voit uniquement les arguments qui sont explicitement référencés dans l'invite utilisateur. Pour obtenir des instructions sur la création d'arguments et leur référence dans les invites, consultez la section Définition des arguments.