Jak fungují prompty?

„Prompty“ pro AI: klíč k lepším odpovědím. Více kontextu znamená lepší výsledky.

napsal Zdeněk Valut

Na úvod si pojďme říct, že odpověď na tuto otázku je o dost komplikovanější, než se může na první pohled zdát. Začněme trochou teorie, bez které se neobejdeme.

„Prompt“ je termín používaný pro počáteční instrukci nebo informaci, kterou uživatel poskytuje modelu umělé inteligence, jako je například ChatGPT. Prompt může být jakýkoli druh vstupu, například otázka, výrok, nebo dokonce úryvek z příběhu. Na základě tohoto promptu model generuje svou odpověď.

Představte si to jako zadání pokynů k počítači. Například, když chcete vyhledat něco na internetu, zadáte do vyhledávacího pole klíčová slova – to je váš prompt. Poté vyhledávací engine generuje odpovědi právě na základě tohoto promptu.

Když zadáte prompt do ChatGPT, model se podívá na tento vstup a pokusí se generovat co nejrelevantnější a nejpřesnější odpověď nebo pokračování. To dělá tak, že „rozumí“ kontextu promptu a pak generuje odpověď, která je s ním stylisticky a tematicky konzistentní. Pracuje tedy na základě pravděpodobnosti, kdy předpovídá, s jakou pravděpodobností bude následovat další výstup.

Důležité je se na prompty nedívat jako na něco s jedním využitím. Každý prompt lze rozdělit na klíčové části a ty se potom dají aplikovat na mnoho dalších příkladů. Pokud se vám prompt osvědčil, můžete na jeho základě vybudovat prompt složitější. Pojďme si ukázat úplně základní příklad.

Prompt: „Můžeš přeložit slovo „snímek“ v kontextu natáčení filmu do angličtiny?“

Máme zde tři proměnné, které lze libovolně upravovat dle potřeby. Pokud je tedy nahradíme zástupným textem, bude obecný prompt pro budoucí využití vypadat následovně:

Prompt: „Můžeš přeložit “[slovo/fráze]” v kontextu [kontext] do [cílový jazyk]?

To mě přivádí k dalšímu tématu, a to je zadávání obecně. Nespoléhejte se pouze na model samotný a jeho data, na kterých byl cvičen. Pokud můžete, vždy mu poskytněte vaše vstupy k dokreslení situace. Zároveň uvádějte kontext a specifikujte mu podobu výstupu, kterou si přejete dostat. Dosáhnete tak mnohem lepších výsledků.

I když základ ChatGPT v podobě jazykového modelu má časové omezení v podobě aktuálnosti dat, současná placená verze s možností browsingu, tedy připojení k internetu, tento problém již nezná. Zajímavé v tomto případě je, že samotný model určitě nepřišel o svůj účel. ChatGPT se připojuje na internet chytře a pouze v případě, kdy mu aktuální informace opravdu chybí. Kombinuje tak efektivně robustnost jazykového modelu a aktuálnost dostupných dat online. Důvod, proč to zmiňuji, je ten, že řada uživatelů přistupuje k promptování a používání ChatGPT obecně jako k vyhledávači. Je to pochopitelné, ale kontraproduktivní. ChatGPT není webový vyhledávač, ale jazykový model a v případě, že s ním nebudete dle toho pracovat, ochuzujete se o kvalitní výstupy, které by vám mohl vracet.

Závěrem bych rád ještě zmínil téma sekvenčního promptování, které se zadáváním dotazů úzce souvisí. Funguje tak, že namísto toho, abychom zadali prompt celý, zadáme nejprve kontext a až poté budeme požadovat odpověď. Čím více kontextu, tím lepší jsou i odpovědi. Věřím, že vám to pomůže k lepší práci s ChatGPT a budete získávat takové výstupy, které vám nejen pomůžou, ale často vás i ohromí.