CMD Master
Retour au blog
Arnošt Havelka

L’ingénierie des prompts pour les développeurs

Une ingénierie des prompts pratique pour les développeurs : délimitez le travail d’implémentation, demandez des preuves, préservez les contraintes et validez les résultats.

L’ingénierie des prompts pour les développeurs

L’ingénierie des prompts pour les développeurs consiste à fournir à un assistant de programmation IA le contexte et les contraintes nécessaires pour prendre une décision d’ingénierie sûre. Le prompt utile n’est pas le plus élaboré. C’est celui qui rend le périmètre, les critères d’acceptation et la validation non ambigus.

Traitez une demande adressée à une IA comme un bon ticket d’implémentation : elle doit expliquer le problème, protéger les comportements importants et indiquer comment l’équipe saura que la modification a fonctionné.

Le contrat de prompt pour les développeurs

La plupart des tâches de programmation peuvent utiliser ce contrat concis :

Problème : qu’est-ce qui échoue ou est difficile pour un utilisateur ou un responsable de maintenance ?
Périmètre : quelle fonctionnalité, quels fichiers ou quelle limite l’assistant doit-il inspecter ?
Résultat : quel comportement observable doit changer ?
Contraintes : qu’est-ce qui doit rester vrai ?
Critères d’acceptation : qu’est-ce qui prouve que l’implémentation est terminée ?
Validation : quels tests, vérifications ou étapes manuelles doivent être exécutés ?

Ajoutez le code, les journaux, la décision de conception ou l’échec de test pertinents après le contrat. Cela donne à l’assistant des faits sur lesquels travailler plutôt qu’une demande d’inférer l’ensemble du système.

Prompts d’implémentation : précisez le point d’intégration

Un prompt d’implémentation doit nommer le propriétaire existant du comportement :

Ajoute un état vide au composant existant des résultats de recherche.

La route de la page possède la requête, et le composant de résultats reçoit une liste typée.
Conserve cette responsabilité. L’état vide doit expliquer qu’aucun résultat ne
correspond, proposer l’action existante pour effacer la recherche et préserver le focus clavier.

Ajoute un test de composant pour le résultat vide et confirme que les résultats renseignés
restent inchangés.

Nommer le point d’intégration empêche un assistant d’ajouter un état de requête parallèle ou de déplacer la logique de route dans un composant de présentation.

Prompts de débogage : demandez d’abord des preuves

Pour un bug proche de la production, organisez le prompt autour des preuves, des hypothèses, de la vérification, du correctif et de la validation :

Preuves : les requêtes après un rafraîchissement de jeton renvoient 401 une fois, puis réussissent
lors d’une nouvelle tentative. L’interface affiche toujours la bannière de déconnexion.

Attendu : la bannière disparaît après une nouvelle tentative réussie.
Observé : les données se chargent, mais la bannière reste affichée.

Inspecte les transitions d’état de l’authentification. Liste les hypothèses concurrentes et la
plus petite observation nécessaire pour confirmer chacune. Ne modifie pas le code tant que le
chemin d’échec n’est pas reproduit. Propose ensuite un correctif avec un test de régression.

Cela oblige l’assistant à montrer la limite de son raisonnement. Vous pouvez examiner une hypothèse fondée sur des preuves avant qu’une vaste réécriture de la gestion d’état n’apparaisse dans le diff.

Prompts d’architecture : protégez les décisions, pas seulement les fichiers

Le travail d’architecture a besoin d’objectifs non visés clairs :

Évalue si les préférences de notification doivent rester dans le document du profil utilisateur
ou passer à un modèle de paramètres dédié.

Contraintes : l’application est exportée statiquement, les écritures sont pilotées côté client,
les lecteurs de préférences existants doivent rester compatibles et aucune migration ne doit
supprimer silencieusement le choix d’un utilisateur.

Compare les options selon les habitudes de lecture, l’autorisation, le risque de déploiement et
la testabilité. Recommande une approche avec ses compromis avant de proposer du code.

Demandez une analyse avant l’implémentation chaque fois que la tâche pourrait modifier la propriété des données, les contrats publics ou le comportement de déploiement.

Prompts de revue de code : demandez les risques, pas des compliments

La revue par IA est plus utile lorsqu’elle a une cible :

Examine cette modification pour détecter des régressions de comportement, des lacunes d’accessibilité,
la gestion des erreurs et les tests qui ne prouvent plus le contrat visible pour l’utilisateur.

Concentre-toi sur les fichiers modifiés et les sites d’appel qu’ils affectent. Signale les constatations
par ordre de priorité avec les preuves pour chacune. Ne suggère pas de modifications purement stylistiques,
sauf si elles cachent un défaut ou rendent le contrat peu clair.

Cela évite une revue générique qui produit une longue liste de suggestions de mise en forme à faible valeur.

Prompts de documentation : préservez la vérité opérationnelle

La documentation doit être vérifiée par rapport au code :

Mets à jour le guide de configuration pour la nouvelle commande d’environnement local.

Explique les prérequis, la sortie attendue, la récupération après échec et la manière de vérifier que le
service est prêt. Vérifie chaque commande par rapport aux scripts du package et ne documente pas de
variables d’environnement qui ne sont pas réellement utilisées.

La dernière phrase est importante : un assistant peut rédiger une documentation soignée pour une commande qui ne s’exécute jamais.

Prompts de test : transformez les critères d’acceptation en scénarios

Lorsque vous demandez des tests, donnez à chaque scénario un résultat utilisateur ou système :

Ajoute une couverture de régression pour le correctif du filtre de recherche.

Vérifie que modifier un filtre met à jour la liste des résultats, que l’effacement du filtre
restaure la liste complète et qu’une ancienne requête lente ne peut pas écraser un résultat
plus récent. Utilise les conventions de test existantes et évite les assertions propres à l’implémentation.

Les tests deviennent plus clairs lorsqu’ils décrivent le comportement qu’une implémentation doit préserver.

L’habitude qui rend les prompts plus sûrs

Avant d’envoyer un prompt de programmation, posez-vous les questions suivantes :

  • Un autre développeur comprendrait-il pourquoi cette modification est importante ?
  • Pourrait-il dire ce qui ne doit pas casser ?
  • Sait-il où regarder en premier ?
  • Pourrait-il prouver le résultat à l’aide des critères d’acceptation ?

Si la réponse est non, le prompt a besoin de contexte — pas de davantage d’adjectifs.

Commencez par comment écrire de meilleurs prompts d’IA pour le cadre de base, utilisez les demandes concrètes de comment formuler des prompts à ChatGPT pour coder et comparez des formulations adaptées à chaque tâche dans des exemples d’ingénierie des prompts pour les ingénieurs logiciels. Pour éviter les schémas d’échec qui rendent l’implémentation risquée, lisez les erreurs des assistants de programmation IA et comment les éviter. Lorsque votre travail inclut des scripts shell, des journaux ou des sorties de commande, exercez-vous au flux de travail en ligne de commande avant de l’automatiser ou de le modifier.

Références

Ces liens de documentation fournissent des informations fiables sur les commandes utilisées dans cet article.