Prompt engineering: kommunikáció az AI-al

Amikor a mesterséges intelligenciával szeretnénk kapcsolatot létesíteni, akkor általában írásban tesszük ezt (akkor is ha beszédfelismerőn keresztül szólítjuk meg). Ahogy az emberi kommunikációban, úgy az AI-nál is fontos, hogy a lehető leghatékonyabban adjuk át gondolatainkat. Hiszen csak ekkor kaphatjuk meg a jó választ a kérdéseinkre. Ebben segít nekünk a “prompt engineering”, amely rövid idő alatt, szinte egy önálló tudománnyá nőtte ki magát. Ennek alapjaival ismerkedünk meg ma. Röviden, a teljesség igénye nélkül. Csakis a legfontosabb tudnivalókkal.

Sokan hangosan felnevetnek, amikor a prompt engineering fontosságát hangsúlyozzuk. Ők azok, akik lebecsülik ezt a kritikus elemét az AI világnak. Ez a cikk nekik is szól.

Mi az a prompt engineering?

A prompt engineering az a folyamat, amellyel a felhasználók megfelelő utasításokat (promptokat) adnak az AI modelleknek a kívánt eredmények elérése érdekében.

A prompt egy kérdés, feladat vagy utasítás, amellyel az AI modellt irányítjuk. A pontos és megfelelő promptok kulcsfontosságúak a helyes válaszok és a hatékony felhasználás szempontjából.

Miért kritikus a jelentősége?

AI teljesítmény

A jól megírt prompt jelentősen javítja az AI teljesítményét, lehetővé téve pontosabb és relevánsabb válaszokat.

Felhasználói irányítás

A promptok segítségével irányíthatjuk az AI-t, hogy az az elvárt módon válaszoljon, vagy az adott probléma megoldására összpontosítson.

Példa

Egy egyszerű kérdés esetén, például: „Mi a mai időjárás?” pontos választ kaphatunk, míg egy bonyolultabb feladatnál, például: „Írj egy blogbejegyzést a fenntarthatóságról,” sokkal több irányításra és részletezésre van szükség a megfelelő eredményhez.

Hogyan kapcsolódik az AI modellekhez?

Az olyan modellek, mint a ChatGPT, Llama, Gemini mind promptokkal működnek. Az AI modellek megértik és feldolgozzák a promptokat, hogy válaszokat generáljanak. A prompt engineering fejlődése párhuzamos az AI modellek növekvő komplexitásával, mivel a jobb promptok összetettebb és relevánsabb válaszokat eredményeznek.

Ez a terület 2 éve alatt nagyobbat nőtt, mint a legtöbb technológiai újdonság ebben az évszázadban.

A prompt típusai

  • Nyílt végű promptok: Olyan kérdések, vagy utasítások, amelyek többféle választ engednek meg (pl. „Mondj valamit a környezetvédelemről”).
  • Zárt végű promptok: Olyan kérdések, amelyek konkrét választ várnak (pl. „Mi Magyarország fővárosa?”).
  • Folyamat alapú promptok: Olyan promptok, amelyek lépésről lépésre adnak utasításokat (pl. „Írj egy receptet a csokoládétortához”).
  • Kreatív promptok: Olyan promptok, amelyek művészi vagy kreatív eredményt céloznak meg (pl. „Írj egy rövid locsoló verset”).

Az egyes típusokat mikor alkalmazzuk?

  • Nyílt végű promptok: Amikor a kreativitásra vagy mélyebb gondolkodásra van szükség. Például, ha új ötleteket vagy hosszabb magyarázatot várunk az AI-tól.
  • Zárt végű promptok: Amikor egyértelmű, konkrét információt keresünk.
  • Folyamat alapú promptok: Amikor több lépésből álló feladatot kell végrehajtani, például egy kód írása, vagy összetett műveletek végrehajtása.
  • Kreatív promptok: Amikor művészi, vizuális vagy kreatív tartalmat szeretnénk generálni.

Példák az alkalmazásukra

  • Nyílt végű prompt példa: „Mesélj a mesterséges intelligencia fejlődéséről az utóbbi évtizedben.”
  • Zárt végű prompt példa: „Mikor kezdődött az első ipari forradalom?”
  • Folyamat alapú prompt példa: „Írd le lépésről lépésre, hogyan készíthető egy AI chatbot Python-ban.”
  • Kreatív prompt példa: „Írj egy történetet egy szomorú kutyáról, aki megtalálja a gazdáját.”

Prompt engineering technikák

