ktg-plugin-marketplace/plugins/ms-ai-architect/skills/ms-ai-security/references/cost-optimization/prompt-engineering-cost-reduction.md
Kjell Tore Guttormsen 6a7632146e feat(ms-ai-architect): add plugin to open marketplace (v1.5.0 baseline)
Initial addition of ms-ai-architect plugin to the open-source marketplace.
Private content excluded: orchestrator/ (Linear tooling), docs/utredning/
(client investigation), generated test reports and PDF export script.
skill-gen tooling moved from orchestrator/ to scripts/skill-gen/.

Security scan: WARNING (risk 20/100) — no secrets, no injection found.
False positive fixed: added gitleaks:allow to Python variable reference
in output-validation-grounding-verification.md line 109.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:17:17 +02:00

15 KiB
Raw Blame History

Prompt Engineering for Cost Reduction

Last updated: 2026-02 Status: GA Category: Cost Optimization & FinOps for AI


Introduksjon

Prompt engineering er en av de mest kostnadseffektive optimaliseringsstrategiene for Azure OpenAI-løsninger. Siden prismodellen er basert på antall tokens (både input og output), kan godt utformede prompts redusere kostnader med 30-70% uten å kompromittere kvaliteten på responsen. Dette handler om å maksimere verdien av hver token som sendes til modellen.

I motsetning til infrastrukturendringer som krever deployment og testing, kan prompt-optimaliseringer implementeres umiddelbart og har effekt på tvers av alle API-kall. For organisasjoner som bruker GPT-4 eller GPT-5-modeller (hvor input-kostnader er høyere), kan prompt engineering alene spare betydelige beløp månedlig.

Kombinert med nyere funksjoner som prompt caching og predicted outputs kan optimaliserte prompts redusere både latens og kostnader. Dette er spesielt viktig i produksjonssystemer med høyt volum av forespørsler, der selv små forbedringer per forespørsel skalerer til store besparelser.


Kjernekomponenter

Token-optimaliseringsteknikker

Teknikk Beskrivelse Besparelsespotensial
Space efficiency Fjern unødvendige whitespaces, bruk tabeller i stedet for JSON 10-20% input tokens
Prompt caching Gjenbruk av identiske prefix-tokens (1024+ tokens) 50-100% på cache hits
Few-shot optimization Bruk minst mulig antall eksempler som fortsatt gir ønsket resultat 20-40% input tokens
Output priming Styr output-lengde med cues og explicit formatting 15-30% output tokens
Instruction clarity Tydelige instruksjoner reduserer behov for retry og regeneration 30-50% totale tokens

Prompt Caching

Prompt caching er en kraftig funksjon for kostnadsreduksjon når du har repeterende innhold i starten av prompten:

Feature Detaljer
Minimumskrav 1024 tokens i lengde, første 1024 må være identiske
Cache granularitet Cache hits etter første 1024 tokens: hver 128 tokens
Cache varighet 5-10 minutter inaktivitet, maks 1 time
Prisreduksjon 50% rabatt (Standard), opptil 100% (Provisioned)
Støttede modeller GPT-4o, GPT-4o-mini, o1-serien, GPT-4.1-serien, o3-mini

Verified (MCP): Azure AI Foundry - Prompt Caching

Token-effektivitet per dataformat

Format Tokens per 100 ord Anbefaling
Tabular (TSV) ~75 tokens Anbefalt for strukturert data
Markdown tables ~85 tokens God balanse mellom lesbarhet og effektivitet
JSON ~110 tokens Unngå hvis tabellformat fungerer
Verbose text ~130 tokens Kun for kompleks kontekst

Eksempel:

# Inefficient (JSON)
{"date": "2026-02-04", "amount": 1500}
Tokens: ~12

# Efficient (TSV)
Date        Amount
2026-02-04  1500
Tokens: ~8

Arkitekturmønstre

Mønster 1: Minimal System Prompt Pattern

Problem: Store system prompts konsumerer tokens i hver forespørsel.

Løsning: Ekstraher repeterende kontekst til en cached prefix, minimer system prompt til essensielle instruksjoner.

# Anti-pattern: Lang system prompt i hver request
system_prompt = """
You are an AI assistant specialized in customer support.
Always be polite, professional, and helpful.
Use the following knowledge base: [2000 tokens av dokumentasjon]
Follow these guidelines: [500 tokens av regler]
"""  # ~2500 tokens per request

# Optimal pattern: Cached prefix + minimal system
cached_prefix = """
Knowledge base: [2000 tokens]
Guidelines: [500 tokens]
"""  # Cached, betaler kun én gang

system_prompt = "You are a customer support AI. Use cached knowledge."
# ~15 tokens per request

Besparelse: 2485 tokens × pris per token × antall requests.

Verified (MCP): Prompt caching støtter system messages, user messages, og tool definitions.


Mønster 2: Dynamic Prompt Assembly

Problem: One-size-fits-all prompts inkluderer unødvendig kontekst.

Løsning: Bygg prompts dynamisk basert på faktisk behov.

