Le formatage d’un prompt, ça améliore tes résultats ! 👍

Des gens tappent sur leurs ordinateurs avec un tableau vert derrière eux

Préambule

Constat

Cet article est né d’un constat des collègues de la Cellule et de moi-même : les textes copiés-collés sont souvent transformés lorsqu’ils sont transférés d’un programme à un autre et parfois lorsqu’ils sont collés au sein du même programme. Ce syndrome est particulièrement agaçant lorsqu’il s’agit d’utiliser un prompt complexe qu’on aura mis du temps à rédiger, par facilité, dans un traitement de texte et qu’on voudra copier-coller dans notre LLM (Large Language Model ou Grand modèle de langage) préféré. Généralement la structure et les indentations que l’on s’est escrimé à créer auront disparu. C’est là que le formatage d’un prompt devient important.

Le copier-coller qui foire

Lors d’un transfert depuis le presse-papier vers le modèle d’IA, le formatage d’un prompt a la fâcheuse tendance à disparaître.

Que ce soient le formatage des titres ou des listes à puces, on se retrouve souvent avec une bouillie textuelle informe.

Si l’intelligence artificielle ne semble pas se soucier d’un texte sans structure, contrairement à nous, et ânonnera une réponse qu’elle que soit l’agencement de notre demande, le résultat ne correspondra pas forcément à ce que l’on était en droit d’attendre initialement. La manière dont on a réalisé le formatage d’un prompt est presque aussi essentielle que son contenu.

Homogénéiser pour partager les ressources

En plus, au sein de la Cellule Technopédia, nous avons pris l’habitude de partager nos ressources et nos prompts, entre nous mais aussi avec vous grâce à ce site web. Or, chacun des membres de la Cellule Technopédia a des habitudes rédactionnelles spécifiques et il s’agissait d’homogénéiser nos pratiques afin de pouvoir se partager de manière efficiente les trucs et astuces sans avoir à passer du temps sur les aspects formels pour décrypter les requêtes rédigées par les collègues.

L’objet de ce billet est donc de fournir le formatage d’un prompt de base compréhensible et lisible par un humain en utilisant comme toile de fond les prémisses de la création d’un assistant IA rédacteur de courriels.

La personnalisation

Sentez-vous libre évidemment d’utiliser votre propre formatage d’un prompt en fonction de votre sensibilité et vos envies. Si nous avons choisi d’utiliser tel ou tel symbole plutôt qu’un autre c’est souvent car il est déjà utilisé dans un langage de formatage de texte comme le Markdown (que nous utiliserons pour partie car il est interprété par les modèles conversationnels), ou tout simplement parce qu’il se distingue aisément dans un texte. En tout cas, les symboles choisis pour structurer nos requêtes devraient permettre de faciliter la lecture et la cohérence des prompts. Ils devraient aussi faciliter la compréhension par le modèle de langage de notre chemin logique afin de nous donner une réponse plus congruente avec notre demande.

Crédit : réalisé avec Midjourney par Monsieur Nerd pour Technopédia

Détermination d’un formatage pour améliorer les réponses des LLMs et uniformiser les pratiques

Le Markdown

⚠️ Pour rédiger un prompt, essayez dans la mesure du possible d’utiliser un éditeur de texte brut comme Sublime Text ou Notepad++ ou un éditeur qui accepte le Markdown afin que votre texte ne soit pas affecté par du balisage invisible.

Par exemple, il est très facile d’activer le Markdown dans Google Docs.

Pour activer le Markdown dans Google Doc, allez dans l’onglet Outils > Préférences.

Ensuite, cochez la case Activer Markdown et idéalement désactivez la fonction automatique de détection des listes.

Il est aussi très facile d’utiliser Notion, qui accepte le Markdown, pour archiver ses prompts et les copier/coller dans un LLM tout en s’assurant que le formatage soit respecté.

Si vous voulez en savoir plus sur ce logiciel, n’hésitez pas à suivre cette super formation sur Notion que l’on organise fréquemment ou à votre demande.

Les titres dans le Markdown

Utiliser une application qui peut interpréter le langage Markdown facilite le travail et augment la productivité. Car un des gros avantages du Markdown est la possibilité de créer des titres, des sous-titres et des « sous-sous-titres » facilement. On peut même créer jusqu’à 6 niveaux de titres mais cela n’aurait que peu d’intérêt pour la rédaction de prompt. Dans notre cas, on se limitera seulement à 3 niveaux.

