aim-to-pace.ai

Je voulais bâtir la Ferrari des prompts. J'ai obtenu une VW.

Prompter, c'est simple. Mais prompter simplement, ce n'est tout simplement pas assez bon. Et si facile à améliorer.

Original sur Substack ↗ Lis ici ; like, commente et abonne-toi là-bas.

Je me suis lancé avec une vision mûre, le savoir-faire et le goût des sujets IA à bord. Avec la saine envie de comprendre les choses et de résoudre les problèmes. Et avec l’envie légèrement malsaine de vouloir tout perfectionner, je m’y suis irrémédiablement fourvoyé.

Ma vision : un prompt qui génère des prompts.

Pas des trucs lambda, mais des master-prompts de qualité. Des prompts qu’on réutilise encore et encore ou sur lesquels on peut rebâtir. Des prompts qui méritent d’entrer dans un catalogue. Des prompts conviviaux, qui font poser à l’IA les bonnes questions et qui sont de vrais assistants du quotidien ou des solutionneurs spécialisés. Qu’on peut assembler comme des Lego pour en faire quelque chose d’encore plus grand.

Je voulais tout ça. Pas tout de suite, plutôt dans le cadre d’une évolution sur plusieurs mois. Mais je voulais tout, dans un seul et unique prompt.

Mais « Nach fest kommt ab, und nach ab kommt Arbeit. », ça vaut aussi en informatique.

Gemini a abandonné, et depuis cette entreprise j’ai passé avec Claude, noir sur blanc, la promesse du petit doigt de traquer sciemment et de façon critique toute Verschlimmbesserung dans tous nos projets.

Mais reprenons depuis le début. Bien prompter était, est et restera important si l’on veut soutirer à un LLM des résultats vraiment bons. C’est logique, après tout : le prompt est l’instruction donnée à la machine. Avant, il fallait vraiment programmer et parler dans de véritables langages informatiques compliqués. Avec l’arrivée de l’IA, instruction et données se mélangent et, emballées dans une langue de tous les jours parfaitement normale, deviennent accessibles à tout un chacun.

Un « Vire-moi les fautes du texte, et en espagnol » marmonné est ainsi devenu une instruction de programmation qui fonctionne.

Et c’est justement dans cette simplicité que réside une ambivalence. Car chaque prompt fonctionne et livre des résultats. Il n’existe pas de prompt vraiment faux ni de prompts manifestement mauvais. Mais il existe malgré tout de mauvais prompts, et des méthodes pour en faire de meilleurs. Si l’on veut des résultats exceptionnellement, étonnamment bons, on ne peut pas faire l’économie d’un peu d’optimisation. C’est-à-dire, au fond, décrire plus précisément ce que l’on veut.

Pour rester sur le mini-exemple d’en haut : Quelles fautes ? Seulement les fautes de grammaire, ou aussi les fautes de style ? Veux-tu qu’on te sorte uniquement le texte espagnol, ou aussi la version allemande corrigée ? Et veux-tu savoir où étaient les fautes, ou plutôt ce qui a été modifié ?

Bien sûr, si l’on n’a pas besoin de tout ça ou qu’on ne veut pas le savoir, on n’a pas non plus à le dire. Mais la plupart du temps, on a quand même des attentes implicites, et ça paraît systématiquement plus déplacé quand c’est une machine qui les déçoit. Avec l’IA, il faut rendre ses attentes explicites — et sans même avoir à ménager les sentiments humains.

Et le résultat de l’IA devient encore meilleur quand on fournit le contexte et le tableau d’ensemble, au lieu des instructions isolées « vire les fautes » et « traduis en espagnol ».

Enjolivons donc l’exemple de façon concrète : Admettons que, lors de ton dernier voyage en Espagne, tu aies vraiment eu la poisse. L’hôtel a débité tes cartes de crédit après coup et à tort. Tu as rassemblé toutes les infos et tu veux régler ça directement avec l’hôtel. Avec cette information et cet input, l’IA peut t’aider bien plus que tu ne l’imagines peut-être. Élaborer avec toi le ton, la meilleure marche à suivre sur le plan psychologique et juridique. T’accompagner et te conseiller concrètement tout au long du processus.

L’étape la plus importante, c’est donc du pur mindset, chez toi-même. Pas de mini-instructions tatillonnes, mais pas non plus de simples bouts de phrases génériques et bâclés. Pour peu qu’on nourrisse correctement l’IA, elle peut répondre mieux que tu ne le crois.

