Core prompt engineering techniques (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

A prompt engineering számos technikát és módszertant foglal magában, amelyek célja a nagy nyelvi modellekkel (LLM) való interakció optimalizálása a kívánt eredmények elérése érdekében. Ezek a technikák a kérések strukturálására, a kontextus megadására, a kimenet stílusának irányítására és a modell következtetési képességének javítására vonatkoznak. Mivel az LLM-ek a választ a bemeneti prompt alapján a következő tokenek előrejelzésével generálják, a prompt minősége és szerkezete közvetlenül befolyásolja az eredményt. A prompt engineering főbb technikái lehetővé teszik a fejlesztők és felhasználók számára, hogy hatékonyan irányítsák a modell viselkedését, csökkentsék a hibákat, és a modellt konkrét feladatokhoz igazítsák anélkül, hogy a modell belső paramétereit módosítanák.

A prompt alapelvei és szerkezete

Bár a konkrét megvalósítások eltérnek, a hatékony promptok gyakran általános elvek és szerkezet figyelembevételével készülnek:

  • Empirikus iránymutatások: Az egyik gyakorlati szerkezetként (de nem iparági szabványként) a következő elveket javasolják: Irány megadása, Formátum meghatározása, Példák megadása, Minőség értékelése és Feladat felosztása.
  • A hatékony prompt általában a következő összetevőket tartalmazza:
    • Bevezető/Szerep: Meghatározza a feladat kontextusát vagy a modell szerepét/személyiségét.
    • Utasítások: Egyértelmű iránymutatás arról, mit kell tenni.
    • Kontextus: A szükséges információ (statikus vagy dinamikusan lekért RAG segítségével).
    • Példák (Few-shot): A kívánt formátum/stílus bemutatása.
    • Válaszkérés: Explicit utasítás arra, hogy a modellnek mit kell generálnia.
  • Rendszerüzenet (System Prompt): Az API csevegő felületein (pl. OpenAI, Anthropic modelleinél) lehetővé teszi globális utasítások és szerep megadását az egész munkamenetre.
  • Formázás: A Markdown, JSON, XML vagy YAML használata segít strukturálni a promptot és megkönnyíti a válasz feldolgozását. Az elválasztók (```, `\"\"\"`, XML-tagek) fontosak az utasítások és az adatok elkülönítéséhez.

Az utasítások és példák főbb technikái

  • Egyértelmű és konkrét utasítások: A feladatot, a kívánt eredményt és a korlátokat a lehető legpontosabban kell leírni. Kerülni kell a kétértelműséget.
  • Szerepjátszás (Role Prompting): A modellnek szerep kiosztása („Te egy szakértő vagy a... területén") a hangnem, a stílus és a tudásbázis irányítása érdekében.
  • Zero-shot Prompting: Kérés példák nélkül. Egyszerű vagy a modell által jól ismert feladatoknál hatékony.
  • Few-Shot Prompting: Néhány (általában 2–5) „kérdés-válasz" példa megadása a feladat bemutatásához. Különleges esete az egyetlen példát tartalmazó One-shot Prompting. Különösen hasznos összetett formátumoknál vagy stílusoknál. Óvatosságot igényel, hogy elkerüljük az eltolódást (anchoring) vagy a hamis minták felismerését a példákból.

Kontextuskezelési technikák

  • Retrieval-Augmented Generation (RAG): Releváns információk dinamikus hozzáadása külső tudásbázisokból a prompthoz az LLM-nek való elküldés előtt. A Meta AI által 2020-ban először bevezetett módszer kulcsfontosságú a hallucinációk elleni küzdelemben és az adatok naprakészségének biztosításában.
  • Darabolás (Chunking): Nagy szövegek kisebb részekre (darabokra) osztása, hogy beleférjenek a modell kontextusablakába. A stratégiák közé tartozik a mondatok, bekezdések, tokenek szerinti felosztás (átfedéssel).
  • Összefoglalás (Sumarizáció): Hosszú szövegek vagy párbeszéd-előzmények tömörítése az alapvető értelem átadásához korlátozott kontextusban.

A következtetés (Reasoning) javításának technikái

Ezek a technikák arra irányulnak, hogy a modellt alaposabb és strukturáltabb „gondolkodásra" késztessék. Sok közülük, különösen a CoT, nagy méretű modelleken (általában 100 milliárd paraméternél nagyobb) mutatja hatékonyságát.

  • Chain-of-Thought (CoT): Utasítás a modellnek, hogy a végső válasz előtt lépésről lépésre haladó érvelést generáljon. Jelentősen javítja az eredményeket matematikai, logikai és többlépéses feladatoknál.
    • Zero-shot CoT: A legegyszerűbb forma, amely nem igényel példákat. A prompthoz hozzáadott „Gondolkozzunk lépésről lépésre" (Let's think step by step) jellegű kifejezés már képes elindítani a gondolatmenetet.
  • A CoT változatai:
    • Auto-CoT: Érvelési példák automatikus generálása few-shot promptinghoz.
    • Self-Consistency: Több gondolatmenet generálása és a leggyakoribb válasz kiválasztása „szavazással", ami növeli a megbízhatóságot.
    • Tree-of-Thoughts (ToT): Több érvelési út feltárása fa formájában, visszalépés és a közbenső lépések értékelésének lehetőségével. Ez a technika magas hatékonyságot mutat összetett feladatoknál, például a „Game of 24" megoldásának sikerességét ~4%-ról ~74%-ra növeli.
    • Graph-of-Thought (GoT), LogiCoT és mások, amelyek összetettebb vagy logikailag ellenőrzött érvelésre irányulnak.
  • ReAct (Reason and Act): A CoT-ot továbbfejlesztő technika. Egy iteratív ciklust képvisel, amelyben a modell felváltva végez Érvelési (Thought) és Eszközhasználati (Act) lépéseket, frissítve megértését a Megfigyelések (Observation) alapján.
  • Self-Refine: Iteratív folyamat, amelyben a modell először választ generál, majd kritikát fogalmaz meg róla, végül saját kritikája alapján javítja azt. Ez a „generálás–kritika–javítás" ciklus többször is megismételhető.
  • Take a Step Back Prompting: A modell először általános elveket vagy absztrakciókat fogalmaz meg, majd alkalmazza azokat a konkrét feladatra.

Haladó technikák: ágensek és eszközök

  • Eszközhasználat (Tool Usage) / Függvényhívás (Function Calling): Az LLM-nek lehetőséget biztosít külső API-k (keresés, számológép, adatbázis) hívására. A modell strukturált eszközhívási kérést generál, amelyet az alkalmazás hajt végre, az eredményt pedig visszaadja a modellnek. A modern LLM-ek (GPT-4, Claude 3) beépített támogatással rendelkeznek ehhez a funkcióhoz.
  • Ágensek (Agents): LLM-alapú rendszerek, amelyek autonóm módon képesek tervezni, eszközöket használni és cselekedni egy cél elérése érdekében. Gyakran ReAct-szerű ciklusokat alkalmaznak. A keretrendszerek (LangChain, AutoGen, CrewAI) egyszerűsítik létrehozásukat.
  • Többágenses rendszerek: Több specializált ágens együttműködése összetett feladatok megoldásához.

A hibák és hallucinációk csökkentésének technikái

  • RAG: A válaszok lekért tényszerű adatokhoz való kötése.
  • Válaszkorlátozási utasítások: Annak megkövetelése, hogy a modell csak a megadott kontextus alapján válaszoljon, vagy jelezze bizonytalanságát („Ha a válasz ismeretlen, mondd azt: 'Nem tudom'").
  • Hivatkozás kérése: A modelltől források megjelölésének vagy a válasz alapját képező kontextusbeli részek idézésének megkövetelése.
  • Ellenőrzés és önkritika: Olyan technikák alkalmazása, mint a Chain-of-Verification (CoVe) (válasz generálása, majd annak ellenőrzése és korrekciója), Self-Refine, vagy közvetlen felkérés a modellnek, hogy ellenőrizze saját válaszát hibák szempontjából.
  • CoT: A lépésről lépésre haladó érvelés önmagában is csökkentheti a logikai hibákat.

Értékelési és iterációs technikák

Bár az értékelés önálló folyamat, egyes aspektusai a prompt engineering részét képezik:

  • Promptok A/B tesztelése: A promptok különböző verzióinak hatékonyságát ugyanazokon a feladatokon hasonlítják össze.
  • LLM alkalmazása értékelésre: Egy erős modell (pl. GPT-4) alkalmazása a másik prompt vagy modell által generált válaszok minőségének értékelésére (LLM-as-a-Judge).

Prompt minták

Gyakori, újrafelhasználható szerkezetek:

  • Személyiségminta (Persona Pattern).
  • Kimeneti testreszabási minta (Output Customization Pattern).
  • Pontosítási kérési minta (Question Refinement Pattern).
  • Kognitív ellenőrzési / önkritikai minta (Cognitive Verifier / Self-Critique Pattern).
  • Lépésről lépésre haladó érvelési minta (Step-by-Step / Chain-of-Thought Pattern).
  • Sablonminta (Template Pattern).

Irodalom

  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
  • Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
  • Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
  • Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
  • Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
  • Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Chen, S. Y. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
  • Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
  • Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [1].
  • Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
  • Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
  • Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.

Lásd még

  • Nagy nyelvi modellek
  • Chain-of-Thought Prompting
  • LLM-hallucinációk és helytelen válaszok