← 返回列表

AI-intervjuserie 12: Hur optimerar man promptar?

Promptoptimering (Prompt Engineering / Optimization) är en avgörande färdighet för att få stora språkmodeller att "lyssna", särskilt i RAG-system, där det direkt avgör om modellen är villig att troget följa det hämtade innehållet, undvika hallucinationer och hålla sig till utdataformat.


1. Kärnprinciper för promptoptimering

  1. Tydlighet > komplexitet: Enkla, raka instruktioner är ofta effektivare än avancerade tankekedjor.
  2. Ge tillräckliga begränsningar: Tala tydligt om för modellen "vad den får och inte får göra".
  3. Ge exempel: Few-shot är mer stabilt än zero-shot.
  4. Verifierbar: Låt modellen ge källhänvisningar eller konfidensgrad för att underlätta nedströmsbedömning.
  5. Iterativ optimering: Börja från en baslinje, ändra bara en variabel i taget och jämför resultaten.

2. Specifika optimeringstips (från enkelt till svårt)

1. Rollinställning (System Prompt)

Du är en professionell kundtjänstassistent. Du får endast svara på frågor baserat på de [referensmaterial] som tillhandahålls nedan. Om du inte vet svaret, säg direkt "det finns ingen relevant information i materialet" och hitta inte på något själv.
  • Syfte: Sätter gränser och ton.
  • Optimering: Ton (professionell/vänlig), begränsningsstyrka (strikt/lös).

2. Tydliga instruktioner

❌ Dåligt: "Svara på användarens fråga."
✅ Bra: "Svara endast baserat på nedanstående [referensmaterial]. Om referensmaterialet inte innehåller svaret, svara 'Jag kan inte svara på denna fråga'."

3. Utdataformatkontroll

Vänligen skriv ut i följande JSON-format:
{
  "answer": "Ditt svar",
  "confidence": "Hög/Medel/Låg",
  "sources": [1, 3]
}
  • Användning: Underlättar nedströmsanalys, källhänvisning och felsökning.

4. Few-shot-exempel (mycket effektiva)

Exempel 1:
Fråga: Hur många semesterdagar har jag?
Referensmaterial: Semesterregler: 1 år = 5 dagar, 10 år = 10 dagar.
Svar: 1 år = 5 dagar, 10 år = 10 dagar.

Exempel 2:
Fråga: Hur beräknas övertidsersättning?
Referensmaterial: Övertid på vardagar 1,5 gånger, helger 2 gånger.
Svar: Vardagar 1,5 gånger, helger 2 gånger.

Svara nu:
Fråga: {användarfråga}
Referensmaterial: {hämtat innehåll}
Svar:
  • Tips: Exemplen bör täcka olika svårighetsgrader, och det är bäst att inkludera ett exempel på "kan inte svara".

5. Tvingad källhänvisning

Ange källnummer med [citation:X] i slutet av svaret. Till exempel: "Semester är 5 dagar[citation:1]." Om flera källor används, ange var och en.

6. Ställ in tröskelvärdet för att avvisa svar

  • Hård begränsning: "Om referensmaterialet är helt irrelevant för frågan, svara 'Materialet är irrelevant'."
  • Mjuk begränsning: Kombinera med sökningens konfidensscore; om under tröskelvärdet, gå automatiskt till grenen för avvisat svar.

7. Tankekedja (Chain-of-Thought) för flerstegsresonemang

Fråga: Vem är Zhangsans chef?
Steg: 1. Ta reda på Zhangsans avdelning. 2. Ta reda på ansvarig för den avdelningen. 3. Ge slutligt svar.
Tänk steg för steg och skriv ut.

8. Negativ instruktion (Negative Prompting)

Hitta inte på svar. Använd inte otydliga ord som "kanske" eller "möjligen". Mata inte ut några siffror som inte finns i referensmaterialet.

3. Hur utvärderar man kvaliteten på en prompt?

Metrik Betydelse Hur mätas
Trohet Om svaret är strikt baserat på referensmaterial Manuell eller RAGAS Faithfulness
Noggrannhet vid avvisade svar Om det avvisar när det borde Beräknas på testset utan svar
Formatefterlevnad Om JSON/källhänvisning matas ut enligt krav Regex-matchning
Användarnöjdhet Om svaret är användbart Onlinefeedback / A/B-test

Rekommendation: Förbered en liten testuppsättning (20-50 edge case), kör den varje gång du ändrar prompten och notera förändringarna.

4. Vanliga fallgropar och optimeringsriktningar

Problem Möjlig orsak Optimeringsmetod
Modellen ignorerar referensmaterial och svarar själv Instruktionerna är inte tillräckligt tvingande Ändra till "endast baserat på följande material" och visa avvisande med few-shot
Modellen säger alltid "vet inte" Tröskel för avvisade svar för hög Sänk tröskeln eller kontrollera sökningens kvalitet
Utdataformatet är oredigt, följer inte JSON Instruktionerna otydliga Lägg till strikta formatexempel eller använd function calling
Svar för långa/korta Ingen längdangivelse "Svara med högst 3 meningar"
Flerstegsresonemang misslyckas Modellens resonemangsförmåga otillräcklig Be om steg-för-steg-resonemang eller byt till starkare modell
Hallucinerande siffror/datum Modellen förlitar sig på egen kunskap Betona "Använd inga siffror du kommer ihåg, endast från materialet"

评论

暂无已展示的评论。

发表评论(匿名)