RPP 8-9 Flashcards

(27 cards)

1
Q

Što je GenAI

A

tehnologija umjetne inteligencije koja:
▪ Koristi duboko učenje (engl. deep learning)
▪ Kako bi generirala novi sadržaj (tekst, slika, …)
▪ Kao odgovor na upit (engl. prompt).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

što je inženjerstvo promptova

A

Prakse koje se bave formuliranjem promptova koji rezultiraju relevantnim, preciznim i korisnim odgovorima

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Navedi kategorije informacija promptova

A

Zadatak, Kontekst, Format

▪ Zadatak– jasan opis što želimo da model napravi za nas
▪ Npr. Generiraj kôd, predloži dizajn, usporedi rješenja, analiziraj kôd…

▪ Kontekst– Dodatne informacije potrebne za razumijevanje zadatka
▪ Koja su točno očekivanja i zahtjevi krajnjeg korisnika?
▪ Koji tehnološki stog koristimo (npr. programski jezik, okviri, biblioteke…)?
▪ U koji arhitekturalni i dizajnerski kontekst se treba integrirati generirani dio rješenja?
▪ Što trenutno imamo implementirano od relevantnog kôda?
▪ Koji je stil pisanja programskog kôda našeg tima?
▪ Koje postojeće dijelove sustava ili vanjskih servisa treba generirani dio rješenja koristiti?

▪ Format rezultata– format u kojem želimo generirati rezultat, primjeri (one-shot, few-shot prompting)
▪ Npr. u kojem programskom jeziku želimo generirati kôd, koji okvir/biblioteku, koliko
opsežan odgovor želimo, koji predložak želimo koristiti za za strukturiranje odgovora,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Što su uzorci promptova

A

Uzorci promptova (engl. prompt patterns) – propisuju generička
rješenja za česte probleme i izazove u formuliranju promptova (po
ideji uzoraka dizajna).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Objasni uzorak Meta Language Creation

A

▪ Namjera/motivacija: Željeli bismo pisati upite koristeći specijalizirani jezik/notaciju koja je učinkovitija u prenošenju ideja u određenoj domeni.

Namjera ovog obrasca je objasniti sintaksu i semantiku ovog novog jezika/notacije LLM-u, tako da se može koristiti za stvaranje promptova.

▪ Kada koristiti ovaj uzorak:
▪ Zaizradu notacija za grafove (a->b, b->c,…), upitne jezike,
markup jezike, domenski specifične jezike (DSL), i sl.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Objasni uzorak Flipped Interaction

A

▪ Namjera/motivacija: Umjesto da dajemo detaljne upute LLM-u o tome što/kako nešto učiniti, upućujemo LLM da ON nama postavi pitanja kako bi dobio informacije potrebne za dovršetak zadatka.

▪ Kada upotrijebiti ovaj uzorak:
▪ Kada imamo problem s artikulacijom zadatka koji želimo dati LLM-u (npr. slabije poznavanje domene zadatka, ili jednostavno nemamo inspiraciju)

▪ Također, pružanje konteksta ključno je za dobivanje dobrih rezultata
iz LLM-a. Međutim, pisanje nekoliko odlomaka konteksta može potrajati neko vrijeme i brzo postaje zamorno. Upućivanje LLM-a da nam postavlja pitanja stvara dinamičnu interakciju.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Objasni uzorak Cognitive verifier

A

▪ Namjera/motivacija: Slično kao i kod uzorka FLIPPED INTERACTION, želimo prisiliti LLM da iz nas izvuče potrebne informacije (kontekst) koje bi mu omogućile da proizvede bolje rezultate.

▪ Kada upotrijebiti ovaj uzorak:
▪ Kada smatramo da nemamo dovoljno znanja o domeni da pružimo potrebne informacije LLM-u.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Objasni uzorak Persona

A

▪ Namjera/motivacija: Ponekad ne znamo koje su nam točno informacije ili rezultati potrebni ili ih nije lako objasniti. Međutim, možda znamo koja bi bila uloga/pozicija osobe koja je stručnjak u
tome. Dakle, jednostavno uputimo LLM da usvoji određenu ulogu/poziciju i da nas savjetuje/pomogne.

