Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

OpenAI + Google Sheets: prompter som håller varumärket

Rickard Andersson Partner, Nodenordic.se

Dina AI-utdata ser bra ut… tills de inte gör det. En liten justering i prompten, och plötsligt glider tonen, formatet spricker eller en “hjälpsam” modell börjar hitta på detaljer du aldrig godkände.

Det här är precis den typen av röra som bromsar marknadsansvariga som försöker leverera innehåll i högt tempo. Det drabbar också produktteam som förvaltar interna copilots och byråägare som levererar “varumärkessäkert” AI-arbete till kunder. Med automatiserad prompttestning slutar du gissa och börjar validera.

Det här arbetsflödet kör din prompt mot en känd “ground truth”, poängsätter resultatet, förbättrar prompten automatiskt och sparar sedan den bästa versionen i Google Sheets. Du får se hur det fungerar, vad du behöver och var team oftast går bet.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutligt resultat:

n8n Workflow Template: OpenAI + Google Sheets: prompter som håller varumärket

Problemet: promptjusteringar som i det tysta sänker kvaliteten

Promptarbete är ofta “trial and error”, vilket låter okej tills det kopplas till riktiga leveranser. Du ändrar en mening för att göra tonen vänligare och plötsligt slutar outputen följa ditt format. Eller så träffar den formatet, men börjar låta off-brand. Då är du tillbaka i loopen: kör ett test, skumma resultat, justera igen, upprepa. Den manuella cykeln äter upp en eftermiddag, och den verkliga kostnaden är förtroende. När du inte kan förutsäga output tvekar du att skala AI i kampanjer, support eller kundprojekt.

Friktionen byggs snabbt på. Här är var det brukar fallera.

  • Du testar prompts på slumpmässiga exempel, så fel visar sig först efter att något har publicerats.
  • Små ändringar skapar regressioner, och ingen märker det förrän en kollega klagar eller en kund flaggar det.
  • “Promptkvalitet” förblir subjektivt, vilket gör att granskningar blir tyckande i stället för kontroller.
  • Den prompt som presterar bäst ligger i någons anteckningar, inte på en delad plats som teamet kan lita på.

Lösningen: auto-utvärdera, auto-förbättra och logga vinnande prompt

Det här n8n-arbetsflödet behandlar prompt engineering som en optimeringsloop, inte en magkänslekontroll. Du börjar med att definiera en initial prompt, ett testinput och det förväntade svaret (din “ground truth”). Arbetsflödet genererar ett svar med OpenAI, sedan poängsätter en utvärderaragent det från 0–100 baserat på korrekthet och format. Om poängen är för låg skriver en optimeraragent om prompten utifrån orsakerna till misslyckandet, och därefter kör arbetsflödet testet igen. När poängen når 95 eller loopgränsen uppnås sparar du den bästa prompten och kan logga den i Google Sheets för ett strukturerat revisionsspår.

Arbetsflödet startar med en manuell körning (eller en webhook-trigger om du väljer att aktivera det). Sedan cyklar det genom generera → utvärdera → förfina tills det når din kvalitetsnivå. Till sist är den optimerade prompten och strukturerade resultaten redo att lagras och delas.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du finslipar en varumärkesröst-prompt för veckovisa produktmejl. Manuellt kanske du gör 10 testkörningar, lägger cirka 5 minuter på att granska varje, och sedan skriver om prompten flera gånger (lätt runt 2 timmar totalt). Med det här arbetsflödet: du sätter testinput och ground truth en gång (cirka 10 minuter), och låter sedan loopen köra tills den når 95 i poäng (ofta ytterligare 10 minuter). Den “bästa prompten” är redo att klistra in i produktion, och den loggas i Google Sheets så att du kan återanvända den nästa vecka.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • OpenAI för att generera och förfina svar.
  • Google Sheets för att lagra bästa prompt och poäng.
  • OpenAI API-nyckel (hämta den från OpenAI API-dashboarden).

Svårighetsnivå: Medel. Du kommer främst att kopiera in värden i setup-noden och koppla in autentiseringsuppgifter, men det hjälper att vara bekväm med testfall och förväntade utdata.

Vill du inte sätta upp detta själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).