def build_optimized_prompt(user_query: str, context_needed: str):
    # Kun inkluder nødvendig kontekst
    if requires_examples(user_query):
        few_shot = get_minimal_examples(user_query)  # 2-3 eksempler, ikke 10
    else:
        few_shot = ""  # Zero-shot hvis mulig

    if requires_knowledge(user_query):
        knowledge = retrieve_relevant_chunks(user_query, top_k=3)
    else:
        knowledge = ""

    return f"{system_prompt}\n{few_shot}\n{knowledge}\n{user_query}"

Besparelse: 40-60% på input tokens ved å unngå "always-on" context.


Mønster 3: Prompt Compression Pipeline

Problem: Legacy prompts med verbose språk og redundans.

Løsning: Pre-processing pipeline for token-optimalisering.

def compress_prompt(prompt: str) -> str:
    # 1. Fjern konsekutive whitespaces
    prompt = re.sub(r'\s+', ' ', prompt)

    # 2. Konverter verbose instruksjoner til bullet points
    # "Please analyze the following and provide..." → "Analyze:"

    # 3. Erstatt lange datoformater med kompakte
    # "February 4, 2026" → "2026-02-04"

    # 4. Bruk forkortelser for repeterende termer
    prompt = prompt.replace("customer support", "CS")

    return prompt.strip()

Baseline: Komprimering er ikke-triviell og må testes. Vær forsiktig med å miste kontekst.


Beslutningsveiledning

Når skal du optimalisere prompts for kostnad?

Scenario Prioritet Teknikk
High-volume production (>100K requests/dag) Kritisk Alle teknikker, spesielt caching
Lange system prompts (>1000 tokens) Høy Prompt caching + compression
Few-shot med mange eksempler (>5) Høy Minimer til 2-3 eksempler
RAG med store chunks (>2000 tokens) Medium Chunk optimization, dynamic loading
Ad-hoc testing og utvikling Lav Fokuser på funksjonalitet først

Vanlige feil

Feil Konsekvens Løsning
Over-engineering prompts Unødvendig kompleksitet, høye token-kostnader Start enkelt, legg til kun når nødvendig
Ignorere cache hit rate Betaler for tokens som kunne vært cached Strukturer prompts med statisk prefix først
For mange few-shot eksempler Input tokens eskalerer uten bedre kvalitet Test med 1-3 eksempler først
Verbose output formatting Output tokens øker unødvendig Bruk output priming og clear syntax
Ikke måle token usage Ingen baseline for optimalisering Logg prompt_tokens og completion_tokens per request

Røde flagg

  • System prompts over 2000 tokens uten caching
  • Few-shot prompts med 10+ eksempler
  • JSON-formatert data der tabeller ville fungert
  • Ingen logging av cached_tokens i respons
  • Retry-rate over 10% (indikerer uklare instruksjoner)

Integrasjon med Microsoft-stakken

Azure OpenAI

Prompt Caching API:

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(),
    "https://cognitiveservices.azure.com/.default"
)

client = OpenAI(
    base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
    api_key=token_provider
)

# Prompt med cached content
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": long_cached_prefix},  # Cache hits
        {"role": "user", "content": user_query}
    ]
)

# Sjekk cache hits
cached = response.usage.prompt_tokens_details.cached_tokens
print(f"Cached tokens: {cached} (saved cost!)")

Verified (MCP): Azure OpenAI API returnerer cached_tokens under prompt_tokens_details.

Prompt Flow

Bruk Prompt Flow for A/B-testing av prompt-varianter:

Feature Nytte
Prompt variants Test 2-10 varianter, velg mest kostnadseffektiv
Token tracking Automatisk logging av token usage per variant
Evaluation metrics Kombiner kvalitet (relevance, groundedness) med kostnad

Baseline: Prompt Flow støtter GPT-3.5 og GPT-4-serien. GPT-4 gir bedre resultater, men test kostnad vs. kvalitet.

AI Foundry

AI Foundry Model Catalog støtter prompt caching for:

  • GPT-4o (2024-11-20, 2024-08-06)
  • GPT-4o-mini (2024-07-18)
  • o1-serien og o3-mini
  • GPT-4.1-serien

Verified (MCP): AI Foundry Models - Prompt Caching

Copilot Studio

Copilot Studio bruker underliggende Azure OpenAI, men:

  • Prompt caching er ikke eksponert til bruker
  • System prompts genereres automatisk (kan være verbose)
  • Anbefaling: For high-volume bruk, vurder direkte Azure OpenAI-integrasjon med egne prompts

Offentlig sektor (Norge)

Budsjettprosesser

Utfordring Prompt Engineering-løsning
Årlige budsjetter Forutsigbare kostnader med Provisioned + caching
Kostnadskontroll Token quotas per bruker/avdeling
Rapportering Logg token usage per sesjon for transparens

GDPR og AI Act

  • Prompt caching deler ikke data mellom subscriptions (GDPR-compliant)
  • Cache clears etter maks 1 time (data minimization)
  • Ingen PII i cached prompts (design principle)

Datasuverenitet

  • Prompt caches lagres i samme Azure-region som deployment
  • Norske organisasjoner: Bruk Norway East eller West Europe

