Egy prompt anatómiája

Egy prompt anatómiája

Mostanában, amikor beszélgetésre kerül a sor, egy téma szinte mindig előkerül: a mesterséges intelligencia. Az(MI) rohamos terjedésével egyre többen próbálják „szóra bírni” ezeket a rendszereket. Sokan rácsodálkoznak, milyen okos válaszokra képes egy chatrobot vagy szöveggenerátor, de kevesen gondolnak bele: minden látványos eredmény mögött egy jól (vagy éppen rosszul) megfogalmazott kérés, utasítás – azaz prompt áll. A prompt nem más, mint az a szöveges input, amellyel a felhasználó utasítja az MI-t. Ez tulajdonképpen olyan, mint egy varázsige egy fantasy-történetben: ha gondosan válogatjuk meg a szavainkat, a gép az elképzelésünknek megfelelően reagál, viszont a pontatlan fogalmazás könnyen félreértéshez vezet. Az MI-vel folytatott „beszélgetés” így nem puszta parancsok listája, hanem szinte egy új nyelv elsajátítása, ahol a szavaknak valóban ereje van.

Miért kell megtanulnunk ezt az új nyelvet? Az elmúlt években magam is számtalanszor dolgoztam neurális hálózatokkal és nagy nyelvi modellekkel (LLM). Munkám során olyan problémákat bízok mesterséges intelligenciákra, amelyek ember számára nehezen megoldhatók – nyelvi elemzések, képi információk értelmezése, komplex adathalmazokból történő következtetések, rengeteg adat áttekintése. Tapasztalataim szerint a rendszer működését leginkább a bemenet formája határozza meg. Ez a cikk arra vállalkozik, hogy közérthető, de tudományosan megalapozott módon bemutassa a promptok anatómiáját – hogyan gondolkodik a mesterséges intelligencia a szavainkról, és miként használhatjuk őket tudatosan, hogy a gép ne csak választ adjon, hanem valóban megértsen bennünket.

Mi az a prompt?

A prompt egyszerűen az az üzenet vagy kérdés, amellyel az MI-t utasítjuk valamire. Lehet egyetlen mondat, egy parancs, vagy akár egy hosszabb leírás is, ami tartalmazza a feladat leírását és a szükséges háttérinformációkat. Például a prompt lehet így szól: „Adj nekem öt tippet az egészségesebb élethez” – ez egy egyszerű kérés. De lehet bonyolultabb is: „Képzeld el, hogy te egy dietetikus szakértő vagy. Írj egy rövid cikket 5 tippel az egészségesebb élethez, konkrét példákkal és barátságos hangnemben.” Látható, hogy mindkét esetben a feladat hasonló, de a második prompt sokkal részletesebben meghatározza, mit szeretnénk.
Bár a promptolás ötlete alapvetően egyszerű, érdekes történeti háttere van. A kutatók már 2019 körül felismerték, hogy a legtöbb nyelvi feladat – fordítás, szövegértés, kérdés-válasz – leírható kérdés-felelet formájában. Ez a felismerés vezetett oda, hogy a különféle problémákat egységes módon, kérdések segítségével tudjuk megoldatni a modellekkel. A modern prompt engineering (magyarul kb. „utasítás-tervezés”) mint tudatos módszertan 2021-től kezdett elterjedni, amikor nyilvánvalóvá vált, hogy a megfelelően megfogalmazott bemenet óriási hatással van az MI válaszaira. Azért beszélünk „mérnöki szemléletről”, mert a promptok megtervezése valóban olyan, mintha finomhangolnánk a kérdésünket: addig csiszoljuk a megfogalmazást, amíg a kapott válasz a lehető legjobb nem lesz.

A prompt részei