▪ Kada upotrijebiti ovaj uzorak:
▪ Kada nismo sigurni što nam treba (tj. trebamo konzultanta).
▪ Kada je lakše/brže imenovati ulogu/poziciju zaposlenika (npr. sigurnosnog recenzenta, testera, stručnjaka za domenu…) od kojeg trebamo pomoć, umjesto da u osnovi opisujemo što nam točno treba.

▪ LLM također može oponašati sustave (npr. terminal operativnog sustava,
bazu podataka, objekte, API-je, hardver)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Objasni uzorak Template

A

▪ Namjera/Motivacija: U nekim slučajevima, izlaz koji očekujemo od LLM-a treba biti u preciznom formatu koji je specifičan za aplikaciju/slučaj upotrebe i nije poznatLLM-u.
Namjera ovog uzorka je objasniti LLM-u koji bi format trebao imati izlaz.

▪ Kada upotrijebiti ovaj uzorak:
▪ Kada nam je potreban precizno strukturiran sadržaj,
kao što su URL-ovi, testni podaci, strukturirani zahtjevi, izvješća o greškama itd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Objasni uzorak Visualization Generator

A

▪ Namjera/motivacija: LLM-ovi su dobri u generiranju teksta, ali u svom osnovnom obliku nisu osobito dobri za generiranje strukturiranih vizualnih sadržaja (grafova, dijagrama…).

Ovaj uzorak nadilazi ovo ograničenje generiranjem strukturiranih
tekstualnih opisa na temelju kojih posebni programi mogu generirati vizualnu reprezentaciju.

▪ Kada upotrijebiti ovaj uzorak:
▪ Vizualizacija softverskog dizajna korištenjem npr. UML ili C4 notacije.
▪ Izradu Wireframe-a pomoću notacije kao što su HTML, XAML itd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Objasni uzorak Recipe

A

▪ Namjera/motivacija: Korisnici često znaju koji je njihov krajnji cilj, međutim, nedostaje im precizan slijed koraka za postizanje tog cilja.
Namjera ovog uzorka je pružiti točan slijed koraka za postizanje opisanog cilja

▪ Kada upotrijebiti ovaj uzorak:
▪ Kada nam je potreban precizan slijed koraka koji će nas dovesti do željenog ishoda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Što su AI asistenti

A

integrirani su u razvojna
okruženja i pružaju mogućnosti predlaganja kôda, automatskog završavanja kôda, generiranja „šablonskog” kôda,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Objasni razliku izmedju GenAI i AI asistenti

A

Svjesni(ji) konteksta
▪ Integrirani su u razvojno okruženje
▪ Prijedloge generiraju izravno u razvojnom okruženju
▪ Ograničeni su na zadatke iz područja
razvoja softvera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Što je ekonomika programskog inzinjerstva

A

grana mikroekonomije, nastoji odrediti troškove, resurse i trajanje faza razvojnog i životnog ciklusa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

navedi projekte troskove razvoja

A

projektiranje, programiranje, implementacija, otklanjanje nedostataka,
upravljanje projektom, upravljanje organizacijskim promjenama

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Navedi razlike mjerenja Fizicke i Logicke LOC metrike

A

Fizičke LOC metrike – uključuju mrtav kod, komentare, prazne linije , jednostavno se broji, mogu se automatizirati, problem kod koristenja vise programskih jezika

Logičke LOC metrike – isključuju to sve, teško se automatiziraju i broje, nepouzdanost kod ponovo iskoristivih komponenti i vizualnih prog jezika

17
Q

što su funkcijske točke

A

iz vana vidljivi
parametri složenosti sustava, koji se mogu odrediti prije nego imamo detaljni dizajn ili programski kod

*Svaka predstavlja element funkcionalnosti sustava

18
Q

Nabroji procjene troskova

