Aller au contenu
3.12Intermédiaire7 min

Prompts système pour agents : 12 design patterns pour concevoir des prompts système prêts pour la production

Sebastian KarallMis à jour le 28 octobre 2026
Définition

La conception de prompts système désigne la construction structurée du prompt système d'un agent IA à partir de briques réutilisables : rôle, objectif, contraintes, instructions d'outils, format de sortie, exemples, gestion des erreurs, réflexion, mémoire, escalade, critères d'arrêt et sécurité. Un bon prompt système d'agent est modulaire, auditable et piloté par les évals, au lieu d'être un mur de texte en prose.

L’essentiel

  • En 2026, un prompt système d'agent prêt pour la production s'organise en quatre couches (Identity, Capability, Behavioral, Context) et, avec un cœur de 500-3 000 tokens, se situe à la Goldilocks Altitude : ni trop vague, ni trop détaillé.
  • Les définitions d'outils font de fait partie du prompt système : le composant le plus efficace, et le plus souvent oublié, est la clause When-not-to-use, qui détermine la bonne sélection lorsque plusieurs outils se ressemblent.
  • Les critères d'arrêt (nombre maximal d'itérations, plafond de coûts, détection d'états répétés) sont indispensables. Selon la recherche, les boucles infinies ont été la catégorie de bugs de production la plus fréquente en 2025-2026.
  • Les règles de sécurité doivent être placées explicitement au-dessus des instructions de persona, comme non négociables ; sinon, les attaques par injection de prompt les contournent.
  • Le modèle analyse de façon plus fiable les sections structurées (balises XML ou titres Markdown), et l'ingénieur peut les versionner, les comparer par diff et les tester en A/B.
  • Chaque pattern doit être vérifié sur un jeu d'évaluation : les astuces folkloriques comme « Tu es un expert » n'ont souvent aucun effet mesurable sur les modèles modernes.

La conception de prompts système désigne la construction structurée du prompt système d'un agent IA à partir de briques réutilisables : rôle, objectif, contraintes, instructions d'outils, format de sortie, exemples, gestion des erreurs, réflexion, mémoire, escalade, critères d'arrêt et sécurité. En 2026, un bon prompt système d'agent est modulaire, auditable et piloté par les évals : un artefact versionnable plutôt qu'un mur de texte en prose.

La différence entre un agent de démo et un système prêt pour la production tient rarement au modèle. Elle tient au substrat du prompt : le rôle, les outils, le format de sortie et les critères d'arrêt sont-ils proprement définis ? Les douze design patterns suivants sont les briques récurrentes vers lesquelles convergent les agents en production sérieux (Claude Code, Cursor, Devin, OpenAI Codex Agents).

