Nguyen Le Phong

L'Ingénierie de Contexte : La Compétence Qui Sépare les Experts IA du Reste

La plupart des résultats IA sont décevants non pas parce que les modèles sont mauvais, mais parce que le contexte est trop mince. Un guide pratique de l'ingénierie de contexte — ce qui vit dans la fenêtre du modèle, les cinq piliers d'un excellent contexte, les anti-patterns courants, et des templates réutilisables qui produisent des résultats nettement meilleurs.

Vous connaissez ce sentiment. Vous tapez une question qui semble parfaitement claire dans un assistant IA, et ce qui revient est... approximatif. Techniquement pertinent, mais passant à côté de l'essentiel. Alors vous reformulez, réessayez, obtenez une autre réponse approximative. Après cinq échanges vous avez enfin quelque chose d'utile — mais ça vous a pris plus de temps que de le faire vous-même.

Voici ce qui se passe réellement : le modèle ne peut travailler qu'avec ce que vous avez mis devant lui. Il ne sait pas à quoi ressemble votre base de code, ne connaît pas vos contraintes, ne voit pas ce que vous avez déjà essayé. Quand les réponses ratent leur cible, la cause profonde est presque toujours un manque d'informations — pas le choix des mots, pas des astuces de prompt. C'est le cœur de ce que la communauté IA appelle l'ingénierie de contexte.

Définition

L'ingénierie de contexte est la discipline de concevoir délibérément les informations que vous donnez à une IA — son rôle, l'état de fond, la tâche, les contraintes et le format de sortie — pour qu'elle produise des résultats vraiment utiles sans allers-retours.

Ce qu'est réellement l'ingénierie de contexte

Andrej Karpathy a popularisé ce terme en 2025, et la distinction avec le "prompt engineering" est importante. Le prompt engineering concerne le choix des mots. L'ingénierie de contexte va un niveau plus profond : il s'agit des informations que vous rendez disponibles avant que le modèle ne génère quoi que ce soit.

Pensez-y comme la mise en place — la pratique du chef de préparer chaque ingrédient avant de commencer à cuisiner. Un grand chef n'improvise pas autour d'ingrédients manquants. L'ingénierie de contexte, c'est faire ce travail de préparation pour votre collaborateur IA.

Anatomie d'une fenêtre de contexte

Chaque interaction avec une IA se déroule dans une fenêtre de contexte — la mémoire de travail contenant tout ce que le modèle peut "voir". Il y a quatre couches distinctes.

Four layers inside an AI context window: System Prompt, Injected Context, Conversation History, and User Message feed into the LLM to produce a response. CONTEXT WINDOW — everything the model sees before writing a single word ROLE System Prompt Persona, role, standing instructions — the model's "constitution" for this session DOCS Injected Context Files, search results, tool outputs, docs — raw material the model reasons over MEM Conversation History Prior messages, decisions — working memory of everything that has happened so far TASK User Message The actual question or task — often under 5% of total tokens, but triggers everything LLM attention + generation Response quality = f(context quality) All four layers share the same token budget. Context engineering is choosing wisely.
Les quatre couches d'une fenêtre de contexte. La plupart des gens se concentrent uniquement sur la couche 4 (le message utilisateur). L'ingénierie de contexte consiste à gérer consciemment les quatre — surtout les deux premières, les plus puissantes et les plus négligées.

Le System Prompt est la couche la plus puissante et la plus souvent négligée. Il définit le persona du modèle, son niveau d'expertise et les règles qui régissent toutes les réponses.

Le Contexte Injecté fournit la matière première : fichiers de code, documentation, logs d'erreurs. C'est ce sur quoi le modèle raisonne.

L'Historique de Conversation s'accumule au fil de la session. Utile mais coûteux en tokens.

Le Message Utilisateur est la question réelle. Malgré toute l'attention qu'on lui porte, il représente souvent moins de 5% des tokens totaux dans un setup bien conçu.

Les cinq piliers d'un excellent contexte

The five pillars of great context: Role, State, Task, Constraints, Format. 1 Role Who should the model behave as? 2 State What's known, decided, or already tried? 3 Task What exactly do you want done? MOST CRITICAL 4 Constraints What to avoid, scope limits, hard rules 5 Format Output shape, length, level of detail
Les cinq piliers. Le pilier 3 (Tâche) reçoit le plus d'attention — mais les piliers 1, 2, 4 et 5 sont ce qui rend la tâche répondable correctement.

Pilier 1 : Rôle (Role)

Définissez qui le modèle doit être — son expertise, sa perspective, son style de communication.

Sans rôleAvec rôle
Expliquez l'authentification.Vous êtes un ingénieur backend senior spécialisé en sécurité, écrivant pour un développeur junior qui connaît JavaScript mais n'a jamais implémenté d'auth. Expliquez JWT en vous concentrant sur les compromis de sécurité.

Pilier 2 : État (State)

Dites au modèle ce qui existe déjà — structure de la base de code, ce qui a été essayé, ce qui n'a pas fonctionné.

