PageSourceSearch

https://www.alsacreations.fr/_nuxt/iBHUlfUm.js

js alsacreations.fr collected 2026-10-02 03:22:54 UTC 6,593 bytes, 1 lines download raw bytes

1import{_ as u}from"./Dobg0AOK.js";import{u as d,c as a,d as i,a as n,b as t,w as s,F as p,h as m,o as g,_ as f}from"./BI2R0QPO.js";import{j as c,d as b}from"./T6YIfDrn.js";const q={class:"article","data-layout":"boxed prose"},v={class:"list-arguments p-0 compact"},x="Définition du prompt engineering : ce qui fonctionne réellement, pourquoi un prompt doit être versionné et testé comme du code, et le risque d'injection d'instructions.",C={__name:"prompt-engineering",setup(j){return d({script:[c(b({path:"/definition/prompt-engineering",name:"Prompt engineering",description:x,breadcrumb:[{name:"Prompt engineering",path:"/definition/prompt-engineering"}]}))]}),(L,e)=>{const o=u,l=m,r=f;return g(),a(p,null,[i(o,{items:[{label:"Définition"},{url:"/definition/prompt-engineering",label:"Prompt engineering"}]}),n("article",q,[e[29]||(e[29]=n("h1",{class:"title-big"},[n("span",{lang:"en"},"Prompt engineering")],-1)),n("p",null,[e[1]||(e[1]=t(" Le ",-1)),e[2]||(e[2]=n("i",{lang:"en"},"prompt engineering",-1)),e[3]||(e[3]=t(" désigne le travail de rédaction et d'ajustement des instructions transmises à un ",-1)),i(l,{to:"/definition/llm"},{default:s(()=>[...e[0]||(e[0]=[t("modèle de langage",-1)])]),_:1}),e[4]||(e[4]=t(". Le ",-1)),e[5]||(e[5]=n("i",{lang:"en"},"prompt",-1)),e[6]||(e[6]=t(" est le texte envoyé au modèle : il contient la consigne, le contexte, les contraintes de format et parfois des exemples. ",-1))]),e[30]||(e[30]=n("p",null," Le terme a connu une inflation regrettable, jusqu'à désigner un métier à part entière. Dans un projet web, il s'agit plus modestement d'un travail d'ingénierie ordinaire : on écrit une spécification, on la teste, on mesure, on corrige. La différence est que cette spécification est rédigée en français plutôt qu'en code, ce qui la rend trompeusement facile à écrire et difficile à valider. ",-1)),e[31]||(e[31]=n("h2",{class:"title-medium"},"Ce qui fonctionne réellement",-1)),e[32]||(e[32]=n("p",null," Au-delà des listes de « formules magiques » qui circulent, quelques pratiques produisent des résultats constants. ",-1)),n("ul",null,[e[11]||(e[11]=n("li",null,[n("b",null,"Décrire le rôle et le contexte"),t(" : préciser à qui s'adresse la réponse, dans quel cadre et avec quel niveau de détail. Un modèle sans contexte produit une réponse générique. ")],-1)),e[12]||(e[12]=n("li",null,[n("b",null,"Donner des exemples"),t(" : montrer deux ou trois cas d'entrée et de sortie attendue est plus efficace que dix lignes de consignes abstraites. C'est le levier le plus rentable. ")],-1)),e[13]||(e[13]=n("li",null,[n("b",null,"Imposer un format de sortie"),t(" : demander une structure précise ("),n("abbr",{title:"JavaScript Object Notation",lang:"en"},"JSON"),t(", liste, gabarit) rend la réponse exploitable par du code et testable automatiquement. ")],-1)),e[14]||(e[14]=n("li",null,[n("b",null,"Énoncer les interdits"),t(" : indiquer explicitement ce que le modèle ne doit pas faire (inventer, répondre hors périmètre, dépasser une longueur...). ")],-1)),n("li",null,[e[8]||(e[8]=n("b",null,"Autoriser l'abstention",-1)),e[9]||(e[9]=t(" : prévoir une réponse de repli lorsque les informations disponibles ne permettent pas de conclure. Sans cette porte de sortie, le modèle ",-1)),i(l,{to:"/definition/hallucination-ia"},{default:s(()=>[...e[7]||(e[7]=[t("invente",-1)])]),_:1}),e[10]||(e[10]=t(". ",-1))]),e[15]||(e[15]=n("li",null,[n("b",null,"Découper les tâches complexes"),t(" : deux appels successifs simples donnent de meilleurs résultats qu'une instruction unique contenant six exigences. ")],-1))]),e[33]||(e[33]=n("h2",{class:"title-medium"},"Un prompt est du code",-1)),e[34]||(e[34]=n("p",null," C'est le point le plus souvent négligé, et celui qui distingue un prototype d'un service exploitable. Les instructions envoyées à un modèle pilotent le comportement de votre application : elles doivent être traitées avec les mêmes exigences que le reste du code. ",-1)),n("ul",v,[n("li",null,[i(r,{name:"solar:check-circle-line-duotone",class:"accent-green align-middle"}),n("p",null,[e[17]||(e[17]=n("b",null,"Versionnées",-1)),e[18]||(e[18]=t(" : stockées dans le dépôt ",-1)),i(l,{to:"/definition/git"},{default:s(()=>[...e[16]||(e[16]=[t("Git",-1)])]),_:1}),e[19]||(e[19]=t(", jamais éparpillées dans une interface d'administration ou un tableur partagé. ",-1))])]),n("li",null,[i(r,{name:"solar:check-circle-line-duotone",class:"accent-green align-middle"}),e[20]||(e[20]=n("p",null,[n("b",null,"Testées"),t(" : un jeu de cas d'entrée avec les sorties attendues, rejoué à chaque modification. C'est le seul moyen de constater qu'une amélioration apparente a dégradé trois autres cas. ")],-1))]),n("li",null,[i(r,{name:"solar:check-circle-line-duotone",class:"accent-green align-middle"}),e[21]||(e[21]=n("p",null,[n("b",null,"Documentées"),t(" : pourquoi telle contrainte a été ajoutée, quel problème elle corrigeait. Sans cela, la première personne qui « simplifie » le texte réintroduit un bug résolu six mois plus tôt. ")],-1))]),n("li",null,[i(r,{name:"solar:check-circle-line-duotone",class:"accent-green align-middle"}),e[22]||(e[22]=n("p",null,[n("b",null,"Séparées des données utilisateur"),t(" : ce que saisit un visiteur ne doit jamais être c
1oncaténé sans vérification à vos consignes, sous peine de permettre leur détournement. ")],-1))])]),e[35]||(e[35]=n("h2",{class:"title-medium"},"L'injection d'instructions",-1)),n("p",null,[e[24]||(e[24]=t(" Un modèle ne distingue pas structurellement vos consignes du contenu qu'on lui soumet. Un texte fourni par un utilisateur, ou une page web lue par un ",-1)),i(l,{to:"/definition/agent-ia"},{default:s(()=>[...e[23]||(e[23]=[t("agent",-1)])]),_:1}),e[25]||(e[25]=t(", peut contenir des directives destinées à détourner le comportement prévu : contourner une règle, divulguer les instructions internes, déclencher une action non souhaitée. ",-1))]),n("p",null,[e[27]||(e[27]=t(" Il n'existe pas de parade complète à ce jour. Les mesures qui limitent réellement le risque sont architecturales : restreindre le périmètre d'actions accessibles, valider les sorties par du code avant tout effet, et considérer que le contenu extérieur n'est jamais digne de confiance. C'est un sujet de ",-1)),i(l,{to:"/definition/securite-web"},{default:s(()=>[...e[26]||(e[26]=[t("sécurité web",-1)])]),_:1}),e[28]||(e[28]=t(", relativement classique, appliqué à une nouvelle technologie. ",-1))])])],64)}}};export{C as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.