Så fungerar det

Du startar körningen och sätter testet. Arbetsflödet drar i gång från en manuell trigger (och kan även anpassas till en webhook) och läser in din initiala prompt, testinput och ground truth från ett setup-steg.

Det håller reda på var du befinner dig i loopen. En state manager registrerar aktuell promptversion och antal iterationer, så att du inte tappar bort den bästa kandidaten när arbetsflödet cyklar.

OpenAI genererar, sedan poängsätter en utvärderare. En AI-agent tar fram svaret, en annan agent jämför det med ground truth, och en strukturerad parser gör utvärderingen till en felfri poäng som du kan agera på.

Optimeraren skriver om prompten när kvaliteten är låg. Om poängen ligger under ditt mål (95) uppdaterar refine-agenten prompten och arbetsflödet kör igen tills den godkänns eller når loopgränsen. När det är klart är den slutliga strukturerade outputen redo att skrivas in i Google Sheets för uppföljning.

Du kan enkelt ändra poängtröskeln för att vara striktare (eller mer generös) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den manuella triggern

Starta arbetsflödet manuellt så att ni kan iterera på promptoptimeringsloopen under konfigurationen.

  1. Lägg till noden Manual Execution Start som trigger.
  2. Koppla Manual Execution Start till Seed Prompt Setup.

Steg 2: anslut OpenAI för alla agentnoder

Alla AI-agenter i det här arbetsflödet använder samma språkmodellanslutning.

  1. Öppna OpenAI Chat Engine och välj modellen gpt-4o-mini.
  2. Inloggningsuppgifter krävs: anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine.
  3. Säkerställ att OpenAI Chat Engine är ansluten som språkmodell till Generate AI Reply, Assess AI Output och Refine Prompt Agent.

Obs: Score Output Parser och Prompt Output Parser är undernoder för AI-output-parsing. Lägg till inloggningsuppgifter på den överordnade noden (OpenAI Chat Engine), inte på dessa parsers.

Steg 3: sätt seed-prompt och initiera loopstatus

Definiera den initiala prompten, testindata och ground truth, och initiera sedan loopstatus och stopplogik.

  1. I Seed Prompt Setup, ställ in initial_prompt till Extract invoice data from the text and output as JSON.
  2. I Seed Prompt Setup, ställ in test_input till Invoice #INV-9982. Date: 12th of Oct, 2023. Grand Total: $1,100 (includes 10% VAT). Items: 2x Widget A, 1x Widget B.
  3. I Seed Prompt Setup, ställ in ground_truth till { "id": "INV-9982", "date": "2023-10-12", "subtotal": 1000, "vat": 100, "total": 1100, "items": ["Widget A", "Widget A", "Widget B"] }
  4. Öppna Loop State Manager och klistra in den tillhandahållna JavaScript-koden exakt som visat för att hantera current_prompt, loop_count, current_score och stop_loop.

Tips: Stoppvillkoret beräknas i Loop State Manager som currentLoopCount > 5 || currentScore >= 95. Justera detta om ni vill ha längre optimeringscykler.

Steg 4: sätt upp loopen för AI-generering, utvärdering och förfining

Dessa tre agenter genererar output, poängsätter den och förfinar sedan prompten baserat på feedback.

  1. I Generate AI Reply, ställ in Text till =Respond to the following input according to the instructions. Input: {{ $json.test_input }} och ställ in System Message till ={{ $json.current_prompt }}.
  2. I Assess AI Output, ställ in Text till =# Input Data {{ $('Loop State Manager').item.json.test_input }} # Expected Ground Truth {{ $('Loop State Manager').item.json.ground_truth }} # Actual Generated Answer {{ $json.output }} Start the evaluation. och behåll System Message som definierad.
  3. Koppla Score Output Parser till Assess AI Output som AI-output-parser och bekräfta schemaexemplet för score och reason.
  4. I Refine Prompt Agent, behåll den tillhandahållna Text och System Message, och koppla sedan Prompt Output Parser som AI-output-parser.

⚠️ Vanlig fallgrop: Om output-parsers inte är anslutna kommer Assess AI Output och Refine Prompt Agent inte att returnera strukturerad JSON och loopen kommer att misslyckas.

