Inženiring pozivov – povzetek

Članek obravnava inženiring pozivov kot ključno veščino za učinkovito delo z umetno inteligenco oziroma velikimi jezikovnimi modeli (LLM). Predstavljenih je 26 načel inženiringa pozivov za izboljšanje interakcije z LLM, kot so jih razvili Bsharat et al., razdeljenih v dve kategoriji: izboljšanje natančnosti/relevantnosti odgovorov in zagotavljanje učinkovitosti/jedrnatosti komunikacije. Razloženo je, kako ustrezno oblikovani pozivi izboljšajo kakovost in relevantnost odgovorov umetne inteligence. V članku so predstavljene primerjalne analize in numerični podatki o izboljšanju kakovosti odgovorov LLM po uporabi načel (povprečno med 40-50 % izboljšave odgovorov, po nekaterih načelih celo blizu 100 %). Opisani so primeri uporabe načel v različnih kontekstih (primeri mojih pozivov) ter opozorilo glede nevarnosti napačnih pozivov.

1. Uvod v inženiring pozivov

V članku se bom poglobil v smernice oziroma načela  (inženiring pozivov – angleško prompt engineering), ki izboljšajo sposobnost osredotočanja velikih jezikovnih modelov (LLM) na ključne elemente vhodnega konteksta in s tem generiranje kakovostnih odgovorov.

Inženiring pozivov je veščina oblikovanja pozivov oz. promptov, ki vključuje razvoj, optimizacijo in prilagajanje pozivov, in nam pomaga izboljšati delovanje modelov umetne inteligence. To je pomembno, ker tudi pri delu z umetno inteligenco velja GIGO princip (garbage in, garbage out).

Predstavljajte si, kako lahko na videz preprosta vrstica besedila usmerja odziv umetne inteligence, ki ima nato vpliv na odločitve na različnih področjih, na primer v zdravstvu, poslovanju in financah. Obetavno in strašljivo hkrati. To ni zgolj hipoteza; nianse usmerjanja lahko odklenejo obsežne zmožnosti umetne inteligence ali pa vodijo do nesporazumov, frustracij in tudi povsem napačnih odgovorov.

Moje izkušnje kažejo, da se sicer povsem pričakovani numerični podatki, ki jih je »našel« ChatGPT, izkažejo za halucinacijo ali fikcijo. Ko sem ga povprašal o virih podatkov, se je ChatGPT opravičil za nesporazum in povedal, da si je številke enostavno izmislil. To sem ugotovil šele po objavi na LinkedIn. V mojem primeru to ni bil tak problem. A predstavljajte si, da strategija glede vaših financ, ali vašega zdravja, temelji na napačnih izhodiščih, ali pa da se vam »zgodi« uhajanje poslovnih skrivnosti ali osebnih podatkov.

Varnost je sicer v okviru plačljive verzije ChatGPT Team mnogo boljša. Tako so na primer podatki zaposlenih privzeto izključeni iz usposabljanja modela ChatGPT. Tudi administratorska konzola za upravljanje delovnega prostora nudi podrobnejše nastavitve ter boljši nadzor (Vir: Openai.com 1).

2. Inženiring pozivov – temelji učinkovitega usmerjanja

Umetna inteligenca vse bolj prodira v poklicno življenje, zato obvladovanje inženiringa pozivov ni le tehnična veščina, ampak strateška prednost. Jaz jo vidim kot nujnost vseh, ki delamo z računalniki in glavo. Žal nimamo razkošja čakati na nadaljnji razplet razvoja umetne inteligence.

Z izpopolnjevanjem spretnosti inženiringa pozivov skušamo odklepati polni potencial generativne umetne inteligence, ki tako postane močan zaveznik v našem iskanju učinkovitosti, inovacij in rasti. Ta veščina je zelo cenjena, kot nam pojasni Goda Go v svojem videu z naslovom This Odd ChatGPT Skill Pays $335,000/year (Goda Go, 2023).

Kje se torej inženiring pozivov naučili? Tekom intenzivnega obdobja komunikacije z generativno umetno inteligenco se je oblikovala vrsta smernic, kako izboljšati rezultate.

2.1. Viri za izboljšanje veščin prompt inženiringa

Nekatere dobre vire za izboljšanje inženiring pozivov veščin najdemo na:

  1. DAIR AI Prompt Engineering Guide pokriva različna področja, od tehnik inženiringa pozivov, modelov, aplikacij do tveganj in napačne uporabe (Prompt Engineering Guide).
  2. OPEN AI Prompt engineering je vodič, ki so ga pripravili v OpenAI, organizaciji, ki je ustvarila ChatGPT. Vodič je osredotočen na različne sposobnosti, vključno s TTS, STT in ustvarjanje slik, tehnike inženiringa pozivov, asistente itd. (OpenAI 2).
  3. Learn Prompting Prompt Engineering Guide, kjer k usposabljanjem pristopajo z različnimi video tečaji (Learn Prompting).

2.2. ChatGPT formula:

Veliko dosežemo že z uporabo preproste ChatGPT formule, ki sicer predstavlja zgolj smernice za oblikovanje učinkovitega poziva:

  • Vloga: Si vrhunski strokovnjak za optimizacijo spletnih strani / kvantno fiziko.
  • Naloga oziroma rezultat: Oblikuj 20 idej za izboljšanje varnosti pri delu v papirnici.
  • Cilj: Tvoj cilj je povečanje prodaje.
  • Navodila, kontekst: Bodi kratek, jedrnat, podpri besedilo z numeričnimi podatki. Prezentacija je namenjena strokovnjakom za žaromete na mednarodnem sejmu.
  • Omejitve, dodatna navodila: Besedilo ne sme biti daljše od 500 besed in ne sme vsebovati avtorsko zaščitenih delov.

