Papier de recherche : https://arxiv.org/html/2512.14982
Explications données par Claude Sonnet 4.6 :
"Prompt Repetition Improves Non-Reasoning LLMs" (Leviathan, Kalman, Matias — Google Research, déc. 2024)
L'idée centrale est d'une simplicité désarmante : au lieu d'envoyer
<QUERY>au modèle, on envoie<QUERY><QUERY>— c'est-à-dire le prompt répété deux fois de suite, sans rien d'autre.Pourquoi ça marche ? Les LLMs sont des modèles causaux : un token ne peut "voir" que les tokens qui le précèdent. Cela crée une asymétrie : dans un prompt du type
<CONTEXTE> <QUESTION>, la question peut "regarder" le contexte, mais le contexte ne peut pas "regarder" la question. En répétant le prompt, chaque token du second exemplaire peut maintenant attendre à tous les tokens du premier. En pratique, cela revient à donner à chaque partie du prompt une vision complète du reste.Les résultats expérimentaux sont convaincants : testé sur 7 modèles (Gemini 2.0 Flash, GPT-4o, Claude 3 Haiku, Claude 3.7 Sonnet, DeepSeek V3…) et 7 benchmarks (ARC, MMLU-Pro, GSM8K, MATH, etc.), la répétition du prompt gagne 47 comparaisons sur 70, avec 0 défaite. Les gains sont particulièrement spectaculaires sur leurs benchmarks custom "NameIndex" et "MiddleMatch" (tâches de recherche au milieu d'une longue liste), où par exemple Gemini 2.0 Flash-Lite passe de 21% à 97% de précision.
L'aspect efficacité est le point clé pratique : la répétition du prompt n'augmente ni la longueur des réponses générées, ni la latence observable, car elle n'affecte que la phase de prefill (parallélisable), pas la phase de génération autoregresssive token par token. C'est là que réside l'astuce : le "coût" est absorbé dans le prefill, qui est massivement parallèle sur GPU.
Quand ça ne marche pas (ou moins) : quand le raisonnement est activé (Chain-of-Thought, "think step by step"), l'effet est neutre à légèrement positif. L'explication intuitive : les modèles de raisonnement apprennent justement à répéter eux-mêmes le problème dans leur chaîne de pensée — la répétition du prompt fait donc quelque chose qu'ils faisaient déjà.
Les pistes de recherche proposées à la fin sont intéressantes : fine-tuner sur des prompts répétés, ne garder que la seconde répétition dans le KV-cache, répéter seulement certaines parties du prompt, etc.