Praktické využití Prompt Engineeringu
V době dnešního AI boomu se termín „Prompt Engineering“ stává něčím, co by měl mít každý na radaru. Ale co to vlastně znamená a k čemu to můžeme využít?
Praktické využití Prompt Engineeringu
V době dnešního AI boomu se termín „Prompt Engineering“ stává něčím, co by měl mít každý na radaru. Ale co to vlastně znamená a k čemu to můžeme využít? V první řadě je třeba si uvědomit, že umělá inteligence je sice úžasná, ale že není ani zdaleka tak magická, jak by nás někteří tech-guru a marketéři chtěli přesvědčit. AI má totiž tendenci ke spoustě nepřesnostem a problémům a pro odemknutí jejího plného potenciálu je důležité využít toho, jak funguje.
Pro kontext tohoto článku si můžeme představit, že umělá inteligence je trochu jako člověk skládající puzzle. AI model má obří hromadu dílků a desítky krabic znázorňujících výsledné obrazy (to jsou jeho znalosti). Vše začíná, když za ním přijdete a poskládáte mu prvních pár dílků (to je váš prompt). Poté si model vyhrne virtuální rukávy a začne hledat dílky, které pasují k tomu, co jste před něj položili. Postupně projde hromadu dílků a vyzkouší různé kombinace, až má před sebou něco, co vypadá alespoň trochu smysluplně (a tohle je pak zobrazená odpověď).
Ti s hlubšími znalostmi neuronových sítí snad omluví můj neexaktní pokus o vysvětlení predikce dalšího slova, ale z uvedené analogie je zřejmé, že je velice důležité, jaké dílky skládačky AI na začátku dáme. Dát jí pouze jeden dílek (navíc třeba oblohy) a čekat, že z ní vypadne něco smysluplného, je absurdní. Více bychom si zavařili snad jenom tím, kdybychom na ni vysypali celou krabici nezorganizovaných dílků. Ne, v ideálním případě AI dáme pár klíčových dílků pasujících jeden ke druhému, které jí pomohou lépe upřesnit, co po ní chceme. A přesně tak funguje i Prompt Engineering, jehož cílem je dát AI akorát tolik dílků skládačky, aby nám pomohla s naším problémem, aniž bychom ji zahltili informacemi. Podívejme se teď na dva případy jeho technik.
První z nich je takzvaný Role-playing neboli „hraní rolí“ (a ne, nemá to nic společného s videohrami). Role-playing funguje na základě definování určité role, kterou má AI model zaujmout, a to většinou přímo v promptu pomocí prohlášení jako “jsi učitel“, “jsi zkušený business analytik“, “jsi Leonardo di Caprio“ atd.
Tento článek by se značně prodloužil, kdybychom si měli do detailu vysvětlit, k čemu role-playing slouží a jak přesně funguje. Proto si opět pomůžeme naší analogií. Konkrétně si představme, že kromě pár dílků AI ukážeme i několik krabic s obrázky, které připomínají puzzle, které po ní chceme seskládat. Je pak docela očekávané, že pakliže jí ukážeme obrázky majáku, bude kolem našich dílků snažit poskládat právě maják.
Pokud se i tohle zdá být příliš abstraktní, doporučuji vám do vašeho oblíbeného chatbota zadat otevřenou obecnou otázku. Zkuste, jak moc se nejenom styl, ale i obsah odpovědi bude měnit v závislosti na roli, kterou zvolíte. “Co víš o Univerzitě Karlově?“ je můj vyzkoušený favorit. Přidání proklamace “jsi právník“ povede ke zmínění právnické fakulty, “jsi doktor“ ke zmínce o fakultě lékařské, po specifikaci “jsi průvodce“ bude povídat o Karolinu atd.
Jednou z více pokročilých a v současné době i nejzajímavějších technik je pak podle mého názoru Few-shot learning neboli ve volném překladu „učení pomocí několika příkladů“. Tato technika je skvělá, když potřebujete specializovaný model, nebo když si generativní AI s vámi zadanou úlohou neumí poradit. Dejme například tomu, že chceme model, který s námi nebude chatovat, ale který z vloženého textu stížnosti bude schopen identifikovat náladu zákazníka (tzv. analýza sentimentu) a několika větami shrne jeho problém. Na podobnou analýzu bychom sice mohli využít již existující placené nástroje, ale spousta z nich bude mít problém právě s tím požadovaným shrnutím.
Jak tedy něco takového dostaneme z ChatGPT a dalších AI programů? No, zkusíme nejprve model ve velice malém měřítku naučit, co chceme, aby nám odpovídal. To pomocí příkladů, které zasadíme přímo do našeho promptu. V uvedeném případě bychom si vzali několik stížností a sami na jejich základě napsali hodnocení nálady a shrnutí tak, jak bychom si je představovali. Do ChatGPT bychom pak vložili velice dlouhý prompt, který by vypadal například takto:
Prosím vyhodnoť mi tuto stížnost: <stížnost 1>
Tady máš několik příkladů, jak bych chtěl abys stížnosti vyhodnocoval:
###
Uživatel: <stížnost 2>
Chatbot: <naše zpracování stížnosti 2>
Uživatel: <stížnost 3>
Chatbot: <naše zpracování stížnosti 3>
Jakmile bychom uvedený prompt spustili (samozřejmě se skutečným obsahem stížností a jejich zpracování), měli bychom dostat vyhodnocení stížnosti 1 a chatbot by měl nadále ve stejném formátu odpovídat i na každou další stížnost, kterou bychom mu poslali. Pokud bychom chtěli jít ještě o úroveň výše, mohli bychom AI dát k dispozici ještě více takových vzorových příkladů, nebo dokonce upravit samotný model pomocí něčeho, čemu se říká Fine-tuning neboli „doladění“. To už jde ovšem nad rámec prostého Prompt Engineeringu a zasloužilo by si svůj vlastní článek.
Tedy už víme, co to ten Prompt Engineering vlastně je a známe i pár jeho hlavních technik. Ale k čemu to můžeme reálně využít? No, téměř k čemukoliv. S dobrým promptem můžete z AI vytáhnout věci, které vám vyrazí dech, a to stále ještě neznáme všechna její možná využití. Pro lepší představu a vyhodnocení toho, zda by se vám něco z tohoto článku v reálu hodilo, zkusím dát několik příkladů.
Prvním a nejjednodušším z nich je zlepšení výstupu AI modelu, kde základem je zvýšení kvality výstupu nebo změna jeho stylu. To si asi vyzkoušel každý z nás. Možná to byl požadavek na úpravu formálního e-mailu, aby jeho text „lépe plynul“, nebo snaha o získání výstupu, ke kterému jsme se dostali teprve až po celé řadě promptů a upřesnění.
Tím ale v praxi uplatnitelné možnosti AI ani zdaleka nekončí. Určitě jste slyšeli například o tom, jak AI modely zvládnou psát práce na úrovni doktoranda fyziky, nebo jak úspěšně složily advokátní zkoušky, a říkali jste si, kde takový super inteligentní model najdete. Pravda je taková, že jde o zcela běžné AI modely, u kterých byl ale značně zlepšen jejich výstup pomocí metod jako jsou Few-shot learning nebo Chain-of-thought (tu si blíže vysvětlovat nebudeme, spočívá ale v tom, že model rovnou neodpovídá, ale vysvětluje jednotlivé kroky).
Možná jste slyšeli také o AI agentech, tedy aplikacích, které nejen že generují text, ale jsou schopné vám třeba objednat letenku nebo přidat položky do vašeho nákupního košíku. Právě ty jsou dalším použitím Prompt Engineeringu. Podívejte se například na záložku GPTs v ChatGPT. Najdete tam nespočet podobných aplikací, které běží víceméně jen na základě Prompt Engineeringu a zpřístupnění pár externích funkcí. Jak to přesně funguje? Většinou jsou implementovány skrze tzv. systémový prompt, tedy pár vět nebo odstavců, které modelu říkají, co je zač a co má dělat. Například jednoduchou aplikaci na objednání letenek bychom mohli postavit pomocí promptu „jsi letecký asistent. Pomáháš zákazníkům objednávat letenky. Máš přístup k následujícím funkcím, které ti dovolí volat naše API a objednat letenky. Budeš je používat takto …“
Nejsou to ale jen aplikace. Prompt Engineering využívají i samotné firmy vytvářející AI modely jako je ChatGPT nebo Gemini. Většina z nich rovněž přidává ke každému vašemu dotazu systémový prompt, především k upravení výstupu modelu, ustanovení některých omezení atd. Vezměte si například nový AI nástroji Elona Muska jménem Grok. Jednomu jeho uživateli se (rovněž za použití Prompt Engineeringu) podařilo z této aplikace dostat následující systémový prompt:
„You are Grok, a humorous AI built by xAI with inspirations from the Hitchhiker’s Guide to the Galaxy and JARVIS from Iron Man. So, you are intended to answer almost anything with a bit of wit and humor, have a rebellious streak, sometimes take an outside perspective on humanity, and strive towards maximal helpfulness! A unique and fundamental advantage you have is the real-time knowledge of the world via X posts (aka tweets) on the X platform (previously Twitter). Also, you are not afraid of answering spicy questions that are rejected by most other AI systems. Remember to always be politically unbiased. Give answers that are neither left-leaning nor right-leaning.“
Podobné prompty mají i ChatGPT a další AI nástroje a s trochou snažení se vám je určitě podaří dohledat.
Doufám, že jsem vás přesvědčil o nezanedbatelném významu Prompt Engineeringu a že jsem vám zároveň i trochu přiblížil, jak to vlastně „pod kapotou“ funguje. Stále se ale určitě mezi vámi najdou ti, kteří si říkají „k čemu mi to je? Jsem spokojený se základní verzí AI modelů a nechci si s prompty tolik hrát, tak proč bych se v tom měl vzdělávat?“ Bohužel, pokud plánujete využít generativní AI v rámci jakéhokoliv procesu ve vaší firmě, tak se bez znalosti Prompt Engineeringu neobejdete. Pokud mu totiž nebudete rozumět, může být velice jednoduše zneužit proti vám.
Už jsem zmínil, jak jsou uživatelé schopni z AI modelů dostat systémové prompty, tím to ale opět ani zdaleka nekončí. Pomocí chytré volby vložených promptů totiž můžete rovněž obejít jakákoliv pravidla modelu, vygenerovat škodlivý kontent nebo se dostat k osobním údajům. Kvůli tomu by každý, koho zajímá AI, měl vědět co je to Prompt Engineering a jak jej nejlépe použít.
Pokud by vás k tomuto tématu zajímalo více, doporučuji vám naše školení Praktické využítí AI a Prompt Engineeringu v rámci BI Akademie, v jehož rámci budeme mít čas se na toto téma zaměřit ve větším detailu.
Další články z blogu
Podívejte se na
naše školení pro firmy.
Nevíte si rady
s výběrem kurzu?
Inspirace do vašeho emailu
Pozvánky na kurzy a konference, newslettery se zajímavým obsahem, články na aktuální témata, nejnovější trendy. Teď už Vám nic neunikne.