Analogical Prompting : Définition et Exemples
Technique de prompt engineering qui consiste à demander au modèle de générer ou s'appuyer sur des exemples analogiques avant de résoudre un problème, en s'inspirant du raisonnement par analogie humain.
Définition complète
L'Analogical Prompting est une technique avancée de prompt engineering introduite par des chercheurs de Google DeepMind en 2023. Elle repose sur un principe cognitif fondamental : les humains résolvent souvent des problèmes nouveaux en s'appuyant sur des situations similaires déjà rencontrées. Cette méthode demande au modèle de langage de générer lui-même des problèmes analogues et leurs solutions avant de s'attaquer au problème cible.
Contrairement au few-shot prompting classique, où l'utilisateur fournit manuellement des exemples, l'Analogical Prompting laisse le modèle produire ses propres exemples pertinents. Le modèle identifie des problèmes structurellement similaires, les résout étape par étape, puis transfère le raisonnement au problème posé. Cette auto-génération d'analogies exploite les connaissances internes du modèle de manière plus ciblée et contextuelle.
Le processus se déroule généralement en trois phases : d'abord, le modèle rappelle ou construit des problèmes analogues ; ensuite, il détaille la résolution de ces analogies ; enfin, il applique les patterns de raisonnement identifiés au problème original. Cette approche s'avère particulièrement efficace pour les tâches de raisonnement mathématique, de programmation et de résolution de problèmes complexes.
L'Analogical Prompting représente une évolution significative car il combine les avantages du zero-shot (pas besoin de fournir d'exemples) avec ceux du few-shot (bénéficier d'exemples concrets pour guider le raisonnement). Les études montrent qu'il surpasse souvent le Chain-of-Thought prompting standard sur des benchmarks de raisonnement comme GSM8K et MATH.
Étymologie
Le terme combine « analogical » (analogique), du grec analogia signifiant « proportion » ou « correspondance », et « prompting » (incitation). Il fait directement référence au raisonnement par analogie étudié en sciences cognitives, où l'on résout un problème en le comparant à un problème connu de structure similaire.
Exemples concrets
Résolution d'un problème mathématique complexe
Avant de résoudre le problème suivant, rappelle-toi des problèmes similaires que tu connais. Génère 2-3 problèmes analogues avec leurs solutions détaillées, puis utilise ces raisonnements pour résoudre : « Un train part de Paris à 9h à 120 km/h. Un autre part de Lyon à 10h à 150 km/h en sens inverse. La distance Paris-Lyon est de 450 km. À quelle heure se croisent-ils ? »
Débogage de code en s'appuyant sur des bugs similaires
Avant d'analyser ce bug, pense à des situations de débogage analogues que tu as rencontrées. Décris 2 bugs similaires dans leur structure et comment ils ont été résolus, puis applique ce raisonnement à mon problème : [code avec bug]
Conception d'une architecture logicielle
Je dois concevoir un système de file d'attente distribué. Avant de proposer une architecture, génère 2-3 exemples de systèmes analogues (systèmes distribués avec des contraintes similaires), explique leurs choix architecturaux, puis propose une solution pour mon cas en t'appuyant sur ces analogies.
Usage pratique
Pour appliquer l'Analogical Prompting, ajoutez dans votre prompt une instruction demandant au modèle de générer des problèmes similaires avant de répondre. Formulez par exemple : « Avant de répondre, rappelle-toi 2-3 situations analogues et leurs solutions, puis applique ce raisonnement à mon problème. » Cette technique est particulièrement utile pour les problèmes de raisonnement complexe où le zero-shot classique manque de précision.
Concepts liés
FAQ
Quelle est la différence entre l'Analogical Prompting et le few-shot prompting ?
L'Analogical Prompting fonctionne-t-il avec tous les modèles de langage ?
Quand utiliser l'Analogical Prompting plutôt que le Chain-of-Thought ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.