Introduction

Un prompt n’est pas qu’une question que vous tapez dans une boîte de dialogue. C’est la source unique d’instructions qui indique à un LLM quoi faire, comment le faire et sous quel format répondre. Contrairement au code traditionnel où un compilateur suit des règles déterministes, un LLM interprète votre prompt de façon probabiliste — ce qui signifie que la qualité de la sortie dépend fortement de la clarté de votre intention.

Clarté et spécificité

Des prompts vagues produisent des résultats vagues. Une demande comme « écris quelque chose sur les applications web » donne au modèle trop de liberté, et vous obtiendrez une sortie générique et non ciblée. Un prompt spécifique contraint le modèle et réduit l’ambiguïté.

python
prompt_vague = "Tell me about web apps"
prompt_specific = "List the top 3 security risks of a Node.js REST API that uses JWT authentication, each with a one-sentence mitigation."

Le deuxième prompt fonctionne parce qu’il définit le domaine (Node.js REST API), resserre le sujet (risques de sécurité avec JWT), précise le nombre (top 3) et exige une structure (une phrase de mitigation chacune). En éliminant l’ambiguïté, vous éliminez les suppositions du modèle.

Structure et affectation de rôle

Les LLMs répondent bien aux prompts structurés qui attribuent un rôle, définissent une tâche et fixent des contraintes. Un motif courant est : Rôle — Tâche — Contexte — Contraintes — Format de sortie. Empiler ces couches dans l’ordre produit des sorties plus prévisibles qu’une phrase unique en lien continu.

javascript
const structuredPrompt = `
Role: You are a senior backend engineer reviewing code.
Task: Review the following Express.js route handler for bugs.
Context: This endpoint handles payment webhooks from Stripe.
Constraints: Focus only on error handling and idempotency. Do not suggest new dependencies.
Output Format: Return a numbered list of issues, each with a code fix.
`;

La définition du rôle prépare le modèle à une perspective spécifique. Les contraintes filtrent les conseils indésirables. Le format de sortie façonne la réponse afin que vous puissiez l’analyser programmatiquement — cela compte dans les flux de travail d’agents où la sortie d’un IA alimente l’étape suivante.

flowchart montrant la structure prompt Rôle-Tâche-Contexte-Contraintes-Format comme un pipeline linéaire alimentant un LLM

Comment les LLM interprètent les instructions différemment du code

Le code traditionnel s’exécute de haut en bas avec des règles de syntaxe strictes. Un LLM lit l’intégralité de votre prompt comme un amas de langage naturel et prédit la continuation la plus probable. Cela signifie : l’ordre des mots compte, les exemples dans votre prompt influencent fortement le style de sortie, et placer des instructions clés à la fin d’un long prompt peut les faire « se perdre » en raison d’un décalage d’attention.

python
# Bad: key instruction buried in the middle of noise
prompt_bad = "You can be creative. Try different tones. Oh and by the way, respond only in valid JSON."
# Good: key instruction placed last where attention is strongest
prompt_good = "You can be creative. Try different tones. Respond only in valid JSON."

La différence est subtile pour un humain, mais significative pour le modèle. C’est pourquoi l’ingénierie de prompts est une compétence — vous apprenez à prévoir comment le modèle va pondérer chaque partie de votre entrée.

Exemple pratique : du casual au production-ready

Imaginez que vous construisez un agent IA qui génère des règles de validation de formulaires pour une bibliothèque de formulaires React.

typescript
const casualPrompt = "Write validation for a login form.";
const productionPrompt = `
Task: Generate Yup validation schemas for a React login form.
Fields: email (required, valid format), password (required, min 8 chars, must contain 1 number).
Output: Return a single JavaScript code block exporting the schema object. No explanations.
`;

Le prompt casual pourrait renvoyer de la prose, du HTML échantillon ou un schéma à moitié rédigé. Le prompt de production renverra exactement un seul bloc de code exploitable que vous pouvez acheminer directement dans votre processus de build.

Erreurs courantes

Trois erreurs apparaissent à répétition dans les prompts des débutants. Premièrement, mélanger plusieurs tâches non liées dans un seul prompt — séparez-les ou le modèle privilégiera l’une et ignorera les autres. Deuxièmement, omission du format de sortie — sans celui-ci, le modèle choisit un format et vous ne pourrez peut-être pas parser le résultat. Troisièmement, supposer que le modèle se souvient parfaitement le contexte d’une conversation longue — réitérez les contraintes critiques dans chaque nouveau prompt.

Résumé

Des prompts efficaces sont clairs, spécifiques et structurés. Ils assignent un rôle, énoncent une tâche, fournissent le contexte, appliquent des contraintes et définissent un format de sortie. Comprendre comment les LLM interprètent le langage de manière probabiliste — plutôt que de l’exécuter de manière déterministe — est le changement mental clé par rapport à la programmation traditionnelle. Dans la prochaine leçon, nous appliquerons ces fondations pour construire des workflows d’agents en plusieurs étapes.

Entraînement

Point de contrôle de la leçon

Révisez la leçon et recevez des conseils sur votre travail.

0/7
01Quel est le risque principal d’écrire un prompt vague comme « Parlez-moi des applications web » ?
02Trong cấu trúc Role-Task-Context-Constraints-Format, mục đích của phần "Constraints" là gì?
03Tại sao đưa một chỉ dẫn chủ đạo vào cuối một prompt dài lại làm tăng độ tin cậy?
04Laquelle des propositions suivantes est une différence clé entre la façon dont le code et les LLMs traitent les instructions ?
05Dans l’exemple de validation du formulaire de connexion, pourquoi est-il important de spécifier "Return a single JavaScript code block exporting the schema object. No explanations." ?
06Laquelle des trois erreurs courantes chez les débutants n’est PAS mentionnée dans la leçon ?
07What is the recommended fix when a model's output mixes prose with code and is hard to parse programmatically?
Répondu · 0/7
Leçon 1 : Fondations de l’ingénierie des prompts