AI serija intervjua 12: Kako optimizirati prompt?
Optimizacija prompta (Prompt Engineering / Optimization) ključna je vještina kako bi velike jezične modele natjerali da "slušaju", posebno u RAG sustavima, izravno određuje hoće li model biti voljan vjerno se oslanjati na dohvaćeni sadržaj, izbjegavati halucinacije i ispisivati formatiran izlaz.
1. Ključna načela optimizacije prompta
- Jasnoća > Složenost: Jednostavne izravne upute često su učinkovitije od kitnjastih lanaca misli.
- Dajte dovoljno ograničenja: Jasno recite modelu "što smije, a što ne smije raditi".
- Pružite primjere: Few-shot je stabilniji od Zero-shot.
- Provjerljivost: Neka model ispiše reference ili razinu pouzdanosti radi lakše procjene.
- Iterativna optimizacija: Krenite od osnovne verzije, mijenjajte samo jednu varijablu odjednom i uspoređujte rezultate.
2. Specifične tehnike optimizacije (od lakših prema težima)
1. Postavljanje uloge (System Prompt)
Ti si profesionalni servisni asistent. Odgovaraj samo na temelju dolje navedenih [Referentnih materijala].
Ako ne znaš odgovor, jednostavno reci "U materijalima nema relevantnih informacija", nemoj izmišljati.
- Učinak: Postavlja granice i ton.
- Optimizacijske točke: Ton (profesionalan/ljubazan), snaga ograničenja (strogo/blago).
2. Jasna instrukcija
❌ Loše: "Odgovori na pitanje korisnika."
✅ Dobro: "Samo na temelju dolje navedenih [Referentnih materijala] odgovori. Ako referentni materijali ne sadrže odgovor, reci 'Ne mogu odgovoriti na ovo pitanje'."
3. Kontrola formata izlaza
Ispiši u sljedećem JSON formatu:
{
"answer": "Tvoj odgovor",
"confidence": "visoka/srednja/niska",
"sources": [1, 3]
}
- Namjena: Olakšava obradu, citiranje i debugiranje.
4. Primjeri s malim brojem uzoraka (Few-shot, vrlo učinkovito)
Primjer 1:
Pitanje: Koliko dana godišnjeg odmora imam?
Referentni materijali: Pravilo o godišnjem odmoru: 5 dana nakon 1 godine, 10 dana nakon 10 godina.
Odgovor: 5 dana nakon 1 godine, 10 dana nakon 10 godina.
Primjer 2:
Pitanje: Kako se obračunava prekovremeni rad?
Referentni materijali: Radnim danom 1.5 puta, vikendom 2 puta.
Odgovor: Radnim danom 1.5 puta, vikendom 2 puta.
Sada odgovori:
Pitanje: {Korisničko pitanje}
Referentni materijali: {Dohvaćeni sadržaj}
Odgovor:
- Savjet: Primjeri trebaju pokrivati različite težine, uključujući jedan primjer "ne mogu odgovoriti".
5. Prisilno citiranje
Na kraju odgovora označi izvor pomoću [citation:X]. Na primjer: "Godišnji odmor iznosi 5 dana[citation:1]."
Ako se kombinira više izvora, svaki posebno označi.
6. Postavljanje praga odbijanja
- Tvrdo ograničenje: "Ako su referentni materijali potpuno nepovezani s pitanjem, odgovori 'Materijali nisu relevantni'."
- Meko ograničenje: Kombiniraj s razinom pouzdanosti dohvaćanja; ako je ispod praga, automatski odbij.
7. Lanac misli (Chain-of-Thought) za višestruko zaključivanje
Pitanje: Tko je šef Zhang Sana?
Koraci: 1. Prvo pronađi odjel Zhang Sana. 2. Zatim pronađi voditelja tog odjela. 3. Daj konačan odgovor.
Razmisli kroz korake i ispiši odgovor.
8. Negativne instrukcije (Negative Prompting)
Ne izmišljaj odgovore. Ne koristi nejasne riječi poput "možda", "vjerojatno". Ne ispisuj brojke koje nisu u referentnim materijalima.
3. Kako procijeniti kvalitetu prompta?
| Mjera | Značenje | Kako mjeriti |
|---|---|---|
| Vjernost | Je li odgovor strogo temeljen na referentnim materijalima | Ručno ili RAGAS Faithfulness |
| Točnost odbijanja | Odbija li kad treba | Izračunaj na testnom skupu bez odgovora |
| Stopa praćenja formata | Ispisuje li JSON/citiranje kako je traženo | Regularni izrazi |
| Zadovoljstvo korisnika | Je li odgovor koristan | Online povratne informacije / A/B test |
Preporuka: Pripremi mali testni skup (20-50 rubnih slučajeva), nakon svake izmjene prompta pokreni ga i zabilježi promjene.
4. Uobičajene zamke i smjerovi optimizacije
| Problem | Mogući uzrok | Metoda optimizacije |
|---|---|---|
| Model ignorira referentne materijale i sam odgovara | Instrukcija nije dovoljno stroga | Promijeni u "Samo na temelju sljedećih materijala", i daj few-shot primjer odbijanja |
| Model uvijek kaže "ne znam" | Prag odbijanja previsok | Smanji prag ili provjeri kvalitetu dohvaćanja |
| Format izlaza je neuredan, nije JSON | Instrukcija nejasna | Dodaj strog primjer formata ili koristi function calling |
| Odgovor predug/prekratak | Nije specificirana duljina | "Odgovori u najviše 3 rečenice" |
| Pogreške u višestrukom zaključivanju | Nedovoljna sposobnost zaključivanja modela | Traži postupno razmišljanje ili koristi jači model |
| Halucinacije (brojke/datumi) | Model se oslanja na vlastito znanje | Naglasi "Ne koristi nijedan broj iz sjećanja, gledaj samo u materijale" |
评论
暂无已展示的评论。
发表评论(匿名)