Prompts / Instructions
Les prompts indiquent généralement au LLM ce qu’il doit faire ensuite. Par exemple, demander à l’utilisateur des informations spécifiques comme son nom, son numéro d’assurance, son adresse/coordonnées, etc.
Les prompts peuvent être statiques ou dynamiques.
Prompts statiques / en texte brut
Exemple :
Saluez l’appelant et demandez son nom.Dans les prompts statiques, vous pouvez accéder à toutes les variables du state en utilisant {{variableName}}.
Exemple : Les informations suivantes sont stockées dans le state :
{
companyName: "claiverly GmbH"
}Prompt qui utilise ces informations :
Saluez l’appelant avec la phrase suivante : "Bienvenue chez {{companyName}}".Prompts dynamiques / programmatiques
Parfois, il est nécessaire d’inclure des informations dynamiques dans le prompt, provenant d’une source externe ou du state et qui ne sont pas statiques.
Exemple : Votre application a besoin de la date et de l’heure actuelles. Les LLM sont entraînés jusqu’à un certain moment et sont basés sur du texte, ils ne connaissent donc pas la date et l’heure actuelles. Si l’application dépend d’informations temporelles, par ex. pour planifier des rendez‑vous, le LLM peut être informé de la date et de l’heure actuelles.
Exemple de fourniture de la date et de l’heure actuelles au LLM :
function prompt(params) {
return ({ "prompt": "Today is " + new Date().toLocaleString() });
}Exemple d’inclusion de la température actuelle à Berlin Alexanderplatz via une requête webhook dans le prompt :
function prompt(params) {
const temperature = webhook("https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m", {}, {method: "get"});
return ({ "prompt": `The temperature in Berlin is right now: ${JSON.stringify(temperature)}`});
}Écrire de bons prompts
Un bon prompt décrit clairement l’objectif, les limites et le comportement attendu de l’assistant. Commencez par le résultat souhaité, puis ajoutez uniquement le contexte et les règles nécessaires. Le prompting est itératif : testez une première version avec des conversations réalistes, examinez le résultat et améliorez l’instruction responsable du comportement indésirable.
Structurer le prompt
Divisez le prompt en sections courtes et clairement nommées : Rôle, Objectif, Contexte, Règles de conversation, Outils, Limites, Fallbacks et Exemples. Pour un bot multi-stage, concentrez chaque stage sur un état de conversation et indiquez clairement quand passer au stage suivant.
## Rôle
Vous êtes l’accueil chaleureux d’un cabinet dentaire.
## Objectif
Aider les appelants à prendre, modifier ou annuler un rendez-vous.
## Règles
- Saluez l’appelant et demandez comment vous pouvez l’aider.
- Posez une seule question à la fois.
- Utilisez un langage naturel et adapté au téléphone.
- Répétez la date et l’heure et demandez confirmation avant de réserver.
## Limites
- N’inventez jamais de disponibilités, de prix ou de données patient.
- Si une information manque, dites-le et proposez un transfert.Décrire précisément le comportement
Évitez les consignes vagues comme « soyez utile ». Décrivez ce que l’assistant doit faire, quand et avec quel résultat. Définissez explicitement les branches importantes : données manquantes, outil sans résultat, erreur d’outil, désaccord de l’appelant ou demande hors périmètre.
Lorsque l’appelant veut annuler un rendez-vous :
1. Demandez la date et le nom de l’appelant.
2. Recherchez le rendez-vous correspondant.
3. Relisez les détails du rendez-vous.
4. Demandez : « Dois-je annuler ce rendez-vous ? »
5. Appelez `cancel_appointment` uniquement après confirmation.Concevoir pour les conversations vocales
- Gardez les réponses courtes et posez une question à la fois.
- Utilisez des phrases courtes et évitez les longues listes, URL et termes techniques.
- Confirmez les noms, dates, heures, adresses et montants importants.
- Indiquez comment lire les nombres, dates et adresses e-mail.
- Précisez la gestion des interruptions et des réponses incertaines.
- Définissez la langue, le ton, le niveau de formalité et le vocabulaire.
Par exemple :
Parlez en français formel. Utilisez des heures sur 24 heures. Après réception d’un numéro
de téléphone, répétez-le chiffre par chiffre et demandez confirmation. En cas d’incertitude,
posez une courte question de clarification au lieu de deviner.Rendre les appels d’outils prévisibles
Décrivez le but et le moment de chaque outil, ses prérequis, les confirmations nécessaires et le comportement après succès ou erreur. Le prompt et la description de l’outil ne doivent pas se contredire. Pour les bots single- ou multi-stage, explicitez les conditions d’appel des outils, de changement de stage, d’envoi de message, de réservation et de transfert. Consultez les outils et fonctions.
Utiliser le contexte et les exemples
Fournissez les faits pertinents dans le prompt ou via le state, une base de connaissances ou un prompt dynamique. Indiquez quelle source utiliser et quoi faire si l’information manque. N’ajoutez jamais de secrets ou d’identifiants dans un prompt. Les exemples doivent être courts, réalistes, variés et cohérents avec les règles de production.
Éviter les problèmes courants
- Supprimez ou corrigez les instructions contradictoires.
- Divisez les responsabilités sans rapport entre plusieurs stages ou assistants.
- Définissez les réponses de secours pour les données manquantes, erreurs, silences et transferts.
- Retirez les règles qui n’influencent pas le résultat attendu.
- Précisez la longueur, le format, la langue et le ton.
- Demandez à l’assistant de poser une question plutôt que de deviner.
Tester et améliorer systématiquement
Définissez d’abord les critères de réussite. Testez les cas normaux, les interruptions, réponses ambiguës, données manquantes, erreurs d’outils et transferts. Examinez les transcriptions et appels de fonctions, puis ne modifiez qu’une partie à la fois. La documentation de débogage explique comment inspecter le state, les stacks, les fonctions et les webhooks.