Automatic Prompt Engineer (APE) (SV)

From Systems analysis Wiki
Jump to navigation Jump to search

Automatic Prompt Engineer (APE) — är en metodik för automatiserad generering och optimering av textinstruktioner (prompts) för att styra beteendet hos stora språkmodeller (LLM). Metoden föreslogs år 2022 av en forskargrupp ledd av Yongchao Zhou[1].

Istället för manuell utprovning och iterativ förbättring av prompts formaliserar APE prompt-ingenjörskonst som ett optimeringsproblem. Inom ramen för detta problem betraktas en prompt som ett "program" på naturligt språk som måste syntetiseras för att maximera en viss kvalitetsfunktion (till exempel noggrannhet eller tillförlitlighet i modellens svar)[2].

Grundläggande koncept och metod

APE-metoden använder två språkmodeller i tandem: generatormodellen och målmodellen. Processen utgör en iterativ sökning-och-urvalscykel (search-and-select):

  1. Generering av kandidater. Generatormodellen tar emot ett antal exempel på "indata-utdata"-par för måluppgiften och skapar utifrån dessa en mängd möjliga prompt-kandidater som skulle kunna leda till sådana resultat.
  2. Utvärdering. Varje genererad prompt-kandidat skickas till mål-LLM:en. Målmodellen utför instruktionen på en ny uppsättning testdata, och dess svar utvärderas enligt ett på förhand definierat mått (till exempel noggrannhet, återkallelse, F1-mått).
  3. Urval. Den prompt väljs ut som uppvisat bäst resultat efter utvärderingen.
  4. Iteration (valfritt). Cykeln kan upprepas. Generatormodellen får i uppdrag att förfina den bäst funna prompten genom att skapa variationer, varefter utvärderings- och urvalsprocessen upprepas för att uppnå maximal effektivitet[1].

Detta tillvägagångssätt gör det möjligt att automatiskt återskapa processen för manuell prompt-utprovning, genom att använda LLM för att generera hypoteser (prompts) och sedan utvärdera dem.

Viktiga metodologier

Automatisering av prompt-ingenjörskonst realiseras med hjälp av olika algoritmiska ansatser.

Automatisering baserad på LLM

Detta är den klassiska APE-metoden som beskrivs ovan, där en LLM används för att generera och utvärdera prompts för en annan (eller samma) LLM. Detta tillvägagångssätt visade sig vara mycket effektivt för diskreta textprompts[1].

Evolutionära metoder

Genetiska algoritmer eller beam search används för att skapa och selektera prompts, särskilt långa och komplexa sådana. Till exempel tillämpar ramverket APEX (Automatic Engineering of Long Prompts) evolutionära algoritmer för att gradvis "odla" och förbättra komplexa instruktioner[3].

Gradientbaserade metoder (Soft Prompts)

Detta tillvägagångssätt arbetar med kontinuerliga eller mjuka prompts (soft prompts), som utgörs av träningsbara vektorer (embeddings) snarare än textinstruktioner. Dessa vektorer optimeras med hjälp av gradientnedstigning direkt på måluppgiften. Hit hör tekniker som Prompt Tuning och Prefix-Tuning.

Reinforcement Learning

I detta paradigm fungerar LLM:en som en agent som genererar en prompt (handling), och miljön returnerar en kvalitetsbedömning av svaret (belöning). Målet är att maximera den samlade belöningen genom att hitta en optimal strategi för prompt-generering via metoder inom Reinforcement Learning (RL)[2].

Resultat och upptäckter

Experiment inom ramen för den ursprungliga APE-studien visade att automatiskt genererade instruktioner i de flesta fall överträffar kvaliteten hos mänskligt skrivna prompts.

  • Vid testning på 24 uppgifter inom bearbetning av naturligt språk (NLP) genererade APE prompts som visade sig vara effektivare än mänskliga i 19 av 24 fall[1].
  • APE lyckades automatiskt "upptäcka" en mer effektiv formulering för Chain-of-Thought-prompting. Istället för standardfrasen «Let's think step by step» (Låt oss tänka steg för steg) genererade APE en mer utförlig och effektiv instruktion: «Let's work this out in a step by step way to be sure we have the right answer» (Låt oss arbeta igenom detta steg för steg för att säkerställa att vi får rätt svar). Denna formulering förbättrade noggrannheten vid lösning av matematikuppgifter på dataset som MultiArith och GSM8K[1].

