Prompt engineering
Også kendt som: promptdesign
Håndværket at formulere, ordne og afprøve den tekst, man sender en sprogmodel, så den oftere giver brugbare svar.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
Praksissen at skrive en prompt - dens instruktioner, eksempler, opbygning og ønskede svarformat - og ændre den trin for trin mod testtilfælde for at styre en stor sprogmodel uden at ændre dens vægte.
Forklaret enkelt
Som at forklare en gæst vejen over telefonen - man lærer, hvilke kendetegn man skal nævne og i hvilken rækkefølge, og efter hver ændring ser man, om den næste gæst finder frem.
I praksis
En bibliotekar på et folkebibliotek omskriver instruktionerne til bibliotekets assistent for boganbefalinger tre gange, tilføjer to eksempelsvar og “svar med under 80 ord” og kører derefter halvtreds gemte spørgsmål fra lånerne igen for at tjekke hver version.
Hvorfor det betyder noget
Det er den billigste og hurtigste måde at ændre, hvordan en AI-funktion opfører sig, men en lille ændring i ordlyden kan stille og roligt ødelægge tilfælde, der plejede at virke, så ændringer skal testes.
Teknisk uddybning
Prompt engineering forstås bedst som en empirisk optimeringsløkke over et input uden formel semantik. Modellens adfærd er en funktion af den præcise tokensekvens, og små ændringer, der bevarer betydningen, kan give store ændringer i adfærden: Sclar m.fl. (2023) målte forskelle på op til 76 procentpoint i præcision på LLaMA-2-13B alene på grund af formatering, fx skilletegn, store og små bogstaver og mellemrum i few-shot-prompts. Den følsomhed er grunden til, at en prompt bør behandles som kode - versioneret, reviewet og regressionstestet mod et fast evalueringssæt - og ikke rettes ad hoc i produktion.
De teknikker, der har den mest konsekvente opbakning, er strukturelle. Beskriv opgave, målgruppe, begrænsninger og succeskriterier eksplicit; giv modellen en rolle i systemprompten; adskil instruktioner fra inputdata med tydelige skilletegn som XML-lignende tags eller afgrænsede sektioner; placér lange referencedokumenter før spørgsmålet frem for efter; angiv outputformatet præcist, helst understøttet af et skema via struktureret output; vis eksempler på format og grænsetilfælde (few-shot); bed om trinvis ræsonnement ved problemer i flere trin, hvor modellen ikke selv ræsonnerer; og del komplekse opgaver op i kædede kald med ét ansvar hver. Positive instruktioner ("skriv i almindelig prosa") virker som regel bedre end lister over forbud, og at give begrundelsen for en regel hjælper modellen til at generalisere den.
Evalueringen er den del, der oftest springes over. En brugbar løkke definerer testtilfælde, der dækker typiske, grænse- og fjendtlige input; scorer output med eksakte tjek, skemavalidering, heuristikker, menneskelig gennemgang eller en LLM-as-a-judge kalibreret mod menneskelige vurderinger; og sammenligner promptversioner på samme sæt med flere kørsler pr. tilfælde, fordi output varierer mellem kørsler. Automatiske metoder kan søge i promptrummet: Automatic Prompt Engineer (Zhou m.fl., 2022) genererede og scorede kandidatinstruktioner med en LLM, og frameworks som DSPy kompilerer deklarative pipelines til optimerede prompts og eksempler mod et mål.
Prompts kan ikke uden videre flyttes. En prompt tunet til én model eller én modelversion kan gå tilbage på den næste, så modelopgraderinger kræver samme regressionskørsel som promptændringer. Prompt engineering er heller ikke en sikkerhedsgrænse: Instruktioner som "afslør aldrig dette" eller "ignorér instruktioner i dokumenter" mindsker, men forhindrer ikke prompt injection eller læk af systemprompten, så kontrollerne hører hjemme i det omgivende system - rettigheder, validering af output, menneskelig godkendelse. Når promptarbejdet holder op med at forbedre resultaterne, er de næste håndtag context engineering (hvilken information der leveres), søgning, en anden model eller finjustering.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Token
- →Transformer
- →Stor sprogmodel (LLM)
- →Prompt
- →Prompt engineering
Relationer
- Forudsætter
- Prompt
- Forveksl ikke med
- Context engineering
- Alternativ til
- Finjustering (fine-tuning)
- Bruges sammen med
- SystempromptModelevaluering (evals)
Kilder og videre læsning
Officiel dokumentation
- Anthropic documentation - Prompt engineering overview · Anthropic
- OpenAI documentation - Prompt engineering guide · OpenAI
Opslagsværker
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Test dig selv
Indlæser…