← 返回列表

AI sērija Intervija 12: Kā optimizēt promptu?

Promptu optimizācija (Prompt Engineering / Optimization) ir galvenā prasme, lai lielie valodas modeļi būtu "paklausīgi". Īpaši RAG sistēmās tas tieši ietekmē to, vai modelis uzticīgi balstīsies uz izgūto saturu, izvairīsies no halucinācijām un ievēros izvades formāta normas.


1. Promptu optimizācijas pamatprincipi

  1. Skaidrība > sarežģītība: vienkārši un tiešie norādījumi bieži vien ir efektīvāki nekā greznas domāšanas ķēdes.
  2. Dodiet pietiekami daudz ierobežojumu: skaidri pasakiet modelim, ko tas drīkst un ko nedrīkst darīt.
  3. Sniedziet piemērus: Few-shot ir stabilāks nekā Zero-shot.
  4. Pārbaudāms: lieciet modelim sniegt atsauces vai ticamības līmeni, lai atvieglotu turpmāko spriešanu.
  5. Iteratīva optimizācija: sāciet ar bāzes līniju, katru reizi mainiet tikai vienu mainīgo un salīdziniet rezultātus.

2. Konkrēti optimizācijas paņēmieni (no viegliem līdz sarežģītiem)

1. Lomas noteikšana (System Prompt)

Jūs esat profesionāls klientu apkalpošanas asistents. Jūs varat atbildēt tikai pamatojoties uz tālāk sniegtajiem [Atsauces materiāliem].
Ja nezināt atbildi, lūdzu, tieši sakiet "Atsauces materiālos nav attiecīgas informācijas", nevis izdomājiet pats.
  • Funkcija: noteikt robežas un toni.
  • Optimizācijas punkti: tonis (profesionāls / draudzīgs), ierobežojumu stiprums (stingrs / elastīgs).

2. Skaidri norādījumi

❌ Slikti: "Atbildiet uz lietotāja jautājumu."
✅ Labi: "Balstieties tikai uz tālāk sniegtajiem [Atsauces materiāliem]. Ja atsauces materiālos nav atbildes, atbildiet 'Es nevaru atbildēt uz šo jautājumu'."

3. Izvades formāta kontrole

Lūdzu, izvadiet šādā JSON formātā:
{
  "answer": "jūsu atbilde",
  "confidence": "augsta/vidēja/zema",
  "sources": [1, 3]
}
  • Lietojums: atvieglo turpmāku parsēšanu, atsauces un atkļūdošanu.

4. Few-shot piemēri (ļoti efektīvi)

1. piemērs:
Jautājums: Cik dienas ir ikgadējais atvaļinājums?
Atsauces materiāli: Ikgadējā atvaļinājuma noteikumi: pēc 1 gada – 5 dienas, pēc 10 gadiem – 10 dienas.
Atbilde: Pēc 1 gada – 5 dienas, pēc 10 gadiem – 10 dienas.

2. piemērs:
Jautājums: Kā tiek aprēķināta virsstundu samaksa?
Atsauces materiāli: Darba dienās virsstundas 1,5 reizes, brīvdienās 2 reizes.
Atbilde: Darba dienās 1,5 reizes, brīvdienās 2 reizes.

Tagad lūdzu atbildiet:
Jautājums: {lietotāja jautājums}
Atsauces materiāli: {izgūtais saturs}
Atbilde:
  • Padoms: piemēriem jāaptver dažādas grūtības pakāpes, vislabāk iekļaut arī vienu "nevar atbildēt" piemēru.

5. Obligātas atsauces

Atbildes beigās norādiet avota numuru ar [citation:X]. Piemēram: "Ikgadējais atvaļinājums ir 5 dienas[citation:1]."
Ja izmantojat vairākus avotus, norādiet katru atsevišķi.

6. Atteikšanās sliekšņa noteikšana

  • Stingrs ierobežojums: "Ja atsauces materiāli pilnībā neatbilst jautājumam, atbildiet 'Materiāli nav saistīti'."
  • Elastīgs ierobežojums: apvienojiet ar izgūšanas ticamības punktu skaitu; ja tas ir zemāks par slieksni, automātiski izpildiet atteikšanās zaru.

7. Domāšanas ķēde (Chain-of-Thought) vairāku soļu spriešanai

Jautājums: Kas ir Džana San priekšnieks?
Soļi: 1. Vispirms noskaidrojiet Džana San nodaļu. 2. Pēc tam noskaidrojiet šīs nodaļas vadītāju. 3. Sniedziet galīgo atbildi.
Lūdzu, vispirms izdomājiet pa soļiem, tad izvadiet.

8. Negatīvi norādījumi (Negative Prompting)

Neizdomājiet atbildes. Neizmantojiet neskaidrus vārdus kā "iespējams", "varbūt". Neizvadiet nekādus skaitļus, kas nav atsauces materiālos.

3. Kā novērtēt promptu kvalitāti?

Indikators Nozīme Kā mērīt
Uzticība Vai atbilde stingri balstās uz atsauces materiāliem Manuāli vai izmantojot RAGAS Faithfulness
Atteikšanās precizitāte Vai modelis atsakās atbildēt, kad vajadzētu Aprēķina testa komplektā bez atbildēm
Formāta ievērošanas līmenis Vai izvade atbilst prasītajam JSON / atsauču formātam Regulārās izteiksmes atbilstība
Lietotāju apmierinātība Vai atbilde ir noderīga Tiešsaistes atsauksmes / A/B testēšana

Ieteikums: sagatavojiet nelielu testu kopu (20-50 robežgadījumu), katru reizi pēc promptu maiņas palaidiet to un reģistrējiet izmaiņas.

4. Bieži sastopamās nepilnības un optimizācijas virzieni

Problēmas izpausme Iespējamais cēlonis Optimizācijas metode
Modelis ignorē atsauces materiālus un atbild pats Norādījumi nav pietiekami stingri Mainīt uz "Balstieties tikai uz tālāk sniegtajiem materiāliem" un izmantot few-shot ar atteikšanās piemēru
Modelis vienmēr saka "nezinu" Atteikšanās slieksnis pārāk augsts Samazināt slieksni vai pārbaudīt izgūšanas kvalitāti
Izvades formāts nekārtīgs, neatbilst JSON Norādījumi nav skaidri Pievienot stingru formāta piemēru vai izmantot function calling
Atbilde pārāk gara/īsa Nav norādīts garums "Atbildiet ne vairāk kā 3 teikumos"
Vairāku soļu spriešana neizdodas Modeļa spriešanas spējas nepietiekamas Prasīt soli pa solim spriešanu vai izmantot spēcīgāku modeli
Parādās halucinēti skaitļi/datumi Modelis paļaujas uz savām zināšanām Uzsvērt "neizmantojiet nekādus skaitļus no savas atmiņas, skatieties tikai atsauces materiālus"

评论

暂无已展示的评论。

发表评论(匿名)