Pour écrire des titres en Markdown, il suffit de les faire précéder d’un certain nombre de signes # suivis d’un espace. On fera varier le nombre de #, en fonction du niveau hiérarchique souhaité.



# Titre 1
## Titre 2
### Titre 3

Dans un programme qui accepte le Markdown, le bloc ci-dessous sera interprété de la manière suivante (pour autant que vous utilisiez la même mise en page que celle de notre site):

⚠️ Certains d’entre vous pourraient se trouver un peu désœuvrés en étant limité par trois niveaux de titre. Si c’est votre cas et que le texte de votre prompt semble manquer de structure, n’hésitez pas à créer des sections en son sein.

Pour cela, nous vous suggérons d’utiliser le balisage suivant:
///Titre de la section///.

Mettre en italique et en gras en Markdown

En Markdown, il est très simple de mettre le texte en italique ou en gras pour mettre en évidence des mots ou des groupements de mots.


*Texte en italique*
_Texte en italique_
**Texte en gras**
__Texte en gras__
***Texte en italique et en gras***
___Texte en italique et en gras___

Le texte devrait donner ceci dans un programme qui interprète le Markdown:

Texte en italique
Texte en italique
Texte en gras
Texte en gras
Texte en italique et en gras
Texte en italique et en gras

Crédit : réalisé avec Midjourney par Monsieur Nerd pour Technopédia

L’indentation et les listes à puces en Markdown

Si la touche Tab permet bien de créer une tabulation (à savoir un espace en début de phrase), et si le tiret suivi d’un espace et d’un texte permet bien de créer une liste à puces en Markdown, il est pourtant conseillé d’éviter de les utiliser car ces éléments rentrent en conflit avec les mises en forme automatiques de nos traitements de textes préférés.

On va donc préférer utiliser, à la place de :

  • la touche Tab, 4 appuis successifs sur la barre d’espace pour créer une indentation;
  • la touche , le signe ° pour créer une liste à puces et le signe + pour créer une sous-liste à puces.

Ainsi, dans l’exemple ci-dessous nous avons utilisé à la fois les indentations et les symboles de listes. Pour rappel, les indentations ont été réalisées à l’aide de 4 espaces d’affilée.


° 1er élément de la liste à puce
° 2e élément de la liste à puce
+ 1er sous-élément du 2e élément de la liste à puce
+ 2e sous-élément du 2e élément de la liste à puce
° 3e élément de la liste à puce

⚠️ Notez que dans certains cas, même les indentations réalisées avec 4 appuis successifs sur la barre d’espace ne semblent pas donner pleinement satisfaction. Et l’on se retrouve alors avec des caractères spéciaux en lieu et place de simples espaces.

Si le formatage d’un prompt semble compliqué au départ, cela vous facilitera énormément la vie par la suite.

Les listes à puces grâce au 🔥 clavier Émoji 🔥

Si vous avez besoin de sous-éléments supplémentaires, vous avez la possibilité d’utiliser le clavier Émoji. Il en va de même si vous ne voulez pas que le formatage des listes ordonnées disparaisse.

Pour activer le clavier Émoji, cliquez simultanément sur Windows + . sous Windows et sur control + cmd + barre espace sous Mac.

Les listes ordonnées

Pour faciliter le bon formatage, n’hésitez pas à utiliser les émojis chiffres pour numéroter vos éléments des listes ordonnées.

Préférez ainsi

1️⃣

2️⃣

3️⃣

à

1.

2.

3.

Les « sous-sous-listes » à puces

Il sera parfois nécessaire de créer une liste à puces fille dans une liste à puces parente. Notamment, afin de faire comprendre au modèle d’IA ce que l’on souhaite vraiment.

On va privilégier les caractères spéciaux du Clavier Émoji disponibles facilement en cliquant sur les éléments idoines (cf. l’image ci-dessous).

À l’aide des caractères spéciaux ou symboles, choisissez par exemple pour signifier la création d’éléments dans une « sous-sous-liste » à puces, comme ci-dessous.


° 1er élément de la liste à puce
° 2e élément de la liste à puce
+ 1er sous-élément du 2e élément de la liste à puce
▷ 1er sous-élément du 1er sous-élément du 2e élément de la liste à puce
▷ 2e sous-élément du 1er sous-élément du 2e élément de la liste à puce
+ 2e sous-élément du 2e élément de la liste à puce
° 3e élément de la liste à puce

Les placeholders ou les espaces réservés à l’utilisateur

