Automatic Prompt Engineering (APE)

APE je technika, která považuje instrukci za „program“ a optimalizuje instrukci prohledáváním souboru kandidátů na instrukci navržených LLM. Kandidáti LLM jsou obodováni pomocí zvolené skórovací funkce a je vybrána instrukce s nejvyšším skóre. APE je inspirován klasickou syntézou programů a lidským přístupem k promptnímu inženýrství. Syntéza programu je úloha automatického generování kódu z popisu požadovaného chování v přirozeném jazyce. Lidský přístup je proces ručního vytváření instrukcí účinných při použití LLM k vytvoření požadovaných výstupů.

(více…)

Expert Prompting (Expertní promptování)

Expert Prompting je rozšířená strategie pro instruování velkých jazykových modelů (LLM). Předpokládá rozlišeného expertního agenta přizpůsobeného každé konkrétní instrukci. LLM jsou požádány, aby odpovídaly na instrukce podmíněné identitou předpokládaného experta. Jedná se o metodu automatického zadávání pokynů. Identity expertů jsou generovány pomocí učení v kontextu. Vyžaduje napsání několika exemplářů dvojice instrukce-expert. Vygenerované identity expertů jsou shledány jako vyhovující.

(více…)

Self-Reflection (Sebereflexe)

„Self-Reflection“  je proces, kde uživatel formuluje dotaz nebo příkaz tak, aby podněcoval model k introspektivnímu přemýšlení nebo samostatné analýze. Cílem je, aby model přemýšlel o svých vlastních omezeních, možnostech a vnitřních procesech.

Například, když se mě zeptáte: „Jaký typ otázek může být pro tebe náročný zodpovědět?„, vede mě to k tomu, abych přemýšlel a popsal konkrétní situace, ve kterých mohu mít potíže. Toto sebereflexivní cvičení může být užitečné pro uživatele, aby pochopili, jaké otázky jsou mimo moje schopnosti nebo kde by mohli očekávat méně přesné odpovědi. To zároveň poskytuje příležitost pro modely umělé inteligence, aby se „zamyslely“ nad svými omezeními a možnými oblastmi pro zlepšení.

Tento diagram ilustruje architekturu umělé inteligence (AI), která je založena na konceptu sebereflexe a využívá modely strojového učení (označené jako LM, což zřejmě značí „Language Models“ – jazykové modely). Jednotlivé komponenty tohoto systému jsou:

  1. Agent: Celkový systém nebo AI, který se skládá z několika dílčích komponent a interaguje s vnějším prostředím.

  2. Self-reflection (LM): Tato část agenta zpracovává vnější a vnitřní zpětnou vazbu a generuje reflexivní texty. Je založen na jazykovém modelu a slouží k hlubšímu pochopení a integraci získaných zkušeností.

  3. Evaluator (LM): Evaluator posuzuje kroky agenta (akce a rozhodnutí) na základě krátkodobé paměti (Trajectory) a dlouhodobé paměti (Experience). Tato komponenta může pomáhat optimalizovat chování agenta tím, že poskytuje vnitřní zpětnou vazbu na základě předchozích akcí.

  4. Actor (LM): Actor je zodpovědný za provedení akcí v prostředí. Vykonává akce založené na svých zkušenostech a informacích získaných z prostředí (Obs/Reward).

  5. Trajectory (krátkodobá paměť): Sbírá a ukládá nedávné akce a rozhodnutí, které slouží jako základ pro okamžité rozhodování a feedback.

  6. Experience (dlouhodobá paměť): Uchovává dlouhodobé informace a zkušenosti, které pomáhají při formování strategií a rozhodnutí pro budoucí akce.

  7. Environment: Prostředí, ve kterém agent operuje. Agent zde získává pozorování a odměny, které informují jeho rozhodnutí a akce.

Tento typ architektury může být použit v různých aplikacích, jako jsou autonomní roboti, pokročilé chatboty nebo jiné systémy AI, které vyžadují složité rozhodovací procesy a adaptabilitu na základě zpětné vazby z prostředí a vlastních zkušeností.

(více…)

Active Prompting (Aktivní výzvy)

Aktivní podněty využívají aktivní učení založené na neurčitosti pro přizpůsobení velkých jazykových modelů (LLM) různým úlohám. Funguje ve čtyřech fázích. První fází je odhad nejistoty. V této fázi je LLM dotazován k-krát, aby generoval možné odpovědi s mezikroky pro sadu tréninkových otázek. Nejistota každé otázky se pak vypočítá na základě k odpovědí metodou zvanou neshoda. Neshoda měří, jak moc se k odpovědí navzájem neshoduje. Druhou fází je výběr. Pro anotaci jsou vybrány otázky s největší nejistotou. Algoritmus začíná nejistější otázkou a poté vybere další nejistější otázku, která ještě nebyla vybrána. Třetí fází je anotace. Lidé anotují vybrané otázky pomocí lidmi navržené argumentace CoT. Argumentace CoT poskytuje systému LLM další informace o tom, jak na otázky odpovědět. Čtvrtou fází je inference. Pomocí LLM se odvozují odpovědi na otázky. LLM používá nové anotované exempláře ke zlepšení svého výkonu v otázkách.