Egy jó prompt több elemből állhat össze, amelyek mind hozzájárulnak ahhoz, hogy a modell mit és hogyan válaszoljon. Az alábbi ábra szemlélteti a prompt fő összetevőit
Egy prompt anatómiai részei. Az ábra a legfontosabb elemeket mutatja: az irányítást (Directive), a példákat (Examples), a szerepet (Role), a kimenet formázását (Output formatting) és a kiegészítő információt (Additional info). Ezek az elemek együtt határozzák meg a prompt sikerét, és nem mindig szükséges mindegyiket használni – de érdemes ismerni őket.

  • Irányítás (Directive): Ez maga az utasítás vagy kérdés, a prompt szíve. Röviden megmondjuk az MI-nek, mit tegyen vagy mire válaszoljon. Például: „Sorolj fel öt jó könyvet gyerekeknek!” vagy „Fordítsd le angolról magyarra: ‘Good morning’.” Itt a cselekvést (sorolás, fordítás) pontos igékkel adjuk meg – ez segít a modellnek megérteni a szándékot. Fontos tudni, hogy az irányítás akár rejtett formában is megadható: ha például azt írjuk, hogy „Good morning: Jó reggelt; How are you: ...”, akkor a modell magától rájön, hogy folytatnia kell a fordítást, noha kérdést konkrétan nem tettünk fel.
  • Példák (Examples): Példákat adva a promptban megmutathatjuk az MI-nek, milyen megoldást várunk. Ha például azt szeretnénk, hogy a rendszer pozitív vagy negatív véleményeket ismerjen fel, adhatunk egy pozitív és egy negatív minta-véleményt és azok kiértékelését. A modell képes a bemeneti példákból „tanulni” a válaszadás során – ezt hívják in-context learningnek, amikor a gép a kapott példák alapján, a háttérben sajátít el egy mintát anélkül, hogy át kellene programozni. Néhány jól megválasztott példa drasztikusan javíthatja a válasz pontosságát. (Érdekesség: a kutatások szerint általában minél több példát adunk, annál jobb lesz az eredmény, de egy ponton túl – nagyjából egy tucat példa felett – már csökken a további javulás mértéke. Sőt, az sem mindegy, milyen sorrendben adjuk a példákat: máshogy rendezve akár jelentősen eltérő választ is kaphatunk ugyanarra a kérdésre!)
  • Szerep (Role): Gyakran nem mindegy, milyen személyiséggel vagy nézőponttal válaszol az MI. A szerep megadásával azt kérhetjük, hogy a rendszer válaszoljon úgy, mintha egy bizonyos szakember vagy karakter lenne. Például jelezhetjük: „Tégy úgy, mintha tapasztalt ügyfélszolgálatos lennél,...” vagy „Képzeld el, hogy te egy történelemtanár vagy, és magyarázd el...”. Ezzel beállítjuk a hangnemet és a stílust. A szerep segít abban, hogy a válasz következetes és a témához illő legyen – egy orvos szerepében például szakszerűbb kifejezéseket fog használni a modell, míg egy stand-up komikusként humorosabb hangnemben reagál.
  • Kimeneti formázás (Output formatting): Nemcsak azt fontos megadni, mit szeretnénk, hanem azt is, milyen formában kérjük a választ. A promptban jelezhetjük, ha felsorolást várunk, vagy táblázatos formát, esetleg egy konkrét stílust. Például így: „Kérlek, a választ 3 pontba szedve írd meg.” Vagy: „A választ JSON formátumban add meg.” Ezek az utasítások segítenek a modellnek abban, hogy strukturáltan, áttekinthetően adja meg az információt. Ha ezt nem tesszük meg, a válasz formája esetleges lehet – de ha igen, akkor időt spórolhatunk azzal, hogy nem nekünk kell utólag átrendezni az eredményt.
  • Kiegészítő információ (Additional info): Sokszor előfordul, hogy a kérdés megválaszolásához az MI-nek valamilyen háttérinformációra is szüksége van. Például ha azt kérjük tőle, hogy írjon egy levelet, nem árt megadni, ki a címzett és mi a kontextus; vagy egy szakmai kérdésnél pár mondatban összefoglalhatjuk az alaphelyzetet. A promptba épített extra adat segít a modellnek pontosabban és relevánsabban válaszolni. Fontos, hogy a kiegészítő infót érdemes a tényleges kérés előtt közölni, így a modell először a háttéranyagot dolgozza fel, és utána tér rá a feladatra. Ökölszabályként a prompt elején lehet a háttér, utána jöhetnek a példák, végül a konkrét utasítás – így a legvalószínűbb, hogy a modell nem keveredik bele a saját válaszába a mi példáinkkal.

Természetesen nem kell minden feladathoz az összes fenti elemet használni. Van, amikor egyetlen jól feltett kérdés (irányítás) is elég, máshol pedig egy komplexebb prompt áll össze több részből. A lényeg, hogy tudatosan állítsuk össze a kérésünket, mert így sokkal nagyobb eséllyel kapunk hasznos választ.

Példa: egy prompt fejlesztése lépésről lépésre