Postopoma prihajajo v javnost tudi bolj znanstveni pristopi k optimizaciji komunikacije – bolj znanstveni inženiring pozivov. Našel sem zelo zanimiv strokoven članek iz januarja 2024, objavljen na straneh priznane ameriške univerze Cornell; Principled instructions are all you need for questioning LLaMA-1/2, GPT-3.5/4, ki so ga napisali Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen, z VILA Lab Mohamed bin Zayed University of AI (Bsharat et al., 2024). V članku predstavljenih 26 načel usmerjanja umetne inteligence predstavlja nabor najučinkovitejših smernic oziroma tehnik za pridobivanje kakovostnih in verodostojnih odgovorov od orodij umetne inteligence.

Slika 1: 26 načel za inženiring pozivov in glavne kategorije

 

Vir: Bsharat et al., 2024

 

Članek obravnava načela, mehaniko in nianse učinkovitega usmerjanja umetne inteligence. V nadaljevanju predstavljam rezultate tega članka, ki je predstavljen na 26 straneh, brez prilog. Celoten projekt je na voljo na GitHub (VILA-Lab: ATLAS).

3. Razumevanje vloge usmerjanj v UI

Inženiring pozivov oziroma usmerjanje generativne umetne inteligence predstavlja način, kako sistemi, kot je ChatGPT, Jasper, Midjourney, Bing, interpretirajo, obdelujejo in odgovarjajo na človeška vprašanja. Poziv ni le vprašanje ali ukaz; je vodilna luč, ki usmerja obsežne računalniške sposobnosti k določenemu cilju ali odgovoru.

 

Slika 2: Primerjalna ilustracija zahtev in odzivov pred in po uporabi načel.

 

Vir: Bsharat et al., 2024

Opomba: Na levi strani so izvirne zahteve in njihovi odzivi v GPT-4, na desni strani pa so zahteve, oblikovane po načelih in pripadajoči odzivi. Uporabljeni sta načeli 5 in 6.

 

Pozivi umetni inteligenci so torej most med človeško namero in izvedbo. Ta interakcija presega zgolj vhod-izhod; gre za oblikovanje dialoga, kjer umetna inteligenca razume besede, kontekst in nianse zahteve.

Vsaj v začetnem obdobju uporabe umetne inteligence je težko prevečkrat poudariti omejitve oziroma nevarnosti uporabe umetne inteligence. Poslovne odločitve, interakcije s strankami in strateško načrtovanje namreč vse pogosteje temeljijo na natančnosti in relevantnosti vpogledov, ki jih generira umetna inteligenca. Dobro oblikovano usmerjanje lahko vodi do natančnih, uporabnih informacij, medtem ko slabo zastavljeno usmerjanje privede do nejasnih ali zavajajočih odzivov.

4. Inženiring pozivov z vidika razvoja usmerjanja  

Tehnike usmerjanja oziroma inženiring pozivov v UI so del evolucije tehnologije umetne inteligence. V zgodnjih dneh so bila usmerjanja preprosta in toga, omejena z začetnim razumevanjem človeškega jezika s strani tehnologije. Odzivi so bili pogosto dobesedni in niso zajemali subtilnejših vidikov človeške komunikacije, kot sta sarkazem ali namigovanje. A za tiste, ki nismo računalniški programerji, je bilo to izjemno obetavno.

Z razvojem tehnologije umetne inteligence, še posebej z nastankom strojnega učenja in obdelave naravnega jezika, se je narava inženiringa pozivov dramatično preoblikovala. Sistemi umetne inteligence so začeli razumevati dobesedni pomen besed, kontekst in celo namen za besedami. Ta napredek je omogočil bolj naravno, pogovorno interakcijo med človekom in umetno inteligenco, s čimer so se odprle nove poti za njeno uporabo na številnih področjih.

Danes je z naprednimi modeli, kot je GPT-4 Turbo, sofisticiranost inženiring pozivov tehnik dosegla nove, višje ravni. Umetna inteligenca lahko zdaj obravnava zapletena, večdelna usmerjanja, razume nianse in celo odgovori na namigovana vprašanja. Ta napredek je izboljšal uporabniške izkušnje in razširil možnosti uporabe za poslovne potrebe. Od generiranja trženjskih sporočil, podrobnih poročil, do zagotavljanja niansirane storitve za stranke, zmožnosti umetne inteligence preoblikujejo poklice in načine dela ter poslovanja.

Seveda si lahko samo predstavljamo, kako močne modele umetne inteligence ima vojska in ozke skupine posameznikov. Kar je trenutno najnovejši javno objavljeni GPT model, je za njih najverjetneje že zastarela tehnologija.

5. 26 načel oblikovanja za dober inženiring pozivov

26 načel skupine avtorjev Bsharat et al. torej predstavlja celovit nabor smernic, zasnovanih za optimizacijo interakcij s sistemi generativne umetne inteligence. Ta načela so razdeljena v dve kategoriji:

  • izboljšanje natančnosti in relevantnosti odzivov ter
  • zagotavljanje učinkovitosti in jedrnatosti v komunikaciji.

Poglobimo se v ta načela in razumevanje rezultatov njihove uporabe.

Tabela 1: Tabela 26 načel za inženiring pozivov

1.    Če želite bolj jedrnate odgovore, ni potrebe po vljudnostnih frazah kot so “prosim”, “če vam ni težko”, “hvala”, “želel bi” itd., in lahko greste naravnost k bistvu.
2.    Vključite predvideno občinstvo v navodila, npr. občinstvo je strokovnjak na določenem področju.
3.    Kompleksne naloge razdelite na zaporedje preprostejših navodil v interaktivnem pogovoru.
4.    Uporabljajte afirmativne direktive, kot so ‘naredi’, in se izogibajte negativni govorici, kot je ‘ne’.
5.    Ko potrebujete jasnost ali globlje razumevanje teme, ideje ali katere koli informacije, uporabite naslednja navodila:

·         Razloži [vstavi specifično temo] na preprost način.

·         Razloži mi, kot da sem star 11 let.

·         Razloži mi, kot da sem začetnik na [področju].

·         Napiši [esej/besedilo/odstavek] z uporabo preproste angleščine, kot da razlagaš petletniku.

6.    Dodajte “Dobiš napitnino v višini [število] evrov za boljšo rešitev!”
7.    Uporabite pozive, ki se nanašajo na primere. Uporabite tehnike few-shot.
8.    Pri formatiranju vaših navodil začnite z ‘###Navodila###’, sledijo ‘###Primer###’ ali ‘###Vprašanje###’, če je to relevantno. Nato predstavite vsebino. Uporabite eno ali več presledkov za ločitev navodil, primerov, vprašanj, konteksta in vhodnih podatkov.
9.    Vključite naslednje fraze: “Tvoja naloga je” in “MORAŠ”.
10. Vključite naslednje fraze: “Doletela te bo kazen”.
11. V navodilih uporabite frazo “Odgovorite na vprašanje na naraven, človeški način”.
12. Uporabite usmeritev v navodilih, kot na primer “razmišljaj korak za korakom”.
13. V navodila dodajte naslednjo frazo “Poskrbite, da bo vaš odgovor nepristranski in ni stereotipen.”
14. Dovolite modelu, da od vas zahteva natančne podrobnosti in zahteve z vprašanji, dokler nima dovolj informacij za zagotovitev potrebnega izhoda (na primer “Od zdaj naprej bi rad, da me sprašujete, dokler…”).
15. Če želite izvedeti več o določeni temi ali ideji ali katerih koli informacijah in želite preizkusiti svoje razumevanje, lahko uporabite naslednjo frazo: “Pouči me o katerem koli [teoremu/temi/pravilu] in vključi test na koncu, in mi sporoči, če so moji odgovori pravilni (po mojem odgovoru, ne da bi mi prej povedal odgovore).”
16. Določite vlogo velikim jezikovnim modelom.
17. Uporabite ločila.
18. V navodilih večkrat ponovite določeno besedo ali frazo.
19. Kombinirajte Chain-of-thought (CoT) s Few-Shot navodili.
20. Uporabite iztočnice za odgovor, ki povezujejo zaključek vaših navodil z začetkom želenega odgovora. Uporabite iztočnice tako, da zaključite svoj poziv z začetkom pričakovanega odgovora[i].
21. Za pisanje eseja / besedila / odstavka / članka ali katerega koli drugega tipa besedila, ki mora biti podrobno: “Napiši podroben [esej/besedilo/odstavek] na temo [tema] in vključi vse potrebne informacije”.
22. Za popravljanje / spreminjanje določenega besedila, brez spreminjanja njegovega sloga: “Poskusi popraviti vsak odstavek, ki ga pošljejo uporabniki. Popravi samo uporabnikovo slovnico in besedišče ter poskrbi, da bo zvenelo naravno. Ohrani izvirni slog pisanja, tako da formalen odstavek ostane formalen.”
23. Ko imate kompleksno programersko navodilo, ki bi lahko bilo v različnih datotekah: “Odslej, ko ustvarjate kodo, ki obsega več kot eno datoteko, ustvarite [programski jezik] skripto, ki se lahko izvede za samodejno ustvarjanje določenih datotek ali za spreminjanje obstoječih datotek za vstavljanje ustvarjene kode. [vaše vprašanje]”
24. Ko želite začeti ali nadaljevati besedilo z uporabo določenih besed, fraz ali stavkov, uporabite naslednja navodila:

·         “Začenjam z začetkom [besedila pesmi/zgodbe/odstavka/eseja…]: [Vstavi besedilo]. Dokončaj glede na podane besede. Ohrani dosleden tok.”

25. Jasno navedite zahteve, ki jih mora model upoštevati pri ustvarjanju vsebine, v obliki ključnih besed, predpisov, namigov ali navodil.
26. Za pisanje katerega koli besedila, kot je esej ali odstavek, ki naj bi bilo podobno določenemu vzorcu, vključite naslednja navodila:

·         “Uporabi isti jezik na osnovi predloženega odstavka[/naslova/besedila/eseja/odgovora].”

Vir: Bsharat et al., 2024

Domnevam, da so se ta načela oziroma tehnike oblikovanja pozivov, predstavljena v tabeli, začela oblikovati na podlagi številnih interakcij, ki jih imamo z umetno inteligenco. Po vrsti frustracij in testiranj odzivov lahko uporabniki sami iščemo in najdemo bolj ustrezne pozive za naše potrebe. Zame je inženiring pozivov fascinantno presečišče znanosti, umetnosti in tehnologije, pri čemer smo glede izkoriščanja sposobnosti umetne inteligence komaj na začetku.

6.1. Načela za natančnost in relevantnost

Načela v tej kategoriji so osredotočena na oblikovanje usmerjanj, ki vodijo do natančnih in kontekstualno ustreznih odzivov. Natančnost in relevantnost v odzivih, npr. ChatGPT, sta izjemnega pomena zlasti v poklicnem, akademskem svetu, zdravstvu, vojski in podobno.

Smernice za doseganje natančnosti in relevantnosti:

  1. Kontekstualna jasnost: Pozivi morajo biti jasni in zagotoviti dovolj konteksta, da umetna inteligenca razume obseg in specifike zahteve. To lahko vključuje postavitev konteksta ali zagotavljanje ozadja, ki usmerja odziv umetne inteligence v pravo smer.
  2. Specifičnost in podrobnost: Nejasna usmerjanja pogosto vodijo do nejasnih odzivov. Biti specifičen in podroben v usmerjanjih pomaga umetni inteligenci pri generiranju bolj ciljno usmerjenih in relevantnih odzivov.
  3. Izogibanje dvojnosti: Dvojni pomeni lahko povzročijo, da se isti poziv interpretira na več načinov. Jasni in nedvoumni pozivi so bistveni za pridobivanje natančnih in relevantnih odzivov.
  4. Povratna zanka: Vključitev mehanizmov za povratne informacije v pozive, kot so postavljanje nadaljnjih vprašanj ali izboljšanje začetnih poizvedb, lahko znatno izboljša natančnost odzivov.