Steg 5: konfigurera loopstyrning och avslut

Öka loopräknaren, utvärdera stoppvillkor och avsluta när loopen ska ta slut.

  1. I Update Prompt Counter, ställ in next_loop_count till ={{ $('Loop State Manager').item.json.loop_count + 1 }}, improved_prompt till ={{ $json.output.improved_prompt }} och change_log till ={{ $json.output.change_log }}.
  2. I Evaluate Stop Condition, ställ in det booleska villkoret leftValue till ={{ $json.stop_loop }} med operatorn true.
  3. Koppla true-utgången från Evaluate Stop Condition till Terminate Cycle, och false-utgången till Generate AI Reply.

Tips: Den här loopen körs i ordningen Generate AI ReplyAssess AI OutputRefine Prompt AgentUpdate Prompt CounterLoop State ManagerEvaluate Stop Condition.

Steg 6: testa och aktivera ert arbetsflöde

Kör arbetsflödet manuellt för att validera loopbeteendet och aktivera sedan för produktion.

  1. Klicka på Execute Workflow för att köra från Manual Execution Start.
  2. Bekräfta att Generate AI Reply producerar output, att Assess AI Output returnerar en score och att Refine Prompt Agent matar ut en improved_prompt.
  3. Verifiera att Loop State Manager uppdaterar loop_count och stoppar när stop_loop blir true.
  4. När det fungerar, växla arbetsflödet till Active för löpande användning.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • OpenAI-autentiseringsuppgifter kan löpa ut eller vara kopplade till fel projekt. Om något slutar fungera, kontrollera först vilket credential som används i noden OpenAI Chat Model.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera output i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiserade prompttestningen?

Cirka 30 minuter om du redan har åtkomst till OpenAI och Google Sheets.

Behöver jag kunna koda för att automatisera prompttestning?

Nej. Du kopplar autentiseringsuppgifter och redigerar “initial prompt” samt testvärden. Arbetsflödeslogiken är redan byggd.

Är n8n gratis att använda för det här arbetsflödet för automatiserad prompttestning?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna med kostnader för OpenAI API (oftast några cent per körning, beroende på modell och antal loopar).

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för automatiserad prompttestning för flera testfall i stället för ett?

Ja, men då vill du loopa över en lista av input och ground truth med Split in Batches och sedan slå ihop poängen innan du bestämmer om prompten ska förfinas. Många team lagrar testfall i Google Sheets och matar in dem som items, så att utvärderaren poängsätter över en liten svit i stället för ett enda exempel. Du kan också ändra stoppvillkoret från “poäng ≥ 95” till något som “genomsnittlig poäng ≥ 95” om det passar din kvalitetsnivå.

Varför misslyckas min OpenAI-anslutning i det här arbetsflödet?

Oftast är det ett API-nyckelproblem eller att credet i n8n pekar mot fel OpenAI-projekt. Skapa en ny nyckel, uppdatera den i ditt n8n-credential och kör om en enda iteration för att bekräfta. Om det fallerar först efter flera loopar kan du slå i rate limits, så sänk tempot i loopen eller minska tokenanvändningen i prompten.

Hur många promptversioner kan den här automatiserade prompttestningen hantera?

Så många du vill, så länge du sätter en rimlig loopgräns så att den inte kör för evigt.

Är den här automatiserade prompttestningen bättre än att använda Zapier eller Make?

För iterativ promptoptimering är n8n oftast ett bättre val eftersom loopar, förgreningar och state management är förstklassiga och inte blir klumpiga direkt. Zapier och Make kan köra enkla flöden som “generera och logga”, men utvärdering över flera iterationer tenderar att bli skör eller dyr. n8n ger dig också self-hosting-alternativet, vilket spelar roll om du testar prompts ofta. Den ärliga brasklappen: om du bara behöver ett enda OpenAI-anrop som skriver till ett sheet kan Zapier kännas snabbare. Prata med en automatiseringsexpert om du vill ha hjälp att välja rätt upplägg.

När detta väl är på plats slutar promptförbättringar att vara mystiska. Arbetsflödet sköter den repetitiva testningen, och du kan fokusera på att leverera arbete du kan stå för.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal