AI ინტერვიუების სერია 12: როგორ მოვარგოთ Prompt?
Prompt-ის მორგება (Prompt Engineering / Optimization) არის მთავარი უნარი, რათა დიდი ენობრივი მოდელი იყოს "მორჩილი", განსაკუთრებით RAG სისტემებში, სადაც პირდაპირ განსაზღვრავს, ერთგულად მიჰყვება თუ არა მოძიებულ შინაარსს, თავიდან აიცილებს თუ არა ჰალუცინაციას და იცავს თუ არა ფორმატის წესებს.
1. Prompt-ის მორგების ძირითადი პრინციპები
- სიცხადე > სირთულე: მარტივი, პირდაპირი ინსტრუქციები ხშირად უფრო ეფექტურია, ვიდრე ლამაზი აზროვნების ჯაჭვები.
- საკმარისი შეზღუდვები: ნათლად უთხარით მოდელს "რა შეიძლია, რა არა".
- მაგალითების მიწოდება: Few-shot უფრო სტაბილურია, ვიდრე Zero-shot.
- გადამოწმებადი: აიძულეთ მოდელი, გამოიყვანოს ციტატები ან ნდობის დონე, რათა ქვედა სისტემამ შეძლოს შეფასება.
- იტერაციული ოპტიმიზაცია: დაიწყეთ ბაზური ვერსიიდან, შეცვალეთ ერთი ცვლადი თითოეულ ნაბიჯზე და შეადარეთ შედეგები.
2. კონკრეტული მორგების ტექნიკები (მარტივიდან რთულამდე)
1. როლის განსაზღვრა (System Prompt)
თქვენ ხართ პროფესიონალი მომხმარებელთა მხარდაჭერის ასისტენტი. თქვენ შეგიძლიათ უპასუხოთ მხოლოდ ქვემოთ მოცემული [საცნობარო მასალის] საფუძველზე. თუ არ იცით პასუხი, პირდაპირ თქვით "მასალაში ინფორმაცია არ არის", ნუ შეადგენთ.
- ფუნქცია: საზღვრებისა და ტონის დაყენება.
- მორგების წერტილი: ტონი (პროფესიონალური/მეგობრული), შეზღუდვის სიმკაცრე (მკაცრი/რბილი).
2. მკაფიო ინსტრუქცია
❌ ცუდი: "უპასუხეთ მომხმარებლის შეკითხვას."
✅ კარგი: "მხოლოდ ქვემოთ მოცემულ [საცნობარო მასალაზე] დაყრდნობით უპასუხეთ. თუ მასალა არ შეიცავს პასუხს, უპასუხეთ 'მე ვერ ვპასუხობ ამ კითხვას'."
3. გამომავალი ფორმატის კონტროლი
გთხოვთ, გამოიტანეთ შემდეგი JSON ფორმატით:
{
"answer": "თქვენი პასუხი",
"confidence": "მაღალი/საშუალო/დაბალი",
"sources": [1, 3]
}
- გამოყენება: ქვედა სისტემის მიერ ანალიზის, ციტირებისა და გამართვის გაადვილება.
4. Few-shot მაგალითები (ძალიან ეფექტური)
მაგალითი 1:
შეკითხვა: რამდენი დღეა წლიური შვებულება?
საცნობარო მასალა: წლიური შვებულების წესები: 1 წელი – 5 დღე, 10 წელი – 10 დღე.
პასუხი: 1 წელზე – 5 დღე, 10 წელზე – 10 დღე.
მაგალითი 2:
შეკითხვა: როგორ გამოითვლება ზეგანაკვეთური?
საცნობარო მასალა: სამუშაო დღეებში – 1.5-ჯერ, შაბათ-კვირას – 2-ჯერ.
პასუხი: სამუშაო დღეებში – 1.5-ჯერ, შაბათ-კვირას – 2-ჯერ.
ახლა უპასუხეთ:
შეკითხვა: {მომხმარებლის შეკითხვა}
საცნობარო მასალა: {მოძიებული შინაარსი}
პასუხი:
- რჩევა: მაგალითები უნდა მოიცავდეს სხვადასხვა სირთულის დონეს, სასურველია ერთი "ვერ ვპასუხობ" მაგალითიც.
5. იძულებითი ციტირება
პასუხის ბოლოს მიუთითეთ წყაროს ნომერი [citation:X]. მაგ.: "წლიური შვებულება 5 დღეა[citation:1]." თუ რამდენიმე წყაროს იყენებთ, მიუთითეთ თითოეული.
6. უარის თქმის ზღვარის დაყენება
- მკაცრი შეზღუდვა: "თუ მასალა სრულიად არარელევანტურია, უპასუხეთ 'მასალა არ არის შესაბამისი'."
- რბილი შეზღუდვა: შეუთავსეთ მოძიების ნდობის ქულას; თუ ქვემოთაა, ავტომატურად გაააქტიურეთ უარის თქმის განშტოება.
7. აზროვნების ჯაჭვი (Chain-of-Thought) მრავალსაფეხურიანი მსჯელობისთვის
შეკითხვა: ვინ არის ჟანგის უფროსი?
ნაბიჯები: 1. ჯერ გაარკვიეთ ჟანგის განყოფილება. 2. შემდეგ გაარკვიეთ ამ განყოფილების ხელმძღვანელი. 3. მიეცით საბოლოო პასუხი.
გთხოვთ, იმსჯელეთ ნაბიჯებად და შემდეგ გამოიტანეთ.
8. უარყოფითი ინსტრუქცია (Negative Prompting)
ნუ შეადგენთ პასუხებს. ნუ გამოიყენებთ ბუნდოვან სიტყვებს, როგორიცაა "შესაძლოა", "იქნებ". ნუ გამოიყვანთ ციფრებს, რომლებიც არ არის მასალაში.
3. როგორ შევაფასოთ Prompt-ის ხარისხი?
| ინდიკატორი | მნიშვნელობა | როგორ გავზომოთ |
|---|---|---|
| ერთგულება | პასუხი მკაცრად ეყრდნობა მასალას? | ხელით ან RAGAS-ის Faithfulness |
| უარის თქმის სიზუსტე | უარს ამბობს მაშინ, როცა საჭიროა? | გამოთვალეთ უარსისათვის განკუთვნილ ტესტურ კომპლექტზე |
| ფორმატის დაცვა | გამოაქვს JSON/ციტატები მოთხოვნისამებრ? | რეგულარული გამოსახულებები |
| მომხმარებლის კმაყოფილება | პასუხი სასარგებლოა? | ონლაინ გამოხმაურება / A/B ტესტი |
რეკომენდაცია: მოამზადეთ მცირე ტესტური კომპლექტი (20-50 ზღვრული შემთხვევა) და ყოველი Prompt-ის ცვლილების შემდეგ გაუშვით, ჩაწერეთ ცვლილებები.
4. ხშირი ხაფანგები და მორგების მიმართულებები
| პრობლემა | შესაძლო მიზეზი | მორგების მეთოდი |
|---|---|---|
| მოდელი უგულებელყოფს მასალას, დამოუკიდებლად პასუხობს | ინსტრუქცია არ არის საკმარისად მკაცრი | შეცვალეთ "მხოლოდ ქვემოთ მოცემულ მასალაზე" და აჩვენეთ უარის თქმა few-shot-ით |
| მოდელი მუდმივად ამბობს "არ ვიცი" | უარის თქმის ზღვარი ძალიან მაღალია | შეამცირეთ ზღვარი ან შეამოწმეთ მოძიების ხარისხი |
| გამომავალი ფორმატი არეულია, არ ემორჩილება JSON-ს | ინსტრუქცია გაურკვეველია | დაამატეთ მკაფიო ფორმატის მაგალითი ან გამოიყენეთ function calling |
| პასუხი ძალიან გრძელი/მოკლე | სიგრძე არ არის მითითებული | "უპასუხეთ არაუმეტეს 3 წინადადებით" |
| მრავალსაფეხურიანი მსჯელობა მცდარია | მოდელის მსჯელობის უნარი არასაკმარისია | მოითხოვეთ ნაბიჯ-ნაბიჯ მსჯელობა ან გამოიყენეთ უფრო ძლიერი მოდელი |
| ჰალუცინირებული ციფრები/თარიღები | მოდელი ეყრდნობა საკუთარ ცოდნას | გაამახვილეთ ყურადღება "ნუ გამოიყენებთ თქვენს შენახულ ციფრებს, მხოლოდ მასალას" |
评论
暂无已展示的评论。
发表评论(匿名)