Un placeholder est un espace réservé à l’utilisateur qui indique là où il doit modifier des informations lui-même.

Pour symboliser un placeholder, il faut mettre l’instruction destinée à l’utilisateur ou le terme qu’il doit modifier entre crochets [].

Si l’on souhaite que l’utilisateur d’un prompt modifie les éléments liés à son prénom, on choisira le formatage d’un prompt selon ce schéma :

Prénom : [Encodez votre prénom] ou plus simplement, Prénom : [Prénom].

Dans ce cas-ci, la modification que l’utilisateur devra réaliser dans le prompt avant de pouvoir l’utiliser pourrait être : Prénom : Jeff.

Crédit : réalisé avec Midjourney par Monsieur Nerd pour Technopédia

Les variables

Les variables dans un prompt sont des éléments textuels mis en mémoire au niveau du modèle d’intelligence artificielle.

Pour déclarer une variable, il faut veiller à entourer la chaîne de caractères choisie (qui a du sens pour nous idéalement) avec des accolades {}.

Ci-dessous, vous allez trouver deux exemples d’utilisation des variables à utiliser lors du formatage d’un prompt.

La variable déclarée directement dans le prompt

Dans l’exemple ci-dessous, nous avons déclaré les variables directement dans un nouveau prompt. Nous utiliserons les valeurs ainsi déterminées dans la requête principale.

Le prompt

{Genre} = Femme
{Pénom} = Georgette
{Nom} = Beck
{Nom_de_l'entreprise} = The best Drones in the World ! Tu dois demander une liste de prix, de manière formelle et professionnelle, à un fournisseur de drônes {Nom_de_l'entreprise} en t'adressant à {Pénom} {Nom}, dont le genre est {Genre}, manager de l'entreprise.

⚠️ Attention au RGPD, car contrairement à ce que semble suggérer ce prompt, il ne faut jamais utiliser de données personnelles dans l’IA. Si vous choisissez de fournir vos données personnelles, ne donnez jamais celles des autres sans leur consentement.

Le prompt et la réponse dans Google AI Studio

Cliquez ici ou sur l’image ci-dessous pour lire le prompt et la réponse de Google AI Studio.

La valeur de la variable déterminée à posteriori dans la conversation

⚠️ Pour illustrer notre propos ci-dessous, nous utiliserons Google AI Studio en version gratuite avec un compte Gmail personnel.

La fonctionnalité qui nous intéresse dans ce LLM puissant est ce qu’on appelle les System Instructions ou Instructions système, à savoir des instructions personnalisées par l’utilisateur qui seront lues par le modèle d’IA avant même que l’utilisateur ou l’utilisatrice précise sa demande.

Le texte que nous encoderons soit au niveau des Instructions système (dans Google Ai Studio) soit dans le champ plus bas fera partie intégrante de notre prompt, requête ou demande.

À coller dans les Instructions système

Ci-dessous, vous trouverez une instruction très simple pour que le LLM se change en ChatBot.

Dans ce tutoriel, vous collerez l’instruction dans les Instructions système dans Google AI Studio. Ce dernier conversera alors avec l’utilisateur en utilisant son prénom.

Dans un premier temps, tu dois demander son {Nom} à l'utilisateur et utiliser {Nom} de manière naturelle dans tes interactions avec lui ou elle.

Le ChatBot simple dans Google AI Studio

Cliquez ici ou sur l’image ci-dessous pour lire le prompt et la réponse de Google AI Studio.

Conclusion

Dans cet article, nous avons essayé de rendre compte d’un formatage qui puisse répondre à la plupart des besoins rencontrés par les rédacteurs de prompts ou les utilisateurs de ces derniers. En effet, pour bénéficier pleinement des outils que nous concevons au sein de Technopédia, il nous est apparu important d’harmoniser nos pratiques en matière de rédaction de prompt afin que nous puissions en faire réellement profiter le plus grand nombre.

Le but n’était évidemment pas d’être exhaustif et il existe sans doute des cas d’usages auxquels nous n’avons pas pensé. Il s’agira, dans ces conditions, d’ajouter des éléments structurants supplémentaires au présent formatage.

Il nous semble cependant qu’en l’état, l’outil offre déjà une solution satisfaisante en permettant, à travers son utilisation, une structuration intéressante des requêtes et l’obtention de réponses à priori plus pertinentes de la part des modèles d’IA utilisés.


Publié

dans

,

par

Étiquettes :