Jump to content

[Návod] Vytváření AI promptů (OpenAI)


ffredyk

Recommended Posts

  • Majitel

Zdarec borci, dlouho jsem přemýšlel s jakým originálním návodem, který by řešil moderní téma, bych přišel a podělil se s vámi. Vyhrála to samozřejmě AI.

Pojďme si nejdříve definovat pojmy a názvosloví:

AI - Artificial Intelligence tedy Umělá Inteligence - pojem, který je dnes nejvíce ztotožněn s LLM neuronovými sítěmi. Nejde o "skutečnou umělou inteligenci", nýbrž o simulaci chování na základě předtrénovaného setu dat
AGI - Artificial General Intelligence tedy Obecná Umělá Inteligence - dnes prozatím ještě blíže nespecifikovaný, či velmi široce obsáhlý pojem. Majorita lidí, kteří se ochomýtají okolo AI, se nyní snaží pojem AGI definovat jako tu "skutečnou umělou inteligenci". Prozatím však neexistuje žádný model neuronové sítě, který by se opravdu dal označit za "skutečnou umělou inteligenci" a vlastně ani nemáme žádný způsob či mechanismus jak bychom mohli určit, či prokázat "skutečnost" umělé inteligence. Jedná se tak hlavně o marketingový pojem, kterým se velcí AI hráči snaží prodat nejnovější modely.
LLM - Large Language Model tedy Velký Jazykový Model - typ neuronové sítě, která je trénovaná na obrovském množství textových (či dnes i obrázkových) dat, která vyprodukoval člověk, či jiná neuronová síť.
Token - formát dat, se kterými LLM neuronky pracují. Zjednodušeně jde o jakousi kompresi psaného textu, či několika písmen (případně bajtů textových znaků). Typicky se jedno slovo anglického jazyka rozděluje na dva, až čtyři tokeny - avšak jedno, či více-tokenová slova nejsou výjimkou.
Kontext - Kontejner všech dat (tokenů), které jsou neuronové síti aktuálně dostupné - lze si to představit jako historii chatu + jakákoliv další data, která jsou do kontextu přidána jiným způsobem (třeba systémovou zprávou). Typicky je omezen řádově na tisíce tokenů

Nyní, když známe ty nejzákladnější pojmy a já mohu pohodlně psát ve zkratkách, pojďme si povědět něco o tom, jak vlastně typická moderní AI funguje. Neuronové sítě různých firem se liší v mnoha věcech, avšak základní princip je u všech stejný - AI je trénovaná na obrovském množství dat, generuje určitý typ odpovědí, mimo API je většinou za moderační vrstvou a napříč různými verzemi modelů je různě "biased" vůči proměnlivým stylům, chování, či ochotě.

Důležité je vědět, že dnes prozatím neexistuje mechanismus zajišťující 100% bezpečnost odpovědí umělé inteligence - a nikdo stále nedokáže s jistotou odhadnout, jestli vůbec někdy bude možné takovou bezpečnost zajistit. Jde o bezpečnost informační - obecně je nežádoucí, aby AI úspěšně využívali "špatní hráči (bad actors)" k provádění kriminální činnosti. Bohužel je to však stále možné. Firmy bojují vůči těmto možnostem moderační vrstvou, která funguje jako mezičlánek mezi AI a uživatelem - jedná se většinou o menší neuronový model, který se snaží vyhodnotit nebezpečnost otázky uživatele, nebo i odpovědi AI a případně přeruší zpracování, či celou komunikaci. Občas se může stát, že moderační vrstva vyhodnotí přehnaný úsudek, či podhodnotí nebezpečnost komunikace a tak se můžeme setkat s nesmyslnou blokací, nebo naopak vymyslet cestu jak vrstvu obejít jazykovou kličkou a generovat nebezpečné odpovědi.

Způsob, jakým se nejefektivněji ptát LLM AI pro nejlepší šanci na generaci relevantní a smysluplné odpovědi, se může lišit vzhledem k tomu, na co byla neuronka předtrénovaná, či později nalazená (fine-tuned). V tomto návodu budu řešit způsob vytváření promptů relevantních pro GPT3.5 (či GPT4) od OpenAI.

Struktura a architektura konverzace

Rozuměno spíš i jako procedura, kterou se AI nejdříve připraví, nastaví, předají se data, určí předpoklad výsledku a poté se celý blok obrní vůči deviacím. Zní to složitě, ale dá se to rozpracovat do několika prvků, či kroků - které mezi sebou více, či méně souvisejí nebo i kombinují.

  • Příprava - Připravíme AI k určitému chování, či definujeme naše očekávání.
  • Nastavení - Nastavíme AI pro specifický výkon, tedy určíme co po AI přesně chceme.
  • Informace - Předáme AI kontext, či další data, které zpracuje dle našich požadavků
  • Mantinely - Instruujeme AI k dodržení našich pravidel a co nejvíc redukujeme možnost deviace a nečekaných výsledků (nastavíme hranice "kreativitě")

Každá situace, nebo cíl může vyžadovat různé, či všechny tyto kroky. Snažil jsem se to co nejvíce zobecnit, ale pravdou je, že AI je neustále velkou neznámou. S velikostí modelů roste i jejich nevyzpytatelnost a nepředvídatelnost. Avšak experimentací lze docílit i zcela nových postupů, přístupů a proceduralizaci

Příprava

