Porter des prompts d'un modèle à l'autre
Vous avez un prompt qui fonctionne à merveille sur un modèle. Il vous le faut maintenant sur un autre — un client vit dans GPT, un objectif de coût vous pousse vers un modèle ouvert, ou vous faites un test A/B de Claude contre Gemini. La bonne nouvelle, répétée dans la doc de chaque fournisseur : l'ossature d'un bon prompt est universelle. Ce qui change, c'est une fine couche de conventions de surface. Cette page sépare les deux pour que vous puissiez déplacer un prompt sans le réécrire, et vous donne un workflow de migration reproductible ainsi qu'un modèle portable.
- Savoir quelles parties d'un prompt se transfèrent proprement entre Claude, GPT, Gemini et les modèles ouverts
- Savoir quelles parties nécessitent un ajustement par modèle — et pourquoi
- Exécuter un workflow de migration reproductible au lieu de réécrire par tâtonnement
- Conserver un modèle de prompt portable et neutre que vous spécialisez par cible
Le modèle mental : la structure se transfère, pas les conventions
Considérez tout prompt comme deux couches :
- La couche de raisonnement — ce que vous demandez, le contexte que vous fournissez, les exemples, la sortie que vous voulez. Il s'agit de communication, et elle se transfère presque inchangée d'un modèle à l'autre.
- La couche de convention — la façon dont ce modèle précis veut que cette communication soit emballée : où va le prompt système et avec quelle rigueur il est suivi, s'il préfère le XML ou le Markdown, le schéma exact des appels d'outils, sa loquacité par défaut et sa posture de refus, quels paramètres de génération existent.
Porter un prompt n'est presque jamais une réécriture de la couche de raisonnement. C'est un réajustement de la couche de convention. Saisissez bien cette distinction et la migration devient mécanique au lieu de mystérieuse. (Pour la manière neutre de choisir une cible en premier lieu, voir Choisir un modèle.)
Ce qui se transfère proprement
Ceux-ci valent aussi bien pour Claude, GPT, Gemini que pour les principaux modèles ouverts — la doc de bonnes pratiques de chaque fournisseur les recommande indépendamment :
- Un rôle + une tâche + des instructions explicites clairs. « Tu es X. Ton travail est Y. Suis ces règles. » Chaque fournisseur documente une construction de persona/rôle et récompense les instructions spécifiques et non ambiguës plutôt que les vagues.
- Des exemples concrets (few-shot). Montrer 2 à 5 paires entrée→sortie enseigne un schéma plus fiablement que de le décrire. Les trois grands fournisseurs recommandent explicitement les exemples few-shot ; la doc de Gemini va jusqu'à recommander de presque toujours les inclure.
- Un format de sortie spécifié. « Renvoie un tableau Markdown avec les colonnes X, Y, Z » ou « JSON uniquement, sans prose » fonctionne partout. L'instruction se transfère même lorsque le mécanisme de mode strict diffère (traité ci-dessous).
- Chaîne de pensée / « raisonner avant de répondre ». Demander un raisonnement pas à pas sur les tâches difficiles améliore les résultats d'un modèle à l'autre. Une réserve qui, elle, est propre à chaque modèle : les modèles de raisonnement/réflexion dédiés le font souvent en interne, donc un « réfléchis étape par étape » explicite peut être redondant voire contre-productif — voir la liste des ajustements.
- Ancrage / RAG. « Utilise UNIQUEMENT le contexte ci-dessous ; si la réponse ne s'y trouve pas, dis que tu ne sais pas. » La discipline consistant à fournir un contexte récupéré et à y contraindre le modèle est universelle — chaque fournisseur documente l'ancrage de type RAG comme moyen de réduire les hallucinations.
- Placer le long contexte en premier, la question en dernier. Commencez par les documents/données, terminez par l'instruction. Cet ordre aide d'un modèle à l'autre et est explicitement mentionné dans les recommandations de Gemini.
Si vous avez intégré les Bases du prompting, vous maîtrisez déjà les 80 % portables.
Ce qui doit être ajusté par modèle
C'est la couche de convention — la partie qui diffère réellement. Réajustez ces éléments lorsque vous migrez :
| Aspect | Ce qui change d'un modèle à l'autre | Ce qu'il faut faire |
|---|---|---|
| Gestion et poids du prompt système | Chaque modèle a un message système/développeur, mais la force avec laquelle il prime sur le tour utilisateur varie. Certains pondèrent un rôle développeur/système dédié au-dessus des instructions utilisateur ; d'autres brouillent la frontière. | Ne présumez pas que votre prompt système est suivi avec la même force. Re-testez que les contraintes tiennent réellement ; remontez les règles critiques si elles glissent. |
| XML vs Markdown vs délimiteurs | Claude analyse les balises XML particulièrement bien pour séparer instructions/contexte/exemples ; GPT et Gemini acceptent le XML mais s'appuient aussi sur les titres et délimiteurs Markdown. | Gardez une certaine structure explicite ; changez la saveur pour la préférence de la cible. Faire correspondre le format de votre prompt à la sortie voulue oriente aussi le style de sortie. |
| Format JSON des appels d'outils / de fonctions | La boucle (déclarer les outils → le modèle demande un appel → vous exécutez → vous renvoyez le résultat) est identique partout ; le format de transport ne l'est pas — les noms de champs, la façon dont les appels/résultats se placent dans la liste de messages et les options de mode strict diffèrent. | Ne copiez jamais du JSON d'outil brut d'un fournisseur à l'autre. Remappez vers le schéma cible. Voir Utilisation des outils. |
| Verbosité par défaut | Les modèles plus récents tendent vers la concision par défaut et s'attendent à ce que vous demandiez du détail ; les plus anciens étaient plus bavards. | Si vous avez porté un prompt et que les réponses sont devenues plus courtes/longues, réglez la verbosité explicitement plutôt que d'en accuser le prompt. |
| Posture de refus / de sécurité | Chaque modèle a son propre seuil pour refuser ou tempérer les requêtes limites, et ceux-ci sont re-réglés à chaque version. | Re-testez les cas limites après le portage. Un prompt qui n'a jamais déclenché de refus sur un modèle peut nécessiter un recadrage sur un autre. |
| Préremplir la réponse | Mettre des mots dans la bouche de l'assistant pour forcer un format est un levier classique de l'ère Claude — mais les modèles Claude plus récents (4.6+) rejettent un tour d'assistant final prérempli, et la prise en charge varie entièrement ailleurs. | Remplacez le prefill par une instruction directe (« réponds sans préambule »), un schéma de sortie ou l'appel d'outils. |
| Séquences d'arrêt et max-tokens | Tous exposent un plafond de longueur et la plupart exposent des séquences d'arrêt, mais les noms de paramètres, les valeurs par défaut et les plafonds diffèrent — et certains réglages de budget de réflexion sont en cours de dépréciation au profit de l'effort/max_tokens. | Revérifiez les noms de paramètres et les plafonds sur la cible ; ne présumez pas que vos anciennes valeurs se transposent. |
Un workflow de migration
Traitez le portage comme une boucle courte et disciplinée, pas comme une réécriture au petit bonheur.
- Lisez votre prompt existant et scindez-le mentalement : couche de raisonnement (rôle, tâche, contexte, exemples, spécification de sortie) vs couche de convention (choix XML/Markdown, prefill, JSON d'outils, paramètres). Vous garderez la première et réajusterez la seconde.
- Supprimez tout ce qui relève d'une convention, pas du sens : les balises XML qui n'étaient que de la structure, les tours de prefill, le « réfléchis étape par étape » propre au modèle si la cible raisonne en interne, et l'ancien schéma d'appel d'outils. Vous avez maintenant un cœur propre et neutre.
- Rajoutez de la structure dans la saveur préférée de la cible (titres ou délimiteurs Markdown là où il y avait du XML), définissez le prompt système et vérifiez qu'il est pondéré comme vous l'attendez, réglez la verbosité explicitement, et remappez les définitions d'outils vers le format JSON de la cible.
- Choisissez 5 à 15 entrées réelles couvrant vos cas normaux plus quelques cas limites/frontières (pour attraper les variations de refus et de verbosité). C'est votre étalon avant/après — sans lui, vous devinez.
- Exécutez l'évaluation sur la cible. Là où les sorties diffèrent, corrigez d'abord la couche de convention (format, verbosité, force du prompt système) avant de toucher à la couche de raisonnement. La plupart des écarts se referment ici.
- Gardez les deux variantes de prompt dans le contrôle de version avec une note sur ce que vous avez changé et pourquoi. Changer de modèle à nouveau — ou revenir en arrière — ne coûte alors que des minutes, pas une redécouverte.
:::tip Ne réécrivez pas à partir de zéro Si vous vous surprenez à reconstruire le rôle, la tâche ou les exemples, arrêtez-vous — c'est la couche portable. Un portage propre change l'emballage, pas le sens. :::
Un modèle de prompt portable
Rédigez votre prompt sous une forme neutre, puis spécialisez uniquement la couche de convention par cible. Ce cœur utilise une structure légère et universellement comprise (il se lit proprement en Markdown, et les balises se convertissent facilement en XML pour Claude) :
Cœur de prompt neutre — spécialisez la couche de convention par cible
# ROLE
You are {role}.
# TASK
{One clear sentence describing the single goal.}
# RULES
- Use ONLY the information in CONTEXT below. If the answer is not there, say "I don't know" — do not guess.
- Be concise. Respond directly, with no preamble like "Here is..." or "Based on...".
- {Any other hard constraints.}
# OUTPUT FORMAT
{Exact format — e.g. "A Markdown table with columns Name, Value, Source." or "JSON only matching this schema: {...}".}
# EXAMPLES
Input: {example input 1}
Output: {ideal output 1}
Input: {example input 2}
Output: {ideal output 2}
# CONTEXT
{Retrieved documents / data go here — long content first.}
# REQUEST
{The actual user question, last.}Ajustements par cible à superposer :
- Claude — déplacez les marqueurs de section dans des balises XML (
<role>,<rules>,<context>,<request>) ; il les analyse particulièrement proprement. N'utilisez pas de tour d'assistant prérempli sur les modèles actuels ; appuyez-vous sur la règle « sans préambule » ou sur un outil/schéma à la place. - GPT — placez les RULES dans le message système/développeur pour qu'elles pèsent davantage ; les titres Markdown conviennent ; utilisez le mode sortie structurée/JSON strict plutôt que de seulement décrire le schéma en prose.
- Gemini — passez ROLE + RULES + OUTPUT FORMAT via le champ system-instruction, gardez le prompt direct (les Gemini plus récents peuvent surinterpréter les prompts verbeux), et gardez le CONTEXT en premier avec le REQUEST en dernier.
- Modèles ouverts (Llama/Mistral/Qwen, etc.) — suivez exactement le chat template publié du modèle, et appuyez-vous davantage sur des exemples few-shot explicites et des contraintes de format, car le suivi d'instructions est généralement moins robuste que celui des modèles fermés de pointe.
Vérification rapide
Testez-vous
0/3- Un prompt est une couche de raisonnement (qui se transfère) plus une couche de convention (à réajuster par modèle) — portez la seconde, gardez la première.
- Rôle/tâche/instructions clairs, exemples few-shot, spécifications de format de sortie, chaîne de pensée et ancrage RAG se transfèrent entre Claude, GPT, Gemini et les modèles ouverts.
- Ajustez le poids du prompt système, la structure XML vs Markdown, le JSON des appels d'outils, la verbosité par défaut, la posture de refus, le prefill et les paramètres de longueur par cible.
- Exécutez un petit jeu d'évaluation sur des entrées réelles avant/après ; corrigez les conventions avant de toucher au raisonnement.
- Gardez un modèle neutre plus des ajustements par cible dans le contrôle de version pour que le changement soit bon marché.
- Les comportements spécifiques dérivent à chaque version — vérifiez les paramètres et limites dans la doc actuelle de chaque fournisseur, jamais de mémoire.
Sources et lectures complémentaires
- Aperçu de l'ingénierie de prompts — doc Anthropic (Claude) — techniques de prompting de Claude : clarté, exemples, structuration XML, réflexion, rôles.
- Bonnes pratiques de prompting Claude — doc Anthropic — réglage propre au modèle, balises XML, contrôle de la sortie/verbosité, et conseils de migration du prefill.
- Bonnes pratiques d'ingénierie de prompts — doc API OpenAI (GPT) — rôles de messages/chaîne de commandement, délimiteurs, few-shot, et conseils modèle-raisonnement vs GPT.
- Appel de fonctions — doc API OpenAI — le schéma d'appel d'outils et la boucle requête/réponse à mapper.
- Stratégies de conception de prompts — doc API Google Gemini — instructions système, few-shot, structuration, ordre contexte-en-premier, et paramètres de sortie/longueur.
- Guide développeur Gemini 3 — doc API Google Gemini — conseils sur les modèles plus récents : prompts directs, verbosité par défaut et placement des instructions.
Suite
- Aligner la profondeur de réflexion entre fournisseurs → Comparaison des modèles de raisonnement
- Choisir la cible de manière neutre → Choisir un modèle
- Les fondamentaux portables → Bases du prompting
- Le levier de structure de Claude → Balises XML
- Remapper le schéma d'outils → Utilisation des outils