A
  1. Algoritamsko modeliranje troškova (Algorithmic CostModelling)
  2. Ekspertna procjena (ExpertJudgement)
  3. Procjena na temelju analogije
  4. Parkinsonov zakon
  5. Cijena koja pobjeđuje (Pricing to Win)
  6. Procjena odozgo dolje(Top-down Estimation)
  7. Procjena odozdo gore (Bottom-up Estimation)
    8.Metoda funkcijskih točaka (Function PointMethod)
19
Q

Objasni Algoritamsko modeliranje troškova

A

Troškovi razvoja softvera su funkcionalno ovisni o varijablama (nositelji troškova) koje opisuju svojstva proizvoda, procesa i projekata.

*Algoritam ili formula opisuje funkcijsku ovisnost troškova razvoja softvera o
varijablama.

20
Q

Objasni ekspertnu procjenu troskova

A

Jedan ili više eksperata procjenjuju troškove razvoja softvera, nastoji se postići konsenzus ili usklađivanje

Prednosti: jednostavnost, bez puno matematike.

  • Nedostaci: * Teško je naći eksperte, posebno one što poznaju metodologiju, tehnologiju, problemsko područje ….
  • Procjene su subjektivne i rezultati nisu ponovljivi.
  • Teško je odlučiti ako se mišljenja eksperata razlikuju.
21
Q

Objasni procjenu na temelju analogije

A

Cijena se procjenjuje na temelju iskustava i sličnosti s prošlim projektima

  • Prednosti: Točna procjena ako imamo uzor iz prošlosti i točne podatke.
  • Nedostaci:
  • Dva puta se ne može zagaziti u istu rijeku.
  • Rijetko postoje točni podaci o prošlim projektima.
22
Q

Objasni parkinsonov zakon procjene troskova

A

Cijena projekta odgovara raspoloživom proračunu, a utrošak resursa odgovara
resursima koje smo imali na raspolaganju.

  • Prednost: Nema prekoračenja troškova.
  • Nedostatak:
  • Opseg i funkcionalnost softvera nastoji se tijekom projekta reducirati do razine
    raspoloživog proračuna, vremena i resursa.
  • Nezavršeni poslovi prebacuju se u fazu korištenja i održavanja.
23
Q

Objasni cijena koja pobjeduje kao procjenu troskova

A

Projekt košta toliko koliko nam je kupac spreman platiti, a sadrži ono što se u okviru
raspoloživog vremena i resursa može napraviti

Prednost - dobit cemo posao

Nedostatak :
Opseg i funkcionalnost softvera nastoji se unaprijed reducirati do razine raspoloživog proračuna, vremena i resursa.
* Najčešće ćemo ili mi, ili kupac, ili oboje biti nezadov

24
Q

Objasni procjena troskova odozgo dolje TOP DOWN

A
  • Odrede se troškovi postizanja zadane razine funkcionalnosti cijelog sustava
  • Zatim se procijene zajednički troškovi
    Preostali troškovi rasporede se po komponentama sustava razmjerno njihovoj složenosti

PREDNOST - trošak cjeline je veći od sume troškova dijelova

NEDOSTACI:
* Za razvoj komponenata raspodijeli se ono što preostane.
* Troškovi komponenata i rješavanja problema na nižim razinama često se podcijene.

25
Objasni procjena troskova odozdo gore BOTTOM UP
Nakon raščlanjivanja sustava na komponente, odrede se troškovi razvoja najniže razine komponenata. * Na svakoj se razini zbroje troškovi svih komponenata te njihove integracije, integracijskog testiranja i dokumentiranja. * Prednosti: Dobra metoda određivanja troškova komponenata. * Nedostaci: * Često je probijanje raspoloživih sredstava i reproračuna * Često se podcijene troškovi visoke razine integracije, dokumentiranja, usklađivanja ...
26
Objasni metodu funkcijskih tocaka za procjenu troskova
* Brojenje iz vana vidljivih elemenata složenosti sustava (forme za unos i mijenjanje podataka, upiti, pristup podacima u bazi, ispisi…), koji se mogu odrediti prije nego imamo detaljni dizajn ili programski kod * Ovi se elementi složenosti ponderiraju prema složenosti i težini ostvarivanja
27
Kako glasi formula za racunski zadatak
C / (1+r) = PV i ostale kombinacije