A prompt engineering technikák fontos szerepet játszanak abban, hogy hogyan használjuk fel az AI modelleket, különösen a különböző kontextusokban és feladatok megoldására. Itt találod a legfontosabb technikákat, amelyek különböző típusú feladatok esetén alkalmazhatók:

1. Zero-shot

  • Leírás: A zero-shot technikával egy modellt úgy kérdezünk meg, hogy nem adunk példát arra, hogyan kellene válaszolnia, vagyis a modell nem kap előzetes kontextust.
  • Példa: „Írj egy összefoglalót a mesterséges intelligenciáról.” Ebben az esetben a modellnek magától kell értelmeznie a kérést és a megfelelő választ generálnia, anélkül, hogy bármilyen mintát mutatnánk.

2. One-shot

  • Leírás: A one-shot technika egy példát ad a modellnek, hogy megmutassa, milyen típusú választ várunk el.
  • Példa: „Írj egy viccet. Példa: Miért ment át a csirke az úton? Hogy átérjen a másik oldalra.” A modell az itt adott példát alapul véve fog hasonló stílusú válaszokat generálni.

3. Few-shot

  • Leírás: A few-shot technikával több példát adunk a modellnek, hogy jobban megértse a feladatot és a várható választ.
  • Példa: „Írj egy viccet. Példa 1: Miért ment át a csirke az úton? Hogy átérjen a másik oldalra. Példa 2: Miért van a malac boldog? Mert megtalálta a sárban a játszóterét.” Több példa alapján a modell már jobban fel tudja mérni, hogy milyen stílusban és kontextusban kell választ adnia.

4. Chain-of-Thought Prompting

  • Leírás: A „Chain-of-Thought (CoT)” technika során lépésről lépésre haladunk, megadva a modellnek, hogy hogyan gondolkozzon végig a probléma megoldásán. Ez hasznos összetett feladatoknál, amikor több logikai lépés szükséges a helyes válasz eléréséhez.
  • Példa: „Adj számot a következő összeadásra: 12 + 45. Gondolkozz végig a folyamaton: Először adjuk össze az egyes helyiértéket (2+5), majd a tízes helyiértéket (1+4), végül adjuk össze az eredményeket. Válasz: 57.” Ez segít a modellnek átgondolni a lépéseket a pontosabb válasz érdekében.

5. Self-consistency Prompting

  • Leírás: Ebben a technikában a modell több megközelítést próbál a feladat megoldására, majd kiválasztja a leggyakoribb eredményt vagy a leglogikusabb következtetést.
  • Példa: Ha a feladat az, hogy „Mi a legjobb módja a mesterséges intelligencia használatának a marketingben?” a modell többféle válaszopciót generálhat, majd a legmegfelelőbbet kiválasztja a válaszadáshoz.

6. Instruction-based Prompting

  • Leírás: Az instruction-based prompting során a modell pontos instrukciókat kap, hogyan hajtson végre egy adott feladatot.
  • Példa: „Írj egy 200 szavas bekezdést arról, hogy miért fontos a fenntarthatóság a modern városokban, és használj legalább három konkrét példát.” Itt az instrukciók egyértelműen irányítják a modellt a válasz formátumára és tartalmára vonatkozóan.

7. Meta Prompting

  • Leírás: Ez a technika olyan promptra épül, amely arra irányul, hogy a modell maga dolgozza ki a saját promptját vagy egy feladat pontosabb megértését. Meta szinten irányítja a modellt a promptok javítására.
  • Példa: „Hogyan kérdezzek úgy, hogy pontosabb választ kapjak az AI modelltől?” A modell válaszolhat olyan javaslatokkal, hogy részletezd a kontextust vagy adj meg specifikus célokat.

8. Generate Knowledge Prompting

  • Leírás: Ebben a technikában a modellt arra kérjük, hogy generáljon új tudást egy adott témával kapcsolatban, amit később felhasználhatunk a feladat megoldására.
  • Példa: „Írj egy összefoglalót az AI modellek legújabb fejlesztéseiről, majd használd ezt a tudást egy dolgozat megírására a jövőbeli AI trendekről.”

9. Prompt Chaining

  • Leírás: Ebben a technikában több promptra építünk egymás után, ahol az egyes lépések eredményei a következő prompt alapjául szolgálnak.
  • Példa: „Adj nekem öt témaötletet a klímaváltozás blogbejegyzéséhez.” Majd a következő prompt: „Fejtsd ki részletesen az egyik kiválasztott témát.”

