Prompt Engineering: Techniky Promptování

Co je promptování?

Promptování je proces, při kterém se vytváří instrukce, úkoly nebo kontext pro generativní umělou inteligenci (AI), aby vygenerovala žádaný výstup.

Promptování

Na obrázku vidíme několik klíčových prvků promptu (výzvy):

  • Role: Definuje, co se od AI očekává nebo jaká je její funkce v rámci daného úkolu.
  • Úkoly: Konkrétní úkoly, které má AI vykonat.
  • Instrukce: Specifické pokyny, které AI říkají, jak má úkoly vykonat.
  • Kontext: Informace potřebné k porozumění úkolu a k tomu, aby výstup byl relevantní a přiměřený.
  • Výstup: Požadavky na výstup.

Na obrázku vidíme také:

  • Databáze a další úložiště informací: Zdroje informací, které AI využívá k informování svých odpovědí nebo k získání dat potřebných k vykonání úkolu.
  • Knihovna promptů: Soubor předem vytvořených promptů, které mohou být použity jako šablony nebo inspirace pro vytváření nových promptů.
  • Metodologie: Systém nebo postup, podle kterého jsou prompty vytvářeny a optimalizovány pro dosažení nejlepších možných výsledků.

Prompt je vytvořen a poskytnut AI, AI pak používá dostupné zdroje informací a své metodologie k vytvoření výstupu, který je následně prezentován uživateli prostřednictvím uživatelského rozhraní, jako je například chatovací aplikace na smartphonu.

