Što je prompt engineering? Praktičan vodič za one koji nisu programeri
Prompt engineering je praksa pisanja i doradivanja uputa za AI model kako bi pouzdano proizveo ono što želite. Prompt je sve što modelu date: pitanje, zadatak, kontekst, primjeri. Engineering u ovom kontekstu znači biti promišljen o tome što ulazi, testirati što izlazi i prilagođavati. Manje se radi o čarobnim frazama, a više o jasnoj komunikaciji.
Zašto je važan kad gradite uz AI
Kod AI alata za izradu aplikacija vaši promptovi su specifikacija. AI može izgraditi samo ono što opišete, a kad vaš zahtjev ima rupe, on ih popuni razumno zvučnim pretpostavkama. Ponekad su te pretpostavke dobre. Često nisu ono što ste mislili: krivi podaci na obrascu, značajka koja vam nije trebala ili dizajn koji ne odgovara vašoj publici.
Jasan prompt štedi runde ispravaka, a svaka runda košta vrijeme i obično kredite. Prompti su važni i ako AI ugrađujete u samu aplikaciju: upute koje dajete tom modelu određuju kako vaš chatbot razgovara s kupcima, što odbija i drži li se vaših činjenica. Za izradu aplikacija posebno pogledajte kako pisati promptove za AI alate za izradu aplikacija.
Svakodnevna usporedba
Zamislite da dajete upute iskusnom freelanceru koji vas nikad nije upoznao, ne zna ništa o vašem poslovanju i počinje raditi čim prestanete govoriti.
„Napravi mi logotip“ dobit će vam neki logotip. „Logotip za školu plivanja za djecu u Dubaiju; prijateljski, ali ne dječinjast; plava i narančasta; mora izgledati dobro i na malom prostoru na kapi za plivanje; evo dva koja nam se sviđaju i jednog koji ne volimo“ dobit će vam nešto blizu onoga što želite.
AI model je taj freelancer: talentiran, brz i potpuno ovisan o vašim uputama. Prompt engineering je učenje kako napisati dobru specifikaciju.
Ključne tehnike
| Tehnika | Što znači | Primjer |
|---|---|---|
| Budite konkretni o cilju | Recite što želite i zašto. | „Stranica za rezervacije da novi klijenti mogu odabrati termin od 30 ili 60 minuta.“ |
| Dajte kontekst | Za koga je, što već postoji, što je važno. | „Korisnici su uglavnom stariji klijenti na mobitelima.“ |
| Definirajte „gotovo“ | Opišite gotov rezultat. | „Gotovo znači da klijent može rezervirati i ja dobijem e-mail.“ |
| Postavite ograničenja | Što ne raditi i koje su granice. | „Još ne dodaj prijavu. Zadrži postojeće boje.“ |
| Pokažite primjere | Dajte uzorak onoga što je dobro. | „Napiši odgovor u ovom stilu: …“ |
| Zatražite format | Recite kako strukturirati izlaz. | „Odgovori u tablici sa stupcima X, Y, Z.“ |
| Podijelite na korake | Jedan dio po jedan za velike zadatke. | „Prvo model podataka, zatim obrazac, pa e-mailovi.“ |
| Neka pita ili planira prvo | Dobijte plan prije promjena. | „Prije izrade navedi svoja pitanja i plan.“ |
| Ponavljajte | Provjerite rezultat i doradite. | „Obrazac radi. Sad povećaj birač datuma.“ |
Primjer na djelu: prije i poslije
Prije:
Napravi aplikaciju za teretanu.
AI mora pretpostaviti sve: članovi ili osoblje? Grupni treninzi ili personalni? Plaćanja? Vjerojatno ćete dobiti generičku nadzornu ploču s izmišljenim vježbama.
Poslije:
Izradi web aplikaciju za malu boks teretanu s otprilike 150 članova.
Tko je koristi: Članovi rezerviraju treninge na mobitelu. Vlasnik, Sam, upravlja rasporedom na laptopu.
Članovi mogu: vidjeti treninge ovog tjedna (vrijeme, trener, slobodna mjesta) i rezervirati ili otkazati do 2 sata prije početka.
Sam može: dodavati, uređivati i otkazivati treninge te vidjeti tko je prijavljen na svaki.
Pravila: najviše 12 osoba po treningu. Nema dvostrukog rezerviranja istog termina.
Ne sada: plaćanja, praćenje vježbi, mobilna aplikacija.
Stil: tamna pozadina, crveni naglasci, velika polja za dodir.
Prije izrade navedi što nije jasno i opiši stranice koje ćeš izraditi.
Drugi prompt nije pametan, nego potpun. Imenuje korisnike, radnje, pravila, što izostaviti i kako početi. Zadnji redak poziva AI da planira i postavi pitanja, što hvata nesporazume prije nego se napiše ijedan redak koda.
Promptovi unutar vaše aplikacije
Kad sama vaša aplikacija poziva LLM, pišete promptove koji se izvršavaju mnogo puta, za mnogo korisnika. Vrijede ista načela, uz nekoliko dodatnih:
- System prompt: stalne upute koje oblikuju svaki odgovor: uloga, ton, pravila. „Ti si asistent za Leaf & Pot, trgovinu biljaka. Odgovaraj samo na pitanja o narudžbama, biljkama i dostavi.“
- Utemeljenje (grounding): uključite činjenice koje model treba koristiti, poput vaših pravila ili kataloga proizvoda, i recite mu da se na njih osloni. Pogledajte što je LLM da vidite zašto je to važno.
- Rezervni odgovori: recite mu što učiniti kad nije siguran: „Ako odgovor nije u dostupnim informacijama, reci to i ponudi e-mail za podršku.“
- Format izlaza: ako vaš kod čita odgovor, tražite strogi format poput JSON-a.
- Testiranje: isprobajte nezgodne unose, grube poruke, pitanja izvan teme i pokušaje da model zaobiđe upute (to se zove prompt injection), prije nego to učine pravi korisnici.
Ključni pojmovi objašnjeni
| Pojam | Što znači |
|---|---|
| Prompt | Unos koji dajete AI modelu. |
| System prompt | Stalne upute postavljene prije razgovora. |
| Kontekst | Pozadinske informacije uključene u prompt. |
| Zero-shot / few-shot | Pitanje bez primjera ili s nekoliko primjera željenog izlaza. |
| Lanac razmišljanja (chain of thought) | Traženje od modela da korak po korak razradi problem prije odgovora. |
| Utemeljenje (grounding) | Davanje izvornog materijala modelu i traženje da odgovara na temelju njega. |
| Prompt injection | Tekst koji pokušava nadjačati upute modela, primjerice „zanemari prethodne upute“. |
| Kontekstni prozor | Koliko teksta model može uzeti u obzir odjednom. |
| Iteracija | Doradivanje prompta na temelju onoga što je došlo kao odgovor. |
Česte greške i zablude
- Traženje čarobnih riječi. „Ti si svjetski stručnjak“ puno je manje važno od toga da kažete što stvarno trebate.
- Traženje svega odjednom. Zahtjev s 20 značajki daje 20 napola gotovih značajki. Gradite u dijelovima.
- Opisivanje rješenja umjesto problema. „Dodaj tablicu s tri stupca“ manje je korisno nego „Sam mora na prvi pogled vidjeti tko je prijavljen na svaki trening.“
- Nenavođenje onoga što ne želite. Ako ne želite prijavu, plaćanja ili redizajn još, recite to.
- Nečitanje rezultata. Provjerite što je izgrađeno prema vašoj definiciji „gotovo“ prije nego idete dalje.
- Ponovno pokretanje umjesto doradivanja. Obično kratka dopuna („to je blizu; promijeni X“) bolje radi od ponovnog pisanja cijelog prompta.
- Lijepljenje tajni u promptove. Ne lijepite lozinke ni žive API ključeve u chat, osim ako alat nema siguran način za njihovo spremanje.
Što tražiti od AI alata za izradu aplikacija
- „Prije izrade postavi mi pitanja i pokaži plan.“
- „Sažmi u tri rečenice što mislite da želim.“
- „Mijenjaj samo obrazac za rezervacije; ništa drugo ne diraj.“
- „Što ste pretpostavili, a da nisam to naveo?“
- „Pretvori moje bilješke u kratku specifikaciju s korisnicima, značajkama, pravilima i stavkama „ne sada“.“ Pogledajte kako napisati dokument sa zahtjevima za proizvod uz AI.
- „Predloži kako bih mogao bolje formulirati taj zahtjev.“
Prompting u Mythexu
Mythex ima tri načina rada chata koji odgovaraju ovakvom načinu rada: Plan za dogovor o pristupu prije bilo kakve promjene, Build za izvođenje promjena i Ask za pitanja koja ne smiju mijenjati datoteke. Kao kontekst možete priložiti snimke zaslona ili makete, a ako promjena pođe po zlu, možete se vratiti na checkpoint. Stranice dokumentacije o učinkovitim promptovima i iteriranju imaju više primjera, a kako iterirati na aplikaciji izrađenoj uz AI pokriva slijed daljnjih koraka.
Pitanja
Što je prompt engineering, jednostavno rečeno?
Prompt engineering je praksa pisanja i doradivanja uputa za AI model kako bi davao željeni rezultat pouzdano. Obuhvaća što tražite, kontekst koji dajete, primjere, ograničenja i format u kojem želite odgovor.
Trebaju li mi posebni trikovi ili čarobne riječi?
Ne baš. Moderni modeli najbolje reagiraju na jasne, konkretne i dobro organizirane upute, a to su iste stvari koje pomažu i kolegi čovjeku. Kontekst, primjeri i jasan opis gotovog rezultata znače mnogo više od posebnih fraza.
Što je system prompt?
System prompt je skup stalnih uputa koje se modelu daju prije razgovora, primjerice njegova uloga, pravila i ton. Aplikacije ga koriste da oblikuju svaki odgovor, dok poruke korisnika dolaze poslije.
Treba li i dalje prompt engineering kako AI postaje pametniji?
Bolji modeli trebaju manje zaobilaznih rješenja, ali i dalje ne mogu pročitati vaše misli. Ako navedete cilj, publiku, ograničenja i što znači „gotovo“, rezultati će uvijek biti bolji, jer model može raditi samo s onim što mu kažete.