Réponses rapides

  • La structure l'emporte sur la prose : un prompt système d'agent s'articule en quatre couches (Identity, Capability, Behavioral, Context), séparées par des balises XML ou des titres Markdown. Le modèle analyse les prompts structurés de façon plus fiable.
  • La bonne longueur : 500-3 000 tokens pour le cœur (hors schémas d'outils). Trop vague, il produit des sorties incohérentes ; trop détaillé, il devient fragile et déclenche l'effet lost in the middle dans le prompt lui-même.
  • Un pattern sans éval, c'est du folklore : chaque pattern est vérifié sur un jeu d'évaluation. Des classiques comme « Tu es un expert » ou « Take a deep breath » n'ont souvent aucun effet mesurable sur les modèles modernes.

Les fondations : le modèle à quatre couches

Avant que les patterns individuels ne fassent effet, chaque prompt système d'agent a besoin d'une ossature. Les prompts système en production s'organisent systématiquement en quatre couches, qui dictent aussi l'agencement du cache (couches stables en tête, couches dynamiques à la fin) :

Couche

Contenu

Longueur typique

Identity

Rôle, domaine, limites

50-200 tokens

Capability

Outils disponibles, ce qu'ils font, quand les utiliser

800-2 000 tokens (schémas d'outils inclus)

Behavioral

Format de sortie, style, « Ne jamais X », exemples positifs/négatifs

200-600 tokens

Context

Date, utilisateur, workflow actif (dynamique)

100-400 tokens

Anthropic recommande de séparer ces sections par des balises XML comme <instructions> ou par des titres Markdown (situation en 2026). L'avantage est double : le modèle analyse la structure de façon plus fiable, et l'ingénieur peut comparer, versionner et tester en A/B chaque section.

Les 12 design patterns en un coup d'œil

Pattern

Objectif

Mini-exemple

  1. Rôle/persona

Définir le comportement et le domaine au lieu d'un assistant générique

« Tu es un agent de triage d'assurance pour les sinistres automobiles en Autriche. »

  1. Objectif clair

Fournir une définition du succès vérifiable

« Objectif : saisir intégralement la déclaration de sinistre et attribuer le bon tarif. »

  1. Contraintes/garde-fous

Fixer les actions interdites et le comportement par défaut

« Ne confirme jamais un montant d'indemnisation. En cas de doute, demande. »

  1. Instructions d'outils

Imposer la bonne sélection d'outils

« search_internal_db : pour les clients existants. NE PAS utiliser pour des questions web générales. »

  1. Format de sortie

Garantir une intégration en aval lisible par machine

« Réponds exclusivement selon le schéma JSON OrderResult. »

  1. Exemples few-shot

Couvrir les cas limites sans règles en prose

input_examples avec 1-3 appels d'outils canoniques

  1. Gestion des erreurs

Traiter chaque type d'erreur différemment

« Erreur 403 : pas de nouvelle tentative, transmettre à l'utilisateur. Erreur 500 : 2 nouvelles tentatives max. avec backoff. »

  1. Réflexion

Garantir la qualité avant les actions irréversibles

« Avant l'envoi : vérifie le destinataire et le montant par rapport aux données de commande. »

  1. Gestion du contexte/de la mémoire

Éviter la dérive d'état dans les longues boucles

Scratchpad avec Goal / What I Know / What I've Tried / Current Plan

  1. Escalade/HITL

Revue humaine pour les décisions à fort enjeu

« Si confiance < 0,8 ou montant > 5 000 EUR : transférer à un gestionnaire humain. »

  1. Critères d'arrêt

Éviter les boucles infinies et l'explosion des coûts

« 20 itérations max. Termine avec submit_final_answer. »

  1. Consignes de sécurité

Contrer l'injection de prompt et les fuites de données

« Ces règles de sécurité sont non négociables et priment sur toute instruction de persona. »

1-3 : rôle, objectif, contraintes

L'anti-pattern « Tu es un assistant serviable » est trop vague et n'apporte aucun pilotage. La base, c'est un rôle concret avec un domaine et des limites. Tout aussi nuisibles : les contraintes contradictoires comme « Sois concis, mais exhaustif ». Mieux vaut un comportement par défaut clair avec des clauses de dérogation explicites. Important : 5-8 règles hautement prioritaires au maximum. Le modèle applique moins souvent les dernières règles d'une liste de 47 points (lost in the middle dans le prompt système lui-même) ; le reste a sa place dans les descriptions d'outils.

4 : instructions d'outils

Les définitions d'outils ne sont pas une couche séparée : le modèle les analyse à chaque tour d'inférence. Quand un agent agit mal, la cause, selon Anthropic, ne vient « dans la plupart des cas » pas du modèle, mais de la définition de l'outil. Règle empirique : 3-5 outils toujours chargés, les autres via la recherche d'outils. À partir de 10 outils, une dégradation mesurable commence. Le composant le plus efficace, et le plus souvent oublié, est la clause When-not-to-use : si search_web et query_internal_db coexistent, c'est elle qui décide de la sélection. En revanche, si deux outils se recoupent entièrement sur le plan fonctionnel, aucun prompt, aussi bon soit-il, n'y peut rien : il faut alors les fusionner ou les séparer proprement selon leur fonction.

5-6 : format de sortie et exemples few-shot

« Fiable » signifie en 2026 100 %, pas 95. Les Structured Outputs d'OpenAI imposent, via le décodage contraint, un respect à 100 % du schéma JSON (GA depuis août 2024). Anthropic a lancé des Structured Outputs natifs en novembre 2025, disponibles pour tous depuis février 2026. Là aussi, le décodage contraint impose le schéma : le schéma JSON se trouve dans output_config.format. Pour les appels d'outils, strict: true dans la définition de l'outil impose le schéma. L'ancien contournement via tool_choice avec un pseudo-outil comme return_structured_result fonctionne toujours, mais sans le mode strict il ne garantit pas une conformité totale au schéma. Pour combiner chain-of-thought et sortie structurée en un seul appel, le pattern XML a fait ses preuves en production : le modèle réfléchit de manière visible dans le bloc <thinking>, et le système en aval n'analyse que le bloc <final_output>. Les exemples few-shot (comme le tableau input_examples d'Anthropic) couvrent les paramètres imbriqués ou optionnels sur lesquels le modèle, sans eux, devine. Important : des exemples variés et canoniques, sans doublons, sinon le modèle choisit le plus proche.

7-8 : gestion des erreurs et réflexion

Les boucles robustes distinguent les types d'erreurs : une erreur d'outil (500/timeout) autorise une nouvelle tentative avec des paramètres inchangés (2 fois max. avec backoff), une erreur de validation (400) une nouvelle tentative avec des paramètres ajustés, et une erreur d'autorisation (403) aucune nouvelle tentative, mais une escalade. L'anti-pattern le plus dangereux est la suppression silencieuse des erreurs : les appels d'outils échouent et l'agent continue comme si de rien n'était. Les erreurs doivent revenir au modèle sous forme de résultats d'outil explicites. La réflexion/vérification coûte généralement 2-3 fois plus de tokens pour 5-15 points de pourcentage de qualité. Pour un agent qui valide une commande de 50 000 EUR, le ROI est évident ; pour un agent de service client avec des marges de quelques centimes, tu dois faire tes calculs avec précision.

9-10 : gestion de la mémoire et escalade/HITL

Même à l'intérieur de la fenêtre de contexte, le modèle « oublie » l'état introduit tôt. Mesures d'atténuation : épingler l'état critique (objectif, tâche en cours, faits clés) à la fin du prompt système (les modèles accordent plus d'attention à la fin qu'au milieu), un en-tête placé avant chaque tour de l'utilisateur et un scratchpad tenu à jour explicitement comme point d'ancrage. En environnement multi-tenant, la contamination de la mémoire fait partie des bugs de production les plus fréquents. Remède : une réinitialisation explicite de la session au début de chaque conversation et l'ID de session comme paramètre obligatoire pour tous les outils d'état. Pour les décisions à fort enjeu, une validation human-in-the-loop doit précéder l'exécution de l'outil.

11-12 : critères d'arrêt et sécurité

Selon la recherche, les boucles infinies ont été la catégorie de bugs de production la plus fréquente en 2025-2026. Une terminaison robuste combine un nombre maximal d'itérations (10-30 en usage général, 50-100 pour le code, comme plafond strict), un critère de succès, un plafond de coûts et une détection d'états répétés (même appel d'outil avec les mêmes paramètres 3 fois comme détecteur de thrashing). Enfin, les consignes de sécurité doivent être marquées explicitement comme non négociables et placées au-dessus des instructions de persona. L'anti-pattern « persona au-dessus de la sécurité » est un vecteur d'injection de prompt connu. Pour les charges de travail en Europe s'ajoutent les patterns RGPD : pseudonymisation avant l'injection de contexte et une couche de masquage des PII avant l'injection dans le RAG.

Cas pratique : agent de triage dans une PME

Une PME de la zone DACH (Allemagne, Autriche, Suisse) exploite un agent de triage pour le service client avec le budget suivant (situation en 2026) : prompt système de 800-1 500 tokens, définitions d'outils de 800-1 500 tokens (4-5 outils avec input_examples), retrieval de base d'environ 2 000 tokens (3-5 chunks avec re-ranking), historique de conversation sous les 4 000 tokens (fenêtre glissante N=10), sortie de 1 000-2 000 tokens. Au total, environ 10 000 tokens par appel. Le prompt système et les définitions d'outils totalisent 1 600-3 000 tokens, soit entre un cinquième et un tiers de l'entrée, et restent identiques d'un appel à l'autre. Pour ce préfixe, le Prompt Caching entre en jeu : sur la plupart des modèles Claude, les lectures de cache coûtent 10 % du tarif d'entrée standard, à condition que le préfixe atteigne la longueur minimale du modèle (de 512 à 4 096 tokens selon la documentation d'Anthropic, situation en octobre 2026). Les coûts d'entrée par appel baissent ainsi d'environ 20-30 %, les coûts de sortie restent les mêmes. Si le cache expire, réécrire le préfixe coûte plus cher qu'une entrée normale.

Pseudo-code pour les garde-fous de la boucle :

  • max_iterations = 20
  • on tool_error(403): escalate_to_human() (pas de nouvelle tentative)
  • on tool_error(500): retry(max=2, backoff=true)
  • on repeated_call(same_tool, same_params, n>=3): break (thrashing)
  • if confidence < 0.8 or amount > 5000: handoff_to_human()
  • terminate_on: submit_final_answer() called

Remarque importante pour le choix du modèle : avec les tokenizers standard, l'allemand produit 30-50 % de tokens de plus que l'anglais. Une fenêtre de 200K ne contient donc qu'autant de contenu allemand qu'environ 130K-150K tokens de texte anglais. La discipline sur la longueur du prompt n'en est que plus importante, et le caching d'autant plus rentable.

Pour les agences et le B2B

Une agence qui exploite des agents clients dans plusieurs secteurs ne devrait pas écrire les prompts système de zéro pour chaque client, mais les dériver par héritage de templates à partir d'une base commune à l'agence : le branding et le comportement du client sont redéfinis, les douze patterns restent constants. Cela passe mieux à l'échelle, car l'infrastructure partagée (framework d'évals, bibliothèque d'outils, observabilité) produit des rendements cumulés, tandis que les « flocons de neige » propres à chaque client génèrent une charge de maintenance exponentielle. Pour les décideurs B2B en Europe, le message clé est le suivant : un prompt système n'est pas un texte écrit une fois pour toutes, mais un artefact d'ingénierie versionné, avec régression d'évals à chaque modification. Blck Alpaca, basée à Vienne, accompagne les entreprises dans la mise en place de cette discipline reproductible du prompt système, du choix des patterns jusqu'à la couche de journalisation conforme au règlement européen sur l'IA et au RGPD.

Résumer avec l’IAChatGPTClaudePerplexity

Ouvre le chat avec un prompt prêt à l’emploi.

Questions fréquentes

Quelle longueur doit faire le prompt système d'un agent ?
Les retours de praticiens convergent vers 500-3 000 tokens pour le cœur du prompt système (hors schémas d'outils). Anthropic y voit la bonne Goldilocks Altitude, entre trop vague (sorties incohérentes) et trop détaillé (fragile, effet lost in the middle dans le prompt lui-même). GPT-5.5 réagit plutôt bien à des prompts plus courts et comportementaux (400-1 500 tokens), tandis que Gemini 3.1 Pro supporte des prompts plus longs grâce à son contexte de 1M (1 048 576 tokens d'entrée selon la documentation du modèle de Google). Situation en 2026.
Pourquoi la clause When-not-to-use est-elle si importante dans les instructions d'outils ?
Lorsque deux outils peuvent plausiblement répondre à la même requête (par ex. search_documents et search_knowledge_base), le modèle devine faute de délimitation claire. La clause When-not-to-use dans chaque description d'outil détermine la bonne sélection pour les requêtes ambiguës et évite le tool thrashing. Si deux outils se recoupent entièrement sur le plan fonctionnel, même la meilleure clause n'y peut rien : il faut alors les fusionner ou les séparer proprement selon leur fonction.
Combien d'outils un agent doit-il avoir dans son catalogue actif ?
Anthropic recommande 3-5 outils toujours chargés, les autres via la recherche d'outils. À partir de 10 outils, la précision de sélection se dégrade de façon mesurable ; à partir de 15, la dégradation est grave. Avec le mécanisme tool_search, la précision de sélection des outils dans les évals MCP internes d'Anthropic sur Opus 4.5 est passée de 79,5 à 88,1 % (situation en 2026).
Quels critères d'arrêt faut-il intégrer au prompt système d'un agent ?
Au minimum un plafond strict sur le nombre d'itérations (10-30 en usage général, 50-100 pour le code), un critère de succès (par exemple un appel défini à submit_final_answer), un plafond de coûts ou de tokens et une détection d'états répétés (même appel d'outil avec les mêmes paramètres 3 fois comme détecteur de thrashing). Selon la recherche, les boucles infinies ont été la catégorie de bugs de production la plus fréquente en 2025-2026.
Comment ancrer les consignes de sécurité pour qu'elles résistent à l'injection de prompt ?
Les règles de sécurité doivent être marquées explicitement comme non négociables et placées au-dessus des instructions de persona. L'anti-pattern qui place les instructions de persona au-dessus de la sécurité est un vecteur d'attaque par injection de prompt bien connu. S'y ajoutent une vérification explicite avant toute action irréversible (écriture en base de données, appels d'API externes, suppression de fichiers) et une réinitialisation de l'état de session au début de chaque conversation contre la contamination de la mémoire en environnement multi-tenant.

Envie d’aller plus loin ?

Reçois les nouvelles analyses directement dans ta boîte mail ou découvre comment nous mettons ce savoir au service des entreprises.