Intervju: Marko Horvat - Pravila za kreiranje upita

Intervju: Marko Horvat - Pravila za kreiranje upita

Inženjering upita je vještina koja se razvija iskustvom i isprobavanjem

Drastično bolji rezultati mogu se dobiti korištenjem Markdown, JSON ili XML oznaka za odvajanje elemenata u ulaznom kontekstu i upitu.

Veliko iskustvo i pogled sa znanstvene strane na umijeće kreiranja kvalitetnog prompta dao nam je docent Marko Horvat sa Zavoda za primjenjeno računarstvo zagrebačkog FER-a.

Koje tehnologije i znanja je potrebno usvojiti kako bi se postao kvalitetan GenAI prompt inženjer?

Da bi se postalo kvalitetan inženjer upita generativne umjetne inteligencije (GenAI prompt inženjer) potrebno je steći specifičan spoj heterogenih računalnih znanja i jezične preciznosti izražavanja, te domenskog znanja o kontekstu u kojem se alat koristi. Iako se na prvi pogled čini da je riječ o jednostavnom unosu teksta, inženjering upita (engl. prompt engineering) zahtijeva daleko više. Zapravo, pretpostavlja razumijevanje kako funkcioniraju veliki jezični modeli model (engl. Large Language Models, LLM), kako strukturirati ulazne podatke da bi se postigao stabilan i poželjan izlaz, te kako prepoznati i ispraviti situacije kada model daje nejasan, nepotpun ili pogrešan odgovor.

S teorijskog aspekta, ključno je osnovno razumijevanje načina rada umjetnih neuronskih mreža i transformerskih dubokih arhitektura.

Potrebno je znati da modeli generativne UI ne razmišljaju, nemaju model fizičkog svijeta i sve što znaju napraviti jest statistički odrediti najvjerojatniji nastavak niza riječi na temelju prethodnih primjera. To nije razmišljanje, a ponajmanje je slično ljudskom razmišljanju. Dakle, alati kao što su ChatGPT, Gemini, Claude, Llama, DeepSeek ili Grok ne razumiju sadržaj već oponašaju jezične obrasce i na taj način mogu proizvesti tekst na prirodnom jeziku koji djeluje uvjerljivo kao da ga je pisao čovjek. Prirodan jezik ili računalni program, modelima je svejedno, radi se o nizu tokena, riječi, iz korpusa za učenje koji oni modeliraju (interno pojednostavljeno predstavljaju) i temeljem ulaznog konteksta od više desetaka tisuća do milijun riječi vlastitim algoritmom generiraju sljedeći nevjerojatniji token ili riječ.

Nadalje, nužno je razviti osjećaj za lingvističku jasnoću, konciznost i formalnu logiku u izražavanju zahtjeva. Dobro oblikovan upit nije samo tehnički točan, nego je i jezično ujednačen, nedvosmislen, strukturiran po logici postupnog navođenja modela prema željenom odgovoru. Tu dolazimo do važnog elementa: vještina pisanja i sposobnost segmentiranja složenih zahtjeva u korake koje je model sposoban pratiti.

Vrlo korisna je i volja za eksperimentiranjem (i strpljivost). S obzirom da isti upit može različito djelovati ovisno o verziji modela, jeziku na kojem se upit definira, temperaturi modela (važan hiperparametar koji upravlja razinom kreativnosti odgovora), pa i o duljini konteksta. Dobar inženjer upita učiti će iterativno, analizirati dobiveni izlaz i na temelju njega poboljšavati sljedeću verziju upita.

Također, važno je poznavanje široke lepeze upravljačkih tehnika ili metoda upita poput chain-of-thought prompting (navođenje modela da razmišlja korak po korak), few-shot i zero-shot learning (davanje primjera unutar upita), te rad s kontekstualnim prozorom, pogotovo kod dužih i višedijaloških zadataka. Izazov je da ovih metoda upita već ima na desetke, i stalno se znanstvenim istraživanjem definiraju novi. Srećom, na internetu postoji više vrlo kvalitetnih i besplatnih izvora za učenje, javno dostupnih na stranicama tvrtki OpenAI, Google, Microsoft, Anthropic i drugih. Primjerice:

  1. https://microsoft.github.io/generative-ai-for-beginners/#/04-prompt-engineering-fundamentals/
  2. https://www.promptingguide.ai/techniques
  3. https://platform.openai.com/docs/examples
  4. https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api
  5. https://www.anthropic.com/engineering/claude-code-best-practices

U domeni programiranja i izrade aplikacija, inženjer upita mora znati i kako integrirati upite u programske skripte i aplikacijske okvire, te pozvati API sučelja svakog modela, predati im ulazne podatke s korisničkim tekstom i skupom hiperparametara koji upravljaju ponašanjem modela, te asinkrono dohvatiti dobivene odgovore.

Koje su najčešće greške koji korisnici rade u kreiranju prompta za AI?

Najčešća greška je korištenje „zero-shot“ upita. Oni jesu najjednostavniji i najkraći, ali daju najlošije rezultate. Ne daju dovoljno konteksta za odgovor. Ne koriste ulančavanje upita, „prompt-chaining“ za proširenje prozora konteksta. Također, ne preciziraju format izlaznog odgovora. Ovisno o formatu ispisa mogu se dobiti drastično različiti rezultati, i po pitanju opsežnosti, ali i kvalitete odgovora. Ali ono što bismo bar svi trebali znati i mogli napraviti, jest definirati ulogu razgovornom agentu prije nego dajemo naredbu.

Drastično bolji rezultati mogu se dobiti korištenjem Markdown , JSON ili XML oznaka (tagova) za odvajanje elemenata u ulaznom kontekstu i upitu. Dapače, bilo kakve oznake koje jednoznačno određuju naredbu, dijelove naredbe, primjere, traženi oblik ispisa, i druge elemente upita, znatno će poboljšati razumijevanje zahtjeva korisnika i konverzacija će brže konvergirati željenom cilju.