Techniky Promptování

  • Zero-shot Learning (Učení bez příkladů) – Tato metoda umožňuje modelu pochopit a reagovat na úkoly bez předchozího trénování nebo příkladů.
  • One-shot prompting (Jednorázová výzva) – Jednorázové zadání je technika, při které je výstup modelu umělé inteligence řízen jediným příkladem. Tímto příkladem může být dvojice otázka-odpověď, jednoduchý pokyn nebo konkrétní šablona.
  • Few-shot learning (Učení z příkladů) – AI se učí z pár příkladů, jak reagovat na nové situace.
  • Self-consistency (Udržování soudržnosti a formy obsahu) – AI se snaží odpovídat tak, aby její odpovědi byly logické a vzájemně si neodporovaly.
  • ReAct (Rekurzivní aplikace) – AI opakovaně používá stejné kroky, aby lépe pochopila problém.
  • Tree of Thought (Strom myšlenek) – AI přemýšlí jako větve stromu, každá větev je jiný způsob, jak řešit problém.
  • Chain-of-thought (Řetězec úvah) – Tato technika zahrnuje vedení modelu k postupnému vyjádření řetězce úvah vedoucích k finální odpovědi, což pomáhá modelu lépe zvládnout složité úlohy tím, že explicitně formuluje kroky vedoucí k řešení.
  • Retrieval Augmented Prompting (Doplnění promptu pomocí vyhledávání) – AI hledá další informace v jiných zdrojích, aby mohla lépe odpovědět na dotazy.
  • Prefix Tuning (Ladění prefixů) – Jakoby přilepujeme „štítek“ na začátek dotazu, který AI napovídá, jak má odpovědět.
  • Fine-tuning (Jemné doladění) – Proces, při kterém je předtrénovaný model dále upravován pro specifickou úlohu nebo dataset. Toto „doladění“ obvykle zahrnuje přidání nových vrstev do modelu a jejich trénování na cílových datech, zatímco původní vrstvy modelu mohou zůstat zamrazené, aby se zabránilo přeučení. Tímto způsobem je model schopen lépe se přizpůsobit a vylepšit své predikční schopnosti na méně obecné úkoly než ty, na které byl původně trénován.
  • Reasoning without Observation – ReWOO (Usuzování bez pozorování) – Tato technika je založena na principu vytváření promptů, které modelu umožňují provádět usuzování bez potřeby přímého pozorování.
  • Model-guided prompting (Promptování řízené modelem) – Tato technika využívá model k vyžádání konkrétních detailů potřebných pro dokončení úkolu. Model je zde instruován, aby položil uživateli konkrétní otázky, na základě kterých pak generuje výstup. Takto model aktivně řídí proces zadávání dotazů a zlepšuje přesnost svých odpovědí (Prompt Engineering Guide – Nextra).
  • Persona Pattern (Vzor Persony) – Přístup, který model umožňuje generovat odpovědi, jež jsou konzistentní s definovanou „personou“. To může zahrnovat vytvoření osobnostního profilu pro AI, který ovlivňuje jaký typ jazyka, tonality, a perspektivy AI používá ve svých odpovědích. Tento způsob může být užitečný pro simulaci specifického chování nebo postojů v rámci konverzace (ar5iv).
  • The Cognitive Verifier Pattern (Vzor kognitivního ověřovatele) –  Tato metoda zahrnuje aplikaci mechanismů, které umožňují modelu ověřovat své myšlenkové procesy a odpovědi před jejich prezentací. Model se snaží interně prověřit své výstupy, aby se zajistila jejich logičnost a přesnost, což je zvláště užitečné v aplikacích vyžadujících spolehlivé a objektivní analýzy (ar5iv).
  • Question Refinement Pattern (Upřesňování otázek) – Metoda, která zlepšuje formulaci otázek položených AI. Pokud je původní dotaz nejasný nebo špatně formulovaný, tento přístup pomáhá upravit otázku tak, aby byla jasnější a lépe odpovídala informacím, které model potřebuje k poskytnutí relevantní odpovědi. (ar5iv).
  • Prompt Injection (…) – Vkládání specifických výrazů nebo frází do promptu, aby byl model naveden k produkci určitého typu odpovědi. To může zahrnovat vložení klíčových slov nebo frází, které naznačují požadovaný styl nebo obsah odpovědi.
  • Template-based Prompting (Promptování na základě šablon) – Použití předem připravených šablon, které strukturují prompt pro konkrétní úlohy nebo formáty odpovědí. Tato technika může pomoci udržet konzistenci a přesnost v odpovědích.
  • Contrastive Prompts (Kontrastní prompty) – Vytváření promptů, které explicitně uvádějí, co model nemá dělat nebo jaké chyby by se měly vyhnout. Tím se zlepšuje schopnost modelu rozlišovat mezi správnými a nesprávnými odpověďmi nebo přístupy.
  • Analogical Prompting (Analogické promptování) – Použití analogií k nasměrování modelu k řešení problémů nebo generování odpovědí. Tento přístup využívá schopnosti modelu k abstraktnímu myšlení a aplikaci znalostí z jedné oblasti na jinou.
  • Retrieval Augmented Generation (Generování s podporou vyhledávání) – Tato metoda kombinuje generování obsahu s vyhledáváním informací. Model nejprve vyhledá relevantní informace z databáze nebo internetu a poté tyto informace využívá pro generování odpovědí nebo obsahu.
  • Automatic Reasoning and Tool-use (Automatické usuzování a používání nástrojů) – Tato technika zahrnuje použití logického usuzování a externích nástrojů (například kalkulaček, map nebo databází) pro řešení úloh. 
  • Automatic Prompt Engineer (Automatický inženýr promptů) – Tato metoda se zaměřuje na automatizaci procesu vytváření a optimalizace promptů. Využívá algoritmy strojového učení k analýze a vylepšení efektivity promptů. Cílem je dosáhnout lepších výsledků bez nutnosti manuálního upravování promptů.
  • Active-Prompt (Aktivní prompt) – Active-Prompt je dynamická forma promptování, kde se prompty neustále upravují a adaptují na základě interakce uživatele a odezvy modelu. Tato metoda umožňuje modelu reagovat flexibilněji a poskytovat přizpůsobenější odpovědi.
  • Multimodal CoT Prompting (Multimodální promptování Řetězce úvah) – Tato technika kombinuje více modalit (např. text, obrazy, zvuk) a řetězec úvah pro vytváření komplexních promptů. Tímto způsobem může model zpracovávat a reagovat na úlohy, které vyžadují pochopení a integraci informací z různých zdrojů. To je obzvláště užitečné v situacích, kde je potřeba kombinovat vizuální analýzu s textovým usuzováním.
  • Least-To-Most („Od nejméně po nejvíce“) – Metoda, kde se uživatel postupně vede k řešení složitějšího problému nebo otázky, začínaje od nejjednoduššího aspektu. 
  • Self-Ask („Zeptej se sám sebe“) – Je metoda, kde model AI (jako ChatGPT) generuje vlastní otázky na základě daného tématu nebo kontextu a následně na tyto otázky odpovídá. Tento přístup se využívá k prohloubení analýzy tématu a zlepšení pochopení problému.
  • Meta-Prompt (Meta promptování) – Meta-prompting zahrnuje vytváření promptů, které nejsou přímo odpovědí na konkrétní otázku nebo řešením úkolu. Místo toho se zaměřuje na proces, jak efektivně formovat prompt, který povede k lepšímu nebo vhodnějšímu řešení dané situace nebo úkolu. Tento druh promptování se snaží optimalizovat způsob, jakým jsou úkoly modelu předkládány, aby se zvýšila pravděpodobnost, že výstup bude užitečný a relevantní.
  • Symbolic Reasoning (Symbolické uvažování) – Tato metoda spočívá ve využití definovaných pravidel a symbolů pro dedukci nových informací nebo výsledků z daných premis. Jde o používání symbolů a abstraktních konceptů pro logické myšlení a řešení problémů.
  • PAL – Prompt, Answer, Learn (Prompt, Odpověď, Učení) – Tato technika je užitečná pro zdokonalování interakce mezi člověkem a AI, zvyšuje efektivitu a přesnost odpovědí AI a pomáhá lépe pochopit, jak AI interpretuje a zpracovává informace.
  • Iterative Prompting (Iterativní promptování) – Tento proces spočívá v opakovaném poskytování zpětné vazby AI a upravování původního promptu na základě této vazby.
  • Sequential Prompting (Sekvenční promptování) – Každý následující prompt staví na informacích nebo odpovědích získaných z předchozího promptu.
  • Reasoning without Observation – ReWOO (Usuzování bez pozorování) – AI řeší problémy použitím logiky a znalostí, aniž by potřebovala konkrétní příklady.