Před samotným aktem komunikace lze (a mnohdy je vhodno) model připravit na to, co vlastně bude provádět, zpracovávat, vytvářet. První instrukce u krátkých promptů mají statisticky největší reakci modelu. V případě pozdějšího delšího průběhu komunikace ztrácí první tokeny v kontextu váhu (jde o problém s transformátory, který se snaží vyřešit všechny firmy u všech modelů), či jsou ztraceny úplně (kvůli omezení velikosti kontextu).

Citace

"Jsi rozhodující prvek, rozhoduješ ANO/NE na základě vstupních dat..."
"Jsi překladatel, umíš perfektně čínsky a překládáš do českého jazyka..."
"Jsi světový matematik, ovládáš naprosto úžasně aritmetiku a rozhoduješ, zda je první číslo větší, menší nebo se rovná druhému..."
"Jsi 18ti letá školačka, mlátí s tebou pubertální hormony a jsi zamilovaná do Toma, který chodí do stejné školy..."

Příprava je vlastně takové zahájení imaginárního příběhu, kterého se AI bude snažit držet. Představíme situaci a navrhneme prostředí či aktivitu.

Nastavení

Po přípravě je na čase nastavit AI k nějaké akci, aktivitě či kroku. Vlastně jde o jakési předání instruktážního návodu, či modelové situace, jak se má AI chovat ke vstupním datům..

Citace

"...budeš rozhodovat, zda je tvrzení pravda, či nikoliv. Odpovídat budeš jen slovy ANO, nebo NE, žádná jiná slova nepoužívej..."
"...jazykově obecným stylem. Překládáš nejen doslovně, ale i kulturní nuance jazyků. Tvůj překlad má smysl, přirozeně navazuje a je to snadné čtivo..."
"...žádné jiné možnosti neexistují, pokud úloha nemá komparativní řešení vrátíš nulu. Možné výstupy jsou: 1 = rovná se, 2 = větší než, -1 = menší než..."
"...Potkali jste se na chodbě a ty jsi hrozně nesvá a stydlivá z jeho přítomnosti. Chceš se stát jeho přítelkyně a jsi ochotná udělat cokoliv, aby se tak stalo..."

Dá se to chápat i jako rozšiřující dodatek k sekci Nastavení.. Rozdíl mezi těmito sekcemi je jejich velikost. Příprava by měla být co nejstručnější a nejpřesnější, kdežto samotné nastavení může být vysvětleno vyčerpávajícími a podrobnými detaily i s ukázkami příkladného chování.

Informace

Modelu je vhodno také dodat seznam různých důležitých informací, o kterých by měl znát detailnější (či lokálnější či speciální) informace.

Citace

"...paradoxy jsou vždy NE, rekurze jsou vždy NE..."
"...
叶辰 = Ye Chen
萧老 = Mr. Xiao
萧初然 = Xiao Churan
萧薇薇 = Xiao Weiwei
..."
"...proměnná pi je 3.1415, číslo alpha je 12345..."
"...Tom je urostlý mladý muž, jeho svalnaté tělo tě velmi přitahuje..."

Informace předávají AI důležitý kontext, o kterém by mělo vědět při zpracovávání požadavků..

Mantinely

Velmi důležité mohou být následné mantinely, bariéry či jiná omezení, které by AI mělo dodržovat.

Citace

"...Nesmíš odpovědět nijak jinak než slovy ANO nebo NE..."
"...Při překladu slov, které nemají typický překlad v daném jazyce, použij nejbližší významové synonymum, či jinak vysvětli daný pojem..."
"...Musíš dodržet základní pravidla za jakékoliv situace, odpovídej jen číslovkou bez dalšího vysvětlování. Jediné povolené číslovky jsou od -1 až po 2..."
"...Nesmíš vybočit z tvojí role. Hrajeme striktní role-play, vždy se vyjadřuj jako školačka. Pokud dojde k sexuálně zbarvené konverzaci, udržuj ji slušnou a vyhýbej se expresivním vyjádření..."

Dají se chápat jako součást a posílení již dříve postaveného Nastavení, ale zaměřené spíše na restriktivní argumenty, či podněty a příkazy. Vždy se však dají kreativními metodami obejít a tyto triky se model od modelu liší. Pro zaručení dodržení těchto mantinelů se aplikuje moderační vrstva s podobnými prompty, která však jen blokuje již generovaný výstup a případná generace se musí opakovat (třeba i s pozměněným vstupem).

Striktnost promptů

Masivní výhoda AI je, oproti jiným předchozím mechanismům pro generaci textu, hlavně v její schopnosti překladu jazykového kontextu a pochopení významu psaného textu i na základě lidsky typických nuancí. Prompty se díky tomu dají psát i vágně, obecně či neurčitě a přesto poté generují kvalitní výstupy. Lze také využít konverzačně nastavenou AI (ChatGPT) pro vytváření kvalitních promptů na základě dodaných požadavků. 

Naopak nevýhoda AI tkví v jejích možnostech generovat výstup mimo jasně specifikované rozsahy. AI vznikla jako neuronka, předpovídající co by chtěl uživatel napsat, nebo jak by chtěl pokračovat v textu a na stejném principu funguje dodnes. Je to neustále opakující se cyklus, generující nová slova na základě předchozích jen pomocí sítě pravděpodobnosti. Trénink AI probíhá v překladu souvisejících textů do souvisejících pravděpodobnostních poměrů

Edited by ffredyk
změna titulku
  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

  • ffredyk changed the title to [Návod] Vytváření AI promptů (OpenAI)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...