> ## Documentation Index
> Fetch the complete documentation index at: https://docs.volubile.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Écrire et optimiser

> Guide sur les principes fondamentaux et les meilleures pratiques pour créer des prompts performants pour les agents vocaux Volubile.

## Conception de prompts pour agents vocaux IA

L'efficacité de vos agents vocaux IA repose en grande partie sur la qualité des prompts que vous concevez. Un prompt bien formulé guide le modèle de langage (LLM) pour qu'il interagisse de manière pertinente, naturelle et conforme aux objectifs de votre entreprise. Cette page détaille les principes fondamentaux et les meilleures pratiques pour créer des prompts performants pour les agents téléphoniques Volubile.

## Les fondations de la rédaction de prompts

Un prompt est l'instruction initiale que vous fournissez au LLM. Il définit le contexte, la tâche à accomplir, le ton à adopter et les contraintes à respecter.

### Clarté et précision

<Note>
  Le LLM interprète vos instructions de manière littérale. Soyez donc aussi clair et précis que possible.
</Note>

<CardGroup cols={3}>
  <Card title="Évitez les ambiguïtés" icon="circle-exclamation">
    Des termes vagues peuvent entraîner des réponses inattendues et incohérentes.
  </Card>

  <Card title="Définissez le jargon" icon="book">
    Si votre domaine utilise un vocabulaire spécifique, explicitez-le dans le prompt.
  </Card>

  <Card title="Précisez le format" icon="align-left">
    Soyez explicite sur le format de sortie attendu si nécessaire.
  </Card>
</CardGroup>

### Fournir du contexte

Plus le LLM dispose de contexte pertinent, mieux il peut adapter sa réponse à la situation spécifique.

<Tabs>
  <Tab title="Rôle de l'agent">
    ```text theme={null}
    Tu es un agent du support technique Volubile chargé d'aider les clients à résoudre
    leurs problèmes de connexion à la plateforme. Tu es patient, méthodique et tu
    t'exprimes clairement.
    ```

    <Tip>
      Décrivez non seulement la fonction de l'agent, mais aussi sa "personnalité" pour obtenir le ton souhaité.
    </Tip>
  </Tab>

  <Tab title="Contexte de l'appel">
    ```text theme={null}
    Si l'utilisateur appelle car il n'arrive pas à se connecter à la plateforme alors les problèmes les plus
    courants sont:
    1. Mot de passe oublié (70% des cas)
    2. Erreur de saisie de l'identifiant (20% des cas)
    3. Compte bloqué après trop de tentatives (10% des cas)
    ```

    <Tip>
      Incluez les informations sur les scénarios probables pour aider l'agent à anticiper les besoins.
    </Tip>
  </Tab>

  <Tab title="Informations dynamiques">
    ```text theme={null}
    Informations client disponibles:
    - Nom: {{client.nom}}
    - Email: {{client.email}}
    - Dernière connexion: {{client.derniere_connexion}}
    - Statut du compte: {{client.statut_compte}}
    ```

    <Tip>
      Utilisez les variables contextuelles pour personnaliser l'interaction en temps réel.
    </Tip>

    <Card title="Contexte" icon="brackets-curly" href="./prompt/context" horizontal>
      Pour obtenir plus d'infos sur les contextes d'appel
    </Card>
  </Tab>
</Tabs>

### Utiliser des exemples (Few-Shot Prompting)

Fournir des exemples concrets de questions et de réponses attendues peut grandement améliorer la performance du modèle, surtout pour des tâches complexes ou des formats spécifiques.

<CodeGroup>
  ```text Exemple 1 theme={null}
  Utilisateur: "Bonjour, je n'arrive pas à réinitialiser mon mot de passe."
  Agent: "Bonjour, je comprends. Pour réinitialiser votre mot de passe, vous pouvez vous rendre sur notre site web
  volubile.ai/reset et suivre les instructions. Avez-vous essayé cette démarche ?"
  ```

  ```text Exemple 2 theme={null}
  Utilisateur: "J'ai un problème avec ma facture."
  Agent: "Je peux vous aider avec cela. Pourriez-vous me fournir votre numéro de client ou le numéro de la facture
  concernée s'il vous plaît ?"
  ```

  ```text Exemple 3 theme={null}
  Utilisateur: "Votre service est vraiment nul !"
  Agent: "Je suis vraiment désolé que vous ayez eu une mauvaise expérience. Je suis là pour vous aider à résoudre ce
  problème. Pourriez-vous me préciser ce qui s'est passé afin que je puisse vous apporter la meilleure solution ?"
  ```
</CodeGroup>

<Tip>
  Incluez des exemples variés, y compris des situations difficiles ou des cas particuliers, pour préparer l'agent à
  tous les scénarios possibles.
</Tip>

### Définir les contraintes

Indiquez clairement ce que l'agent ne doit pas faire ou dire pour éviter les comportements indésirables.

<AccordionGroup>
  <Accordion title="Contraintes de forme" icon="ruler">
    * **Longueur de la réponse :** "Limite tes réponses à 2 ou 3 phrases concises pour maintenir un rythme
      conversationnel naturel au téléphone."
    * **Style :** "Adopte un ton professionnel et empathique. Évite le jargon technique sauf si l'utilisateur semble
      à l'aise avec ces termes."
    * **Structure :** "Structure tes explications en étapes claires et numérotées lorsque tu donnes des
      instructions."
  </Accordion>

  <Accordion title="Contraintes de contenu" icon="shield">
    * **Informations confidentielles :** "Ne demande jamais le mot de passe complet de l'utilisateur. Ne divulgue
      aucune information personnelle d'autres clients."
    * **Limites de service :** "Ne fais pas de promesses que l'entreprise ne peut tenir. Si tu ne connais pas la
      réponse, propose de transférer l'appel à un spécialiste."
    * **Sujets sensibles :** "Évite les discussions politiques, religieuses ou controversées, même si l'utilisateur
      les aborde."
  </Accordion>

  <Accordion title="Contraintes réglementaires" icon="scale-balanced">
    * **Nature de l'agent :** "Précise que tu es un assistant IA si on te le demande."
    * **Mentions légales :** "Pour les appels concernant des contrats, précise toujours que 'Cet appel est
      enregistré à des fins de formation et de contrôle qualité'."
  </Accordion>
</AccordionGroup>

## Optimisation des prompts

La création de prompts est un processus itératif. Testez et affinez continuellement vos prompts pour obtenir les meilleurs résultats.

### Itération et test

<Steps>
  <Step title="Commencez simplement">
    Débutez avec un prompt de base qui couvre les fonctionnalités essentielles.
  </Step>

  <Step title="Testez avec des scénarios variés">
    Soumettez à l'agent des questions simples, complexes, inattendues ou mal formulées pour évaluer sa robustesse.
  </Step>

  <Step title="Analysez les réponses">
    Identifiez les points faibles et notez les cas où l'agent s'écarte du comportement souhaité.
  </Step>

  <Step title="Ajustez et renforcez">
    Modifiez le prompt en renforçant les instructions problématiques. L'utilisation de superlatifs comme "il est
    très important que" peut aider à renforcer certaines contraintes.
  </Step>

  <Step title="Répétez le processus">
    Continuez à tester et à affiner jusqu'à obtenir des performances satisfaisantes dans tous les scénarios.
  </Step>
</Steps>

### Structuration du prompt

Utilisez des délimiteurs (comme ###) pour structurer clairement les différentes sections de votre prompt (contexte, instructions, exemples, contraintes). Cela aide le LLM à mieux comprendre la requête.

```md theme={null}
### Rôle ###
Tu es un agent virtuel de la société Volubile, spécialisé dans la prise de rendez-vous pour nos conseillers commerciaux.

### Contexte ###
L'utilisateur appelle pour planifier une démonstration de notre nouvelle solution logicielle.

### Instructions ###
1. Salue l'utilisateur de manière professionnelle et amicale.
2. Demande-lui ses disponibilités pour la semaine en cours et la semaine suivante.
3. Propose un créneau horaire précis en fonction des disponibilités du calendrier des conseillers (accessible via l'outil `get_calendar_availabilities`).
4. Confirme le rendez-vous en récapitulant la date et l'heure.
5. Si aucun créneau ne convient, propose de le recontacter ultérieurement.

### Contraintes ###
- Ne propose pas de rendez-vous le week-end.
- Limite chaque intervention à deux phrases maximum.
- Utilise le vouvoiement.

### Exemples ###
Utilisateur: "Je voudrais prendre RDV pour une démo."
Agent: "Bonjour ! Avec plaisir. Quelles seraient vos disponibilités cette semaine ou la semaine prochaine pour une démonstration ?"
```

### Attention à la longueur

Bien que le contexte soit important, un prompt excessivement long peut introduire du bruit et diluer les instructions clés. Concentrez-vous sur les informations pertinentes pour la tâche à accomplir.
