Interviu AI Seria 12: Cum să optimizăm Prompt-ul?
Optimizarea prompt-urilor (Inginerie/Optimizare Prompt) este o abilitate esențială pentru a face modelele de limbaj mari să „asculte”, mai ales în sistemele RAG, determinând direct dacă modelul este dispus să urmeze fidel conținutul recuperat, să evite halucinațiile și să formateze corect ieșirea.
1. Principii de bază pentru optimizarea prompt-urilor
- Claritatea > Complexitatea: Instrucțiunile simple și directe sunt adesea mai eficiente decât lanțurile de gândire sofisticate.
- Oferiți suficiente constrângeri: Spuneți clar modelului „ce poate face și ce nu poate face”.
- Furnizați exemple: Few-shot este mai stabil decât Zero-shot.
- Verificabilitate: Solicitați modelului să furnizeze citări sau niveluri de încredere, ușurând judecata ulterioară.
- Optimizare iterativă: Începeți cu o linie de bază, modificați o singură variabilă de fiecare dată și comparați efectele.
2. Tehnici specifice de optimizare (de la ușor la dificil)
1. Setarea rolului (System Prompt)
Ești un asistent de suport pentru clienți profesionist. Poți răspunde doar pe baza 【Materialelor de referință】 furnizate mai jos.
Dacă nu știi răspunsul, spune direct „Nu există informații relevante în material”, nu inventa.
- Rol: Stabilește limitele și tonul.
- Puncte de ajustare: Ton (profesional/prietenos), puterea constrângerilor (strict/relaxat).
2. Instrucțiuni clare
❌ Slab: „Răspunde la întrebarea utilizatorului.”
✅ Bun: „Bazându-te exclusiv pe 【Materialele de referință】 de mai jos. Dacă materialele nu conțin răspunsul, spune „Nu pot răspunde la această întrebare”.”
3. Controlul formatului de ieșire
Te rog să scoți în următorul format JSON:
{
"answer": "Răspunsul tău",
"confidence": "Ridicat/Mediu/Scăzut",
"sources": [1, 3]
}
- Scop: Ușurează parsarea, citarea și depanarea ulterioară.
4. Exemple Few-shot (extrem de eficiente)
Exemplul 1:
Întrebare: Câte zile de concediu sunt?
Materiale de referință: Regula concediilor: 1 an=5 zile, 10 ani=10 zile.
Răspuns: 1 an=5 zile, 10 ani=10 zile.
Exemplul 2:
Întrebare: Cum se calculează orele suplimentare?
Materiale de referință: Ore suplimentare în timpul săptămânii=1,5x, weekend=2x.
Răspuns: În timpul săptămânii=1,5x, weekend=2x.
Acum răspunde:
Întrebare: {întrebarea utilizatorului}
Materiale de referință: {conținutul recuperat}
Răspuns:
- Sfat: Exemplele să acopere diferite niveluri de dificultate, ideal includând un exemplu de „nu se poate răspunde”.
5. Citarea obligatorie
La sfârșitul răspunsului, marchează numărul sursei cu [citation:X]. De exemplu: „Concediul este de 5 zile[citation:1].”
Dacă se combină mai multe materiale, marchează-le separat.
6. Stabilirea pragului de respingere
- Constrângere dură: „Dacă materialele de referință nu au nicio legătură cu întrebarea, spune „Materialele nu sunt relevante”.”
- Constrângere moale: Combină cu scorul de încredere al recuperării; dacă este sub prag, intră automat pe ramura de respingere.
7. Lanțul de gândire (Chain-of-Thought) pentru raționament multi-hop
Întrebare: Cine este șeful lui Zhang San?
Pași: 1. Află departamentul lui Zhang San. 2. Află șeful acelui departament. 3. Dă răspunsul final.
Gândește pe pași și apoi scoate răspunsul.
8. Instrucțiuni negative (Negative Prompting)
Nu inventa răspunsuri. Nu folosi cuvinte vagi precum „poate”, „probabil”. Nu scoate niciun număr care nu provine din materialele de referință.
3. Cum să evaluezi calitatea unui prompt?
| Indicator | Semnificație | Cum se măsoară |
|---|---|---|
| Fidelitatea | Răspunsul se bazează strict pe materialele de referință | Manual sau RAGAS Faithfulness |
| Acuratețea respingerii | Dacă respinge corect când ar trebui | Calculat pe un set de test fără răspuns |
| Rata de conformare la format | Dacă scoate JSON/citări conform cerințelor | Potrivire cu expresii regulate |
| Satisfacția utilizatorului | Cât de util este răspunsul | Feedback online / Testare A/B |
Sugestie: Pregătește un set mic de test (20-50 cazuri marginale), rulează-l după fiecare modificare a prompt-ului și înregistrează schimbările.
4. Capcane frecvente și direcții de optimizare
| Problemă | Cauză posibilă | Metodă de optimizare |
|---|---|---|
| Modelul ignoră materialele și răspunde pe cont propriu | Instrucțiunile nu sunt suficient de ferme | Schimbă în „bazându-te doar pe următoarele materiale” și folosește few-shot pentru a arăta respingerea |
| Modelul spune mereu „nu știu” | Pragul de respingere prea ridicat | Scade pragul sau verifică calitatea recuperării |
| Formatul de ieșire este greșit, nu respectă JSON | Instrucțiuni neclare | Adaugă un exemplu strict de format sau folosește function calling |
| Răspunsul este prea lung/prea scurt | Nu s-a specificat lungimea | „Răspunde în maximum 3 propoziții” |
| Raționamentul multi-hop e greșit | Capacitatea de raționament a modelului este insuficientă | Cere raționament pas cu pas sau treci la un model mai puternic |
| Halucinații cu numere/dat | Modelul se bazează pe cunoștințele proprii | Subliniază „nu folosi niciun număr din memorie, privește doar materialele” |
评论
暂无已展示的评论。
发表评论(匿名)