Ի՞նչ է պրոմթ ինժեներինգը։ Գործնական ուղեցույց ոչ ծրագրավորողների համար
Պրոմթ ինժեներինգը AI մոդելի համար հրահանգներ գրելու և կատարելագործելու գործընթացն է, որպեսզի այն հուսալիորեն արտադրի այն, ինչ ուզում եք։ Պրոմթը այն ամենն է, ինչ տալիս եք մոդելին՝ հարց, առաջադրանք, համատեքստ, օրինակներ։ Իսկ դրա ինժեներինգը նշանակում է հստակ լինել, թե ինչ է մտնում մուտքի մեջ, փորձարկել, թե ինչ է դուրս գալիս, և ճշգրտել։ Այն ավելի քիչ կախարդական բառերի մասին է և ավելի՝ հստակ հաղորդակցության։
Ինչու է սա կարևոր AI-ով կառուցելիս
AI հավելված կառուցողի հետ ձեր պրոմթները հենց սպեցիֆիկացիան են։ AI-ն կարող է կառուցել միայն այն, ինչ դուք նկարագրում եք, և երբ ձեր հարցումը բաց թողնում է որոշ բաներ, այն լրացնում է դրանք ողջամիտ թվացող ենթադրություններով։ Երբեմն այդ ենթադրությունները լավն են։ Հաճախ ոչ․ սխալ դաշտեր ձևի մեջ, ավելորդ գործառույթ կամ դիզայն, որը չի համապատասխանում ձեր լսարանին։
Հստակ պրոմթը ձեզ խնայում է ուղղումների մի քանի փուլ, և յուրաքանչյուր փուլ արժե ժամանակ և սովորաբար վարկեր։ Պրոմթինգը կարևոր է նաև, երբ AI-ն ավելացնում եք ձեր հավելվածի ներսում․ այն հրահանգները, որ տալիս եք այդ մոդելին, որոշում են, թե ինչպես է ձեր չաթբոտը խոսում հաճախորդների հետ, ինչից է հրաժարվում և արդյոք մնում է ձեր փաստերի սահմաններում։ Հատկապես հավելվածներ կառուցելու համար տե՛ս ինչպես գրել պրոմթներ AI հավելվածների կառուցողների համար։
Ամենօրյա անալոգիա
Պատկերացրեք, որ բրիֆ եք տալիս հմուտ ֆրիլանսերի, ով երբեք ձեզ չի հանդիպել, չգիտի ձեր բիզնեսի մասին և աշխատանքը կսկսի հենց դուք լռեք։
«Ինձ լոգո պատրաստիր» ասելով՝ կստանաք a լոգո։ «Լոգո երեխաների լողի դպրոցի համար Դուբայում․ ընկերասեր, ոչ մանկական․ կապույտ և նարնջագույն․ պետք է լավ երևա փոքր չափերով լողարանի գլխարկի վրա․ ահա երկուսը, որ մեզ դուր են գալիս, և մեկը, որ չի դուր գալիս» ասելով՝ կստանաք մոտավորապես այն, ինչ ուզում եք։
ԱI մոդելը այդ ֆրիլանսերն է՝ տաղանդավոր, արագ և լիովին կախված ձեր բրիֆից։ Պրոմթ ինժեներինգը լավ բրիֆ գրելու սովորելն է։
Հիմնական մեթոդները
| Մեթոդ | Ինչ է նշանակում | Օրինակ |
|---|---|---|
| Եղիր կոնկրետ նպատակի մասին | Ասա, թե ինչ ես ուզում և ինչու։ | «Ամրագրման էջ, որպեսզի նոր հաճախորդները կարողանան ընտրել 30 կամ 60 րոպեանոց սեանս։» |
| Տուր համատեքստ | Ում համար է, ինչ արդեն կա, ինչն է կարևոր։ | «Օգտատերերը հիմնականում տարեց հաճախորդներ են, հեռախոսներից։» |
| Սահմանիր «պատրաստը» | Նկարագրիր ավարտված արդյունքը։ | «Պատրաստ է, երբ հաճախորդը կարող է ամրագրել, և ես էլ էլ․ փոստ եմ ստանում։» |
| Սահմանիր սահմանափակումներ | Ինչ չանել և ինչ սահմաններում։ | «Առայժմ մուտք մի ավելացրու։ Պահիր առկա գույները։» |
| Ցույց տուր օրինակներ | Տուր նմուշ, թե ինչ է լավը։ | «Գրիր պատասխանը այս ոճով՝ …» |
| Խնդրիր ձևաչափ | Ասա, թե ինչպես կազմակերպել արդյունքը։ | «Պատասխանիր աղյուսակով՝ X, Y, Z սյունակներով։» |
| Բաժանիր քայլերի | Մեծ աշխատանքը մեկ-մեկ։ | «Նախ տվյալների մոդելը, հետո ձևը, հետո նամակները։» |
| Թող հարցնի կամ նախ պլանավորի | Ստացիր պլան մինչև փոփոխությունները։ | «Նախքան կառուցելը, թվարկիր քո հարցերը և պլանը։» |
| Կրկնիր | Ստուգիր արդյունքը և կատարելագործիր։ | «Ձևը աշխատում է։ Հիմա մեծացրու ամսաթվի ընտրիչը։» |
Օրինակ՝ նախքան և հետո
Նախքան:
Պատրաստիր մարզասրահի հավելված։
AI-ն ստիպված է ամեն ինչ կռահել․ անդամներ՞ են, թե անձնակազմ։ Դասեր՞ են, թե անհատական մարզում։ Վճարումներ՞։ Հավանաբար կստանաք ընդհանուր վահանակ՝ հորինված մարզումներով։
Հետո:
Կառուցիր վեբ հավելված մոտ 150 անդամ ունեցող փոքր բռնցքամարտի մարզասրահի համար։
Ով է օգտագործում․ Անդամները դասերը ամրագրում են իրենց հեռախոսներից։ Սեփականատեր Սեմը կառավարում է ժամանակացույցը laptop-ից։
Անդամները կարող են․ տեսնել այս շաբաթվա դասերը (ժամը, մարզիչը, ազատ տեղերը) և ամրագրել կամ չեղարկել մինչև սկսվելը 2 ժամ առաջ։
Սեմը կարող է․ ավելացնել, խմբագրել և չեղարկել դասեր, և տեսնել, թե ով է գրանցված յուրաքանչյուր դասի։
Կանոններ․ առավելագույնը 12 մարդ մեկ դասի համար։ Նույն ժամին երկկողմանի ամրագրում չի թույլատրվում։
Առայժմ ոչ․ վճարումներ, մարզումների հետևում, շարժական հավելված։
Ոճ․ մուգ ֆոն, կարմիր ակցենտներ, մեծ հպման կոճակներ։
Նախքան կառուցելը թվարկիր ցանկացած անորոշ կետ և նկարագրիր այն էջերը, որ կստեղծես։
Երկրորդ պրոմթը խելացի չէ, այն լրիվ է։ Այն նշում է օգտատերերին, գործողությունները, կանոնները, ինչը թողնել, և ինչպես սկսել։ Վերջին տողը հրավիրում է AI-ին պլանավորել և հարցեր տալ, ինչը բացահայտում է թյուրիմացությունները նախքան կոդ գրելը։
Պրոմթներ ձեր հավելվածի ներսում
Երբ ձեր հավելվածն ինքը կանչում է LLM, դուք գրում եք պրոմթներ, որոնք աշխատում են բազմիցս, շատ օգտատերերի համար։ Նույն սկզբունքները կիրառվում են, բայց ավելի շատ բան պետք է հաշվի առնել․
- Համակարգային պրոմթ․ մշտական հրահանգներ, որոնք ձևավորում են յուրաքանչյուր պատասխան՝ դեր, տոն, կանոններ։ «Դու Leaf & Pot բուսատան օգնականն ես։ Պատասխանիր միայն պատվերների, բույսերի և առաքման մասին հարցերին։»
- Հիմնավորում (grounding)․ ներառիր այն փաստերը, որոնք մոդելը պետք է օգտագործի, օրինակ՝ քո քաղաքականությունը կամ ապրանքների կատալոգը, և ասա, որ հիմնվի դրանց վրա։ Տե՛ս ինչ է LLM-ը, թե ինչու է սա կարևոր։
- Պահեստային պլաններ․ ասա, թե ինչ անել, երբ մոդելը անորոշ է․ «Եթե պատասխանը չկա տրամադրված տեղեկատվության մեջ, ասա դա և առաջարկիր աջակցության էլ․ հասցեն։»
- Ելքային ձևաչափ․ եթե քո կոդը կարդում է պատասխանը, խնդրիր խիստ ձևաչափ, օրինակ՝ JSON։
- Փորձարկում․ փորձիր անսովոր մուտքեր՝ կոպիտ հաղորդագրություններ, թեմայից դուրս հարցեր, փորձեր՝ ստիպելու մոդելին անտեսել իր հրահանգները (կոչվում է prompt injection), մինչև իրական օգտատերերը դա անեն։
Բանալի տերմինների բացատրություն
| Տերմին | Ինչ է նշանակում |
|---|---|
| Պրոմթ | Այն մուտքը, որ տալիս եք AI մոդելին։ |
| Համակարգային պրոմթ | Զրույցից առաջ սահմանված մշտական հրահանգներ։ |
| Համատեքստ | Պրոմթում ներառված ֆոնային տեղեկատվություն։ |
| Zero-shot / few-shot | Հարցնել առանց օրինակների կամ մի քանի օրինակով՝ ցանկալի ելքի։ |
| Մտքի շղթա (chain of thought) | Խնդրել մոդելին քայլ առ քայլ մտածել խնդիրը, նախքան պատասխանելը։ |
| Հիմնավորում (grounding) | Տալ մոդելին աղբյուրային նյութ և ասել, որ պատասխանները հիմնի դրա վրա։ |
| Prompt injection | Տեքստ, որը փորձում է գերագրել մոդելի հրահանգները, օրինակ՝ «անտեսիր նախորդ հրահանգները»։ |
| Համատեքստի պատուհան | Որքան տեքստ կարող է մոդելը հաշվի առնել միաժամանակ։ |
| Կրկնություն (iteration) | Պրոմթի կատարելագործումը ստացված արդյունքի հիման վրա։ |
Տարածված սխալներ և թյուրըմբռնումներ
- Կախարդական բառերի որոնում։ «Դու աշխարհի առաջատար փորձագետն ես» շատ քիչ է կարևոր, քան ասելը, թե իրականում ինչ է պետք։
- Ամեն ինչ մեկ անգամ խնդրելը։ 20 գործառույթի հարցումը տալիս է 20 կիսատ գործառույթ։ Կառուցիր մասերով։
- Լուծումը նկարագրելը խնդրի փոխարեն։ «Ավելացրու աղյուսակ երեք սյունակով» պակաս օգտակար է, քան «Սեմը պետք է մեկ հայացքով տեսնի, թե ով է գրանցված յուրաքանչյուր դասի»։
- Չասել, թե ինչ չանել։ Եթե առայժմ չեք ուզում մուտք, վճարումներ կամ վերադիզայն, ասեք դա։
- Արդյունքը չկարդալը։ Ստուգեք կառուցվածը քո «պատրաստի» սահմանման դեմ, նախքան առաջ շարժվելը։
- Սկզբից սկսելը ճշգրտելու փոխարեն։ Սովորաբար կարճ հետագա հաղորդագրությունը («մոտ է, փոխիր X-ը») ավելի լավ է, քան ամբողջ պրոմթը վերագրելը։
- Գաղտնիքներ պրոմթում տեղադրելը։ Մի տեղադրեք գաղտնաբառեր կամ իրական API բանալիներ չաթում, եթե գործիքը չունի անվտանգ պահելու եղանակ։
Ինչ խնդրել ձեր AI կառուցողից
- «Նախքան կառուցելը, հարցրու ինձ ցանկացած հարց և ցույց տուր քո պլանը։»
- «Երեք նախադասությամբ կրկնիր, թե ինչ եմ ես ուզում կարծում քո կարծիքով։»
- «Փոխիր միայն ամրագրման ձևը, մնացածին մի դիպչիր։»
- «Ի՞նչ ենթադրեցիր, որ ես չեմ նշել։»
- «Իմ նշումները վերածիր կարճ սպեցիֆիկացիայի՝ օգտատերերով, գործառույթներով, կանոններով և «առայժմ ոչ» կետերով։» Տե՛ս ինչպես գրել արտադրանքի պահանջների փաստաթուղթ AI-ով։
- «Առաջարկիր, թե ինչպես կարող էի այդ հարցումը ավելի լավ ձևակերպել։»
Պրոմթինգը Mythex-ում
Mythex-ն ունի երեք զրուցի ռեժիմ, որոնք հարմար են այս աշխատելու եղանակին․ Plan՝ մինչև փոփոխությունները համաձայնելու մոտեցումը, Build՝ փոփոխություններ անելու համար և Ask՝ հարցերի համար, որոնք չպետք է խմբագրեն ֆայլեր։ Կարող եք կցել սքրինշոթներ կամ մակետներ որպես համատեքստ, և եթե փոփոխությունը սխալ ընթանա, կարող եք վերադառնալ ստուգակետին։ Արդյունավետ պրոմթների մասին փաստաթղթերի էջերը effective prompts և iterating ավելի շատ օրինակներ ունեն, իսկ ինչպես կրկնել AI-ով կառուցված հավելվածի վրա նկարագրում է հետագա փոփոխությունների ցիկլը։
Հարցեր
Ի՞նչ է պրոմթ ինժեներինգը պարզ ասած
Պրոմթ ինժեներինգը AI մոդելի համար հրահանգներ գրելու և կատարելագործելու գործընթացն է, որպեսզի այն հուսալիորեն արտադրի ձեզ անհրաժեշտ արդյունքը։ Այն ընդգրկում է ինչ եք հարցնում, ինչ համատեքստ եք տալիս, օրինակներ, սահմանափակումներ և այն ձևաչափը, որով ուզում եք ստանալ պատասխանը։
Հատուկ հնարքներ կամ կախարդական բառեր պետք են՞
Ոչ իսկապես։ Ժամանակակից մոդելները լավագույնս արձագանքում են հստակ, կոնկրետ և լավ կազմակերպված հրահանգներին՝ նույն բաներին, որոնք օգնում են մարդ գործընկերոջը։ Համատեքստը, օրինակները և ավարտված արդյունքի հստակ նկարագրությունը շատ ավելի կարևոր են, քան հատուկ արտահայտությունները։
Ի՞նչ է համակարգային պրոմթը
Համակարգային պրոմթը զրույցից առաջ մոդելին տրվող մշտական հրահանգների հավաքածու է, օրինակ՝ նրա դերը, կանոնները և տոնը։ Հավելվածներն օգտագործում են այն յուրաքանչյուր պատասխանի ձևը որոշելու համար, մինչդեռ օգտատիրոջ հաղորդագրությունները գալիս են դրանից հետո։
Արդյո՞ք պրոմթ ինժեներինգը դեռ պետք է, երբ AI-ն ավելի խելացի է դառնում
Ավելի լավ մոդելներին ավելի քիչ շրջանցումներ են պետք, բայց նրանք դեռ ձեր մտքերը չեն կարդում։ Ձեր նպատակի, լսարանի, սահմանափակումների և այն մասին հստակ նկարագրությունը, թե ինչն է համարվում «պատրաստ», միշտ կբարելավի արդյունքները, քանի որ մոդելը կարող է աշխատել միայն այն տվյալների հետ, որոնք դուք տալիս եք։