Aktivní výzva dosahuje nejlepšího výkonu ve srovnání se všemi základními modely. Jedná se o nejefektivnější metodu pro zlepšení výkonu velkých jazykových modelů (LLM) v různých argumentačních úlohách.

Model-guided prompting (Promptování řízené modelem)

Dalším užitečným přístupem je zadávání pokynů modelu, které obrací scénář a dává modelu pokyn, aby se vás zeptal na podrobnosti, které potřebuje k dokončení daného úkolu. Tento přístup minimalizuje hádání a odrazuje model od vymýšlení.

Příklad. Předpokládejme, že pracujete v oblasti cestovních technologií a chcete, aby model umělé inteligence vygeneroval sekci nejčastějších dotazů pro novou funkci cestovních rezervací na vaší platformě. Místo toho, abyste model požádali pouze o „vytvoření FAQ pro novou funkci rezervace“, což by mohlo vést k obecným nebo necíleným otázkám a odpovědím, můžete AI vyzvat následujícím způsobem:

„Potřebuji, abys vytvořil sekci nejčastějších dotazů pro novou funkci cestovních rezervací, kterou právě spouštíme. Můžete se mě zeptat na informace, které potřebujete k jejímu dokončení?“.

ChatGPT se vás pak může mimo jiné zeptat: „Jak se jmenuje nová funkce rezervace cestování?“ a „Jaký je hlavní účel nebo funkce této nové funkce?“.

(více…)

Few-shot prompting (Několik výstřelů)

Několikanásobné výzvy jsou rozšířením jednorázových výzev, kdy je modelu umělé inteligence poskytnuto více příkladů, na jejichž základě se řídí. Koncept je podobný, ale zahrnutí několika příkladů nabízí modelu více kontextových podnětů. To umožňuje modelu lépe porozumět požadavkům uživatele a generovat výstup, který se přesně drží zadaných příkladů.

(více…)

One-shot prompting (Jednorázová výzva)

Zero-Shot Prompting (Promptování bez příkladu)

Přímé výzvy (také známé jako Zero-shot) jsou nejjednodušším typem výzvy. Neposkytuje žádné příklady k modelu, pouze instrukce.

Příklady Zero-Shot promptů podle funkcí, které ChatGPT nabízí:

1. Překlad:

  • Přeložte tuto větu z němčiny do češtiny: „Das Wetter ist heute schön.“

2. Textová odpověď:

  • Jaké je hlavní město Brazílie?

3. Shrnutí:

  • Shrňte následující odstavec do jedné věty: „Charles Darwin byl britský přírodovědec, jehož teorie evoluce a přírodní výběr měly obrovský vliv na biologii. Jeho kniha ‚O původu druhů‘ je považována za jeden z nejdůležitějších vědeckých textů všech dob.“

4. Generování seznamu:

  • Vyjmenujte pět hlavních ingrediencí pro přípravu českého bramborového salátu.

5. Kreativní psaní:

  • Napište krátkou básničku o podzimu.

6. Doporučení:

  • Doporučte knihu pro někoho, kdo má rád detektivní romány.

7. Oprava gramatiky:

  • Opravte gramatické chyby v této větě: „On šel do obchodě a koupil jablka.“

8. Generování kódu:

  • Napište jednoduchou funkci v Pythonu, která vypočítá součet dvou čísel.

9. Vysvětlení pojmu:

  • Vysvětlete, co je to kvantová fyzika.

10. Nápady na projekty:

  • Navrhněte tři nápady na vědecké projekty pro studenty střední školy.

11. Analýza dat:

  • Vysvětlete, jak interpretovat výsledky analýzy rozptylu (ANOVA).

12. Plánování cesty:

  • Navrhněte třídenní itinerář pro návštěvu Prahy.

13. Poradenství:

  • Jak mohu zlepšit svou produktivitu při práci z domova?

14. Technická podpora:

  • Jak mohu vyřešit problém, kdy se můj počítač náhle vypíná?

15. Vyhledávání informací:

  • Kdo vyhrál Nobelovu cenu za literaturu v roce 2020?

16. Logické hádanky:

  • Vyřešte tuto logickou hádanku: „Máte tři krabice, jedna obsahuje jen jablka, druhá jen pomeranče a třetí obsahuje obojí. Krabice jsou špatně označené. Jak můžete pomocí jednoho pokusu určit obsah krabic?“

One-Shots Prompting (Promptování s příkladem)

One-shot výzva ukazuje modelu jeden jasný a popisný příklad toho, co byste chtěli, aby napodoboval.

Příklad:

Napiš báseň o létu.

Báseň 1.:
Slunce září jasně,

teplý vánek vane,
moře volá hlasně,
léto je tu zase.

Báseň 2.:
Pláže volají tě,

Sluneční deštníky stíní.
Horký písek pálí tě,
když na něm tvé tělo leží-.

Úkol: Napiš báseň o podzimu.

Few-Shot prompt (Promptování s několika příklady)

Few-shots výzva ukazuje modelu několik popisných příklad toho, co byste chtěli, aby napodoboval.

Příklad:

Napiš báseň o létu.

báseň 1 :
Slunce září jasně,

teplý vánek vane,
moře volá hlasně,
léto je tu zase.

báseň 1 :
Slunce září jasně,

teplý vánek vane,
moře volá hlasně,
léto je tu zase.

Úkol: Napiš haiku o podzimu.

Prompt Reframing (Přeformulování)

Technika Prompt Reframing (Přeformulování výzvy) je účinným nástrojem v práci s jazykovými modely, jako je Chat GPT. Jejím hlavním cílem je jemně změnit formulaci výzvy, aniž by se změnil její původní záměr. To může vést k vytváření různých odpovědí, které mohou nabídnout nové pohledy na stejnou problematiku. Tato technika je užitečná zejména při hledání různých perspektiv, zlepšování kvality odpovědí a obohacování obsahu.

Technika Prompt Reframing (Přeformulování) je užitečná metoda v oblasti umělé inteligence, která umožňuje jemně změnit formulaci dotazu, přičemž zůstává věrná původnímu záměru. Tato technika může být velmi užitečná pro získávání různorodých odpovědí na stejný nebo podobný dotaz, čímž se obohacuje kontext a poskytují se nové úhly pohledu.

Podrobnější vysvětlení techniky Prompt Reframing

1. Přizpůsobení výzvy při zachování záměru: Prompt Reframing zahrnuje jemné úpravy v zadání dotazu, které umožňují modelu vygenerovat různé odpovědi, přičemž základní záměr dotazu zůstává stejný. To může zahrnovat změnu struktury věty, použití synonym nebo parafrázování.

2. Podpora různorodých odpovědí: Tím, že se dotaz přeformuluje, může model interpretovat úkol různými způsoby a poskytnout různé odpovědi, které odpovídají původnímu záměru. Tato metoda je užitečná zejména při exploraci různých myšlenek a přístupů.

Techniky formulování pro zachování záměru

A. Použití synonym: Použití různých slov nebo frází, které mají stejný nebo podobný význam, může pomoci modelu generovat různé odpovědi. Například místo „Popište výhody práce z domova“ můžete použít „Jaké jsou přínosy práce z domova?“.

Příklad:

  • Originál: „Popište výhody práce z domova.“
  • Přeformulováno: „Jaké jsou přínosy práce z domova?“

B. Parafrázování otázek: Přeformulování otázky tak, aby byla mírně odlišná, ale stále se zaměřovala na stejný hlavní bod, může vést k různým odpovědím. Tento přístup může přinést nové nuance v odpovědích.

Příklad:

  • Originál: „Jaké jsou výzvy spojené s implementací obnovitelných zdrojů energie?“
  • Přeformulováno: „S jakými obtížemi se můžeme setkat při zavádění obnovitelných zdrojů energie?“

C. Změna perspektivy: Změna úhlu pohledu může nabídnout nový kontext pro odpověď. Například místo otázky z obecného pohledu lze otázku položit z pohledu specifické skupiny lidí.

Příklad:

  • Originál: „Jaké jsou dopady klimatických změn?“
  • Přeformulováno: „Jak klimatické změny ovlivňují zemědělce?“

D. Zahrnutí specifických aspektů: Přidání specifických aspektů do dotazu může vést k více zaměřeným a podrobným odpovědím.

Příklad:

  • Originál: „Diskutujte o technologických inovacích posledního desetiletí.“
  • Přeformulováno: „Jaké technologické inovace v oblasti komunikace byly nejvýznamnější za poslední desetiletí?“

Designové pokyny pro přeformulování promptů

Pro zjednodušení promptů byly identifikovány následující principy:

  1. Použití nízkoúrovňových vzorů: Místo termínů, které vyžadují znalosti kontextu, použijte konkrétní vzory očekávaného výstupu.
  2. Seznamování instrukcí: Přeměňte popisné atributy na odrážkové seznamy. Negativní tvrzení převeďte na pozitivní.
  3. Rozdělení úkolu: Rozdělte úkol na více jednodušších úkolů.
  4. Zavedení omezení: Přidejte explicitní textové instrukce k omezením výstupu.
  5. Specializace instrukce: Přizpůsobte instrukce tak, aby přímo odpovídaly zamýšlenému výstupu.