Tous les articles

Technologie · July 21, 2026 · 9 min de lecture

Le prompt engineering pour les ingénieurs logiciels : un guide concret

Le prompt engineering pour les ingénieurs logiciels, c'est de la conception système et de la revue de code : spécifier les contraintes, inclure les tests, lire le résultat, repérer l'appel déprécié.

Par Jakir Patel · Founder, Hanzomon

Partager

Fait partie de Évaluations générées par IA : le guide complet 2026

Technologie
Sur cette page

Les ingénieurs ont été les premiers professionnels à vivre quotidiennement avec un assistant IA, et il vaut la peine d'être précis sur la compétence en jeu. Le prompt engineering pour les ingénieurs logiciels, ce n'est pas taper un prompt ingénieux et espérer le meilleur. Si vous recrutez des ingénieurs, le levier est réel — tout comme le risque : un assistant rédige désormais une part significative du code en première ébauche, et la façon dont un ingénieur dirige et interroge cette ébauche influe directement sur la qualité du code livré et la charge de revue. Les ingénieurs qui tirent une vraie valeur de l'IA abordent le prompting comme n'importe quelle interface : ils définissent le contrat, les contraintes et les cas d'échec, puis vérifient ce qui leur revient. C'est l'entrée dédiée aux ingénieurs logiciels dans notre série sur le prompt engineering par rôle, et c'est l'une des choses les plus claires que l'AI Sandbox met en évidence.

Dans l'AI Sandbox, un ingénieur travaille sur une vraie tâche de code avec les outils IA disponibles, et le signal est la façon dont il dirige, lit et corrige le résultat.

Pourquoi c'est désormais une compétence fondamentale

L'instinct qui consiste à traiter la maîtrise du code IA comme un effet de mode — ou comme quelque chose sur lequel seuls les juniors s'appuient — inverse exactement le risque. Plus un assistant rédige de code, plus le goulot d'étranglement se déplace de l'écriture vers la revue, et la revue est la compétence la plus difficile. Une équipe qui livre du code généré par IA sans ingénieur capable de le lire de façon critique n'a pas gagné du temps ; elle a déplacé le coût en aval, dans les incidents de production et la file de revue. Les ingénieurs qui valent la peine d'être recrutés sont ceux qui font de l'assistant un multiplicateur de force pour le jugement, plutôt qu'un robinet de code au rendu plausible que personne n'a vraiment lu.

Cela recadre ce que vous évaluez réellement. Non pas si quelqu'un peut produire du code avec l'IA — ce que presque tout le monde sait faire désormais —, mais si le code qu'il valide est du code que vous voudriez dans votre base de code. La différence entre ces deux ingénieurs est invisible sur un CV et invisible dans un quiz de syntaxe. Elle n'est visible que dans la façon dont ils travaillent sur une vraie tâche.

Prompter, c'est de la revue de code à l'envers

La bonne pratique qui tient la route est ennuyeuse en surface : énoncer les critères de succès et les contraintes avant de demander, fournir au modèle des entrées structurées, et spécifier exactement la sortie souhaitée. Le prompt engineering n'est pas devenu « écrire des prompts plus longs » ; il est devenu « écrire des spécifications plus claires ». C'est pourquoi il oblige les ingénieurs à penser comme des ingénieurs systèmes. Mais ce qui sépare les forts des faibles se passe après l'apparition du code : le lire de façon critique et repérer le problème subtil — un appel déprécié, un retry qui avale un 4xx qu'il aurait dû remonter, un cas limite non géré. C'est l'AI fluency appliquée au code, et c'est le même discernement qu'un bon relecteur apporte à la pull request d'un collègue.

La spécification porte le travail

Quand les ingénieurs décrivent un prompt qui « a simplement fonctionné », ils veulent généralement dire qu'ils ont bien spécifié le problème. Le modèle ne lit pas les intentions ; il lit du texte. Chaque contrainte laissée implicite est une que le modèle comble par un défaut générique — et les défauts génériques, c'est ainsi qu'entrent les bibliothèques dépréciées, les timeouts manquants et les erreurs avalées. Écrire la spécification n'est pas une surcharge que vous supportez pour utiliser l'outil. C'est le même travail de clarification que vous feriez avant d'écrire le code vous-même, rendu visible et réutilisable.