Il lui faut justement les informations qui, pour nous, sont souvent évidentes et vont de soi, ou qui te semblent sans importance parce que tu veux juste faire traduire le mail au lieu d’en attendre ou d’en exiger davantage. Mais qui veut plus de résultat doit aussi donner plus d’information. Et ces infos, c’est — la boucle est bouclée — en bien promptant qu’on les fait le mieux ressortir, pas en tapotant à la va-vite.

Mais revenons à ma petite croisade en quête du prompt sacré.

Comme cette nouvelle façon d’interagir avec une machine est inhabituelle, et que la plupart des gens n’ont pas encore appris à la manier correctement, il existe une foule d’outils d’aide. Et j’en ai essayé beaucoup, car je voulais des résultats particulièrement bons de l’IA, sachant — ou pressentant — ce dont elle est capable.

Tous ces générateurs de prompts, je les trouve plutôt mauvais et laborieux. Il faut remplir des pseudo-formulaires qui, plus ou moins bien pensés, recrachent certes un prompt joli à regarder, mais qui ne colle jamais vraiment et que je dois toujours réajuster.

Tous ces master-prompts de gourou ou prompts magiques qui, ultra-fignolés et hautement optimisés, font exactement une seule chose vraiment bien, la font effectivement bien la plupart du temps. Mais ils sont tous construits différemment, éparpillés sur toutes sortes de canaux et de sites web, et ils exigent une discipline presque comptable si l’on ne veut pas passer son temps à les chercher.

Reste donc le bon vieux travail à la main. Les patterns de prompt et les recueils de bonnes pratiques. Il y en a à foison : alors on lit, on s’imprègne, on applique. Mais à la longue, c’est du pipeau aussi. On a là une IA qui comprend vraiment la langue courante, et voilà qu’il faut, comme un gamin à l’école, s’enfoncer la pyramide de Freytag dans le crâne à coups de marteau et réciter cinq actes dans le bon ordre. Le schéma ne fait pas encore un bon drame. La structure, c’est bien et important, mais ça tue aussi un peu le plaisir et l’âme. Seulement, se lamenter n’aide pas. La structure aide, c’est prouvé. Avec des prompts clairs et réfléchis, les résultats sont bien meilleurs. Plus reproductibles. Plus réutilisables. Plus extensibles. Plus partageables.

Par cherry-picking, j’ai extrait de tous ces patterns les éléments que pratiquement tous avaient en commun : description du rôle, information de contexte, conditions particulières et restrictions, description de la tâche et format de sortie souhaité. Puis je leur ai donné des noms à l’international et je les ai emballés dans un format d’acronyme accrocheur :

Assign-Inform-Modify-Task-Output (AIM-TO pour faire court)

Avec ça, je règle 80 % de mes cas d’usage. Et quand il en faut un peu plus, je peux au besoin compléter avec quelques briques supplémentaires comme Priority, Ask back, Chain of thought ou Example (PACE pour faire court).

J’avais mon propre pattern de prompt. Nice. De toute façon, on gagne l’essentiel de la valeur ajoutée rien que par l’acte de structurer lui-même. Ce n’est pas un chef-d’œuvre, mais de l’artisanat solide. L’acronyme de classe mondiale AIM-TO-PACE, dont j’ai fait ma marque de fabrique, n’est chronologiquement venu s’ajouter que bien plus tard.

Le problème : prompter selon un pattern — peu importe lequel — fonctionne bien, mais c’est tellllllement enuuuuuyeeeeeux. Et stupide. Il faut mettre ses pensées en forme. Avec des pensées longues et alambiquées, c’est même vraiment fastidieux. Et c’est lent. Avant que j’aie fini, j’ai le plus souvent déjà de nouvelles idées que, dans ce dispositif anti-brain-dump, je n’arrive pas à faire passer comme il se doit.

Si seulement on avait quelque chose pour nous décharger des tâches ennuyeuses et stupides. Un forçat du calcul. De préférence un qui, en plus, comprenne ma salade d’idées d’origine.

Évidemment, ça, je le laisse faire à mon IA maison. Les 5–6 premières itérations sont passées à toute vitesse, les trois premières versions complètes étaient toutes utilisables et chacune un peu meilleure que la précédente.

