Kas iš tikrųjų yra promptų inžinerija ir kodėl tai ne tik „klausimų uždavinėjimas”
Daugelis žmonių, pirmą kartą išgirdę terminą „promptų inžinerija”, galvoja, kad tai kažkoks sudėtingas dalykas, skirtas tik programuotojams ar duomenų mokslininkams. Iš tikrųjų tai daug paprasčiau – ir tuo pačiu daug sudėtingiau – nei atrodo. Promptų inžinerija yra menas ir mokslas formuluoti užklausas dirbtinio intelekto modeliams taip, kad gautum tiksliai tai, ko nori, o ne kažką panašaus į tai, ko nori.
Pagalvok apie tai taip: kai kalbies su žmogumi, jis supranta kontekstą, intonaciją, neišsakytas mintis. Dirbtinio intelekto modelis – ne. Jis dirba su tuo, ką jam duodi. Jei duodi mažai, gauni mažai. Jei duodi netiksliai, gauni netikslų atsakymą. Štai kodėl žmonės, mokantys formuluoti gerus promptus, gauna iš AI įrankių rezultatus, kurie atrodo beveik magiški, o kiti skundžiasi, kad „tas ChatGPT nieko naudingo nepasako”.
Terminas „prompt engineering” atsirado kartu su dideliais kalbos modeliais (LLM – Large Language Models). Pirmieji rimti tyrimai šioje srityje pasirodė apie 2020–2021 metus, kai GPT-3 parodė, kad tinkama užklausa gali dramatiškai pakeisti modelio išvesties kokybę. Nuo tada ši sritis išaugo į atskirą discipliną, turinčią savo metodus, terminus ir geriausias praktikas.
Kaip LLM modeliai „mato” tavo tekstą
Prieš pradedant kalbėti apie konkrečias technikas, verta suprasti, kaip iš tikrųjų veikia kalbos modeliai. Ne techniškai giliai, bet pakankamai, kad suprastum, kodėl vieni promptai veikia, o kiti – ne.
LLM modeliai yra iš esmės labai sudėtingi tikimybių skaičiuokliai. Jie buvo treniruoti ant milžiniškų tekstų kiekių ir išmoko, kokie žodžiai dažniausiai eina po kitų žodžių tam tikruose kontekstuose. Kai tu rašai promptą, modelis „žiūri” į visą tavo tekstą ir bando nuspėti, koks atsakymas labiausiai atitiktų tai, ko tikimasi pagal jo treniravimo duomenis.
Tai reiškia keletą svarbių dalykų praktiškai:
- Kontekstas yra viskas. Modelis neturi atminties tarp skirtingų pokalbių (nebent tai specialiai įgyvendinta). Kiekvienas naujas pokalbis prasideda nuo nulio.
- Žodžių pasirinkimas svarbus. Skirtingi žodžiai aktyvuoja skirtingus „kontekstus” modelio galvoje. „Paaiškink kaip ekspertas” ir „paaiškink paprastai” duos labai skirtingus rezultatus.
- Modelis nori tave patenkinti. LLM modeliai buvo treniruoti su žmogaus grįžtamuoju ryšiu (RLHF), todėl jie linkę duoti atsakymus, kurie atrodo gerai, net jei jie nėra tikslūs. Tai vadinama „hallucination” problema.
Supratęs šiuos principus, gali pradėti formuluoti promptus strategiškai, o ne intuityviai.
Pagrindinės promptų struktūros ir jų anatomija
Geras promptas dažniausiai turi kelis komponentus. Nebūtina naudoti visų kiekvieną kartą, bet žinant juos, gali rinktis, kurie reikalingi konkrečiai užduočiai.
Vaidmuo (Role). Pasakyk modeliui, kuo jis turėtų būti. „Tu esi patyręs Python programuotojas su 10 metų patirtimi” arba „Tu esi griežtas redaktorius, kuris nemėgsta perteklinio žodingumo”. Vaidmens apibrėžimas keičia modelio „perspektyvą” ir dažnai žymiai pagerina rezultatų kokybę.
Kontekstas (Context). Suteik foninę informaciją. Kas tu esi, kokia situacija, kokiam tikslui reikalingas rezultatas. Kuo daugiau konteksto, tuo tikslesnis atsakymas. Bet čia yra subtilybė – kontekstas turi būti relevantiškas. Perteklinis kontekstas gali „supainioti” modelį arba tiesiog užimti brangią konteksto lango vietą.
Užduotis (Task). Aiški, konkreti užduotis. Venkite neapibrėžtų prašymų kaip „parašyk kažką apie marketingą”. Geriau: „Parašyk 300 žodžių LinkedIn įrašą apie email marketingo ROI mažoms e-komercijos įmonėms, naudojant konkrečius skaičius ir praktinius patarimus”.
Formatas (Format). Nurodyk, kokio formato nori. Sąrašas, lentelė, JSON, markdown, paprastas tekstas, kodo blokas. Modeliai puikiai supranta formato instrukcijas ir jų laikosi.
Apribojimai (Constraints). Ką modelis turėtų arba neturėtų daryti. „Nenaudok žargono”, „atsakyk tik lietuviškai”, „neviršyk 200 žodžių”, „nenaudok bullet pointų”.
Štai praktinis pavyzdys. Blogas promptas: „Parašyk apie Python”. Geras promptas: „Tu esi patyręs Python mokytojas, dirbantis su pradedančiaisiais. Parašyk trumpą (150–200 žodžių) įvadą į Python kintamuosius žmogui, kuris niekada neprogramavo. Naudok paprastą analogiją iš kasdienio gyvenimo. Venkite techninių terminų be paaiškinimo.”
Zero-shot, few-shot ir chain-of-thought – trys technikos, kurios iš tikrųjų veikia
Šie terminai skamba akademiškai, bet koncepcija labai paprasta ir praktiškai naudinga.
Zero-shot prompting – tai kai tiesiog paprašai modelio atlikti užduotį be jokių pavyzdžių. Veikia gerai paprastoms užduotims, kur modelis jau turi pakankamai konteksto iš treniravimo. „Išversk šį tekstą į anglų kalbą” – klasikinis zero-shot.
Few-shot prompting – duodi modeliui keletą pavyzdžių prieš pateikdamas tikrąją užduotį. Tai viena galingiausių technikų, ypač kai nori specifinio formato ar stiliaus. Pavyzdžiui:
Žemiau pateikti produktų aprašymai ir jų kategorijos:
Produktas: „Ergonominė kėdė su reguliuojamu aukščiu” → Kategorija: Biuro baldai
Produktas: „Mechaninė klaviatūra su RGB apšvietimu” → Kategorija: Kompiuterinė įranga
Produktas: „Bambuko pjaustymo lentelė” → Kategorija: ?
Modelis supranta šabloną ir tęsia jį. Few-shot ypač naudingas, kai dirbi su nestandartiniais formatais ar specifiniais klasifikavimo uždaviniais.
Chain-of-thought (CoT) – prašai modelio „mąstyti garsiai”, t.y. parodyti savo samprotavimo eigą. Tai dramatiškai pagerina rezultatus sudėtingose logikos, matematikos ar daugiažingsninėse užduotyse. Paprasčiausias būdas aktyvuoti CoT – pridėti frazę „Mąstyk žingsnis po žingsnio” arba „Paaiškink savo samprotavimą prieš pateikdamas atsakymą”.
Tyrimai rodo, kad CoT gali padidinti modelių tikslumą sudėtingose užduotyse iki 40–50%. Tai ne marketingo triukas – tai realiai veikianti technika, nes ji verčia modelį „išskleisti” samprotavimą, o ne šokinėti tiesiai prie atsakymo.
Sisteminiai promptai ir kaip juos naudoti
Jei naudoji API arba įrankius kaip ChatGPT, Claude ar kitus, turbūt susidūrei su „system prompt” koncepcija. Tai instrukcijos, kurios nustato modelio elgseną visam pokalbiui. Galvok apie tai kaip apie „darbo aprašymą” modeliui.
Sisteminiai promptai ypač svarbūs, kai:
- Kuri AI asistentą specifiniam tikslui (pvz., klientų aptarnavimo botą)
- Nori, kad modelis visada laikytųsi tam tikro tono ar stiliaus
- Reikia apriboti modelio atsakymų sritį
- Integruoji AI į savo produktą ar darbo eigą
Geras sisteminis promptas turėtų apibrėžti: kas yra modelis, ką jis daro, ko nedaro, kokiu tonu kalba, kaip elgiasi neaiškiose situacijose. Štai trumpas pavyzdys:
Tu esi Linas, draugiškas IT pagalbos asistentas įmonei TechCorp. Atsakinėji į darbuotojų klausimus apie vidines sistemas ir programinę įrangą. Kalbi lietuviškai, naudoji paprastą kalbą be perteklinio žargono. Jei nežinai atsakymo, sakyk tai atvirai ir nukreipk į IT skyrių el. paštu [email protected]. Niekada nespėliok techninių sprendimų, kuriuose nesi tikras.
Pastebėk paskutinę eilutę – tai svarbu. Modeliai linkę „spėlioti” ir pateikti atsakymus su pasitikėjimu net tada, kai jie nėra tikri. Eksplicitiškai nurodžius, kad reikia pripažinti nežinojimą, žymiai sumažini klaidingos informacijos riziką.
Dažniausios klaidos ir kaip jų išvengti
Po to, kai pabendrauju su žmonėmis, kurie skundžiasi, kad AI „neveikia”, beveik visada randu tas pačias klaidas.
Per abstraktūs prašymai. „Padėk man su marketingu” yra beveik beprasmis promptas. Modelis nežino, ar nori strategijos, teksto, analizės, ar tiesiog nori pasikalbėti. Kuo konkretesnis, tuo geresnis rezultatas. Tai ne tik AI – taip veikia bet kokia komunikacija.
Nepasakoma, kam skirtas rezultatas. „Parašyk el. laišką” ir „Parašyk el. laišką potencialiam B2B klientui, kuris jau matė mūsų demo ir turi klausimų dėl kainos” – tai du skirtingi pasauliai. Auditorija keičia viską: toną, leksikos sudėtingumą, argumentus, struktūrą.
Ignoruojamas iteracinis procesas. Daugelis žmonių tikisi, kad pirmas promptas duos tobulą rezultatą. Retai taip nutinka. Promptų inžinerija yra iteracinis procesas – gauni rezultatą, identifikuoji, kas negerai, patikslini promptą, kartoji. Profesionalūs prompt inžinieriai kartais daro dešimtis iteracijų prieš gaudami norimą rezultatą.
Neišnaudojamas konteksto langas. Modernūs modeliai turi didelį konteksto langą (Claude 3.5 – iki 200k tokenų, GPT-4 – iki 128k). Tai reiškia, kad gali pateikti daug informacijos – dokumentus, kodo fragmentus, duomenis – ir modelis juos „matys”. Žmonės dažnai per mažai naudoja šią galimybę.
Nepatikrinami faktai. Modeliai halucinate – tai faktas. Jie gali pateikti klaidingus skaičius, neegzistuojančias citatas, neteisingus faktus su visišku pasitikėjimu. Visada tikrink kritinius faktus nepriklausomuose šaltiniuose. Tai ne modelio trūkumas – tai jo prigimtis, kurią reikia žinoti.
Promptų inžinerija realiame darbe – praktiniai scenarijai
Teorija gerai, bet pažiūrėkime, kaip tai veikia konkrečiose situacijose.
Kodo rašymas ir derinimas. Kai prašai padėti su kodu, visada pateik: programavimo kalbą ir jos versiją, esamą kodą (jei yra), klaidos pranešimą (jei yra), ko tiksliai nori pasiekti, kokius apribojimus turi (pvz., negali naudoti tam tikrų bibliotekų). Pavyzdys: „Python 3.11, FastAPI. Šis endpoint grąžina 422 klaidą su šiuo pranešimu: [klaida]. Štai kodas: [kodas]. Rask problemą ir paaiškink, kodėl ji atsirado.”
Turinio kūrimas. Nurodyk: formatą, ilgį, toną, auditoriją, tikslą, raktažodžius (jei SEO svarbus), ko vengti. Jei turi savo rašymo stilių, pateik pavyzdžių ir paprašyk jų laikytis.
Duomenų analizė. Jei pateiki duomenis (CSV, lentelę, JSON), aiškiai pasakyk, ką nori sužinoti. „Rask anomalijas” yra per platu. „Identifikuok produktus, kurių pardavimai sumažėjo daugiau nei 20% lyginant su praėjusiu ketvirčiu” – tai konkretu ir veiksminga.
Brainstorming ir kūryba. Čia modeliai ypač naudingi, bet reikia struktūros. Vietoj „sugalvok idėjų”, pabandyk: „Sugeneruok 10 nestandartinių idėjų [temai]. Kiekviena idėja turi būti kitokia – venk akivaizdžių sprendimų. Po kiekvienos idėjos trumpai paaiškink, kodėl ji nestandartinė.” Paprašius vengti akivaizdžių sprendimų, modelis iš tikrųjų stengiasi būti originalus.
Dokumentų analizė ir santraukos. Įkėlęs ilgą dokumentą, nebūtinai prašyk tiesiog santraukos. Galima prašyti: „Identifikuok tris pagrindines rizikas”, „Surask visas datas ir terminus”, „Paaiškink šį dokumentą žmogui, kuris nėra teisininkas”, „Palygink šio dokumento poziciją su [kitu dokumentu]”.
Kai AI tampa darbo įrankiu, o ne žaislu – ateities perspektyva
Promptų inžinerija šiuo metu yra toje stadijoje, kurioje buvo Google paieška 2000-aisiais. Vieni žmonės mokėjo ieškoti efektyviai (naudojo kabutes, operatorius, žinojo kaip formuluoti užklausas), kiti tiesiog rašė ką galvojo ir gaudavo prastesnius rezultatus. Skirtumas buvo ne intelektas – skirtumas buvo žinojimas, kaip veikia įrankis.
Artimiausiais metais modeliai taps protingesni ir geriau supras neaiškias užklausas. Bet tai nereiškia, kad promptų inžinerija taps nereikalinga – ji tiesiog evoliucionuos. Jau dabar matome perėjimą nuo paprasto teksto promptų prie multimodalių (su vaizdais, garsais, video), agentinių sistemų (kur AI pats planuoja ir vykdo daugiažingsnius uždavinius) ir RAG (Retrieval-Augmented Generation) architektūrų, kur modeliai dirba su tavo specifiniais duomenimis.
Praktiškai tai reiškia: jei šiandien investuoji laiko į promptų inžinerijos supratimą, rytoj turėsi pranašumą. Ne todėl, kad tai „ateities profesija” (nors ji tikrai egzistuoja), o todėl, kad gebėjimas efektyviai komunikuoti su AI įrankiais taps tokia pat bazine darbo kompetencija kaip mokėjimas naudotis Excel ar rašyti el. laiškus.
Pradėk nuo paprasto: kitą kartą, kai naudosi ChatGPT, Claude ar bet kurį kitą modelį, prieš paspausdamas Enter, sustok ir pagalvok – ar aš pasakiau modeliui, kas jis yra? Ar nurodžiau, kam skirtas rezultatas? Ar paaiškinau formatą? Ar pateikiau pakankamai konteksto? Šie keli papildomi sakiniai dažnai keičia rezultato kokybę dramatiškai. O kai pradėsi gauti geresnius rezultatus, natūraliai norėsi suprasti daugiau – ir štai tada promptų inžinerija iš teorinio termino virsta realiu darbo įgūdžiu.