Les petites ébauches relisables l'emportent sur les grandes

Il existe une loi d'échelle dans la relecture du résultat IA que les ingénieurs expérimentés apprennent vite : plus le morceau généré est grand, moins quiconque le lit attentivement. Demandez une fonctionnalité entière et vous obtenez un mur de code plausible qui est réellement difficile à auditer — alors il est parcouru en diagonale et livré. Demandez une seule fonction avec un contrat clair et ses tests, et vous obtenez quelque chose d'assez petit pour être réellement compris. L'ingénieur solide prompte donc en unités relisables, non parce que le modèle ne peut pas produire davantage à la fois, mais parce qu'il a l'intention de lire tout ce qu'il garde. Délimiter la demande est en soi un acte de contrôle qualité (quality gate), et c'est l'un des signes les plus fiables entre un ingénieur qui dirige l'outil et un ingénieur que l'outil dirige.

Un exemple concret

Demandez à un assistant un client API asynchrone avec une logique de retry. Un prompt faible : « écris une fonction pour récupérer un utilisateur avec des retries ». Un prompt fort précise le contrat, les contraintes et, surtout, les tests que le code doit passer. L'ingénieur lit ensuite le résultat, remarque que la boucle de retry générée fait un backoff sur un 404 alors qu'elle aurait dû lever une exception, le corrige et lance le test pour confirmer.

Prompt
## TASK
Write an async fetchUser(id) client method in TypeScript.

## CONSTRAINTS
- Modern async/await fetch, no deprecated request libraries
- Retry on 5xx and network errors only, never on 4xx
- Exponential backoff with jitter, max 3 attempts, 5s per-attempt timeout

## TESTS IT MUST PASS
- Returns parsed JSON on 200
- Throws immediately on 404 (no retry)
- Gives up after 3 failed attempts

## OUTPUT
Code first, then one line on any assumption you made.
  • Bon : contraint la demande, fournit les tests au modèle, lit le résultat, repère le code déprécié ou non sécurisé, vérifie avec une exécution rapide.
  • Faible : colle « écris un fetch avec des retries », accepte la première fonction plausible et la livre avec le bug 4xx intact.

L'habitude au levier le plus élevé : mettre les tests dans le prompt. Un ingénieur qui indique au modèle ce que « correct » signifie obtient du code correct bien plus souvent que celui qui décrit la fonctionnalité en espérant le meilleur. La suite de tests est à la fois la spécification et la vérification — elle fait double emploi.

Le réflexe de relecture est la compétence rare

Si le bug 4xx est un bon test, c'est qu'il est invisible pour quiconque ne sait pas déjà comment les retries devraient se comporter. Le code généré compile, passe un test de parcours nominal, et ressemble à toutes les boucles de retry que le modèle a jamais vues — parce qu'il en est la moyenne. Le repérer exige un ingénieur qui lit en ayant une question précise en tête : que se passe-t-il sur les chemins d'erreur que personne n'a démontrés ? Ce réflexe — lire pour les cas d'échec plutôt que pour le cas de succès — est la même compétence qu'ont toujours eue les relecteurs seniors. L'IA ne l'a pas créée, mais elle l'a rendue plus rare relativement à la demande, parce que le volume de code à relire a augmenté tandis que la discipline de le lire ne l'a pas suivi. Évaluer ce réflexe est désormais plus précieux qu'évaluer la vitesse de production brute, que l'outil a largement banalisée.

Les bonnes pratiques qui changent vraiment la donne

  • Structure plutôt que longueur. Séparez la demande en sections — tâche, entrées, contraintes, format de sortie — au lieu d'un long paragraphe. La qualité du raisonnement tend à se dégrader bien avant d'avoir épuisé l'espace, donc concis et clair l'emporte sur étalé.
  • Fournissez vos tests au modèle. Incluez les cas que le code doit passer, pas seulement les exigences. Il écrit pour votre barre, pas pour une barre générique.
  • Faites-lui exposer son raisonnement avant le code, afin qu'une hypothèse erronée soit visible avant que vous lisiez une implémentation construite dessus.
  • Interdisez explicitement les cas d'échec. Nommez les bibliothèques dépréciées, les patterns interdits et la sémantique qui compte — car le modèle se rabat par défaut sur la moyenne de tout ce qu'il a vu.
  • Traitez votre suite de tests comme l'évaluation. Le résultat n'est pas terminé parce qu'il a l'air correct. Il est terminé quand il passe les tests.