Korištenje engleskog jezika umjesto hrvatskog također može pomoći.

Nemojmo zaboraviti da komercijalni agenti u oblaku, pogotovo u besplatnoj verziji, imaju ograničen broj riječi u kontekstu, pa je u dužim konverzacijama često potrebno ponavljati naredbe. Npr. da želite odgovor na književnom hrvatskom jeziku.

I da – nije potrebno reći „Hvala“ na kraju interakcije s agentom, zaista neće poboljšati kvalitetu odgovora. Već početkom 2023. godine napravljena su istraživanja koja to nedvojbeno potvrđuju.

Može li se napraviti neki generalizirani set pravila za kreiranje upita prema više modela generativnog AI-a i ako da, što bi u tim pravilima trebalo biti?

Da, moguće je izraditi opći skup pravila za oblikovanje upita („prompta“) prema različitim modelima generativne umjetne inteligencije.

Ta se vještina naziva inženjering upita (engl. prompt engineering). Riječ je o skupu pravila za pisanje učinkovitih upita, odnosno o oblikovanju i unosu naredbi i podataka u veliki jezični model (engl. Large Language Model, LLM). Korištenjem odabranih pravila inženjeringa upita želimo u što kraćem vremenu dobiti željeni ili barem što bolji rezultat.

Važno je naglasiti da inženjering upita ne predstavlja temeljno ili osnovno znanje kao, primjerice, računalno inženjerstvo, već je to vještina koja se razvija iskustvom, eksperimentiranjem i razumijevanjem specifičnosti svakog pojedinog modela.

S obzirom da se ponašanje generativnih modela ne temelji na statičnim pravilima, nego na stohastičkom izlazu, isti upit može dati različite odgovore u različitim pokušajima. Drugim riječima, stohastička priroda generativne umjetne inteligencije i transformer modela otežava nam razumijevanje mehanizama rada ovih algoritama, jer moramo sustavno i više puta unositi upite da bismo mogli napraviti temeljiti zaključak o pravilima izgradnje optimalnog upita.

Dodatnu složenost donosi činjenica da su današnji razgovorni agenti u velikoj većini složeni informacijski sustavi zatvorenog koda, komercijalni proizvodi koji funkcioniraju kao „crne kutije“

Ne raspolažemo uvidom u njihove interne mehanizme, pa o njihovom ponašanju možemo suditi isključivo na temelju analize poznatog ulaza koji dajemo i dobivenog izlaza. Zato se pravila za oblikovanje upita neprestano razvijaju i mijenjaju. Ono što je danas učinkovito, sutra možda više neće biti, ovisno o novim verzijama modela ili promjenama u njegovim funkcionalnim svojstvima

 

7-Marko-Horvat_cropped.jpg

Marko Horvat:  sa Zavoda za primjenjeno računarstvo na FER-u približio nam je prompt engineering sa stručne znanstvene strane. Kao najčešću grešku korisnika naveo je korištenje “zero-shot” kratkih  upita. Marko je inače VIDIjev autor koji je u broju 224 napisao izuzetni članak o semantičkom webu

 

Ovo je tek jedan od recepata iz naše VIDI AI kuharice

Nastavite s čitanjem ostalih poglavlja i cjelina unutar serijala "VIDI AI kuharica"

Početna prašina oko generativnog AI se donekle slegla i još nas većinom nije zamijenila umjetna inteligencija. No, i dalje je i sve više oko nas, a ti se alati s predznakom AI-a s malo znanja mogu iskoristiti kao nadogradnja vaših poslovnih ili privatnih alata. Zaronili smo u vrlo napućen svijet AI alata i izronili s našom kuharicom u kojoj možete naći gotove recepte ili samo sastojke s kojima uz malo truda vi možete stvoriti svoj recept.

Vezani sadržaj:

  • VIDI AI kuharica - Ima li AI zapravo inteligenciju?

    Današnji modeli AI-a su statistički

    Prvi ugroženi poslovi su oni koji su visoko repetitivni, odnosno temelje se na stalnom ponavljanju istih radnji, uz vrlo ograničenu potrebu za kreativnošću, prosudbom ili interpretacijom.

  • Intervju: Filip Fruk - Kako profesionalci koriste AI

    AI alati za bržu video prezentaciju

  • Intervju: Dinko Reić

    AI već sada rješava probleme koje su radili junior pa i mid developeri

    AI je sjajan alat koji puno pomaže u “jednostavnim stvarima” te naravno debugiranju. Također je  odličan tutor. Kada izgenerira neki kod koji vam nije jasan, pitajte ga da objasni “zašto”. Objašnjava kratko i jasno, s primjerima.

  • VIDI AI kuharica

    Postoje li recepti za AI kuhinju?

    Početna prašina oko generativnog AI se donekle slegla i još nas većinom nije zamijenila umjetna inteligencija. No, i dalje je i sve više oko nas, a ti se alati s predznakom AI-a s malo znanja mogu iskoristiti kao nadogradnja vaših poslovnih ili privatnih alata. Zaronili smo u vrlo napućen svijet AI alata i izronili s našom kuharicom u kojoj možete naći gotove recepte ili samo sastojke s kojima uz malo truda vi možete stvoriti svoj recept.

  • Intervju Lana Dinić - Flagship Pioneering

    Američki biotech fond vidi potencijal u domaćim startupima

    Za startupe je ključno vidjeti na koje se sve načine njihova inovacija može monetizirati, uz dobru ideju koja rješava neki problem i strast bez koje se teško može proći cijeli proces od ideje do uspješne tvrtke.

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.