Photographie candid de personnes travaillant dans un bureau, concentrées sur des écrans affichant des interfaces logicielles complexes.

Promptim automatise l’optimisation des invites pour les systèmes d’IA

Promptim, une bibliothèque expérimentale, arrive pour standardiser ce qui relevait souvent de l’art dans l’ingénierie des invites. Cet outil open source automatise l’amélioration des systèmes d’intelligence artificielle en utilisant des jeux de données et des évaluateurs personnalisés, visant à produire une invite affinée par rapport à l’originale.

L’approche est méthodique. L’utilisateur fournit une invite initiale, un jeu de données et des évaluateurs. Promptim lance alors une boucle d’optimisation. Ce mécanisme, qui rappelle des travaux pionniers comme DSPy, vise à apporter une rigueur à cette discipline, qui reposait jusqu’alors sur des ajustements manuels fastidieux.

Pour comprendre le processus, prenons l’exemple d’une tâche de génération de tweets. Après avoir installé l’interface en ligne de commande (CLI) et configuré les clés d’API nécessaires, l’utilisateur crée une tâche en spécifiant un prompt de départ et un jeu de données public sur LangSmith. Ensuite, il doit définir un évaluateur. Dans cet exemple, l’objectif était de pénaliser les résultats contenant des hashtags, ce qui a nécessité de coder une logique de scoring spécifique, où l’absence de « # » rapportait un score de 1.

Illustration isométrique en 3D représentant une boucle de rétroaction : un prompt alimente un environnement de test qui renvoie un score à un algorithme de raffinement.

Le moteur de Promptim s’active. Il commence par établir une performance de référence sur le jeu de données de développement. Par la suite, il boucle sur les exemples d’entraînement. Pour chaque lot, il exécute le prompt, obtient les scores, et transmet ces résultats à un « metaprompt » qui suggère des modifications au prompt actuel. Ces suggestions sont testées, et si la métrique moyenne s’améliore sur le jeu de développement, le nouveau prompt est conservé pour le cycle suivant.

Cette boucle n’est pas aveugle. On peut y intégrer une boucle humaine. En utilisant l’option --annotation-queue lors de l’entraînement, le processus se met en pause entre les lots. L’utilisateur peut alors passer par l’interface LangSmith pour étiqueter manuellement les résultats, apportant un retour qualitatif que les métriques automatiques ne peuvent pas toujours capter.

Comparé à d’autres solutions, la distinction est nette. Là où DSPy se concentre sur l’optimisation de l’ensemble du « système IA composé » en écrivant du code Python déclaratif, Promptim se focalise spécifiquement sur la réécriture d’une invite unique. L’outil met aussi davantage l’accent sur l’intégration d’une intervention humaine dans son cycle, notamment via les files d’annotation de LangSmith.

Cependant, cette approche n’est pas une solution miracle. Il reste nécessaire d’avoir une supervision humaine, même minimale, pour valider le résultat final. L’attente est que ces outils accélèrent les efforts d’ingénierie, surtout lors du passage entre différents modèles qui exigent des stratégies d’invite différentes. Il faudra surveiller comment Promptim évoluera, notamment l’intégration de méthodes d’optimisation plus poussées et l’optimisation des graphes LangGraph entiers, potentiellement en collaboration avec DSPy.

Sources