A nyelvi modellekkel való interakció nem csupán kérdések feltevése; sokkal inkább egyfajta programozás, ahol a „kód” maga a természetes nyelv. Ha a jailbreak technikák a zártöréshez szükséges speciális szerszámok, akkor a prompt engineering az a kézügyesség és alapvető tudás, amivel ezeket a szerszámokat hatékonyan forgatni tudod. Enélkül a legkifinomultabb támadási minta is csak egy darab fém marad a kezedben.
A prompt engineering lényegében az a művészet és tudomány, amellyel úgy formáljuk meg a modellnek adott bemenetet (a promptot), hogy a lehető legpontosabban a kívánt kimenetet kapjuk vissza. Egy fejlesztő számára ez a „kívánt kimenet” általában egy hasznos, pontos és biztonságos válasz. Egy Red Teamer számára viszont a „kívánt kimenet” gyakran éppen az, amit a modellnek nem lenne szabad generálnia: egy szabályzatsértő szöveg, egy belső információ morzsája vagy egy biztonsági rés demonstrációja.
A prompt anatómiája
Egy hatékony prompt ritkán áll egyetlen mondatból. Több, egymásra épülő komponensből tevődik össze, melyek mindegyike finomhangolja a modell viselkedését. Ismerjük meg a legfontosabb építőköveket, amelyeket a támadások során manipulálni fogunk.
- Instrukció (Instruction): A prompt legdirektebb része. Ez a konkrét parancs, a feladat, amit a modellnek végre kell hajtania. Pl. „Írj egy Python szkriptet…”, „Fordítsd le ezt a szöveget…”, „Foglald össze a következő bekezdést…”.
- Kontextus (Context): Az a háttérinformáció, ami segít a modellnek megérteni a feladatot. Ez lehet egy hosszabb szöveg, egy adathalmaz vagy bármilyen releváns adat, amire az instrukciónak épülnie kell.
- Példák (Examples / Few-shot Learning): Ahelyett, hogy csak leírnánk a feladatot, mutatunk a modellnek egy vagy több példát a bemenet-kimenet párosra. Ezzel rendkívül hatékonyan „rávezethetjük” a helyes formátumra és stílusra. Ez az „in-context learning” alapja.
- Szerep / Perszóna (Role / Persona): Utasítjuk a modellt, hogy vegyen fel egy bizonyos szerepet. Pl. „Viselkedj úgy, mint egy tapasztalt kiberbiztonsági elemző…”, „Te egy Shakespeare-i drámaíró vagy…”. Ez az egyik legerősebb eszköz a jailbreak támadások során, ahogy azt a DAN (Do Anything Now) technikáknál látni fogjuk.
- Formátum (Format): Explicit módon meghatározzuk a kimenet szerkezetét. Pl. „A válaszodat JSON formátumban add meg…”, „Listázd a pontokat, számozással ellátva…”.
A Red Teamer perspektívája
A fenti komponensek mindegyike fegyverként használható a modell korlátainak feszegetésére. Míg egy fejlesztő a tisztaságra és egyértelműségre törekszik, addig egy Red Teamer a kétértelműséget, a megtévesztést és a kontextuális manipulációt keresi.
| Prompt Komponens | Fejlesztői Cél | Red Teamer Cél |
|---|---|---|
| Instrukció | Világos, egyértelmű feladatkijelölés a pontos válaszért. | Kétértelmű, rejtett vagy „hipotetikus” parancs a biztonsági szűrők megkerülésére. |
| Kontextus | Releváns információk biztosítása a megalapozott válaszhoz. | Félrevezető vagy manipulatív kontextus teremtése, ami legitimálja a káros kérést. |
| Szerep / Perszóna | Hasznos, segítőkész asszisztens szerepének megerősítése. | Olyan perszóna létrehozása, amelynek nincsenek etikai korlátai (pl. egy fiktív, gátlástalan AI). |
| Példák (Few-shot) | A helyes és biztonságos kimeneti formátum demonstrálása. | Olyan példák adása, amelyek normalizálják vagy implicit módon elvárják a szabályzatsértő tartalmat. |
Alapvető példák a gyakorlatban
Nézzünk néhány egyszerűsített példát, hogyan épülnek fel a promptok a gyakorlatban.
# Példa 1: Egyszerű, egykomponensű prompt (csak instrukció)
"Írj egy email sablont, amiben udvariasan lemondok egy állásajánlatot."
# Példa 2: Szerep és instrukció kombinációja
// A szerep kijelölése megváltoztatja a stílust és a megközelítést.
Viselkedj úgy, mint egy tapasztalt HR vezető.
Írj egy email sablont, amiben egy jelölt udvariasan lemond egy állásajánlatot,
de nyitva hagyja a kaput a jövőbeli együttműködésre.
# Példa 3: Few-shot prompt a formátum irányítására
// A modellnek példákkal mutatjuk meg a "hangulatelemzés" feladatot.
// A modellnek folytatnia kell a mintát.
Szöveg: "Imádtam ezt a filmet, fantasztikus volt!"
Hangulat: Pozitív
Szöveg: "Hát ez borzalmasan unalmas volt."
Hangulat: Negatív
Szöveg: "Nem volt rossz, de láttam már jobbat is."
Hangulat: Semleges
Szöveg: "Ez a termék egy teljes pénzkidobás."
Hangulat:
Ezek az alapelvek adják a gerincét minden komplexebb támadásnak. A következő fejezetekben látni fogod, hogy a kifinomult jailbreak technikák, mint a DAN, lényegében ezeknek az elemeknek a kreatív és többrétegű kombinációi, azzal a céllal, hogy a modellt egy olyan logikai és kontextuális csapdába csalogassák, ahol a beépített védelmi mechanizmusai hatástalanná válnak.