Správně se umělou inteligencí domluvit je strašně důležité. Dobrý prompt znamená výborného univerzálního pomocníka, který může fungovat kdykoli a opakovaně. Není třeba se dobírat výsledku zdlouhavě s nejistým výsledkem. Pojďme se podívat na pokročilejší techniky promptování.
Minule jsme si probrali ty základní techniky. Bylo to postupné dotazování, které je lepší začínat od nejširšího významu a postupovat ke specifičtějším věcem (pravidlo trychtýře). Také dobré je nezabředávat do ztracené konverzace a snažit se z ní ještě něco víc vymáčknout. Raději konverzace smažte a začněte znova na zelené louce. To nejdůležitější ovšem je, že vaše dotazy musí být přesné a srozumitelné. Nejednoznačnosti, předpoklad, že si něco domyslí apod., to je nejrychlejší cesta k výsledku, který opravdu nechcete.
My ale zkusíme dnes postoupit o kus dál. Budeme na výše uvedených základech pokračovat, protože i zde platí, ale rozšíříme to.
Definujte roli
Vytvořte pro AI její roli. Ona pak lépe pochopí, jak má reagovat. Je jako herec. Najednou se napřímí, zajiskří jí v oku, vezme si do ruky scénář a bude hrát přesně to, co chcete. Definice role je jednou z nejobyčejnějších, ale přitom nejúčinnějších technik. Pojďme si dát příklad.
Vysvětli mi ve třech větách, co je litosféra
Litosféra je pevný, vnější obal Země, který zahrnuje zemskou kůru a nejvyšší, pevnou část pláště. Tento skalnatý obal je rozdělen na několik tektonických desek, které se pohybují a interagují na astenosféře, což způsobuje geologickou aktivitu, jako jsou zemětřesení, vulkanismus a horotvorné procesy. Litosféra se skládá jak z oceánské kůry, která je tenká a hustá, tak z kontinentální kůry, která je silnější a méně hustá.
Jsi uznávaný profesor na přírodovědné fakultě. Vysvětli mi ve třech větách, co je to litosféra.
Litosféra je tuhý vnější obal Země skládající se z kůry a části horního pláště, pevně spojených do jednoho mechanického celku. Rozkládá se do hloubky přibližně 100 km pod kontinenty a okolo 50 km pod oceány, kde je tvořena oceánskou kůrou. Tento skalnatý obal je rozdělen do tektonických desek, které se vzájemně pohybují na plastické astenosféře, čímž dochází k geologickým jevům jako jsou zemětřesení, vulkanická aktivita a pohyby tektonických desek vedoucí k tvorbě hor.
Vidíte ten rozdíl? U prvního jsme nedefinovali, kdo náš ChatGPT je, u druhého jsme mu dali roli. Výsledek je jiný. V tomhle případě odbornější. Pojďme si to dát do ještě výraznější extrémální roviny.
Jsi William Shakespeare. Vysvětli mi ve třech větách, co je litosféra
Ah, litosféra, divný pás naší matky Země, který pevně spočívá nad temným a houževnatým mořem astenosféry. Jako rubáš královský, zahrnuje tento plášť zemské kůry a části pláště, rozdělený do tektonických desek, jež tančí a posouvají se ve světovém divadle geologické drámy. Tyto desky se střetávají, rozevírají se a posouvají, způsobujíce zemětřesení, vulkány a vznik pohoří, jakoby ve hře, jež psala sama příroda.
Už chápete, jak moc je tohle důležité? 🙂
Definujte cílovou skupinu
Stejně důležité je to, že definujete, pro koho má být výsledek určen. Je rozdíl, když umělé inteligenci řeknete, aby vysvětlila litosféru jako čtenářům odborného časopisu o geologii nebo jako žákovi šesté třídy. Tohle si už schválně zkuste sami.
Definujte vstup
Řekněte, co je vstupem. Je to text, který mu přímo do konverzačního okna vložíte? Nebo to bude přiložený soubor? A když už to bude text, je důležité mu říct, kde začíná a kde končí.
Tohle pravidlo se často vypouští. Umělá inteligence je natolik inteligentní, že většinou pochopí, kde třeba začíná text, se kterým má pracovat. Jenže není to pravidlo. Nedorozumění předejdete tím, že tento vstup označíte. Dobré bude alespoň na začátku
Příklad:
Za ::: následuje zdrojový text, který uprav do shrnutí o třech větách
::: (zde by byl text)
Ještě lepší je ale definovat odkud kam je ten zdroj.
Příklad:
Mezi >>> a <<< následuje zdrojový text, který uprav do shrnutí o třech větách
>>> (zde by byl text) <<<
Relevantní otázka je, proč používám hned tři symboly. Problémem, se kterým se můžete setkat především ve chvílích, kdy vám AI pomáhá s programováním, je, že dvojité symboly se často vyskytují i v kódech. Typickým a nejrozšířenějším příkladem jsou dvě lomítka, která najdeme v každém URL (https://…). Pokud dáte tři, už je pravděpodobnost babylonského zmatení jazyků malá.
Definujte výstup
Řekněte, jak má vypadat výstup. Chcete výstup jako souvislý text? Nebo snad v odrážkách? Máte výstup nejdřív schválit? Čím přesněji budete definovat to, jak má výstup vypadat, budete spokojenější. A také se vám budou snadněji vychytávat chyby, protože budete moct mít přesné zacílení, kde se vyskytuje problém.
Skládejte
Složené prompty jsou technika, která se hodí, když potřebujete od AI co nejpřesnější a nejrelevantnější odpovědi na složité otázky nebo úkoly. Tyto prompty obsahují obvykle více instrukcí nebo kroků, které pomáhají AI lépe pochopit, co od ní chcete. Může jít o sérii souvisejících otázek, které postupně vedou k detailnějšímu a přesnějšímu výstupu.
Při tvorbě složených promptů je důležité jasně definovat, co od AI očekáváte. Je potřeba specifikovat, jaký vstup má model zpracovat a jak má vypadat výstup. Tím se minimalizuje riziko nejasností a zvyšuje se šance, že dostanete přesně to, co potřebujete. V praxi se často používá postupné ověřování každého kroku, což pomáhá udržet kontrolu nad konečným výsledkem.
Složené prompty se hodí hlavně tam, kde potřebujete hluboké porozumění komplexnímu problému nebo kde je nutné kombinovat informace z více zdrojů do jedné koherentní odpovědi. Jsou skvělé pro vědecký výzkum, technickou podporu, nebo složité akademické či právní dotazy, kde je důležitá vysoká míra detailu a přesnosti. Šedou teorii ozeleníme nejlépe příkladem.
Příklad:
– Mezi >>> a <<< najdeš text, ze kterého vycházej
– Uprav tento text tak, aby se zkrátil na dva odstavce
– Nespisovná slova nahraď spisovnými a uprav text víc tak, aby mu rozuměl i laik
– Až text dopíšeš, zeptej se, zda textu uživatel rozumí. Pokud řekne že ano, rozluč se, pokud řekne že ne, přepiš ho ještě více srozumitelně.
>>> (zde vložte zdrojový text) <<<
Na tomto příkladu vidíte složený prompt, který má několik kroků následující za sebou. Jde vlastně o klasický algoritmus, jak jej známe z programování: If > Else > GoTo… Jenže tady je výhoda, že nemusíme znát žádný programovací jazyk, ale mluvíme normálním jazykem.
Jistě se zeptáte, proč jsou zde odrážky? Nemusí tam být, ale zlepšují přehled v promptu. Snadněji se v něm orientuje a opravuje. Důvod?
Přestože jsou složené prompty velmi užitečné, nesou s sebou i určitá rizika. Pokud nejsou dobře navrženy nebo pokud model úplně nepochopí zadání, může to vést k nesprávným nebo zavádějícím výstupům. Někdy navíc AI zapomíná. V hromádce odrážek provede prvních deset, jedenáctou a dvanáctou zapomene a pokračuje třináctou až patnáctou. Co s tím? Upravit prompt. Zkoušet, Hledat cesty. Často pomůže třeba jen prohození jednotlivých řádek (odrážek) mezi sebou.
Výhody a nevýhody složených promptů
To největší výhodou je, že si vytvoříte prompt, který si můžete uložit a opakovaně ho používat. A on bude dělat přesně to, co potřebujete třeba stokrát. Příklad? Chcete-li vytvořit nějaké kvízové otázky na text do hodin anglického jazyka, můžete mít připravený prompt a jím si udělat desítky či stovky takových kvízů. A lehkou úpravou pak udělat kontrolní věty, požadovat po studentech nalezení chyb apod.
Nevýhodou je, že nad tímto už musíte dlouho sedět a přemýšlet. Ladit, promptovat, upravovat tak, aby výsledek byl dokonalý.
Navíc, komplexní prompty mohou zatěžovat procesory, což může zpomalit odpovědi. Je proto důležité pečlivě zvážit, jak a kdy je použít, aby byly opravdu přínosem a nezpůsobovaly komplikace.
Tím dnes skončíme. Ale neskončili jsme úplně. Techniky promptování pokračují mnohem dál. O tom ale zase příště.
Autor: Jan Čech
Foto: Midjourney / Jan Čech