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 probabilistiquement — 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 requête comme « écris quelque chose sur les applications web » donne au modèle trop de liberté, et vous obtiendrez une sortie générique et peu 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), affine le sujet (risques de sécurité avec JWT), précise le nombre (top 3) et exige une structure (une phrase de mitigation chacune). Lorsque vous éliminez l’ambiguïté, vous éliminez l’estimation du modèle.

Structure et Attribution du 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 schéma 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 longue unique.

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 oriente la réponse afin que vous puissiez l’analyser programmétiquement — cela compte dans les flux de travail d’agents où la sortie de l’IA alimente l’étape suivante.

diagramme de flux montrant la structure prompt Rôle-Tâche-Contexte-Contraintes-Format comme un pipeline linéaire menant à 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 du 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 le pilotage 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

Imaginons que vous créiez un agent IA qui génère des règles de validation de formulaire 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 peut renvoyer de la prose, du HTML d’exemple, ou un schéma à moitié rédigé. Le prompt de production renverra exactement un seul bloc de code analysable que vous pouvez intégrer directement dans votre pipeline de build.

Erreurs courantes

Trois erreurs apparaissent régulièrement dans les prompts débutants. Premièrement, mélanger plusieurs tâches non liées dans un seul prompt — sépare-les sinon le modèle priorisera l’une et ignorera les autres. Deuxièmement, omission du format de sortie — sans lui, le modèle choisit un format et vous pourriez ne pas pouvoir analyser le résultat. Troisièmement, supposer que le modèle se souvient parfaitement du contexte de conversations antérieures dans de longues sessions — reformulez les contraintes critiques dans chaque nouveau prompt.

Résumé

Des prompts efficaces sont clairs, spécifiques et structurés. Ils attribuent un rôle, indiquent une tâche, fournissent du contexte, appliquent des contraintes et définissent un format de sortie. Comprendre comment les LLM interprètent le langage probabilistiquement — 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 flux de travail multi‑étapes pour agents.

Point de contrôle de la leçon

1. Quel est le risque principal d’écrire un prompt vague comme « Parlez-moi des applications web » ?

2. Dans la structure Role-Task-Context-Constraints-Format, quel est le but de la section « Constraints » ?

3. Pourquoi placer une instruction clé à la fin d’un long prompt améliore-t-il la fiabilité ?

4. Điều nào sau đây là khác biệt chính giữa cách code và LLMs xử lý hướng dẫn?

5. Trong ví dụ xác thực biểu mẫu đăng nhập, tại sao việc chỉ định "Return a single JavaScript code block exporting the schema object. No explanations." lại quan trọng?

6. Điều nào KHÔNG phải là một trong ba sai lầm phổ biến cho người mới bắt đầu được đề cập trong bài học?

7. Quelle est la correction recommandée lorsque la sortie du modèle mélange prose et code et qu'il est difficile de l'analyser programmaticalement ?