Program Of Thought : Définition et Exemples
Technique de prompting où le modèle génère du code exécutable pour résoudre un problème de raisonnement, au lieu de produire une chaîne de pensée en langage naturel.
Définition complète
Le Program of Thought (PoT) est une méthode de prompting avancée introduite par Chen et al. en 2022, qui sépare le raisonnement de l'exécution des calculs. Plutôt que de demander au modèle de résoudre un problème étape par étape en langage naturel (comme dans le Chain of Thought), on lui demande de générer un programme — généralement en Python — qui encode la logique de résolution. Ce programme est ensuite exécuté par un interpréteur externe pour obtenir la réponse finale.
L'intuition derrière cette approche est simple : les modèles de langage sont excellents pour comprendre un problème et formuler une stratégie de résolution, mais ils commettent fréquemment des erreurs de calcul arithmétique ou logique. En déléguant l'exécution à un interpréteur de code, on combine le meilleur des deux mondes — la compréhension linguistique du LLM et la précision computationnelle d'un moteur d'exécution.
Le PoT s'est révélé particulièrement efficace sur les benchmarks de raisonnement mathématique comme GSM8K et AQuA, où il surpasse significativement le Chain of Thought classique. Il excelle également dans les problèmes impliquant des itérations, des structures de données complexes ou des calculs financiers — des domaines où le raisonnement en langage naturel atteint ses limites.
Cette technique s'inscrit dans un mouvement plus large d'augmentation des LLM par des outils externes. Elle est aujourd'hui intégrée nativement dans plusieurs frameworks d'agents IA et constitue l'un des fondements de l'approche « code as reasoning » qui gagne en popularité dans la communauté.
Étymologie
Le terme « Program of Thought » a été introduit dans l'article de recherche « Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks » publié par Wenhu Chen et al. en 2022. Le nom fait directement écho au « Chain of Thought » (chaîne de pensée) en remplaçant la chaîne textuelle par un programme informatique, soulignant ainsi le passage du raisonnement verbal au raisonnement programmatique.
Exemples concrets
Résolution d'un problème mathématique complexe
Résous ce problème en écrivant un programme Python. Problème : Un magasin propose une réduction de 15% sur tous les articles. Si un client achète 3 chemises à 45€ chacune et 2 pantalons à 62€ chacun, combien paie-t-il après réduction et avec une TVA de 20% ? Écris le code Python pour calculer le montant final.
Raisonnement sur des dates et durées
Écris un programme Python pour résoudre ce problème : Marie est née le 14 mars 1990. Elle a commencé son premier emploi exactement 23 ans et 147 jours après sa naissance. Quel jour de la semaine était-ce ?
Analyse financière avec itérations
Génère un programme Python pour répondre à cette question : Un investisseur place 10 000€ avec un taux d'intérêt composé de 4,5% par an. Chaque année, il ajoute 2 000€. Au bout de combien d'années son capital dépasse-t-il 50 000€ ?
Usage pratique
Pour appliquer le Program of Thought, demandez explicitement au modèle de générer du code exécutable plutôt qu'une réponse en langage naturel. Formulez votre prompt avec une instruction comme « Écris un programme Python pour résoudre ce problème » et exécutez le code généré dans un environnement sécurisé. Cette technique est particulièrement recommandée pour tout problème impliquant des calculs, des itérations ou de la manipulation de données structurées.
Concepts liés
FAQ
Quelle est la différence entre Program of Thought et Chain of Thought ?
Faut-il savoir programmer pour utiliser le Program of Thought ?
Dans quels cas le Program of Thought est-il plus performant que les autres techniques ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.