Le signal le plus fort n'est pas que le code compile. C'est que l'ingénieur l'a lu, trouvé ce qui était subtilement faux et corrigé avant qu'on le lui demande. Ce réflexe de relecture est la compétence qui vaut la peine d'être recrutée — et celle que l'IA a rendue plus rare, non plus commune.

Les erreurs fréquentes

  • Coller-et-livrer : faire confiance à du code à l'air assuré sans le lire, puis découvrir le bug en production.
  • Demandes vagues : pas de contraintes, pas de format de sortie — le modèle devine, et il devine de façon générique.
  • Pas d'étape de vérification : le code compile, donc il est correct — ce qui n'est pas fiable.
  • Prompter pour la fonctionnalité entière d'un coup au lieu d'une ébauche relisable, si bien que rien dans le résultat n'est assez petit pour être réellement vérifié.

Chacune de ces erreurs est un échec de relecture, pas un échec de code. L'IA n'a pas introduit une nouvelle classe de bugs ; elle a rendu les anciens plus rapides à produire et plus faciles à négliger parce que le résultat a l'air si abouti. La protection est la même qui a toujours séparé les seniors des juniors : le refus de faire confiance à du code qu'on n'a pas compris — appliqué désormais au code écrit par une machine.

Ce que cela donne à travers la pile technologique

L'exemple de la boucle de retry est délibérément petit, mais la même forme se retrouve partout où un ingénieur travaille. Côté front-end, c'est le composant généré qui se re-rend à chaque frappe parce que personne n'a contraint les dépendances de l'effet. En infrastructure, c'est le bloc Terraform qui ouvre un groupe de sécurité plus largement que prévu parce que le modèle a opté pour la valeur permissive par défaut. Dans le code de couche données, c'est la requête que l'assistant a écrite sans indication d'index — parfaite sur les données de test, et une lecture complète de table en production. Aucun de ces bugs n'est exotique ; ce sont les conséquences ordinaires d'accepter une première ébauche plausible sans la lecture spécifique au domaine qui les aurait détectés. La discipline du prompt est universelle, mais la discipline de relecture est là où la profondeur réelle d'un ingénieur se révèle — parce qu'on ne peut repérer que ce qu'on comprend.

Cela mérite réflexion quand vous concevez une évaluation. Un candidat qui dirige le modèle magnifiquement mais ne remarque jamais le groupe de sécurité élargi vous dit quelque chose de précis sur la limite de sa compétence. L'outil fait la frappe ; l'ingénieur fournit le jugement sur ce qu'il est sûr de conserver. Une évaluation des candidats qui ne mesure que si du code fonctionnel est apparu passe à côté de l'entière question de savoir si l'ingénieur aurait détecté ce qui tournait mal. Cette distinction — entre résultat produit et résultat compris — est celle qui vaut la peine de construire toute l'évaluation autour d'elle.

La même forme d'erreur se répète à chaque couche : un défaut plausible que le modèle a choisi et que l'ingénieur n'a pas remis en question. Effets front-end, règles IAM trop permissives, requêtes sans index. Le prompt est générique à travers la pile ; la détection est entièrement spécifique à ce que l'ingénieur comprend vraiment.

AI Fluency est un pilier, pas un complément

Dans notre modèle des cinq piliers, AI Fluency se situe aux côtés des capacités cognitives, de domaine, de jugement situationnel et comportementales — sans en remplacer aucune. Pour un ingénieur, cet ordre compte : repérer qu'une boucle de retry gère mal un 404 exige de maîtriser d'abord la sémantique HTTP et la gestion des erreurs. AI Fluency est un discernement superposé au jugement d'ingénierie, c'est pourquoi nous la traitons comme AI fluency évaluée en tant que pilier distinct, notée en plus des compétences fondamentales, jamais comme un substitut à celles-ci. Cela actualise aussi l'ancien débat entre exercices à emporter et coding en direct : la question n'est plus de savoir si le candidat peut écrire le code seul, mais comment il travaille avec les outils qu'il utilisera réellement au quotidien.