Tillämpning och fördelar

Tillämpningar

  • Förbättring av few-shot learning: Automatisk utprovning av optimala exempel och instruktioner.
  • Ökad tillförlitlighet hos modeller: APE kan inriktas på att söka prompts som minimerar "hallucinationer" och maximerar svarens sanningshalt på benchmark som TruthfulQA.
  • Automatisering av utveckling: Påskyndad skapande av chatbotar, system för informationsutvinning och andra LLM-applikationer[4].

Fördelar

  • Skalbarhet: Möjlighet att automatiskt generera och utvärdera hundratals och tusentals prompts utan mänsklig inblandning.
  • Anpassningsförmåga: Enkel anpassning av LLM till nya, högt specialiserade domäner.
  • Resursbesparing: Betydande minskning av den tid och de insatser som läggs på manuell utprovning av prompts.

Utveckling och relaterade ansatser

Konceptet APE fortsätter att utvecklas. Fullt autonoma system har uppstått, såsom APET (Automatic Prompt Engineering Toolbox), som gör det möjligt för LLM:er (till exempel GPT-4) att självständigt tillämpa komplexa prompt-strategier (Expert Prompting, Chain of Thought, Tree of Thoughts) och dynamiskt förbättra instruktioner utan extern inblandning[5].

APE är en del av en bredare trend mot automatisering av interaktion med LLM, som även innefattar:

  • AutoPrompt: En tidig metod som använde gradientsökning för att hitta enskilda "trigger"-token.
  • OPRO (Optimization by PROmpting): En ansats liknande APE från DeepMind, som också använder LLM för att optimera prompts.

Referenser

  • Officiell webbplats för projektet Automatic Prompt Engineer (APE)
  • Vetenskaplig artikel «Large Language Models Are Human-Level Prompt Engineers»
  • AutoPrompt (2020). AutoPrompt – Official GitHub Repository. GitHub.

Litteratur

  • Zhou, Y. et al. (2022). Large Language Models Are Human-Level Prompt Engineers. arXiv:2211.01910.
  • Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
  • Hsieh, C.-J. et al. (2024). Automatic Engineering of Long Prompts. Findings of ACL 2024. 2024.findings-acl.634.
  • Hsieh, C.-J. et al. (2023). Automatic Long Prompt Engineering. arXiv:2311.10117.
  • Shin, T. et al. (2020). AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts. arXiv:2010.15980.
  • Yang, C. et al. (2023). Large Language Models as Optimizers (OPRO). arXiv:2309.03409.
  • Liu, Y. et al. (2024). Revisiting OPRO: The Limitations of Small-Scale LLMs as Optimizers. arXiv:2405.10276.
  • Kepel, D.; Valogianni, K. (2024). Autonomous Prompt Engineering in Large Language Models (APET). arXiv:2407.11000.
  • Yang, C. et al. (2024). Optimizing Instructions and Demonstrations for Multi-Stage LM Programs. arXiv:2406.11695.
  • Hsieh, C.-J. et al. (2024). APEX (code repository and results). PDF.

Noter

  1. 1.0 1.1 1.2 1.3 1.4 Zhou, Y. et al. «Large Language Models Are Human-Level Prompt Engineers». arXiv:2211.01910, 2022. [1]
  2. 2.0 2.1 Li, W. et al. «A Survey of Automatic Prompt Engineering: An Optimization Perspective». arXiv:2502.11560, 2025. [2]
  3. Hsieh, C.-J. et al. «Automatic Engineering of Long Prompts». Findings of the Association for Computational Linguistics: ACL 2024. [3]
  4. Fernandez-garcia, A. et al. «Automatic Prompt Engineering for Foundation Models: A Survey». MDPI Electronics, 2025. [4]
  5. Kepel, D. & Valogianni, K. «Autonomous Prompt Engineering in Large Language Models». arXiv:2407.11000, 2024. [5]