AI serija intervju 12: Kako optimizovati Prompt?
Optimizacija Prompt-a (Prompt Engineering / Optimization) je ključna veština da naterate velike jezičke modele da "slušaju", posebno u RAG sistemima, gde direktno određuje da li će model verno pratiti pretraženi sadržaj, izbegavati halucinacije i izlaziti u formatu po specifikaciji.
1. Osnovni principi optimizacije Prompt-a
- Jasnoća > Složenost: Jednostavne direktne instrukcije su često efikasnije od otmenih lanaca misli.
- Dajte dovoljno ograničenja: Jasno recite modelu "šta sme, a šta ne sme da radi".
- Dajte primere: Few-shot je stabilniji od Zero-shot.
- Proverljivost: Neka model dâ reference ili nivo pouzdanosti radi lakše provere.
- Iterativno poboljšanje: Počnite od osnovne verzije, menjajte samo jednu promenljivu odjednom i uporedite rezultate.
2. Specifične tehnike optimizacije (od lakših ka težim)
1. Postavljanje uloge (System Prompt)
Vi ste profesionalni asistent za korisničku podršku. Možete odgovarati samo na osnovu dole navedenog 【Referentnog materijala】.
Ako ne znate odgovor, recite "Nema relevantnih informacija u materijalu", ne izmišljajte sami.
- Svrha: Postavlja granice i ton.
- Tačka optimizacije: Ton (profesionalno/prijateljski), jačina ograničenja (strogo/opušteno).
2. Jasne instrukcije
❌ Loše: "Odgovorite na pitanje korisnika."
✅ Dobro: "Samo na osnovu dole navedenog 【Referentnog materijala】. Ako referentni materijal ne sadrži odgovor, recite 'Ne mogu da odgovorim na ovo pitanje'."
3. Kontrola izlaznog formata
Molimo izlazite u sledećem JSON formatu:
{
"answer": "Vaš odgovor",
"confidence": "visok/srednji/nizak",
"sources": [1, 3]
}
- Namena: Olakšava parsiranje, referenciranje i otklanjanje grešaka.
4. Few-shot primeri (veoma efikasni)
Primer 1:
Pitanje: Koliko dana godišnjeg odmora?
Referentni materijal: Pravila godišnjeg odmora: 5 dana za 1 godinu staža, 10 dana za 10 godina.
Odgovor: 5 dana za 1 godinu, 10 dana za 10 godina.
Primer 2:
Pitanje: Kako se obračunava prekovremeni rad?
Referentni materijal: Radnim danima 1.5 puta, vikendom 2 puta.
Odgovor: Radnim danima 1.5 puta, vikendom 2 puta.
Sada odgovorite:
Pitanje: {korisničko pitanje}
Referentni materijal: {pretraženi sadržaj}
Odgovor:
- Savet: Primeri treba da pokriju različite nivoe težine, najbolje uključiti i jedan "ne mogu da odgovorim" primer.
5. Obavezno navođenje izvora
Na kraju odgovora označite broj izvora sa [citation:X]. Na primer: "Godišnji odmor je 5 dana[citation:1]."
Ako se kombinuje više izvora, označite svaki posebno.
6. Postavljanje praga za odbijanje odgovora
- Čvrsto ograničenje: "Ako je referentni materijal potpuno nepovezan sa pitanjem, recite 'Materijal nije relevantan'."
- Meko ograničenje: Kombinujte sa ocenom pouzdanosti pretrage; ako je ispod praga, automatski idite na granu odbijanja.
7. Lanac misli (Chain-of-Thought) za višestruko zaključivanje
Pitanje: Ko je šef od Zhang San?
Koraci: 1. Prvo pronađite odeljenje Zhang San. 2. Zatim pronađite rukovodioca tog odeljenja. 3. Dajte konačan odgovor.
Razmislite kroz korake, pa izlazite.
8. Negativne instrukcije (Negative Prompting)
Ne izmišljajte odgovore. Ne koristite nejasne reči poput "možda", "verovatno". Ne izlazite bilo koje brojeve koji nisu iz referentnog materijala.
3. Kako proceniti kvalitet Prompt-a?
| Metrika | Značenje | Kako meriti |
|---|---|---|
| Vernost | Da li je odgovor striktno zasnovan na referentnom materijalu | Ručno ili pomoću RAGAS Faithfulness |
| Tačnost odbijanja | Da li se odbija kada treba | Računa se na test skupu bez odgovora |
| Stopa praćenja formata | Da li se izlazi JSON / reference po zahtevu | Regex podudaranje |
| Zadovoljstvo korisnika | Da li je odgovor koristan | Online povratne informacije / A/B testiranje |
Savet: Pripremite mali test skup (20-50 graničnih slučajeva), pokrenite ga nakon svake izmene prompt-a i zabeležite promene.
4. Česte zamke i pravci optimizacije
| Problem | Mogući uzrok | Metoda optimizacije |
|---|---|---|
| Model ignoriše referentni materijal i odgovara sam | Instrukcije nisu dovoljno stroge | Promenite u "Samo na osnovu sledećeg materijala" i pokažite odbijanje kroz few-shot |
| Model uvek kaže "ne znam" | Prag odbijanja previsok | Smanjite prag ili proverite kvalitet pretrage |
| Izlazni format neispravan, nije JSON | Instrukcije nejasne | Dodajte strogi primer formata ili koristite function calling |
| Odgovor predugačak/prekratak | Nije naznačena dužina | "Odgovorite u najviše 3 rečenice" |
| Greške u višestrukom zaključivanju | Model nema dovoljnu sposobnost zaključivanja | Zahtevajte postepeno prikazivanje zaključivanja ili koristite jači model |
| Halucinacije brojeva/datuma | Model se oslanja na sopstveno znanje | Naglasite "Ne koristite bilo koje brojeve koje se sećate, samo gledajte materijal" |
评论
暂无已展示的评论。
发表评论(匿名)