Comment nous l'évaluons

Vous ne pouvez mesurer rien de tout cela avec un quiz sur la syntaxe des prompts, et vous n'apprenez rien en interdisant l'IA lors de l'entretien. Vous placez le candidat dans une tâche d'ingénierie réaliste avec les outils qu'il utiliserait vraiment et observez comment il dirige, lit et corrige — c'est exactement ce que fait une évaluation AI Sandbox. Découvrez ce que couvre une solide évaluation d'ingénieur logiciel, en quoi le rôle voisin diffère pour les analystes de données, et pourquoi c'est la façon honnête de tester le poste dans le recrutement AI-native.

Les ingénieurs les plus solides ne promptent pas pour du code. Ils promptent pour une ébauche, puis l'abordent avec le même scepticisme qu'ils apporteraient à n'importe quelle pull request — et c'est ce scepticisme qui mérite d'être recruté.
Prompt engineeringSoftware engineeringAI fluencyAI Sandbox
J

Écrit par

Jakir Patel · Founder, Hanzomon

Building H-Evaluate — AI-native, quality-gated hiring assessments. Writes about assessment engineering, hiring integrity and compliance-first AI.

Passer à la pratique

Les évaluations, guides par poste et calculateurs qui transforment ce que vous venez de lire en décision de recrutement.

Questions fréquentes

Le prompt engineering est-il vraiment indispensable pour les ingénieurs logiciels ?

Oui. Dans la plupart des équipes, un assistant rédige désormais une part réelle du code en première ébauche. La façon dont un ingénieur dirige cet outil — et la fiabilité avec laquelle il détecte ses erreurs — influe directement sur la qualité du code livré et la charge de revue. C'est devenu une compétence centrale, non un à-côté, ce qui justifie de l'évaluer au même titre que les structures de données et la conception système, et non dans une case à part réservée aux nouveautés.

Bien prompter, c'est simplement connaître les bonnes formules ?

C'est le mythe. Les ingénieurs qui tirent le meilleur parti de l'IA abordent le prompting comme de la conception système : ils énoncent les critères de succès et les contraintes en amont, incluent les tests que le code doit passer, puis lisent le résultat de façon critique. La formulation importe peu ; la spécification et la vérification font tout. Un ingénieur qui sait ce que « correct » signifie obtient du code correct bien plus souvent que celui qui cherche des mots magiques.

Comment rédiger un bon prompt de code pour un assistant IA ?

Structurez-le comme une spécification, pas comme une phrase. Séparez la tâche, les contraintes, les tests que le code doit passer et le format de sortie souhaité. Nommez explicitement les cas d'échec, interdisez les approches dépréciées et demandez au modèle d'énoncer ses hypothèses avant d'écrire le code. Traitez ensuite votre suite de tests comme la définition du « terminé ». La clarté de la spécification — et non la longueur du prompt — est ce qui produit un résultat fiable.

Comment évaluer le prompt engineering lors d'un recrutement d'ingénieur logiciel ?

Vous confiez au candidat une tâche d'ingénierie réaliste avec les outils IA disponibles et observez sa façon de travailler — c'est exactement ce qu'est l'AI Sandbox. Vous regardez s'il contraint bien la demande, s'il repère un appel déprécié ou une erreur avalée, et si le code final passe la barre. Un quiz sur la syntaxe des prompts ne vous apprend rien de tout cela ; le comportement observable en situation réelle vous dit tout.

La maîtrise de l'IA remplace-t-elle les compétences fondamentales en ingénierie ?

Non. Elle s'y superpose. Pour remarquer qu'une boucle de retry générée fait un backoff sur un 404 alors qu'elle devrait lever une exception, il faut d'abord maîtriser la sémantique HTTP et la gestion des erreurs. AI Fluency, c'est la capacité à piloter un outil avec une spécification précise et à relire son résultat comme une pull request — et cela ne paie que lorsque le jugement d'ingénierie sous-jacent est déjà solide.

Articles liés

Voyez-le sur votre propre fiche de poste

Rejoignez la liste d'accès anticipé et regardez H-Evaluate créer une évaluation pour un poste réel.

Voyez-le sur votre propre fiche de poste