AI շարքի հարցազրույց 12. Ինչպե՞ս օպտիմիզացնել Prompt-ը:
Prompt-ի օպտիմիզացումը (Prompt Engineering / Optimization) հիմնական հմտություն է մեծ լեզվական մոդելին «հնազանդեցնելու» համար, հատկապես RAG համակարգերում, որտեղ ուղղակիորեն որոշում է, թե մոդելը պատրա՞ստ է հավատարիմ մնալ վերցված բովանդակությանը, խուսափել հալյուցինացիաներից և պահպանել ելքի ձևաչափը:
1. Prompt-ի օպտիմիզացման հիմնական սկզբունքներ
- Պարզություն > Բարդություն՝ պարզ ուղիղ հրահանգները հաճախ ավելի արդյունավետ են, քան զարդարուն մտքի շղթաները:
- Տալ բավարար սահմանափակումներ՝ հստակ ասել մոդելին «ինչ կարող է անել, ինչ չի կարող»:
- Տրամադրել օրինակներ՝ Few-shot-ն ավելի կայուն է, քան Zero-shot-ը:
- Ստուգելիություն՝ թույլ տալ մոդելին տալ հղումներ կամ վստահության աստիճան՝ հետագա գնահատման համար:
- Իտերատիվ օպտիմիզացում՝ սկսել բազային տարբերակից, ամեն անգամ փոխել միայն մեկ փոփոխական և համեմատել արդյունքները:
2. Օպտիմիզացման կոնկրետ տեխնիկաներ (պարզից դժվար)
2.1. Դերային նշանակում (System Prompt)
Դուք պրոֆեսիոնալ հաճախորդների սպասարկման օգնական եք: Դուք կարող եք պատասխանել միայն ստորև տրված 【Հղումներին】 համապատասխան: Եթե չգիտեք պատասխանը, ասեք «Տվյալներում համապատասխան տեղեկություն չկա», մի հորինեք:
- Նշանակություն՝ սահմանել շրջանակը և տոնայնությունը:
- Օպտիմիզացման կետեր՝ տոնայնություն (պրոֆեսիոնալ/բարեկամական), սահմանափակման ուժգնություն (խիստ/ազատ):
2.2. Հստակ հրահանգներ
❌ Վատ՝ «Պատասխանել օգտատիրոջ հարցին:»
✅ Լավ՝ «Միայն ստորև տրված 【Հղումներին】 հիման վրա պատասխանել: Եթե հղումները չեն պարունակում պատասխանը, ասել «Ես չեմ կարող պատասխանել այս հարցին»:
2.3. Ելքի ձևաչափի վերահսկում
Խնդրում եմ տրամադրել ելքը հետևյալ JSON ձևաչափով՝
{
"answer": "Ձեր պատասխանը",
"confidence": "բարձր/միջին/ցածր",
"sources": [1, 3]
}
- Նպատակ՝ հեշտացնել հետագա վերլուծությունը, հղումները և վրիպազերծումը:
2.4. Few-shot օրինակներ (շատ արդյունավետ)
Օրինակ 1:
Հարց՝ Քանի՞ օր է արձակուրդը:
Հղումներ՝ Արձակուրդի կանոններ՝ 1 տարի՝ 5 օր, 10 տարի՝ 10 օր:
Պատասխան՝ 1 տարի՝ 5 օր, 10 տարի՝ 10 օր:
Օրինակ 2:
Հարց՝ Ինչպե՞ս է հաշվարկվում արտաժամյա վարձատրությունը:
Հղումներ՝ Աշխատանքային օրերին՝ 1.5 անգամ, հանգստյան օրերին՝ 2 անգամ:
Պատասխան՝ Աշխատանքային օրերին՝ 1.5 անգամ, հանգստյան օրերին՝ 2 անգամ:
Այժմ պատասխանեք՝
Հարց՝ {Օգտատիրոջ հարցը}
Հղումներ՝ {Վերցված բովանդակություն}
Պատասխան՝
- Հնարք՝ օրինակները պետք է ընդգրկեն տարբեր դժվարության մակարդակներ, ցանկալի է ներառել «չեմ կարող պատասխանել» օրինակ:
2.5. Հարկադիր հղում
Պատասխանի վերջում նշել աղբյուրի համարը՝ [citation:X] ձևաչափով: Օրինակ՝ «Արձակուրդը 5 օր է[citation:1]:» Եթե մի քանի աղբյուրից է, առանձին նշել:
2.6. Մերժման շեմի սահմանում
- Կոշտ սահմանափակում՝ «Եթե հղումները լիովին կապ չունեն հարցի հետ, պատասխանել «Տվյալները կապ չունեն»:
- Փափուկ սահմանափակում՝ զուգակցել վերցված վստահության գնահատականի հետ. եթե ցածր է շեմից, ավտոմատ անցնել մերժման ճյուղ:
2.7. Մտքի շղթա (Chain-of-Thought) բազմաքայլ հետևությունների համար
Հարց՝ Ո՞վ է Չժան Սանի ղեկավարը:
Քայլեր՝ 1. Նախ պարզել Չժան Սանի բաժինը: 2. Այնուհետև պարզել այդ բաժնի ղեկավարին: 3. Տալ վերջնական պատասխանը:
Խնդրում եմ մտածել ըստ քայլերի, ապա տրամադրել ելքը:
2.8. Բացասական հրահանգներ (Negative Prompting)
Մի հորինեք պատասխաններ: Մի օգտագործեք «հնարավոր է», «միգուցե» և այլ անորոշ բառեր: Մի տվեք հղումներից դուրս որևէ թվեր:
3. Ինչպե՞ս գնահատել Prompt-ի որակը:
| Ցուցանիշ | Իմաստ | Ինչպես չափել |
|---|---|---|
| Հավատարմություն | Պատասխանը խստորեն հիմնվա՞ծ է հղումների վրա | Ձեռքով կամ RAGAS-ի Faithfulness-ով |
| Մերժման ճշգրտություն | Արդյո՞ք պետք է մերժել, երբ պետք է | Հաշվարկել առանց պատասխանի թեստային հավաքածուի վրա |
| Ձևաչափի պահպանման գործակից | Արդյո՞ք ելքը JSON է / պարունակում է հղումներ | Կանոնավոր արտահայտություններով |
| Օգտատիրոջ գոհունակություն | Պատասխանը օգտակա՞ր է | Առցանց հետադարձ կապ / A/B թեստավորում |
Առաջարկություն՝ պատրաստել փոքր թեստային հավաքածու (20-50 եզրային դեպք), ամեն անգամ prompt-ը փոխելուց հետո վազեցնել և գրանցել փոփոխությունները:
4. Տարածված ծուղակներ և օպտիմիզացման ուղղություններ
| Խնդրի դրսևորում | Հնարավոր պատճառ | Օպտիմիզացման մեթոդ |
|---|---|---|
| Մոդելը անտեսում է հղումները, ինքնուրույն պատասխանում | Հրահանգը բավականաչափ պարտադիր չէ | Փոխել «միայն հետևյալ տվյալներով», ցույց տալ մերժում few-shot-ով |
| Մոդելը միշտ ասում է «չգիտեմ» | Մերժման շեմը չափազանց բարձր է | Իջեցնել շեմը կամ ստուգել վերցման որակը |
| Ելքի ձևաչափը խառն է, JSON չի հետևում | Հրահանգը ոչ հստակ | Ավելացնել խիստ ձևաչափի օրինակ կամ օգտագործել function calling |
| Պատասխանը չափազանց երկար/կարճ է | Երկարությունը նշված չէ | «Պատասխանել ոչ ավելի, քան 3 նախադասությամբ» |
| Բազմաքայլ հետևությունների սխալ | Մոդելի հետևելու կարողությունը անբավարար է | Պահանջել ցույց տալ քայլերը, կամ օգտագործել ավելի ուժեղ մոդել |
| Հալյուցինացիաներ թվեր/ամսաթվեր | Մոդելը հիմնվում է սեփական գիտելիքի վրա | Ընդգծել «մի օգտագործեք ձեր հիշած որևէ թիվ, միայն նայեք հղումներին» |
评论
暂无已展示的评论。
发表评论(匿名)