Tipy a postupy pro tvorbu a vylepšování promptů

  1. Přiřaďte roli (Assign Role)
    • „Chovej se jako vinař sommeliér v oblasti degustace vín s více než 12 lety zkušeností v oboru.“
  2. Stylování výstupu (Styling Output)
    • „Texty by měly upoutat pozornost a psát o přínosech.“
  3. Buďte konkrétní (Be Specific )
    • „Shrň tento text na 50 slov.“
  4. Přidejte podmínky (Add Conditions)
    • „Pokud najdeš [text], tak“, „změř se jen na [skupina].“
  5. Poskytněte data (Provide Data)
    • „Zde uvádím několik příkladů: [příklad], [příklad], [příklad], [příklad]“
  6. Spolupracujte, Sdílejte poznatky (Collaborate and Share Insights)
    • „Přečti si následující odstavec a dej mi vědět, jak ho můžeme zlepšit pro lepší pochopení technických detailů.“
  7. Buďte jasní a specifičtí (Be Clear and Specific)
    • „Jaké jsou tři hlavní výhody použití elektrických vozidel oproti vozidlům s benzínovým motorem?“
  8. Používejte celé věty (Use Complete Sentences)
  9. Definujte kontext (Include Context)
  10. Používejte prompty jako vstupní příklady (Use Prompts as Input Examples)
  11. Specifikujte formát výstupu (Specify Output Format)
    • „Výstup zpracuj do tabulky.“
  12. Experimentujte s různými formulacemi (Experiment with Different Phrasings)
  13. Testujte a vylepšujte (Test and Refine)
  14. Zabývejte se krajními případy (Handle Edge Cases)
  15. Vyvarujte se předsudků a nevhodného obsahu (Avoid Bias and Inappropriate Content)