← 返回列表

AI serija intervjua 12: Kako optimizirati prompt?

Optimizacija prompta (Prompt Engineering / Optimization) je ključna vještina da se veliki jezički model "sluša", posebno u RAG sistemima, direktno određuje da li će model vjerno slijediti pretraženi sadržaj, izbjeći halucinacije i ispoštovati format izlaza.


1. Ključni principi optimizacije prompta

  1. Jasnoća > složenost: Jednostavne, jasne instrukcije su često efikasnije od otmjenih lanaca misli.
  2. Dovoljno ograničenja: Jasno recite modelu "šta smije, a šta ne smije raditi".
  3. Pružite primjere: Few-shot je stabilniji od Zero-shot.
  4. Provjerljivost: Neka model iznese reference ili povjerenje, radi lakše procjene.
  5. Iterativna optimizacija: Počnite od osnovne linije, mijenjajte samo jednu varijablu odjednom i uporedite rezultate.

2. Konkretne tehnike optimizacije (od lakšeg ka težem)

1. Postavka uloge (System Prompt)

Ti si profesionalni asistent za korisničku podršku. Odgovaraj samo na osnovu [Referentnih materijala] datih ispod.
Ako ne znaš odgovor, reci direktno "Nema relevantnih informacija u materijalima", ne izmišljaj.
  • Uloga: Postavljanje granica i tona.
  • Tačke podešavanja: Ton (profesionalno/prijateljski), jačina ograničenja (strogo/opušteno).

2. Jasna instrukcija

❌ Loše: "Odgovori na pitanje korisnika."
✅ Dobro: "Odgovori isključivo na osnovu [Referentnih materijala] ispod. Ako referentni materijali ne sadrže odgovor, odgovori 'Ne mogu odgovoriti na ovo pitanje'."

3. Kontrola formata izlaza

Izlaz u sljedećem JSON formatu:
{
  "answer": "tvoj odgovor",
  "confidence": "visok/srednji/nizak",
  "sources": [1, 3]
}
  • Namjena: Olakšava parsiranje, referenciranje i debagiranje.

4. Few-shot primjeri (veoma efikasni)

Primjer 1:
Pitanje: Koliko dana godišnjeg odmora?
Referentni materijal: Pravilo godišnjeg odmora: 1 godina = 5 dana, 10 godina = 10 dana.
Odgovor: 1 godina = 5 dana, 10 godina = 10 dana.

Primjer 2:
Pitanje: Kako se obračunava prekovremeni rad?
Referentni materijal: Radnim danom 1.5x, vikendom 2x.
Odgovor: Radnim danom 1.5x, vikendom 2x.

Sada odgovori:
Pitanje: {korisničko pitanje}
Referentni materijal: {pretraženi sadržaj}
Odgovor:
  • Savjet: Primjeri trebaju pokriti različite nivoe težine, najbolje uključiti jedan primjer "ne mogu odgovoriti".

5. Obavezno citiranje

Na kraju odgovora označi broj izvora sa [citation:X]. Na primjer: "Godišnji odmor je 5 dana[citation:1]."
Ako koristiš više izvora, označi svaki posebno.

6. Postavljanje praga za odbijanje odgovora

  • Čvrsto ograničenje: "Ako su referentni materijali potpuno nepovezani s pitanjem, odgovori 'Materijali nisu relevantni'."
  • Meko ograničenje: Kombinuj sa skorom povjerenja pretrage; ako je ispod praga, automatski idi na granu odbijanja.

7. Lanac misli (Chain-of-Thought) za višestepeno zaključivanje

Pitanje: Ko je šef Zhang Sana?
Koraci: 1. Prvo pronađi odjel Zhang Sana. 2. Zatim pronađi rukovodioca tog odjela. 3. Daj konačan odgovor.
Razmišljaj korak po korak, a zatim iznesi odgovor.

8. Negativne instrukcije (Negative Prompting)

Ne izmišljaj odgovore. Ne koristi nejasne riječi poput "možda", "vjerovatno". Ne iznosi brojeve koji nisu u referentnim materijalima.

3. Kako ocijeniti kvalitet prompta?

Indikator Značenje Kako mjeriti
Vjernost Da li je odgovor striktno baziran na referentnim materijalima Ručno ili RAGAS Faithfulness
Tačnost odbijanja Da li se odbija kada treba Izračunaj na test setu bez odgovora
Stopa praćenja formata Da li je izlaz u JSON/citati po zahtjevu RegEx provjera
Zadovoljstvo korisnika Da li je odgovor koristan Online povratne informacije / A/B testiranje

Preporuka: Pripremi mali test set (20-50 rubnih slučajeva), pokreni ga nakon svake promjene prompta i zabilježi promjene.

4. Uobičajene zamke i smjerovi optimizacije

Problem Mogući uzrok Metoda podešavanja
Model ignoriše referentne materijale, odgovara sam Instrukcije nisu dovoljno jake Promijeni u "isključivo na osnovu" i koristi few-shot za prikaz odbijanja
Model uvijek kaže "ne znam" Prag odbijanja previsok Smanji prag ili provjeri kvalitet pretrage
Format izlaza je neuredan, nije JSON Instrukcije nejasne Dodaj stroge primjere formata ili koristi function calling
Odgovor predugačak/prekratak Nije specificirana dužina "Odgovori u najviše 3 rečenice"
Greška u višestepenom zaključivanju Model nema dovoljno sposobnosti zaključivanja Traži postepeno zaključivanje ili koristi jači model
Halucinacije brojeva/datuma Model se oslanja na vlastito znanje Naglasi "Ne koristi nijedan broj iz svog pamćenja, gledaj samo u materijale"

评论

暂无已展示的评论。

发表评论(匿名)