Kostnad og lisensiering

Token-kostnader (Azure OpenAI)

Modell Input (per 1M tokens) Output (per 1M tokens) Cached input rabatt
GPT-4o $2.50 $10.00 50% (Standard)
GPT-4o-mini $0.15 $0.60 50% (Standard)
o1-preview $15.00 $60.00 50% (Standard)
GPT-4 (32K) $60.00 $120.00 Ikke støttet

Verified (MCP): Azure OpenAI Pricing

Besparelsespotensiale (eksempel)

Scenario: 1 million requests/måned, 2000 input tokens per request, 500 output tokens.

Optimalisering Tokens redusert Månedlig besparelse (GPT-4o)
Baseline (ingen opt.) 0 $0 (kostnad: $10,000)
Prompt compression (20%) 400 input $1,000
Prompt caching (70% hit rate) 1400 input (70% av 2000) $2,450
Output priming (25%) 125 output $1,250
Kombinert 1925 tokens $4,700/mnd

ROI: Prompt engineering-innsats (5-10 timer) betaler seg tilbake første måned.

Optimaliseringstips

  1. Start med logging: Mål prompt_tokens, completion_tokens, cached_tokens per request
  2. Identifiser høyvolum-endepunkter: 80/20-regelen optimaliser de 20% av prompts som står for 80% av kostnad
  3. A/B-test: Sammenlign kvalitet og kostnad for prompt-varianter
  4. Automasjon: Integrer token-logging i observability stack (Application Insights)
  5. Review kvartalsvis: Prompt-effektivitet endrer seg med nye modeller og features

For arkitekten (Cosmo)

Spørsmål å stille

  1. Hvilke prompts brukes oftest, og hvor mange tokens konsumerer de?

    • Få oversikt over token-distribution i produksjon
    • Identifiser "expensive prompts" (>5000 input tokens)
  2. Er det repeterende innhold i starten av promptene som kan caches?

    • System prompts, knowledge bases, few-shot eksempler
    • Sjekk om prefix er minst 1024 tokens (caching threshold)
  3. Hva er cache hit rate, og hvorfor er den lav/høy?

    • Lav (<30%): Promptene varierer for mye i prefix
    • Høy (>70%): Godt strukturert, repeterbart innhold
  4. Brukes few-shot learning, og hvor mange eksempler inkluderes?

    • Test med 1, 2, 3, 5 eksempler finn minimum effective dose
    • GPT-4o trenger ofte færre eksempler enn GPT-3.5
  5. Hva er retry/regeneration-rate?

    • Høy rate (>10%) indikerer uklare instruksjoner
    • Koster dobbelt: initial request + retry
  6. Måles token usage per bruker, team, eller bruksområde?

    • Nødvendig for kostnadsstyring og chargeback-modeller
    • Bruk custom dimensions i Application Insights
  7. Er output-lengde styrt, eller er den "open-ended"?

    • Bruk max_tokens parameter for å begrense output
    • Output priming ("answer in 3 bullet points") reduserer verbosity
  8. Hvilke modeller brukes, og er de riktig valgt for oppgaven?

    • GPT-4o-mini er 90% billigere enn GPT-4o
    • Test om mini-modellen er "good enough" for bruksområdet

Fallgruver

Fallgruve Risiko Mitigering
Over-optimalisering Kvalitet lider, brukertilfredshet faller Mål både kostnad OG kvalitet (relevance, groundedness)
Ignorere nye features Går glipp av 50%+ besparelse fra caching Følg Azure OpenAI release notes, test nye funksjoner
Engangs-optimalisering Prompts "ruster" over tid, kostnader stige Kvartalsvis review av top 10 dyreste prompts
Ikke involvere utviklere Arkitekt-anbefalinger implementeres ikke Workshop med dev-team, integrer i CI/CD

Anbefalinger per modenhetsnivå

Nivå Fokus Forventet besparelse
Beginner Logging av token usage, identify expensive prompts 10-20%
Intermediate Prompt compression, few-shot optimization, caching POC 30-50%
Advanced Dynamic prompt assembly, A/B-testing, automated optimization 50-70%
Expert Model right-sizing (GPT-4o vs mini), fine-tuning for domene 70-80%

Kilder og verifisering

Microsoft Learn (Verified via MCP)

  1. Prompt Caching - Azure AI Foundry Verified
  2. Prompt Engineering Techniques Verified
  3. Azure OpenAI Pricing Verified
  4. Manage Costs for Azure OpenAI Verified
  5. Token Usage Estimation Verified

Konfidensnivå per seksjon

Seksjon Konfidens Kilde
Token-optimaliseringsteknikker Verified MCP: Prompt engineering docs
Prompt Caching Verified MCP: Prompt caching API docs
Token-effektivitet per format Verified MCP: Space efficiency section
Arkitekturmønstre Baseline Generelle best practices + MCP-dokumentasjon
Prisberegninger Verified MCP: Azure pricing page
Code samples Verified MCP: Code sample search

Sist oppdatert: 2026-02-04 Forfatter: Cosmo Skyberg, Microsoft AI Solution Architect Review status: Ready for production