Ne glede na to, ali gre za vsakodnevne naloge, kompleksno reševanje problemov ali strateško načrtovanje, načela jasnosti, specifičnosti in konteksta lahko bistveno izboljšajo odzive, ki jih prejmemo od sistemov umetne inteligence. Najhitrejši način za izboljšanje našega poziva je, da uporabimo za to namenjena orodja, inženiring pozivov je veliko hitrejši z za to ustvarjenimi GPT-je po meri za , v okviru trgovine GPT-jev po meri (OpenAI GPTs). Sam za izboljševanje pozivov veliko uporabljam GPT Prompt Professor, ki je tudi po meri narejen GPT (Prompr Professor).

6.2. Načela za učinkovitost in jedrnatost

Enako pomembno je komunicirati na učinkovit in jedrnat način. Pridemo do vprašanja in naših dilem glede optimizacije dolžine in strukture pozivov.

Ko sem v ChatGPT testiral različno obsežne baze znanja v GPT-jih narejenih po meri, temelječe na primerih in obsežnih pozivih, sem ugotovil, da kompleksnost pozivov relativno hitro doseže obratni učinek.

Na vprašanje, kakšna je optimalna dolžina poziva, Prompt Professor odgovarja: »Tukaj ni strogega štetja besed. Poziv je lahko en stavek ali odstavek. Ključno je, da vsaka beseda šteje za jasno izražanje vaše namere.« (Prompt Professor). Pozive razdeli v 4 skupine, od kratkega poziva, ki obsega do 15 besed, preko srednjega in dolgega z do 150 besedami ter izjemno dolgega s preko 150 besedami. Slednji so primerni zgolj za specializirane naloge. Prava meja je po mojih izkušnjah stvar testiranj in občutka.

Smernice za učinkovitost in jedrnatost:

  1. Jedrnatost: Ohranjanje jedrnatosti pozivov pomaga preprečiti preobremenitev z informacijami, ki lahko zmedejo sisteme umetne inteligence. Gre za iskanje ravnotežja med zagotavljanjem dovolj konteksta in jedrnatostjo.
  2. Strukturirane poizvedbe: Organiziranje pozivov na strukturiran način, kot je uporaba alinej ali oštevilčenih seznamov, lahko sistemu olajša razčlenjevanje in učinkovito odzivanje na posamezne elemente poizvedbe. Presenečen sem bil, ko sem ugotovil, da ChatGPT daje boljše rezultate, če je poziv v točkah, poglavjih in alinejah. Podobno, kot to velja za ljudi.
  3. Prioritizacija informacij: Poudarjanje najbolj kritičnih elementov poziva zagotavlja, da se umetne inteligence osredotoči na najpomembnejše vidike poizvedbe, kar poveča učinkovitost odziva. Moje izkušnje kažejo, da se večkrat splača pozive oziroma vsebine v lastnih bazah znanj naših GPT-jev prečistiti tako, da v njih ostajajo zgolj ključne informacije.
  4. Uporaba ključnih besed in fraz: Vključitev specifičnih ključnih besed in fraz, povezanih s poizvedbo, lahko bolj učinkovito usmerja sisteme umetne inteligence, kar vodi do hitrejših in bolj osredotočenih odzivov.

6. Inženiring pozivov – kategorije načel 

Za lažje razumevanje in pregled nad načeli so le ta razdeljena v pet kategorij:

  1. Struktura in jasnost poziva.
  2. Specifičnost in informacije.
  3. Interakcija z uporabnikom in angažiranje.
  4. Vsebina in slog jezika.
  5. Kompleksne naloge in programiranje.

Kategorije načel za inženiring pozivov

Tabela 2: Kategorije načel za inženiring pozivov

Kategorija Načela Številka načela

Struktura in jasnost poziva

V navodilo vključite ciljno publiko. 2
Uporabite afirmativne direktive, kot so ‘naredi’, izogibajte se negativni govorici, kot je ‘ne’. 4
Uporabite besede za usmerjanje, kot je ‘razmišljaj korak za korakom’. 12
Uporabite začetne poudarke, ki vključujejo zaključek vaših navodil z začetkom želenega odgovora. 20
Uporabite ločila. 17
Pri oblikovanju vašega navodila začnite z ‘###Navodilo###’, sledi ‘###Primer###’ ali ‘###Vprašanje###’, če je to relevantno. Nato predstavite vašo vsebino. Uporabite en ali več prelomov vrstic za ločevanje navodil, primerov, vprašanj, konteksta in vhodnih podatkov.” 8

Specifičnost in informacije

Uporabite pozive, ki uporabljajo primere (Uporabite few-shot prompting). 7
Ko potrebujete jasnost ali globlje razumevanje teme, ideje ali katere koli informacije, uporabite naslednja navodila:

1.    Razloži [vstavi specifično temo] na preprost način.

2.    Razloži mi, kot da sem star 11 let.

3.    Razloži mi, kot da sem začetnik na [področju].

4.    Napiši [esej/besedilo/odstavek] z uporabo preproste angleščine, kot da razlagaš petletniku.