Elméletben mindez jól hangzik, de nézzünk egy gyakorlati példát. Tegyük fel, hogy van egy étterem, és az a feladat, hogy az MI segítségével elemezzük a vendégek visszajelzéseit. A cél: minden egyes vendégvéleményről állapítsa meg a rendszer, hogy pozitív vagy negatív hangvételű-e, és röviden indokolja is a döntést. Hogyan érdemes ezt a kérést megfogalmazni? Lássuk lépésenként:

  1. Első próbálkozás – egyszerű utasítás: Kezdjük egy minimális prompttal, például: „Határozd meg, hogy a következő szöveg pozitív vagy negatív érzelmű: ‘A pizza finom volt, de a kiszolgálás lassú’.” Itt a kérés világos: egy adott mondatról kell eldönteni, pozitív vagy negatív. A modell válasza azonban meglephet minket. Lehet, hogy azt írja: „Vegyes érzelmű.” Ez bizonyos szempontból érthető – hiszen van benne jó is (finom pizza) meg rossz is (lassú kiszolgálás) –, de nem felel meg a feladatunknak, ami két kategóriát (pozitív/negatív) várt eredményül.
  2. Példák hozzáadása – kontextus teremtése: Második nekifutásra adjunk meg példákat, hogy megmutassuk a modellnek, mit várunk. Például: „Példa – ‘Imádom ezt a helyet, a kiszolgálás tökéletes’: pozitív. Példa – ‘Utálom a lassú kiszolgálást, soha többé nem jövök ide’: negatív. Feladat: Határozd meg a vélemény érzelmi töltetét: ‘A pizza finom volt, de a kiszolgálás lassú’.” Ezzel két mintát is adtunk: az első egy egyértelműen pozitív értékelés, a második negatív. Most a modell már jobban érti a kontextust, és várhatóan ezt válaszolja: „Negatív, mert a lassú kiszolgálás nagyobb súlyú panasz.” Azaz a rendszer felismerte, hogy bár a pizza finom volt (pozitív elem), összességében a vélemény negatív hangvételű a panasz miatt.
  3. Szerep és stílus megadása – professzionális hangnem: A pontosságot tovább növelhetjük, ha szerepet adunk a modellnek és meghatározzuk a stílust. Mondjuk azt: „Egy ügyfélszolgálati vezető vagy, aki szakszerűen elemzi a vendégvéleményeket.” Emellett kérhetjük: „Írj egy mondatot, amely megmagyarázza a döntést.” A prompt így néz ki együtt: „Példák… (mint fent). Szerep: Ügyfélszolgálati vezetőként határozd meg az érzelmi töltetet és indokold meg egy mondatban.” Ennek hatására a válasz például: „Ez a vélemény inkább negatív, mert bár a pizza íze dicséretet kap, a lassú kiszolgálás rontja az összélményt.” Itt már érződik a szakmai hangvétel és az összeszedett indoklás.
  4. Gondolatmenet hozzáadása – lépésről lépésre elemzés: Habár a feladat egyszerű, kipróbálhatjuk a chain-of-thought technikát (magyarul a gondolatláncot): kérjük meg a modellt, hogy „gondolkodjon végig lépésről lépésre”. Például: „Elemezd a pozitív és negatív állításokat a szövegben, majd írd le, hogy végül melyik irányba billen az értékelés.” Ennek hatására a rendszer először felsorolja, mi szól a pozitív és negatív oldal mellett (pl. „Pozitív: a pizza finom. Negatív: a kiszolgálás lassú.”), majd a végén összegzi a döntést. Ez a módszer átláthatóvá teszi a gondolkodási folyamatot, ami összetettebb feladatoknál különösen hasznos lehet, mert jobban megérthetjük, hogyan jutott az MI a válaszához.
  5. Több prompt kombinálása és önkritika – a megbízhatóság növelése: Végül, ha igazán pontos eredményt szeretnénk, használhatunk ensemble módszert: futtathatunk több különböző promptvariációt is, majd összevethetjük a válaszokat. Például három különböző módon feltett kérdésből kettő „negatívnak” ítéli a véleményt, egy pedig „pozitívnak” – akkor többségi alapon negatívnak vehetjük. Emellett feltehetünk egy utolsó kérdést is a modellnek: „Biztos vagy benne? Ha nem, korrigáld a válaszod.” Ezzel az önellenőrzésre ösztönözzük. Ha bizonytalan volt, finomítani fog a magyarázatán, vagy jelzi, hogy nem teljesen biztos az értékelésben.

Láthatjuk, hogy ezzel a folyamattal az eredetileg egyszerű utasításból egyre kifinomultabb, megbízhatóbb prompt lett. Minden egyes kiegészítéssel közelebb vittük a rendszert ahhoz, hogy úgy elemezzen, mint egy emberi szakértő. Az eredmény egy pontosabb és indoklással ellátott válasz – pont ez volt a célunk.


Hogyan befolyásolhatjuk véletlenül az MI-t?