10. Tree of Thoughts

  • Leírás: A „Tree of Thoughts” technika arra ösztönzi a modellt, hogy több különböző gondolatvonalat is végiggondoljon, és az egyes vonalakból következtetéseket vonjon le.
  • Példa: „Milyen lépéseket tehetnénk az éghajlatváltozás megfékezésére? Sorolj fel több lehetőséget, és értékeld mindegyiknek az előnyeit és hátrányait.”

11. Retrieval Augmented Generation (RAG)

  • Leírás: A RAG technika során a modell külső adatforrásokat is használ, hogy az adott feladatra pontos és naprakész válaszokat generáljon. Külső adatforrás általában egy vektor adatbázis vagy internetes forrás.
  • Példa: „Keress információkat az interneten az aktuális gazdasági helyzetről Magyarországon, majd írd le, hogy ez hogyan befolyásolja a vállalkozásokat.”

12. Automatic Reasoning and Tool-use

  • Leírás: A modell logikai érveléseket és eszközhasználatot kombinál a feladatok megoldására, ahol külső eszközökhöz is fordulhat a válasz generálásához.
  • Példa: „Számítsd ki a megadott adatokat, és generálj egy táblázatot a Python kód segítségével.”

13. Automatic Prompt Engineer

  • Leírás: Ebben a technikában a modell automatikusan generálja a leghatékonyabb promptra vonatkozó javaslatokat az adott feladathoz.
  • Példa: „Írj egy promptot, amely a lehető legjobb eredményt hozza egy AI chatbot készítéséhez.”

14. Active-Prompt

  • Leírás: Az Active-Prompt módszer interaktív módon irányítja a felhasználót, hogy hogyan adjon egyre pontosabb promptokat a modellnek, valós időben javítva a válaszokat.
  • Példa: „Milyen további kérdéseid vannak, hogy pontos választ tudj adni?” – a felhasználó kérdése után a modell további kérdéseket tesz fel a pontosítás érdekében.

15. Directional Stimulus Prompting

  • Leírás: Olyan promptra épül, amely irányított ingereket ad a modellnek, hogy specifikus reakciókat váltson ki.
  • Példa: „Adj pozitív kritikát erről a szövegről,” vagy „Írj egy barátságos, támogató üzenetet.”

16. Program-Aided Language Models (PALM)

  • Leírás: Ez a technika programok segítségét veszi igénybe az AI modellek számára, hogy még összetettebb feladatokat is megoldjanak.
  • Példa: „Írj egy Python kódot, amely kiszámolja a Fibonacci sorozat első 10 elemét, és értékeld ki a kódot.”

17. ReAct

  • Leírás: A ReAct technika a gondolkodás és a cselekvés együttes használatát jelenti, ahol a modell nemcsak válaszol, hanem akciókat is végrehajt egy probléma megoldására.
  • Példa: „Írj egy cikket az AI jövőjéről, majd generálj egy listát a releváns hivatkozásokról.”

18. Reflexion

  • Leírás: Reflexió során a modell visszatekint a korábbi válaszaira, hogy értékelje, szükség van-e további javításokra vagy módosításokra.
  • Példa: „Értékeld ki a korábbi válaszodat, és mondd el, hogyan lehetne javítani a részleteken.”

19. Multimodal Chain-of-Thought (CoT)

  • Leírás: A „Multimodal CoT” technika többféle adatforrást és modalitást kombinál, például szöveget és képeket is felhasználva a gondolatmenet kialakításához.
  • Példa: „Elemzed ezt a képet, és adj egy leírást, majd magyarázd el, hogyan kapcsolódik a megadott szöveghez.”

20. Graph Prompting

  • Leírás: Ez a technika gráfokat használ a tudás és a kapcsolatok vizualizálásához, segítve a modell gondolkodását és döntéshozatalát.
  • Példa: „Generálj egy gráfot, amely ábrázolja a mesterséges intelligencia fejlődését és a főbb mérföldköveket az idővonal mentén.”

Ezek a technikák segítenek abban, hogy különböző helyzetekben a lehető legjobb eredményeket érjük el az AI modellektől, attól függően, hogy mennyire összetett a feladat vagy milyen mértékű iránymutatásra van szükség.

A hatékonyság szabályai

A hatékony prompt engineering során számos alapvető szabályt érdemes követni annak érdekében, hogy a modell a lehető legjobb választ adja. Tehát nem elég a megfelelő technika megtalálása, jól is kell kérdeznünk.

A válaszok készen vannak, csak jól kell kérdezni.
(Én, a Robot)

Itt vannak a legfontosabb alapelvek:

1. Legyél konkrét és egyértelmű

  • A prompt legyen minél világosabb és egyértelműbb, hogy a modell pontosan megértse a feladatot. A homályos, általános kérések nem mindig vezetnek releváns válaszokhoz.
  • Példa: Ne csak azt kérdezd: „Mesélj a technológiáról.” Inkább kérdezd: „Magyarázd el röviden, hogyan működik a mesterséges intelligencia a képfelismerésben.”

2. Kerüld a többértelműséget

  • Ha többértelmű a kérdés vagy a kérés, a modell több lehetséges válasz közül választhat, ami nem mindig a legmegfelelőbb.
  • Példa: Ha az a kérésed, hogy „Írj egy történetet,” adj meg témát, karaktereket vagy stílust is, például: „Írj egy vicces történetet egy robotról, aki megpróbál emberré válni.”

3. Adj kontextust

  • Az AI modellek jobban teljesítenek, ha megfelelő kontextust kapnak. Tedd egyértelművé a kérdés vagy kérés hátterét, ha szükséges.
  • Példa: Ahelyett, hogy csak azt kérdeznéd: „Mi az AI?”, pontosíthatod: „Írj egy rövid összefoglalót az AI-ról, ami kezdőknek is érthető.”

4. Használj példákat (one-shot vagy few-shot)

  • Ha egy bonyolultabb feladatot kell megoldani, adj példákat, hogy a modell tudja, milyen válaszokat vársz el.
  • Példa: „Írj egy kérdést és választ AI modellek felhasználásával. Példa: Mi az a ChatGPT? Válasz: Egy mesterséges intelligencia alapú chatbot modell, amely szöveges válaszokat generál.”

5. Legyél rövid, de informatív

  • A túl hosszú promptok ronthatják a modell teljesítményét, mert nehézséget okozhat a fontos információk kiszűrése. Az informatív, mégis tömör promptok hatékonyabbak.
  • Példa: „Magyarázd el a blockchain működését 100 szóban.” Ahelyett, hogy hosszan kifejtenéd, tömören fogalmazd meg a kérésed.

6. Légy türelmes a komplex feladatokkal

  • Összetett feladatoknál a promptokat lépésekre lehet bontani (Chain-of-Thought), hogy a modell jobban átlássa a feladatot.
  • Példa: „Először magyarázd el, mi az AI, majd adj példát arra, hogyan használható az orvostudományban.”

7. Használj negatív példákat is, ha szükséges

  • Ha el akarod kerülni, hogy a modell egy bizonyos irányba menjen, mondj példát arra is, hogy mit ne tegyen.
  • Példa: „Írj egy történetet, amely NEM tartalmaz erőszakos elemeket.”

8. Tegyél fel következő kérdéseket

  • A kérdésfeltevések láncolata segíthet a modellnek fokozatosan építeni a válaszait. Egy első válasz alapján további kérdéseket tehetsz fel a mélyebb megértéshez.
  • Példa: Miután megkaptad az első választ arra, hogy „Mi az AI?”, tovább kérdezhetsz: „Hogyan működik egy neurális hálózat?”

9. Használj logikai utasításokat

  • Ha van egy konkrét logikai lépés, amit követni szeretnél, használd ezt utasításként, hogy a modell helyesen gondolkodjon.
  • Példa: „Sorolj fel három lépést, amellyel megoldható az éghajlatváltozás, és magyarázd el mindegyik hatását.”

10. Teszteld a promptokat iteratív módon

  • Gyakran nem a legelső prompt hozza a legjobb eredményt, ezért fontos tesztelni és finomítani a kérdéseket. Ha nem megfelelő a válasz, próbáld meg módosítani a promptot a világosabb megfogalmazás érdekében.
  • Példa: Ha a válasz túl általános, finomíthatod a kérdést: „Magyarázd el az AI-t a kereskedelmi felhasználás szempontjából, különös tekintettel a kiskereskedelemre.”

Ezek a szabályok segíthetnek a hatékony prompt engineering-ben, hogy pontosabb, relevánsabb és használhatóbb eredményeket kapj a modellektől. Ha ezek alapján építed fel a promptokat, jobban kihasználhatod az AI lehetőségeit.


Ahogy mindenben, a prompt engineering világában is igaz a mondás:

Gyakorlat teszi a mestert

Tehát, arra bíztatlak, hogy amikor legközelebb beszélgetsz egy AI modellel, próbáld ki az ebben a cikkben leírtakat és meglátod a válaszok minősége is hatalmasat növekszik.