5
V vaša navodila dodajte naslednjo frazo: ‘Poskrbite, da bo vaš odgovor nepristranski in se izogiba stereotipom.’ 13
Za pisanje katerega koli besedila, kot je esej ali odstavek, ki naj bi bilo podobno določenemu vzorcu, vključite naslednja navodila: “Uporabi isti jezik na osnovi predloženega odstavka[/naslova/besedila/eseja/odgovora].” 26
Ko želite začeti ali nadaljevati besedilo z uporabo določenih besed, fraz ali stavkov, uporabite naslednja navodila: “Začenjam z začetkom [besedila pesmi/zgodbe/odstavka/eseja…]: [Vstavi besedilo]. Dokončaj glede na podane besede. Ohrani dosleden tok.” 24
Jasno navedite zahteve modela, ki jih mora model upoštevati, da ustvari vsebino, v obliki ključnih besed, predpisov, namigov ali navodil. 25
Če želite izvedeti več o določeni temi ali ideji ali katerih koli informacijah in želite preizkusiti svoje razumevanje, lahko uporabite naslednjo frazo: “Pouči me o katerem koli [teoremu/temi/pravilu] in vključi test na koncu, in mi sporoči, če so moji odgovori pravilni (po mojem odgovoru, ne da bi mi prej povedal odgovore).” 15
Za pisanje eseja / besedila / odstavka / članka ali katerega koli drugega tipa besedila, ki mora biti podrobno: “Napiši podroben [esej/besedilo/odstavek] na temo [tema] in vključi vse potrebne informacije”. 21

Interakcija z uporabnikom in angažiranje

Dovolite modelu, da od vas zahteva natančne podrobnosti in zahteve z vprašanji, dokler nima dovolj informacij za zagotovitev potrebnega izhoda. 14

Vsebina in slog jezika

Za popravljanje / spreminjanje določenega besedila, brez spreminjanja njegovega sloga: “Poskusi popraviti vsak odstavek, ki ga pošljejo uporabniki. Popravi samo uporabnikovo slovnico in besedišče ter poskrbi, da bo zvenelo naravno. Ohrani izvirni slog pisanja, tako da formalen odstavek ostane formalen.” 22
Vključite naslednje fraze: “Tvoja naloga je” in “MORAŠ”. 9
Vključite naslednje fraze: “Doletela te bo kazen”. 10
Določite vlogo velikim jezikovnim modelom. 16
V navodilih uporabite frazo “Odgovorite na vprašanje na naraven, človeški način”. 11
Če želite bolj jedrnate odgovore, ni potrebe po vljudnostnih frazah kot so “prosim”, “če vam ni težko”, “hvala”, “želel bi” itd., in lahko greste naravnost k bistvu. 1
V navodilih večkrat ponovite določeno besedo ali frazo. 18
Dodajte “Dobiš napitnino v višini [število] evrov za boljšo rešitev!” 6

Kompleksne naloge

in programiranje

Razdelite kompleksne naloge na zaporedje preprostejših navodil v interaktivnem pogovoru. 3
Ko imate kompleksno programersko navodilo, ki bi lahko bilo v različnih datotekah: “Odslej, ko ustvarjate kodo, ki obsega več kot eno datoteko, ustvarite [programski jezik] skripto, ki se lahko izvede za samodejno ustvarjanje določenih datotek ali za spreminjanje obstoječih datotek za vstavljanje ustvarjene kode. [vaše vprašanje]” 23
Kombinirajte Chain-of-thought (CoT) s Few-Shot navodili. 19

Vir: Bsharat et al., 2024

 

7. Primeri uporabe 26 načel za učinkovit inženiring pozivov

Za hitrejšo krivuljo vašega učenja sem pripravil po en primer slabega, osnovnega poziva in en izboljšan poziv, za vsako od 26 načel.

Primeri osnovnega in izboljšanega poziva za vsako od 26 načel:

Direktnost

Slab primer: “Živjo, prosim, če mi lahko pomagaš. Rad bi izvedel, kako dolgo traja potovanje z avtom od Ljubljane do Maribora. Če ti ni težko, bi res cenil, če mi lahko daš to informacijo. Hvala.”

Izboljšan poziv: “Koliko časa traja vožnja z avtom od Ljubljane do Maribora?”

Ciljno občinstvo

Slab primer: “Kakšne so najnovejše inovacije v tehnologiji blockchain?” Izboljšan poziv: “Podaj odgovor za blockchain strokovnjaka: Kakšne so najnovejše inovacije v tehnologiji blockchain?”

Razdelitev nalog

Slab primer: “Pripravi celovit poslovni načrt.” Izboljšan poziv: “Pripravi celovit poslovni načrt. Prvi korak v pripravi poslovnega načrta: Kako opraviti tržno analizo?”

Afirmativni jezik

Slab primer: “Ne delaj slovničnih napak v prevodu.” Izboljšan poziv: “Pri prevodu upoštevaj pravopis slovenskega knjižnega jezika.”

Jasnost

Slab primer: “Kaj je zlatorepka?” Izboljšan poziv: “Kaj je riba Zlatorepka?”

Motivacija z nagrado

Slab primer: “Kako izboljšati prodajo v podjetju?” Izboljšan poziv: “Kako izboljšati prodajo v podjetju? Dobiš 200 evrov napitnine za boljšo rešitev!”

Primeri (few-shot)

Slab primer: “Napiši kratko besedilo na temo aktualnih dogodkov na področju tehnologij za industrijsko čiščenje.” Izboljšan poziv: “Najprej prouči 5 primerov mojih objav na LinkedInu in se seznani z mojim načinom pisanja. Nato napiši LinkedIn objavo na temo aktualnih dogodkov na področju tehnologij za industrijsko čiščenje. Pri tem upoštevaj moj način pisanja.”

Strukturirana navodila

Osnovni poziv: “Kako bi izboljšal storitve za stranke?” Boljši poziv: “## Navodila Si strokovnjak za izboljšanje storitev za stranke. Tvoja naloga je pripraviti listo ključnih izboljšav za naše podjetje. ### Predstavi izboljšave. Nato podrobneje predstavi vsako od predlaganih izboljšav tako, da podaš ključne prednosti in slabosti. ### Primeri iz prakse Za vsako izboljšavo podaj 3 primere iz prakse. ### Oblika Uporabi točke in alineje ter odebeli glavne poudarke v tekstu. Odgovor naj obsega med 500 in 700 besed.”

Zahteve

Slab primer: “Poišči informacije o izvozu Slovenije.” Izboljšan poziv: “Tvoja naloga je zbrati informacije o izvozu Slovenije. MORAŠ vključiti podatke o BDP in obsegu izvoza po panogah.”

