AI serijos interviu 12: Kaip optimizuoti promptą?
Prompt optimizavimas (Prompt Engineering / Optimization) yra pagrindinis įgūdis, leidžiantis didiesiems kalbos modeliams "klausyti", ypač RAG sistemose, kur jis tiesiogiai lemia, ar modelis ištikimai remsis gauta informacija, vengs haliucinacijų ir laikysis išvesties formato.
1. Pagrindiniai prompt optimizavimo principai
- Aiškumas > Sudėtingumas: Paprastos, tiesioginės instrukcijos dažnai veiksmingesnės už įmantrias mąstymo grandines.
- Nustatykite pakankamai ribojimų: Aiškiai pasakykite modeliui, ką gali ir ko negali daryti.
- Pateikite pavyzdžių: Kelių pavyzdžių (few-shot) metodas yra stabilesnis nei be pavyzdžių (zero-shot).
- Patikrinamumas: Paprašykite modelio pateikti nuorodas ar pasitikėjimo lygį, kad būtų lengviau įvertinti rezultatą.
- Iteratyvus tobulinimas: Pradėkite nuo bazinės versijos, keiskite tik vieną kintamąjį ir lyginkite rezultatus.
2. Konkretūs optimizavimo patarimai (nuo lengvų iki sudėtingų)
1. Vaidmens nustatymas (Sistemos prompt)
Jūs esate profesionalus klientų aptarnavimo asistentas. Galite atsakyti tik pagal toliau pateiktą 【Medžiagą】. Jei nežinote atsakymo, tiesiog pasakykite „Medžiagoje nėra atitinkamos informacijos“, nesukurkite atsakymo patys.
- Poveikis: Nustato ribas ir toną.
- Optimizavimo taškai: Tonas (profesionalus/draugiškas), ribojimų griežtumas (griežtas/laisvas).
2. Aiškios instrukcijos
❌ Blogai: „Atsakykite į vartotojo klausimą.“
✅ Gerai: „Remkitės tik toliau pateikta 【Medžiaga】. Jei medžiagoje nėra atsakymo, atsakykite „Negaliu atsakyti į šį klausimą“.“
3. Išvesties formato valdymas
Pateikite atsakymą JSON formatu:
{
"answer": "jūsų atsakymas",
"confidence": "aukštas/vidutinis/žemas",
"sources": [1, 3]
}
- Naudojimas: Palengvina tolesnį apdorojimą, nuorodų naudojimą ir derinimą.
4. Pavyzdžiai su keliais atvejais (labai veiksminga)
1 pavyzdys:
Klausimas: Kiek dienų yra kasmetinės atostogos?
Medžiaga: Kasmetinių atostogų taisyklės: vieneri metai – 5 dienos, dešimt metų – 10 dienų.
Atsakymas: Vieneri metai – 5 dienos, dešimt metų – 10 dienų.
2 pavyzdys:
Klausimas: Kaip apskaičiuojami viršvalandžiai?
Medžiaga: Darbo dienomis – 1,5 karto, savaitgaliais – 2 kartus.
Atsakymas: Darbo dienomis – 1,5 karto, savaitgaliais – 2 kartus.
Dabar atsakykite:
Klausimas: {用户问题}
Medžiaga: {检索内容}
Atsakymas:
- Patarimas: Pavyzdžiai turėtų apimti skirtingus sudėtingumo lygius, geriausia įtraukti vieną, kai negalima atsakyti.
5. Privalomas citavimas
Atsakymo pabaigoje pažymėkite šaltinio numerį naudodami [citation:X]. Pavyzdžiui: „Kasmetinės atostogos – 5 dienos [citation:1].“ Jei naudojate kelis šaltinius, pažymėkite kiekvieną atskirai.
6. Atsisakymo slenksčio nustatymas
- Griežtas ribojimas: „Jei medžiaga visiškai nesusijusi su klausimu, atsakykite „Medžiaga nesusijusi“.“
- Minkštas ribojimas: Derinkite su paieškos patikimumo balu; jei jis žemesnis už slenkstį, automatiškai pereikite prie atsisakymo.
7. Mąstymo grandinė (Chain-of-Thought) kelių žingsnių samprotavimui
Klausimas: Kas yra Zhang San viršininkas?
Žingsniai: 1. Pirmiausia nustatykite Zhang San skyrių. 2. Tada raskite to skyriaus vadovą. 3. Pateikite galutinį atsakymą.
Atsakykite pagal šiuos žingsnius.
8. Neigiamos instrukcijos (Negative Prompting)
Nesukurkite atsakymų. Nenaudokite neaiškių žodžių, tokių kaip „galbūt“ ar „tikriausiai“. Nepateikite jokių skaičių, kurių nėra medžiagoje.
3. Kaip įvertinti prompt kokybę?
| Rodiklis | Reikšmė | Kaip matuoti |
|---|---|---|
| Ištikimybė | Ar atsakymas griežtai pagrįstas medžiaga | Rankiniu būdu arba RAGAS Faithfulness |
| Atsisakymo tikslumas | Ar teisingai atsisakoma atsakyti, kai reikia | Skaičiuojama testiniame rinkinyje be atsakymų |
| Formato laikymasis | Ar atsakymas atitinka reikalaujamą JSON / citavimą | Reguliariosios išraiškos |
| Vartotojo pasitenkinimas | Ar atsakymas naudingas | Atsiliepimai / A/B testavimas |
Rekomendacija: Paruoškite nedidelį testinį rinkinį (20–50 ribinių atvejų), po kiekvieno prompt pakeitimo paleiskite jį ir užrašykite pokyčius.
4. Dažni spąstai ir optimizavimo kryptys
| Problema | Galima priežastis | Optimizavimo būdas |
|---|---|---|
| Modelis ignoruoja medžiagą ir atsako savarankiškai | Instrukcijos nepakankamai griežtos | Pakeiskite į „Remkitės tik šia medžiaga“, naudokite kelis pavyzdžius, rodančius atsisakymą |
| Modelis visada sako „nežinau“ | Atsisakymo slenkstis per aukštas | Sumažinkite slenkstį arba patikrinkite paieškos kokybę |
| Išvesties formatas netvarkingas, neatitinka JSON | Instrukcijos neaiškios | Pridėkite griežtą formato pavyzdį arba naudokite funkcijų iškvietimą |
| Atsakymas per ilgas/trumpas | Nenurodytas ilgis | „Atsakykite ne daugiau kaip 3 sakiniais“ |
| Klaidos kelių žingsnių samprotavime | Modelio samprotavimo gebėjimai nepakankami | Reikalaukite nuoseklaus samprotavimo arba naudokite stipresnį modelį |
| Atsiranda haliucinuoti skaičiai/datos | Modelis remiasi savo žiniomis | Pabrėžkite „Nenaudokite jokių iš atminties žinomų skaičių, remkitės tik medžiaga“ |
评论
暂无已展示的评论。
发表评论(匿名)