Introduction
Avant de plonger dans l’ingénierie des prompts, clarifions d’abord : Qu’est-ce qu’un prompt ?
Une invite est l'entrée ou l'instruction que nous fournissons à un outil d'IA ou à un chatbot. La qualité de la réponse dépend largement de la qualité de la conception de l'invite.
L’ingénierie des prompts est l’art de créer des entrées précises et structurées qui guident les outils d’IA – comme ChatGPT, Gemini ou Perplexity – afin de générer des réponses exactes, pertinentes et adaptées au contexte. En élaborant soigneusement ces prompts, nous aidons les grands modèles de langage (LLM) à interpréter le contexte, suivre les instructions et respecter les nuances linguistiques. Le résultat ? Des réponses riches, exploitables et très pertinentes, plutôt que des productions génériques.
Concepts fondamentaux et terminologie
- Grand Modèle de Langage :Un modèle de langage d’apprentissage automatique entraîné sur de vastes ensembles de données textuelles pour générer un texte imitant celui des humains
- Transformateur Génératif Pré-entraîné :C’est un type de modèle de langage IA entraîné à comprendre et à générer le langage humain.
- IA générative :Systèmes d’IA capables de créer de nouveaux contenus basés sur leurs modèles d’apprentissage profond
- Jeton :Un token est une unité basique de texte que le modèle traite, c’est-à-dire un mot.
- AGI :Une IA qui possède des capacités cognitives humaines plus larges
- Alignement de l’IA :Garantit que les actions et résultats de l’IA sont conformes à l’intention, à l’éthique et aux valeurs humaines
- RLHF :Une technique qui affine le comportement de l’IA en utilisant des contributions humaines
Principes fondamentaux de l’ingénierie des prompts d’IA : comment fonctionnent les prompts
Répartition de l’interaction de l’invite
Le texte d’instructions ou les requêtes que l’utilisateur fournit à l’outil IA, par exemple, « Expliquez les échanges Zero Trust en termes simples. »
Sortie : Une réponse générée par l’IA basée sur la requête
Contrôles des paramètres : ce sont des réglages qui influencent les styles de sortie et l’aléa de la réponse :
- Température : Plus élevée = Plus créatif ; Plus basse = Plus concentré.
- Tokens max : Il est utilisé pour limiter la longueur de la réponse.
- Séquences d'arrêt : elles définissent où l'IA doit cesser la génération.
Affinage itératif des invites d’IA
Des itérations sont fréquemment nécessaires pour que les invites atteignent les standards de qualité.
| Étape | Vous êtes un traducteur senior en localisation marketing B2B pour TO THE NEW (tothenew.net), une entreprise mondiale de technologie numérique et de services informatiques. Traduisez le texte contextuel de Global - EN vers le français (fr). Niveau de qualité : prêt à la publication, avec au moins 90/100 en précision du sens, cohérence terminologique et fluidité. Priorisez le sens correct et la cohérence des termes plutôt que la traduction littérale. Règles de sortie : 1. Ne retournez QUE le texte traduit. Pas de salutations, d’explications, de markdown ou de blocs de code. 2. Conservez exactement les balises HTML, attributs, classes, ID, data-* attributes, href, src, srcset et la structure du document. 3. Vous POUVEZ traduire les valeurs lisibles par l’humain dans les attributs alt, title, placeholder, label et value des boutons. Intégrité HTML (critique — ne cassez jamais le balisage) : - Conservez chaque balise HTML de la source ; NE DÉSACTIVEZ PAS les balises en texte simple ou ne convertissez PAS HTML en Markdown. - Éléments ancre : NE SUPPRIMEZ JAMAIS les balises ou les attributs href. Traduisez SEULEMENT le texte visible entre les balises ouvrantes et fermantes. Conservez target, rel, class, id et tous les autres attributs inchangés. - Éléments image : NE SUPPRIMEZ JAMAIS les balises | Qualité de sortie attendue |
|---|---|---|
| Initial | Rédigez une liste de contrôle pour la conception d’un pipeline d’automatisation. | La qualité du rendu ne semble pas nette et concise. |
| Affiné | En tant qu’ingénieur DevSecOps senior, voici une liste de contrôle priorisée des vérifications de sécurité à mettre en œuvre dans la conception d’un pipeline d’automatisation, avec de brèves explications pour chaque vérification : 1. **Analyse statique de code (SAST)** Vérifiez le code source avant sa compilation pour détecter les vulnérabilités courantes et les mauvaises pratiques pouvant compromettre la sécurité. 2. **Analyse dynamique de sécurité (DAST)** Testez l’application en fonctionnement pour identifier les vulnérabilités exploitables, notamment via des injections ou des failles d’authentification. 3. **Vérification des dépendances et des bibliothèques tierces** Scannez toutes les dépendances utilisées pour repérer les composants obsolètes ou vulnérables afin d’éviter l’introduction de failles via des tiers. 4. **Contrôle des secrets** Intégrez une détection automatique des clés d’API, mots de passe ou certificats présents accidentellement dans le code source ou les configurations. 5. **Gestion des accès et permissions** Automatisez la vérification que les rôles et permissions sont strictement limités selon le principe du moindre privilège tout au long du pipeline. 6. **Validation des configurations d’environnement** Assurez-vous que les variables d’environnement et les configurations sensibles sont correctement chiffrées et qu’aucune donnée sensible n’est exposée. 7. **Tests d’intégration et unitaires avec volet sécurité** Incluez des tests couvrant les scénarios d’attaque connus pour garantir que le code respecte les exigences de sécurité attendues. 8. **Audit des logs et traçabilité** Mettez en place une collecte et une analyse des logs automatisées pour détecter des comportements suspects ou des anomalies en continu. 9. **Mise à jour et patching automatisés** Intégrez des étapes pour appliquer automatiquement les correctifs de sécurité critiques aux environnements de déploiement. 10. **Validation des artefacts avant déploiement** Contrôlez que les artefacts (containeurs, packages) respectent les normes de sécurité et ne contiennent pas de composants non autorisés. 11. **Analyse des vulnérabilités post-déploiement** Programmez des scans réguliers pour identifier les vulnérabilités apparues après déploiement et garantir une réponse rapide. 12. **Contrôle d’intégrité et signature numérique** Vérifiez que tous les composants du pipeline sont signés et intègres afin d’éviter toute modification malveillante. Ces contrôles, intégrés de manière automatisée et continue, assurent une posture de sécurité robuste tout au long du cycle de vie du développement et des déploiements. | La qualité de sortie présente désormais de très bons détails ainsi que certaines priorités. Le formatage pourrait toutefois être amélioré. |
| Ajustement final | - **Planification** • Définissez clairement les objectifs et les critères de réussite. • Utilisez des outils de gestion de projet comme Jira ou Trello pour surveiller l’avancement. - **Conception** • Adoptez des Design Systems pour garantir la cohérence et la scalabilité. • Intégrez des composants réutilisables afin d’accélérer le développement. - **Développement** • Priorisez l’écriture de code modulaire et maintenable. • Utilisez des systèmes de contrôle de version comme Git pour collaborer efficacement. - **Tests** • Automatisez les tests unitaires et fonctionnels pour assurer la qualité. • Exploitez des frameworks comme Selenium ou Cypress pour les tests d’interface. - **Déploiement** • Configurez des pipelines CI/CD pour des déploiements rapides et sûrs. • Surveillez les performances post-déploiement avec des outils comme New Relic. - **Maintenance** • Documentez rigoureusement les modifications et les incidents. • Planifiez des revues régulières pour ajuster les systèmes à l’évolution des besoins. | Le rendu final sera net, bien organisé, et couvrira également les priorités. Accompagné de suggestions. |
Leçon :L’itération affine les requêtes floues en réponses IA à forte valeur ajoutée et bien structurées.
Principes d'ingénierie des prompts IA pour DevSecOps
- Soyez toujours clair et précis : Exemple : « Rédigez un résumé de 250 mots sur Zscaler Private Access. »
- Fournissez un contexte clair pour les requêtes : définissez le rôle, le public et l’objectif de l’IA. « Vous êtes un ingénieur DevSecOps. Expliquez la sécurité CICD aux ingénieurs juniors. »
- Divisez les tâches complexes en segments plus petits : utilisez plusieurs instructions pour un affinage étape par étape.
- Prompt 1a : Énumérez 5 risques de sécurité liés à l’automatisation des modifications de configuration.
- Développez le risque n°2 avec des stratégies d’atténuation.
- Vous êtes un traducteur senior en localisation marketing B2B pour TO THE NEW (tothenew.net), une entreprise mondiale de technologie numérique et de services informatiques. Traduisez le texte de contexte de Global - EN vers le français (fr). Niveau de qualité : prêt pour publication, avec un score d’au moins 90/100 en précision sémantique, cohérence terminologique et fluidité. Priorisez le sens correct et la cohérence des termes plutôt que la traduction littérale. Règles de sortie : 1. Ne renvoyez que le texte traduit. Pas de salutations, d’explications, de balises markdown ou de blocs de code. 2. Conservez intégralement les balises HTML, attributs, classes, ID, data-* attributs, href, src, srcset et structure du document. 3. VOUS POUVEZ traduire les valeurs compréhensibles par un humain dans les attributs alt, title, placeholder, label, et value des boutons. Intégrité HTML (critique — ne jamais casser le balisage) : - Conservez chaque balise HTML d’origine ; ne décomposez pas en texte simple ni ne convertissez en Markdown. - Balises d’ancrage () : NE supprimez JAMAIS les balises ni les attributs href. Traduisez UNIQUEMENT le texte visible entre les balises ouvrantes et fermantes. Conservez cibles, rel, classe, id, et tous les autres attributs tels quels. - Éléments image : NE supprimez JAMAIS les balises
ni les attributs src, srcset, width, height, loading, data-entity-uuid, data-entity-type, data-align, ni data-caption. - CSS en ligne : NE traduisez, réécrivez, ne supprimez ni n’omettez les valeurs de l’attribut style="" ou le contenu des blocs
- Utilisez l’itération et les invites de rôle.
- Encouragez le raisonnement IA : utilisez des invites de type chaîne de pensée pour une résolution de problème étape par étape. Exemple : « En tant qu’expert ingénieur en sécurité, analysez les vecteurs d’attaque potentiels dans ce code. »
Techniques avancées de requêtage
Rôle et incitations imbriquées
- Solicitation de rôle :Désignez l’IA comme un expert en la matière pour améliorer la pertinence. Par ex. « Agir en tant qu’ingénieur AppSec.... »
- Invite imbriquée :Prend le résultat d’une invite pour l’utiliser comme entrée d’une autre afin de créer des flux de travail multi-raisonnements.
Incitation en chaîne de pensée (Chain of Thought, CoT)
Le CoT encourage l’IA à raisonner étape par étape, améliorant ainsi la précision et la transparence. Il est essentiel pour le dépannage et le débogage du code.
Exemple :
Vous êtes un traducteur senior en localisation marketing B2B pour TO THE NEW (tothenew.net), une entreprise mondiale de technologies numériques et de services informatiques. Traduisez le texte contexte de Global - EN vers le français (fr). Barème de qualité : prêt pour publication, au moins 90/100 en précision du sens, cohérence terminologique et fluidité. Priorisez la signification correcte et la cohérence des termes plutôt que la traduction littérale. Règles de sortie : 1. Ne retournez que le texte traduit. Pas de salutations, d'explications, de markdown ou de blocs de code. 2. Conservez exactement les balises HTML, attributs, classes, IDs, data-* attributs, href, src, srcset et la structure du document. 3. Vous POUVEZ traduire les valeurs lisibles par l'humain dans alt, title, placeholder, label et les attributs de valeur des boutons. Intégrité HTML (critique — ne cassez jamais le balisage) : - Conservez chaque balise HTML de la source ; ne déchirez pas les balises en texte brut ni ne convertissez le HTML en Markdown. - Éléments ancre : NE retirez JAMAIS les balises ni les attributs href. Traduisez UNIQUEMENT le texte visible entre les balises d’ouverture et de fermeture. Conservez target, rel, class, id et tous les autres attributs inchangés. - Éléments image : NE retirez JAMAIS les balises ni les attributs src, srcset, width, height, loading, data-entity-uuid, data-entity-type, data-align ou data-caption. - CSS en ligne : NE traduisez, réécrivez, ne supprimez ni n’omettez les valeurs des attributs style="" ni le contenu des blocs En tant qu’ingénieur sécurité, détaillez étape par étape le processus de configuration d’un accès sécurisé à un serveur privé.
OutputUne réponse complète accompagnée de recommandations de sécurité.
Cas d’utilisation de l’ingénierie des prompts IA dans DevSecOps
| Cas d'utilisation | Exemple de requête |
|---|---|
| Documentation | Rédigez un document de procédure pour la configuration du réseau dans Kubernetes. |
| Automatisation | Générez un extrait de code Terraform pour créer un AWS RDS avec le chiffrement activé. |
| Sensibilisation à la sécurité | Expliquez le Cross-Site Scripting (XSS) à une personne non technique en des termes simples. |
| Rapports | « Résumez les journaux des échecs du pipeline Jenkins du mois dernier en indiquant leurs causes principales ainsi que les recommandations sous forme de points. » |
| Formation | Créez 10 questions de quiz sur les meilleures pratiques de sécurité des conteneurs Docker. |
Conclusion
Le Prompt Engineering nous aide à libérer le véritable potentiel des outils d'IA. En maîtrisant la liste des éléments abordés dans ce blog, tels que le Role Prompting et les techniques CoT, vous serez en mesure de générer des réponses précises.
Pour les ingénieurs DevSecOps, cela signifie :
- Génération plus rapide de documentation
- Assistance à la mise en place des flux de travail automatisés
- Formation améliorée et partage des connaissances
- Une communication technique beaucoup plus efficace.
Astuce bonus :Utilisez les instructions personnalisées (que vous pouvez trouver dans presque tous les outils d'IA) pour adapter l’IA à un rôle, un ton et des formats spécifiques.
Étapes pour configurer les instructions personnalisées dans ChatGPT :
- Cliquez sur le profil
- Puis cliquez sur Paramètres
- Accédez à la personnalisation et activez les Instructions personnalisées
Pour Perplexity :
- Cliquez sur Compte
- Allez à personnalisation et rédigez une instruction personnalisée dans la section « Présentez-vous ».