Sans étatAvec état
Corrigez ce bug.
(avec code collé, sans autre contexte)
[code] Cette fonction debounce marche bien pour les inputs normaux mais se déclenche immédiatement sur un scroll rapide. J'ai essayé clearTimeout, ça déclenche quand même. Stack : React 18, TypeScript. Erreur console : [message].

Pilier 3 : Tâche (Task)

Spécifiez exactement ce que vous voulez, pas une catégorie de ce que vous voulez. "Aidez-moi avec mon API" est une catégorie. "Écrivez un middleware Express qui valide les tokens JWT, renvoie 401 si absent ou invalide, et attache l'utilisateur décodé à req.user" est une tâche.

Pilier 4 : Contraintes (Constraints)

Dites au modèle ce qu'il ne peut pas faire, quelles sont les limites de portée. Les contraintes semblent restrictives mais libèrent en réalité la réponse.

Formulation des contraintes

Écrivez les contraintes sous forme de "ne pas" ou "éviter" explicites. Le modèle est entraîné à être utile et élargit naturellement la portée. Les négations explicites sont vos garde-fous les plus fiables.

Pilier 5 : Format

Précisez la forme de la sortie : longueur, structure, niveau de détail. Sans guidage de format, vous obtenez ce que le modèle juge approprié.

Construire des templates de contexte réutilisables

## Rôle
Vous êtes [RÔLE], spécialisé en [DOMAINE].
Votre audience est [AUDIENCE] qui [CONTEXTE CLÉ].

## État de fond
Stack technique : [LANGAGES / FRAMEWORKS]
Situation actuelle : [DESCRIPTION COURTE]
Ce que j'ai essayé : [TENTATIVES ET RÉSULTATS]
Erreur pertinente : [SI APPLICABLE]

## Tâche
[UNE PHRASE PRÉCISE : verbe + objet + portée]

## Contraintes
- Ne PAS utiliser [BIBLIOTHÈQUE / APPROCHE]
- Garder [ASPECT] sous [LIMITE]

## Format de sortie
[LONGUEUR] — [STRUCTURE] — [NIVEAU DE DÉTAIL]

Points clés

  • Ingénierie de contexte > prompt engineering : les informations que vous fournissez comptent plus que les mots que vous choisissez. Meilleure entrée = meilleure sortie.
  • Quatre couches, un budget : system prompt, contexte injecté, historique, message utilisateur — chacune a un rôle différent et partage le même budget de tokens.
  • Cinq piliers, cinq lacunes : Rôle, État, Tâche, Contraintes, Format. Couvrez les cinq et les allers-retours diminuent dramatiquement.
  • La qualité bat la quantité : un contexte pertinent, ciblé et structuré surpasse toujours un grand dump non focalisé.

L'ingénierie de contexte est une habitude de pensée : avant d'envoyer un prompt, demandez-vous ce que vous devriez expliquer à un brillant nouveau collègue pour que cette tâche soit autosuffisante. Ajoutez cela. Supprimez ce qui n'est pas pertinent. Vous passerez moins de temps à itérer et plus de temps à utiliser le résultat.

Qu'en avez-vous pensé ?

Questions fréquentes

What is context engineering and why does it matter for developers?
Context engineering is the skill of deliberately designing the information you provide to an AI — its role, background state, task, constraints, and output format — so it produces useful results without back-and-forth. It matters because the quality of AI output is almost entirely determined by the quality of input: vague, thin context produces generic, off-target answers, while rich, structured context produces specific, actionable ones. Most developers underestimate this and focus on rephrasing prompts instead.
What is the difference between context engineering and prompt engineering?
Prompt engineering is about word choice — how to phrase a request so the model interprets it correctly. Context engineering is a level deeper: it's about what information you make available before the model generates anything. You can have a perfectly phrased prompt and still get a poor answer because the model lacks background, state, or constraints. Context engineering addresses the information architecture; prompt engineering addresses the wording within it.
What are the five pillars of great context?
The five pillars are: (1) Role — who the model should be (persona, expertise, audience perspective); (2) State — what already exists, what's been tried, what constraints apply; (3) Task — exactly what you want done, not a vague category; (4) Constraints — what to avoid, scope limits, hard rules; (5) Format — the shape of the output (length, structure, level of detail). Addressing all five reduces back-and-forth dramatically and improves first-draft quality.
How do I build a reusable context template?
Structure your template around the five pillars: Role (who the model is and for whom), Background State (tech stack, what exists, what's been tried), Task (one precise sentence), Constraints (explicit negatives: what not to do), and Output Format (length, structure, detail level). You don't need to fill in every field every time — for a simple lookup, role + task + format is enough. For complex debugging or code review, all five matter. The template is a scaffold, not a form.
What does 'token budget' mean in context engineering?
Every interaction with an AI happens inside a context window with a fixed size measured in tokens. Everything you include — the system prompt, pasted code, conversation history, your question — competes for space in that window. Token budget management means being selective about what you include: paste specific functions rather than whole files, strip boilerplate from pasted code, summarize conversation history after long sessions, and put standing instructions in the system prompt rather than repeating them per-message. Irrelevant content isn't neutral — it's noise the model has to reason through.