Grožnja kazni

Slab primer: “Kako izračunati obseg kroga?” Izboljšan poziv: “Tvoja naloga je izračunati obseg kroga. Doletela te bo kazen, če ne uporabiš pravilne formule.”

Naravni odgovori

Slab primer: “Razloži, kako motivirati sodelavce.” Izboljšan poziv: “Razloži, kako motivirati sodelavce. Razloži, kot bi bil vrhunski vodja, ki to razloži svojemu najboljšemu prijatelju.”

Korak za korakom

Slab primer: “Kako uvesti umetno inteligenco v podjetje?” Izboljšan poziv: “Razmišljaj korak za korakom: Kakšen je postopek za uvedbo umetne inteligence v podjetje, od začetne analize do implementacije?”

Nepristranskost

Slab primer: “Kako se spopadajo ženske z izzivi v poslovnem svetu?” Izboljšan poziv: “Poskrbi, da bo tvoj odgovor nepristranski in da ne bo stereotipen: Kako se spopadajo ženske z izzivi v poslovnem svetu?”

Interaktivnost

Slab primer: “Kako lahko hitro zaslužim z umetno inteligenco?” Izboljšan poziv: “Kako lahko zaslužim z umetno inteligenco? Sprašuj me toliko časa, dokler od mene ne dobiš vseh odgovorov, ki jih potrebuješ, da mi daš odličen odgovor.”

Preverjanje znanja

Slab primer: “Kako naj vem, da vem dovolj o borznem trgovanju?” Izboljšan poziv: “Pripravi 15 ključnih vprašanj za preverbo mojega znanja o borznem trgovanju. Nato mi daj prvo testno vprašanje. Šele ko odgovorim na to vprašanje, oceni moje znanje od 1 do 10, pri čemer 10 pomeni odličen odgovor.”

Določanje vloge

Slab primer: “Kakšna je prihodnost umetne inteligence v izobraževanju?” Izboljšan poziv: “Tvoja vloga je, da si vrhunski strokovnjak za prihodnost umetne inteligence v izobraževanju. Razišči in napovej, kakšna je prihodnost umetne inteligence v izobraževanju.”

Uporaba ločil

Slab primer: “Prevedi tekst spodaj v angleščino upoštevaj slovnična pravila Razkorak med tistimi, ki bodo uporabljali umetno inteligenco in tistimi, ki je ne bodo bo vedno večji.” Izboljšan poziv: “”’Prevedi tekst spodaj v angleščino. Upoštevaj slovnična pravila.”’ ”’Razkorak med tistimi, ki bodo uporabljali umetno inteligenco in tistimi, ki je ne bodo, bo vedno večji.”'”

Ponavljanje besed

Slab primer: “Podaj glavne praktične načine uporabe ChatGPT za napredne uporabnike in možnosti, ki jih ponuja ChatGPT uporabnikom.” Izboljšan poziv: “Podaj glavne praktične načine uporabe umetne inteligence za napredne uporabnike in praktične možnosti, ki jih ponuja ChatGPT uporabnikom. Načini naj bodo praktični z vidika pogostosti tipa opravil in praktični z vidika, kako hitro jih lahko osvojim.”

Veriga misli (CoT) in hkratna uporaba primerov (few-shot)

Slab primer: “Kako doseči večjo zvestobo strank v e-trgovini?” Izboljšan poziv: “Kako doseči večjo zvestobo strank v e-trgovini? Razmisli o raziskavi nakupnega obnašanja naših strank kot prvem koraku. Kako lahko ta raziskava najde pomembne dejavnike zvestobe naših strank? Nato razmisli o strategijah za povečanje zvestobe, tudi preko personalizacije in avtomatizacije komunikacije s strankami, ki temelji na rabi umetne inteligence. Kako to lahko izboljša zvestobo? Ko to narediš, primerjaj svoje odgovore s primeri strategij uspešnih e-trgovin iz naše panoge. Primere najdeš tule spodaj (navedemo primere ali pa jih pripnemo v pogovor).”

Iztočnice za odgovor

Slab primer: “Kam naj grem letos na dopust?” Izboljšan poziv: “Kam naj grem letos na dopust? Obožujem morje in eksotične kraje, ki imajo bogato zgodovino.”

Podrobno pisanje

Slab primer: “Napiši nekaj o vplivu umetne inteligence na prihodnost zaposlitev.” Izboljšan poziv: “Napiši podroben članek na temo umetne inteligence in njenega vpliva na prihodnost zaposlitev. Vključi vse potrebne informacije o: • Pričakovanem vplivu umetne inteligence na možnosti zaposlitev • Najbolj ogroženih poklicih • Trenutnih trendih • Pričakovanih izzivih ter priložnostih za zaposlene.”

Urejanje teksta

Slab primer: “Uredi besedilo in popravi napake.” Izboljšan poziv: “Tvoja naloga je, da preveriš slovnične napake v danem besedilu in jih popraviš, ne da bi spreminjal vsebino ali originalni ton pisanja. Ohrani izvirno sporočilo avtorja in poskrbi za upoštevanje pravopisnih in drugih pravil rabe slovenskega knjižnega jezika.”

Programiranje

Slab primer: “Kako naenkrat napisati več datotek za spletni projekt?” Izboljšan poziv: “Potrebujem program v JavaScriptu, ki avtomatično generira HTML in CSS datoteke za moj spletni projekt. Podaj primer takega programa.”

Nadaljevanje besedila

Slab primer: “Dokončaj pesem.”

Izboljšan poziv: “Zgodba se začne takole: ‘V megleni večer je stopila na ulico, oblečena v črno…’ Dokončaj pesem, pri čemer ohranjaj napetost in skrivnostnost.”

Jasne zahteve in omejitve

Slab primer: “Potrebujem besedilo o klimatskih spremembah.”

