AI séria rozhovorov 12: Ako optimalizovať prompt?
Optimalizácia promptov (Prompt Engineering / Optimization) je kľúčovou zručnosťou, ako prinútiť veľké jazykové modely „poslúchať“, najmä v systémoch RAG, kde priamo rozhoduje o tom, či model bude verne vychádzať z načítaného obsahu, vyhýbať sa halucináciám a dodržiavať formát výstupu.
1. Hlavné princípy optimalizácie promptov
- Jasnosť > Zložitosť: Jednoduché priame inštrukcie sú často účinnejšie ako efektné reťazce myšlienok.
- Dostatok obmedzení: Jasne povedzte modelu, čo môže a čo nemôže robiť.
- Poskytnite príklady: Few-shot je stabilnejší ako Zero-shot.
- Overiteľnosť: Nechajte model uviesť citácie alebo mieru istoty, aby ste mohli ďalej vyhodnocovať.
- Iteratívne zlepšovanie: Začnite so základom, menite vždy len jednu premennú a porovnávajte výsledky.
2. Konkrétne tipy na optimalizáciu (od jednoduchých po zložité)
1. Nastavenie roly (System Prompt)
Si profesionálny asistent zákazníckej podpory. Odpovedaj len na základe poskytnutých [Referenčných materiálov].
Ak nepoznáš odpoveď, povedz „V materiáloch nie sú relevantné informácie“ a nevymýšľaj si.
- Význam: Stanovuje hranice a tón.
- Tip na úpravu: Tón (profesionálny/priateľský), sila obmedzení (prísne/voľné).
2. Jasné inštrukcie
❌ Zlé: „Odpovedz na otázku používateľa.“
✅ Dobré: „Odpovedaj len na základe nasledujúcich [Referenčných materiálov]. Ak referenčné materiály neobsahujú odpoveď, povedz: 'Na túto otázku neviem odpovedať.“
3. Riadenie formátu výstupu
Prosím, výstup vo formáte JSON:
{
"odpoveď": "tvoja odpoveď",
"istota": "vysoká/stredná/nízka",
"zdroje": [1, 3]
}
- Použitie: Uľahčuje ďalšie spracovanie, citácie a ladenie.
4. Few-shot príklady (veľmi účinné)
Príklad 1:
Otázka: Koľko dní dovolenky?
Referenčné materiály: Pravidlá dovolenky: 1 rok = 5 dní, 10 rokov = 10 dní.
Odpoveď: 1 rok = 5 dní, 10 rokov = 10 dní.
Príklad 2:
Otázka: Ako sa počíta príplatok za prácu nadčas?
Referenčné materiály: Pracovný deň 1,5-násobok, víkend 2-násobok.
Odpoveď: Pracovný deň 1,5-násobok, víkend 2-násobok.
Teraz odpovedz:
Otázka: {otázka používateľa}
Referenčné materiály: {načítaný obsah}
Odpoveď:
- Tip: Príklady by mali pokrývať rôzne úrovne obtiažnosti, vrátane prípadu, keď sa nedá odpovedať.
5. Vynútené citovanie
Na konci odpovede označ zdroj číslom pomocou [citation:X]. Napríklad: „Dovolenka je 5 dní [citation:1].“
Ak kombinuješ viac zdrojov, označ každý zvlášť.
6. Nastavenie prahu pre odmietnutie odpovede
- Pevné obmedzenie: „Ak referenčné materiály úplne nesúvisia s otázkou, odpovedz: 'Materiály nie sú relevantné.'“
- Mäkké obmedzenie: Spojenie s mierou istoty vyhľadávania – ak je pod prahom, automaticky odmietnuť.
7. Reťazec myšlienok (Chain-of-Thought) pre viackrokové uvažovanie
Otázka: Kto je šéf Jána?
Kroky: 1. Zisti oddelenie Jána. 2. Zisti vedúceho tohto oddelenia. 3. Daj konečnú odpoveď.
Uvažuj po krokoch a potom odpovedz.
8. Negatívne inštrukcie (Negative Prompting)
Nevymýšľaj odpovede. Nepoužívaj nejasné slová ako „možno“, „pravdepodobne“. Neuvádzaj žiadne čísla, ktoré nie sú v referenčných materiáloch.
3. Ako vyhodnotiť kvalitu promptu?
| Metrika | Význam | Ako merať |
|---|---|---|
| Vernosť | Je odpoveď striktne založená na referenčných materiáloch? | Ručne alebo pomocou RAGAS Faithfulness |
| Presnosť odmietania | Odmietne model odpovedať, keď by mal? | Výpočet na testovacej sade bez odpovede |
| Dodržanie formátu | Výstupuje model v požadovanom formáte (JSON/citácie)? | Regex |
| Spokojnosť používateľa | Je odpoveď užitočná? | Online spätná väzba / A/B testovanie |
Odporúčanie: Pripravte si malú testovaciu sadu (20–50 okrajových prípadov), pri každej zmene promptu ju prejdite a zaznamenajte zmeny.
4. Bežné nástrahy a smery optimalizácie
| Problém | Možná príčina | Spôsob optimalizácie |
|---|---|---|
| Model ignoruje referenčné materiály a odpovedá podľa seba | Inštrukcia nie je dosť silná | Zmeň na „len na základe nasledujúcich materiálov“ a ukáž príklad odmietnutia |
| Model stále hovorí „neviem“ | Príliš vysoký prah odmietnutia | Zníž prah alebo skontroluj kvalitu vyhľadávania |
| Výstup nie je v správnom formáte (JSON) | Nejasná inštrukcia | Pridaj prísny príklad formátu alebo použite function calling |
| Odpovede sú príliš dlhé/krátke | Neuvedená dĺžka | „Odpovedz maximálne tromi vetami“ |
| Viackrokové uvažovanie zlyháva | Model nemá dostatočnú schopnosť uvažovania | Požaduj postupné uvažovanie alebo použi silnejší model |
| Halucinácie (čísel/ dátumov) | Model sa spolieha na vlastné vedomosti | Zdôrazni: „Nepoužívaj žiadne čísla, ktoré si pamätáš; pozeraj len na materiály“ |
评论
暂无已展示的评论。
发表评论(匿名)