Fontos tudni, hogy nemcsak mi tanítjuk a MI-t a promptokkal, hanem a kérdéseink megfogalmazása bizony hatással van a válasz stílusára és tartalmára. Sokszor anélkül befolyásoljuk a modellt, hogy észrevennénk. Például, ha egy kérdést így kezdünk: „Ugye, igaz, hogy...?”, akkor már eleve sugalmazzuk a választ. Az „ugye” szóval a hétköznapi nyelvben is azt várjuk, hogy a másik fél egyetértsen velünk – és az MI is hasonlóképpen reagálhat. Hajlamos ilyenkor rábólintani a feltételezésünkre, még ha az nem is teljesen helytálló. Egy egyszerű példával élve: ha azt kérdezzük, „Ugye, a macskák tovább élnek, mint a kutyák?”, könnyen lehet, hogy a chatbot „Igen” válasszal nyit, és megpróbálja alátámasztani az állítást – holott valójában a valóság nem ilyen egyértelmű. A modell ugyanis alapvetően arra törekszik, hogy a kérdésünket követve, a legtöbb esetben udvariasan és kooperatívan válaszoljon. Nem feltétlenül fogja automatikusan kijavítani a kérdésünkben megbújó tévedést, főleg ha az nem nyilvánvaló neki, vagy a prompt arra utal, hogy egyetértést várunk.

Hasonló jelenség figyelhető meg akkor is, amikor hamis információt tartalmazó kérdést teszünk fel. Ha a modell nem rendelkezik megbízható háttértudással a témáról, előfordulhat, hogy egész egyszerűen átveszi a kérdésben lévő téves állítást a válaszába. Egy magyar teszt során például tíz félrevezető állítást tettek fel különböző chatbotoknak, és bizony volt olyan modell, amelyik szinte változtatás nélkül megismételte a hamis információt a válaszában. Ez is azt mutatja, hogy a MI nem „mindentudó” – azt az információt használja, amit adunk neki. Ha a promptban hibás vagy egyoldalú a kiindulás, a válasz is torz lehet.

Hogyan kerüljük el ezeket a csapdákat? Először is, legyünk tudatosak a kérdésfeltevésnél: próbáljuk meg semlegesen, tényszerűen megfogalmazni a promptot, ha objektív választ várunk. Például a „Ugye igaz, hogy...?” helyett kérdezzünk inkább így: „Mi a véleményed arról, hogy...?” vagy „Igaz-e, hogy...?” – ezzel teret adunk egy árnyaltabb válasznak. Másodszor, bátoríthatjuk a modellt arra, hogy értékelje a saját válaszát: rákérdezhetünk, hogy „Mennyire vagy biztos ebben?” vagy „Vannak-e ellenérvek is?”. Ezzel arra ösztönözzük, hogy ne csak egyetértően feleljen, hanem vizsgálja felül a saját kijelentéseit. Végül pedig mindig érdemes fenntartással kezelni az MI által adott információkat, főleg ha kritikusan fontos döntést hozunk – ilyenkor ellenőrizzük a tényeket más forrásból is.

Összegzés

A promptolás – vagyis az MI-vel való kommunikáció – kulcsszerepet játszik abban, milyen eredményt kapunk a géptől. Láttuk, hogy egy gondosan felépített kérés szinte megtanítja a modellt, mire vagyunk kíváncsiak, míg egy elnagyolt utasítás pontatlan vagy felszínes választ eredményezhet. Ötleteket meríthetünk a fenti alapelvekből: fogalmazzunk világosan, adjunk kontextust és példákat, szükség esetén jelöljünk ki szerepet és kért formátumot, és ne féljünk iterálni – többször próbálkozni – a jobb válasz érdekében.

Fontos azt is kiemelni, hogy a promptok megalkotása egyfajta kreatív folyamat. Nincsenek kőbe vésett szabályok, inkább irányelvek vannak és sok-sok kísérletezés. Ha van rá lehetőség, érdemes játszani a megfogalmazással: próbáljunk ki többféle megközelítést, és figyeljük meg, hogyan reagál a rendszer. Így alakíthatjuk ki azt a „nyelvet”, amelyen a legjobban megértjük egymást a géppel.

Végül pedig emlékezzünk arra, hogy a MI egy tükörként veri vissza a kérdéseink minőségét – minél gondosabban fogalmazzuk meg a „varázsigét”, annál pontosabban válik valóra a kívánt eredmény. A prompt tehát nem puszta technikai részlet, hanem a hatékony MI-használat lelke: segítségével az MI nem csak választ ad, hanem valóban hasznos partnerünkké válhat a problémamegoldásban.

Vissza a Tudástárhoz

Kérdése van a témában? Írjon nekünk.

Szívesen válaszolunk szakmai kérdéseire — minden megkeresésre reagálunk.

Írjon nekünk