← 返回列表

AI-interviewserie 12: Hvordan optimerer man en prompt?

Prompt-optimering (Prompt Engineering / Optimization) er en afgørende færdighed for at få store sprogmodeller til at adlyde, især i RAG-systemer, da det direkte bestemmer, om modellen trofast følger de hentede oplysninger, undgår hallucinationer og leverer output i korrekt format.


1. Kerne principper for prompt-optimering

  1. Klarhed > Kompleksitet: Enkle, direkte instruktioner er ofte mere effektive end smarte tankekæder.
  2. Giv tilstrækkelige begrænsninger: Fortæl modellen tydeligt, hvad den må og ikke må.
  3. Giv eksempler: Few-shot er mere stabilt end zero-shot.
  4. Verificerbart: Få modellen til at levere kilder eller tillidsniveauer for at lette downstream-vurdering.
  5. Iterativ optimering: Start fra en baseline, ændr kun én variabel ad gangen, og sammenlign resultater.

2. Specifikke optimeringsteknikker (fra let til svær)

1. Rolleopsætning (System Prompt)

Du er en professionel kundeserviceassistent. Du må kun besvare spørgsmål baseret på de nedenfor angivne [Referencer]. Hvis du ikke kender svaret, skal du sige 'Der er ingen relevant information i materialet' og ikke finde på noget.
  • Formål: Angiver grænser og tone.
  • Optimering: Tone (professionel/venlig), begrænsningsstyrke (streng/lempelig).

2. Tydelige instruktioner

❌ Dårlig: "Besvar brugerens spørgsmål."
✅ God: "Besvar kun baseret på nedenstående [Referencer]. Hvis referencerne ikke indeholder svaret, svar 'Jeg kan ikke besvare dette spørgsmål'."

3. Outputformatkontrol

Output i følgende JSON-format:
{
  "answer": "Dit svar",
  "confidence": "Høj/Mellem/Lav",
  "sources": [1, 3]
}
  • Anvendelse: Letter downstream-parsing, kildehenvisning og debugging.

4. Few-shot eksempler (meget effektiv)

Eksempel 1:
Spørgsmål: Hvor mange feriedage?
Referencer: Ferie regler: 5 dage efter 1 år, 10 dage efter 10 år.
Svar: 5 dage efter 1 år, 10 dage efter 10 år.

Eksempel 2:
Spørgsmål: Hvordan beregnes overarbejdsbetaling?
Referencer: Hverdage 1,5 gange, weekender 2 gange.
Svar: Hverdage 1,5 gange, weekender 2 gange.

Besvar nu:
Spørgsmål: {brugerens spørgsmål}
Referencer: {hentet indhold}
Svar:
  • Tip: Eksemplerne bør dække forskellige sværhedsgrader, og det er bedst at inkludere et eksempel på 'kan ikke besvares'.

5. Tvungen kildehenvisning

Tilføj kildehenvisninger i slutningen af svaret med [citation:X]. F.eks.: 'Ferien er 5 dage[citation:1].' Hvis flere kilder kombineres, angiv dem separat.

6. Indstil afvisningstærskel

  • Hård begrænsning: "Hvis referencerne er helt irrelevante for spørgsmålet, svar 'Materialet er irrelevant'."
  • Blød begrænsning: Kombiner med hentningens tillidsniveau, og gå automatisk til afvisningsgren, hvis det er under tærsklen.

7. Tankekæde (Chain-of-Thought) til flertrinsræsonnement

Spørgsmål: Hvem er Zhang Sans chef?
Trin: 1. Find først Zhang Sans afdeling. 2. Find derefter afdelingslederen. 3. Giv det endelige svar.
Tænk trin for trin og output.

8. Negative instruktioner (Negative Prompting)

Opfind ikke svar. Brug ikke vage ord som 'måske' eller 'muligvis'. Output ikke nogen tal, der ikke findes i referencerne.

3. Hvordan vurderer man kvaliteten af en prompt?

Mål Betydning Hvordan måles
Trofasthed Om svaret er strengt baseret på referencer Manuelt eller RAGAS's Faithfulness
Afvisningsnøjagtighed Om modellen afviser, når den bør Beregn på testdata uden svar
Formatoverholdelse Om output overholder JSON/krav Regex matching
Brugertilfredshed Om svaret er nyttigt Online feedback / A/B-test

Anbefaling: Forbered et lille testsæt (20-50 grænsetilfælde), kør det hver gang du ændrer prompten, og registrer ændringerne.

4. Almindelige faldgruber og optimeringsretninger

Problem Mulig årsag Optimeringsmetode
Modellen ignorerer referencer og svarer på egen hånd Instruktionen er ikke stærk nok Ændr til 'kun baseret på følgende materiale' og brug few-shot til at demonstrere afvisning
Modellen siger altid 'ved ikke' Afvisningstærsklen er for høj Sænk tærsklen eller kontroller hentningskvaliteten
Outputformatet er rod, ikke JSON Instruktionen er uklar Tilføj et stringent formateksempel, eller brug function calling
Svar er for lange/korte Ingen længdeangivelse 'Svar med højst 3 sætninger'
Flertrinsræsonnement fejler Modellens ræsonnementsevne er utilstrækkelig Kræv trinvis ræsonnering, eller brug en stærkere model
Hallucinerende tal/datoer Modellen stoler på egen viden Understreg 'Brug ikke nogen tal, du husker, se kun på materialet'

评论

暂无已展示的评论。

发表评论(匿名)