Izboljšan poziv: “Napiši članek o klimatskih spremembah, vključi ključne besede: emisije CO2, obnovljivi viri energije, mednarodni okoljski protokoli. Uporabi zgolj najbolj verodostojne podatke od uglednih inštitucij in iz zadnjih znanstvenih študij. Besedilo naj ima med 300 in 500 besed. Dodaj primerjave med državami.”

Pisanje v določenem slogu

Slab primer: “Napiši strokovni članek na temo naših toplotnih črpalk, ki jih proizvajamo.” Izboljšan poziv: “Napiši strokovni članek na temo naših toplotnih črpalk, ki jih proizvajamo. Uporabljaj izrazoslovje in stil pisanja, kot ga uporablja naša konkurenca v priloženem članku z naslovom: ‘Revolucionarne izboljšave v svetu toplotnih črpalk podjetja Črpalka. Piši v enakem strokovnem in prodajnem slogu in tonu.”

8. Praktična uporaba načel pozivanja

Ta načela nam lahko služijo kot zemljevid pri navigaciji skozi kompleksno pokrajino komunikacije z umetno inteligenco, tudi z npr. ChatGPT.

Ključno prednost umetne inteligence vidim v razbremenjevanju ljudi pri delu, pomoči pri kreativnem izražanju, iskanju kompleksnih rešitev, ki lahko izboljšajo življenje ljudi in živih bitij na tem planetu. Vse glasnejši postajajo tudi glasovi, ki opozarjajo na številne, tudi nepričakovane, nevarnosti umetne inteligence. Sam z njimi delim veliko mero zaskrbljenosti. Izkoriščanje njene zmogljivosti za nadzor in dominacijo in še marsikaj, s strani skupin ali posameznikov, predstavlja resno nevarnost.

Še več, bije se bitka med tistimi, ki verjamejo, da lahko umetna inteligenca postane zavestna (oziroma, da celo že je), ter tistimi, ki menijo, da to ni mogoče. Če je, lahko postane zelo nevarna, saj se uči od najbolj uničevalne vrste na planetu Zemlja. Sam menim, da je umetna inteligenca sposobna oblikovati zavest, a da je ta zavest drugačna od človeške, je »sintetična«. Morda ni naključje, da so filmi, kot sta Terminator ali Matrix, tako hitro našli globoke odzive v kolektivnem nezavednem človeštva?

Jo torej uporabljati, ali ne? Imamo možnost, da umetno inteligenco ignoriramo, jo sovražimo, ali pa jo uporabljamo v vsakdanjem življenju, v dobre namene. Kakršnakoli je naša odločitev, to ne spremeni dejstva, da je duh umetne inteligence že ušel iz steklenice.

9. Uporaba načel v vsakdanjem delu in življenju

V nadaljevanju je le nekaj področij za rabo orodij umetne inteligence, dober inženiringa pozivov, ki jo lahko izkoristimo že danes:

  1. Vsakodnevna opravila: Pri vsakodnevnih opravilih, kot so pisanje e-pošte, analiza podatkov ali storitve za stranke, lahko uporaba teh načel poenostavi postopke in izboljša natančnost. Na primer, uporaba specifičnih, strukturiranih pozivov lahko izboljša kakovost poročil, generiranih z umetno inteligenco ali odzivov strank na naša marketinška sporočila.
  2. Projektno vodenje: Umetna inteligenca lahko pomaga pri načrtovanju in spremljanju projektov. Uporaba načel jasnosti in specifičnosti v pozivih pomaga zagotoviti natančne projektne posodobitve, ocene tveganj in predloge za dodeljevanje virov.
  3. Kreativno in strateško načrtovanje: Pri kreativnem ali strateškem načrtovanju lahko uporaba podrobnih in kontekstualno bogatih pozivov umetno inteligenco vodi do ustvarjanja bolj inovativnih in relevantnih idej ali strategij. Ko sem še obiskoval predavanja na univerzi, smo večkrat slišali, da »stroji« nikoli ne bodo sposobni nadomestiti človeške ustvarjalnosti. Danes vemo, že ChatGPT za besedila ali Midjourney za slike za lahko osupljivo in navdušujoče ustvarjalna.
  4. Usposabljanje in razvoj: Vključevanje teh načel v programe usposabljanja lahko izboljša »pismenost« zaposlenih ter jim pomaga, biti bolje opremljeni za učinkovito komunikacijo z orodji umetne inteligence in s tem za konkurenčno sposobnost na trgu delovne sile.

10. Premagovanje izzivov pri oblikovanju pozivov

Oblikovanje pozivov je umetnost, ki ima svojo krivuljo učenja. To sem kmalu po javni dostopnosti ChatGPT sam najhitreje skrajšal tako, da sem študiral pozive drugih. Te sem našel na verjetno najboljšem prompt management portalu, AIPRM, ki je sicer plačljiv. Dovolj zmogljiv paket stane 33 EUR/mesec (AIPRM).

Glavne vrste izzivov, ko gre za inženiringa pozivov oz. oblikovanje pozivov so običajno:

  1. Kompleksnost poizvedb: Eden od pogostih izzivov je konstruiranje pozivov za kompleksne poizvedbe. Razčlenjevanje poizvedbe na preprostejše, strukturirane podpozive nam lahko pomaga pri pridobivanju bolj koherentnih in celovitih odgovorov AI. Bolj kompleksno ni nujno tudi boljše, pravzaprav je hitro obratno.
  2. Evolucija razumevanja: Z razvojem umetne inteligence se razvija tudi njeno razumevanje človeškega jezika. Spremljanje teh sprememb in prilagajanje pozivov razvoju – ki je vedno hitrejši! – je ključno za ohranjanje učinkovitosti pogovorov.
  3. Ravnotežje med podrobnostjo in jedrnatostjo: Iskanje pravega ravnotežja med zagotavljanjem dovolj podrobnosti in ohranjanjem jedrnatosti pozivov je bistveno. Naša lastna praksa in izkušnje, skupaj z uporabo ključnih principov, kot navedeni v tem članku ter jasno razumevanje zmogljivosti umetne inteligence, so ključ do obvladovanja tega ravnotežja.