Le Méta-Prompt : le prompt qui génère des prompts était créé. Mon méta-prompt.

Et depuis la version n° 3, je n’ai plus jamais comprimé un long raisonnement dans un pattern de prompt, ni écrit ou lu un long prompt en entier. Fini le temps où, juste pour faire plaisir à une IA, je la flattais en promptant dans le sens de son poil. Ça, je le laisse faire.

Mais je voulais plus. Bien sûr, le méta-prompt devait lui-même — par pure hybris — obéir au pattern AIM-TO. Et il devait optimiser le format de sortie dans le prompt cible. Joliment pensé en passant par deux détours. À partir de la requête, le prompt généré doit reconnaître automatiquement si l’utilisateur veut le mode dialogue ou juste directement un résultat. Demander les paramètres les plus importants, mais toujours livrer aussi une sortie prête à copier, fondée sur des hypothèses solides et renvoyées en miroir. Et il devait avoir encore bien d’autres fonctionnalités. J’ai énormément d’idées. Mais un prompt n’est pas un programme informatique qu’on peut — ou qu’on devrait — étendre à volonté.

Le méta-prompt est devenu plus puissant et plus gros, mais du même coup plus fragile et plus vraiment extensible de façon sensée. Chaque optimisation recassait autre chose. Des effets de bord partout. Après une séance d’amélioration de deux heures qui tournait en rond, Gemini a estimé que ça ne menait à rien. Alors va pour Claude. Lui ne connaissait pas encore le méta-prompt et pouvait optimiser à fond, l’esprit neuf. Ce qu’il a fait. Mais ici, il n’a fallu que quelques itérations avant que lui aussi juge que c’était une impasse.

Bien sûr que ça fait mal quand on y a mis du temps et de l’énergie et que, tout à coup, ça n’avance plus. On a l’impression d’avoir gaspillé. Sauf que non, évidemment. J’ai tellement appris pendant ces mois. Compris aussi pourquoi, dès le départ, c’était un combat contre des moulins à vent. On ne peut pas, avec la logique d’autrefois, tout « programmer jusqu’au bout » dans un long prompt. Il y a là des problèmes techniquement insurmontables.

Mais le principe est et reste bon : un prompt qui génère des prompts de qualité. Toujours et partout. Rien que du texte. Aucun outil. Pas trente-six sources à sauvegarder ou à retenir. Qui fonctionne sur n’importe quel LLM courant. Aucun vendor lock-in qui m’enchaîne à un LLM ou qui ne marche qu’avec la meilleure version de l’IA.

Trop bon pour tout simplement arrêter. Assez bon pour tout recommencer de zéro. Donc repartir radicalement de 0, avec des objectifs — et des anti-objectifs — étroits et simples.

  • Le méta-prompt n’a pas besoin d’être lui-même en AIM-TO — l’étape la plus dure pour moi, mais aussi la plus efficace
  • Il doit générer de l’AIM-TO :
    • Stable
    • Robuste
    • Convivial, mais sans chichis

C’était bouclé en une seule session. Tel qu’il est dans sa forme actuelle. C’est comme ça que je le diffuse. Et il fonctionne pour moi, pour mes amis, mes connaissances et mes collègues. La barrière à l’entrée est là et le reste, mais elle est basse. Le scepticisme aussi est là. Mais qui franchit ce premier obstacle reste souvent accroché. Et le framework AIM-TO-PACE — c’est-à-dire pattern et méta-prompt combinés — a en réalité plus d’avantages qu’on ne le voit au premier coup d’œil. Le générateur de prompts pour la poche. Vers le prompt structuré, en mode automatique. C’est certes ennuyeux aussi, mais moins de travail. Et le meilleur de tout. Je n’ai pas à me faire de nœud à la langue virtuelle. Après une petite préparation, je peux prompter à fond sans rogner sur la qualité.

Les pensées sont de nouveau libres.

Attends, j’avais pourtant le prompt parfait dans un historique de chat quelque part. Ou est-ce que je l’ai sauvegardé en local ? Ou envoyé par mail ? Ah non, je l’ai vu sur YouTube, il est vraiment bien. Je vais vite le retrouver.

« Deuux heures plus taaard… » voix du narrateur de Bob l’éponge

Quand la recherche prend plus de temps que de construire le prompt… Ces temps-là sont heureusement révolus. Et « verschlimmbessern » est depuis mon mot intraduisible préféré.