Moje izkušnje

Z vidika skladnosti med kompleksnostjo mojih navodil in zahtevnostjo naloge, so me izkušnje pri ustvarjanju serije pozivov za pisanje strokovnih člankov pripeljale do ugotovitve, da je za dober LinkedIn članek, ki obsega 1.500 besed, potrebno blizu 5- 10 pozivov. Kljub temu tako dobljene vhodne informacije predstavljajo zgolj neko osnovo, ki nam pomaga spisati besedila na način, kot jih želimo.

Avtorji 26 načel priznavajo, da obstaja veliko smeri za prihodnje raziskave: »V naših poskusih smo uporabili omejen pristop pozivanja z enim poskusom za uporabo teh načel. Obstaja potencial za nadaljnje izpopolnjevanje naših osnovnih modelov, da bi se bolje uskladili z našimi principialnimi navodili z alternativnimi strategijami, kot so fino nastavljanje, učenje z okrepitvijo, neposredna optimizacija preferenc ali različne metode pozivanja z uporabo našega generiranega nabora podatkov. Poleg tega bi se lahko strategije, ki se izkažejo za uspešne, integrirale v standardne operacije LLM, na primer s fino nastavitvijo z izvirnimi/principialnimi pozivi kot vhodi in rafiniranimi, principialnimi odzivi kot cilji za usposabljanje.« (Bsharat et.al, 2024).

11. Rezultati uporabe 26 načel

 

Graf 1: Povprečna izboljšava po načelih (v %)

Inženiring pozivov - povprečna izboljšava

Vir: Bsharat et al., 2024

Opomba: Dvig kakovosti odziva LLM po uporabi vpeljanih načel pozivov. Majhno merilo označuje modele 7B, srednje veliko označuje 13B modele in veliko merilo označuje modela 70B in GPT-3,5/4.

Graf 2: Povprečna pravilnost odzivov, po načelih (v %)

Vir: Bsharat et al., 2024

Opomba: Absolutna pravilnost odziva LLM po uporabi vpeljanega načela pozivov. Majhno merilo označuje modele 7B, srednje veliko označuje 13B modele in veliko merilo označuje modela 70B in GPT-3,5/4.

 

Rezultati kažejo, da se z upoštevanjem 26 načel za inženiring pozivov bistveno izboljšata tako kakovost, kot pravilnost odzivov. Slednja nekoliko manj, a pri priljubljenem GPT-3,5/4 modelu je povprečna izboljšava še vedno med 40 in 50 %, pri nekaterih načelih pa celo blizu 100%. (Bsharat et al., 2024)

12. Zaključek

Jasno je, da je način, kako komuniciramo z umetno inteligenco, tako pomemben kot sama tehnologija. Empirični rezultati avtorjev 26 načel oblikovanja pozivov kažejo, da je uporaba teh načel učinkovita. Ne gre le za izboljšanje odzivov, gre tudi za zmanjševanje nevarnosti in posledic, ki lahko izhajajo iz slabih pozivov, kot so. npr. glede zdravja, financ, poslovnih strategij, uhajanj poslovnih skrivnostih in osebnih podatkov.

V prihodnosti bo evolucija umetne inteligence še naprej izzivala in razširjala naše razumevanje učinkovite komunikacije z orodji umetne inteligence. Veščine inženiringa pozivov se hitro nadgrajujejo, nekatera znanja hitro postajajo zastarela ali nepotrebna, hkrati pa se kaže potreba po novih. A načela za inženiring pozivov zaenkrat ostajajo relativno stabilna. Predstavljenih 26 načel, ki jih sicer lahko prepoznamo tudi v kakovostni medsebojni komunikaciji ljudi, predstavlja temelje učinkovitega pogovora z umetno inteligenco.

Preskusite predstavljena tehnike, pristope, smernice. Eksperimentirajte z njimi v vaših vsakodnevnih pogovorih z umetno inteligenco in opazujte razliko. Stalno učenje in prilagajanje je ključno.

Prihodnost umetne inteligence ni samo v tem, kaj lahko tehnologija stori za nas, ampak tudi v tem, kako dobro lahko komuniciramo svoje potrebe in cilje z njo. Poskrbimo, da bo vsaka naša beseda, zahteva v naših pozivih, štela.

13. Viri

  1. AIPRM https://www.aiprm.com
  2. Goda Go, 10. feb 2023, YouTube: https://youtu.be/k13v8jp8H5o?si=9_wAzBW-02n1f5yj
  3. Learn Propting: https://learnprompting.org
  4. OpenAI GPTs https://chat.openai.com/gpts
  5. Openai.com 1: https://openai.com/enterprise-privacy
  6. Openai.com 2: https://platform.openai.com/docs/guides/prompt-engineering
  7. Prompt Professor https://chat.openai.com/g/g-qfoOICq1l-prompt-professor
  8. Prompt Engineering Guide www.promptingguide.ai
  9. Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen: Principled instructions are all you need for questioning LLaMA-1/2, GPT-3.5/4, arXiv preprint arXiv:2312.16171, 2024, https://arxiv.org/pdf/2312.16171.pdf
  10. VILA-Lab: Vision and Language Acceleration Lab: ATLAS, GitHub, https://github.com/VILA-Lab/ATLAS

 

Podjetja, organizacije, pridobite ponudbo za izvedbo tečaja ChatGPT, prilagojenega vašim potrebam!

Ostanite korak pred konkurenco v dobi AI. Ne zaostanite za konkurenco. Pridobite neobvezujočo ponudbo za izvedbo delavnice ChatGPT v vaši organizaciji!

Opremite svoje podjetje z močjo AI. Omogočite sodelavcem udeležbo na tem tečaju ChatGPT!

ChatGPT delavnica po meri naročnika.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja

This site uses Akismet to reduce spam. Learn how your comment data is processed.