ms-ai-architect/skills/ms-ai-engineering/references/rag-architecture/agentic-rag-patterns.md
Kjell Tore Guttormsen 52ba6daf67 fix(ms-ai-architect): #8a currency S-bannere — Prompt Flow retirement, CUA GA, agentic retrieval GA-split, EØS + EDPB 28/2024
Phase A av #8 currency-rest. Hver faktapåstand verifisert mot kilde FØR
skriving (Microsoft Learn microsoft_docs_fetch + offisielle EU/norske kilder,
2026-06-18). To research-subagenter brukt til parallell faktaverifisering.

Prompt Flow retirement (banner i 5 filer):
- Verifisert verbatim mot Microsoft Learn: Prompt Flow i BÅDE Microsoft Foundry
  og Azure Machine Learning pensjoneres 2027-04-20; migrer til Microsoft Agent
  Framework (MAF). Container images får ikke lenger oppdateringer.
- Toppbanner: prompt-flow-production-deployment.md, genaiops-llm-specific-practices.md.
- Kontekstuelle inline-flagg: rag-core-patterns.md (bullet + produksjonstabell),
  rag-evaluation-frameworks.md (verktøytabell), azure-ai-search-setup.md (PF-seksjon),
  agentic-rag-patterns.md (Foundry-integrasjonsrad).

Copilot Studio Computer Use / CUA (copilot-studio.md):
- Preview -> GA 7. mai 2026. KORRIGERT fra intern feildato 2026-05-13 (verifisert
  mot Power Platform 2026 wave 1 release plan + What's new).
- Geo presisert: GA i kommersielle miljøer; IKKE GCC/GCC High. Eksakt regionsliste
  ikke offentlig verifiserbar -> merket uverifisert (verifiseringsplikt).
- Fjernet nå-utdatert "Velg RPA når: kun GA-features tillatt"-begrunnelse.

Azure AI Search agentic retrieval (agentic-rag-patterns.md):
- Preview -> DELVIS GA. Minimal/ekstraktiv retrieval er GA (REST 2026-04-01);
  LLM query planning + answer synthesis er fortsatt preview (2026-05-01-preview).
- "Single index"-begrensning -> multi-source via knowledge bases (kun GA-kildetyper:
  searchIndex, azureBlob, indexedOneLake, web; SharePoint/SQL/Fabric/MCP preview).

EU AI Act EØS-status (ai-act-compliance-guide.md):
- Korrigert feilpåstand "direkte gjeldende ... sommeren 2026". AI Act er IKKE
  formelt EØS-innlemmet per juni 2026; KI-loven ikke vedtatt av Stortinget
  (høringsfrist sept. 2025; ikrafttredelse politisk målsatt sensommer 2026).

EDPB Opinion 28/2024 (gdpr-compliance-ai-systems.md, 3 ankre):
- Nyanserer "anonymisert = utenfor GDPR-scope". Må vurderes case-by-case:
  modell er kun anonym når både direkte-ekstraksjon og query-baserte midler gir
  ubetydelig re-identifiseringsrisiko (jf. fortalepunkt 26). Tabellrad endret
  fra "Nei" til "Betinget".

Allerede gjort i tidligere faser (re-verifisert, ingen edit nødvendig):
MAF-banner (semantic-kernel-agents-implementation.md), Omnibus-note
(ai-act-assessor.md), NSM Grunnprinsipper v2.1, A2A v1.0 + Signed Agent Cards
(egen fil agent-to-agent-a2a-protocol.md). A2A v1.0.1 er immateriell patch.

Tester: validate-plugin 239 PASS / 0 FAIL / 0 WARN · kb-integrity 115/115
(262 orphan-warnings er pre-eksisterende ms-ai-security-backlog, urørt).

Gjenstår i #8: M-items (OWASP LLM04/06/08/09, Defender threat protection,
Foundry Local air-gapped, M365 E7+Agent365) + SKILL.md de-orphan -> deretter #9 release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-18 18:53:02 +02:00

13 KiB

Agentic RAG Patterns — Agent-styrt retrieval

Last updated: 2026-04 | Verified: MCP 2026-04 Status: GA (Semantic Kernel); Azure AI Search agentic retrieval delvis GA (verifisert 2026-06-18) — minimal/ekstraktiv retrieval er GA via REST 2026-04-01, mens LLM query planning + answer synthesis er preview (2026-05-01-preview) Category: RAG Architecture & Semantic Search


Introduksjon

Agentic RAG representerer et paradigmeskifte fra statisk til autonom retrieval. I tradisjonell RAG er retrieval-flyten hardkodet: embed query → søk → generer svar. I agentic RAG bestemmer LLM-en selv om, når og hvilke kilder den henter fra, basert på dynamisk vurdering av informasjonsbehov.

Microsoft tilbyr tre primære implementeringsveier: Semantic Kernel (code-first RAG med TextSearchProvider), Microsoft Agent Framework (produksjonsklart, merged fra AutoGen + SK), og Azure AI Search agentic retrieval (managed service med automatisk query decomposition).

Agentic RAG gir dokumentert 34% bedre accuracy og 28% reduksjon i hallusinasjoner sammenlignet med single-query RAG, fordi agenter kan reformulere spørsmål, velge optimal kilde, og iterere til svaret er tilfredsstillende.


Kjernekomponenter

Agentic retrieval loop

Loop:
  Agent vurderer informasjonsbehov
  ├─ Tilstrekkelig info? → Generer svar
  └─ Utilstrekkelig? → Velg verktøy → Hent data → Vurder → Fortsett

Semantic Kernel — Retrieval timing

Modus Beskrivelse Brukstilfelle
BeforeAIInvoke (default) Automatisk søk før hver agent-invokasjon Enkel RAG, konsistent kontekst
OnDemandFunctionCalling Agent bestemmer selv når den søker Agentic RAG, selektiv retrieval

Azure AI Search agentic retrieval — 4-stegs prosess

  1. Workflow initiation: App sender query + konversasjonshistorikk til knowledge base
  2. Query planning: LLM dekomponerer kompleks query i fokuserte subqueries
  3. Query execution: Subqueries kjøres parallelt med semantic reranking per subquery
  4. Result synthesis: 3-delt respons: Grounding Data + Reference Data + Activity Plan

Sammenligning: Klassisk RAG vs. Agentic Retrieval

Aspekt Klassisk single-query Agentic multi-query
Query-tilnærming Én «catch-all» query Multiple fokuserte subqueries
Kontekstbruk Begrenset Full chat history
Dekomponering Manuell/statisk LLM-driven, automatisert
Eksekvering Sekvensiell Parallell
Reranking Standard L2 Semantisk reranking per subquery
Prismodell Per query (1 000 queries) Token-basert (1M tokens)

Arkitekturmønstre

Mønster 1: Semantic Kernel RAG med TextSearchProvider

Arkitektur: Semantic Kernel Agent → TextSearchProvider → Azure AI Search VectorStore → Embedding

Implementering (C#):

var embeddingGenerator = new AzureOpenAIClient(
    new Uri("<endpoint>"), new AzureCliCredential())
    .GetEmbeddingClient("<deployment>")
    .AsIEmbeddingGenerator(1536);

var vectorStore = new InMemoryVectorStore(
    new() { EmbeddingGenerator = embeddingGenerator });

using var textSearchStore = new TextSearchStore<string>(
    vectorStore, "KnowledgeBase", vectorDimensions: 1536);

ChatCompletionAgent agent = new()
{
    Name = "Assistant",
    Instructions = "Use search to find relevant information",
    Kernel = kernel,
    UseImmutableKernel = true  // Kreves for OnDemandFunctionCalling
};

ChatHistoryAgentThread agentThread = new();
agentThread.AIContextProviders.Add(
    new TextSearchProvider(textSearchStore));

Fordeler:

  • Full kontroll over retrieval-logikk
  • Støtter Azure AI Search, Qdrant, Pinecone, Redis
  • Namespace-filtrering for multi-tenant

Status: Eksperimentell (subject to change).

Mønster 2: Tool-basert RAG med multiple retrieval-backends

Arkitektur: Agent → [Tool 1: Product Search] + [Tool 2: Policy Search] + [Tool 3: SQL Query] → Fusjonert svar

Implementering (Python, Microsoft Agent Framework):

product_search = product_collection.create_search_function(
    function_name="search_products",
    description="Search for product information and specs.",
    search_type="semantic_hybrid",
).as_agent_framework_tool()

policy_search = policy_collection.create_search_function(
    function_name="search_policies",
    description="Search for company policies and procedures.",
    search_type="keyword_hybrid",
).as_agent_framework_tool()

agent = chat_client.as_agent(
    instructions="Use appropriate search tool before answering. Cite sources.",
    tools=[product_search, policy_search]
)

Nøkkel: Agenten analyserer query og velger riktig tool basert på description — ingen hardkodet routing.

Fordeler:

  • Skalerbar: legg til nye kilder som tools
  • LLM-drevet routing (ikke regelbasert)
  • Kan kombinere resultater fra flere backends

Anbefalt for: Enterprise med multiple kunnskapskilder.

Mønster 3: Azure AI Search managed agentic retrieval

Arkitektur: App → Azure AI Search Knowledge Agent → Automatisk query decomposition → Parallelle subqueries → Reranked results

Fordeler:

  • Fully managed — ingen custom orchestration-kode
  • Automatisk query planning basert på chat history
  • Built-in semantic reranking per subquery
  • 3-delt response med grounding + citations + activity plan

Begrensninger (verifisert 2026-06-18):

  • Delt GA-/preview-overflate: REST 2026-04-01 (stabil/GA) gir kun minimal, ekstraktiv retrieval. LLM query planning og answer synthesis (beskrevet over) krever preview (2026-05-01-preview) — Azure- og Foundry-portalen bruker preview-versjonen.
  • Knowledge bases / multi-source: GA (2026-04-01) støtter flere kilder i én knowledge base, men kun GA-kildetyper (searchIndex, azureBlob, indexedOneLake, web). SharePoint, Azure SQL, Fabric og MCP server er fortsatt preview.
  • Krever semantic ranker (S1+ tier)

Prising:

  • Free tier: 50M agentic reasoning tokens/mnd
  • Standard: Token-basert ($0.022/token)

Anbefalt for: Teams som vil ha agentic RAG uten custom infrastruktur.

Mønster 4: Multi-agent RAG orchestration

Arkitektur: Orchestrator Agent → [Specialist Agent 1] + [Specialist Agent 2] + ... → Aggregert svar

Orchestration patterns (Semantic Kernel):

Pattern Beskrivelse Brukstilfelle
Sequential Pipeline — agents i rekkefølge Draft → Review → Polish
Concurrent Parallell analyse Finans fra ulike perspektiver
Handoff Dynamisk delegering Kundeservice triage
Group Chat Collaborative diskusjon Kvalitetsvalidering

Anbefalt for: Komplekse use cases der ulike domeneeksperter trengs.


Beslutningsveiledning

Beslutningstabell

Scenario Query-kompleksitet Anbefalt mønster
Enkel Q&A Lav Mønster 1 (BeforeAIInvoke)
Multiple kilder Middels Mønster 2 (tool-basert)
Konversasjonell AI Høy Mønster 3 (managed agentic)
Domene-ekspertise Høy Mønster 4 (multi-agent)
Budsjett-begrenset Alle Mønster 1 (BeforeAIInvoke)

Vanlige feil

Feil Konsekvens Løsning
Multi-agent uten behov Økt kompleksitet og kostnad Vurder single agent med multiple tools først
Glemmer UseImmutableKernel = true OnDemandFunctionCalling feiler Alltid sett dette for agentic RAG i SK
Ingen timeout/retry Agent henger ved LLM-feil Implementer circuit breaker og retry logic
For mange agents i group chat Infinite loops Begrens til 3 agenter

Røde flagg

  • Agentic RAG for enkle lookup-queries (overkill)
  • Ingen observability/logging av agent-beslutninger
  • Preview-tjenester i produksjon uten fallback-plan
  • Multi-agent uten tydelig spesialisering per agent

Integrasjon med Microsoft-stakken

Tjeneste Integrasjonspunkt
Azure AI Search Agentic retrieval (delvis GA — REST 2026-04-01; LLM-planning preview), vector store, hybrid search
Semantic Kernel TextSearchProvider, agent orchestration patterns
Microsoft Agent Framework VectorStore bridge, tool-basert RAG
Azure AI Foundry Prompt Flow (pensjoneres 2027-04-20 → MAF) for visual DAG orchestration
Azure OpenAI GPT-4o for query planning, function calling
Application Insights Agent decision logging, token tracking

Offentlig sektor (Norge)

Dataplassering

  • Azure AI Search agentic retrieval: Sjekk regional tilgjengelighet (endres)
  • Semantic Kernel: Kjøres i egen infrastruktur — full kontroll
  • Azure OpenAI (function calling): Sweden Central — data i EU/EØS

Relevante vurderinger

Krav Implikasjon
AI Act Agent-beslutninger må logges og forklares
Forvaltningsloven Automatiserte avgjørelser krever human oversight
GDPR Agent-logger som inneholder persondata krever databehandleravtale
NSM Gradert info → on-premises agent-infrastruktur

Kostnad og lisensiering

Kostnadssammenligning

Mønster Kostnad per query Notat
Klassisk RAG (single query) ~1 NOK Embedding + search + LLM
Agentic retrieval (managed) ~2-5 NOK Token-basert, query decomposition
Tool-basert RAG (2-3 tools) ~3-8 NOK Multiple search + LLM calls
Multi-agent (3 agents) ~5-15 NOK Flere LLM-kall per query

Optimaliseringstips

  1. Bruk gpt-4o-mini for query planning (raskere, billigere)
  2. Implementer semantic caching for gjentatte queries
  3. BeforeAIInvoke for enkle queries (sparer tool-calling overhead)
  4. Monitor token usage via Application Insights

For arkitekten (Cosmo)

Spørsmål å stille kunden

  1. "Hvor komplekse er typiske bruker-spørsmål?" — Enkle lookup → klassisk RAG, komplekse → agentic
  2. "Har dere multiple kunnskapskilder?" — >2 kilder → tool-basert RAG
  3. "Er konversasjonshistorikk viktig?" — Ja → agentic retrieval med chat history
  4. "Hva er akseptabel kostnad per query?" — Agentic = 2-15x dyrere
  5. "Trenger dere forklarbare agent-beslutninger?" — Compliance → logging av activity plan

Fallgruver

  • Agentic for alt: Single-query RAG dekker 70% av use cases — start der
  • GA-/preview-split: Minimal agentic retrieval er GA (REST 2026-04-01); LLM query planning + answer synthesis er fortsatt preview (2026-05-01-preview) — ha fallback hvis løsningen avhenger av preview-funksjonene
  • Agent-explosion: For mange spesialist-agenter = uforutsigbar oppførsel

Anbefalinger per modenhetsnivå

Modenhet Anbefaling
Prototyp Klassisk RAG med hybrid search + semantic ranker.
Pilot Semantic Kernel med BeforeAIInvoke + single tool.
Produksjon Tool-basert RAG med 2-3 backends. OnDemandFunctionCalling.
Enterprise Azure AI Search agentic retrieval + multi-agent for komplekse workflows.

Kilder og verifisering

Kilde Konfidens URL
Adding RAG to Semantic Kernel Agents Verified learn.microsoft.com
Agentic Retrieval (Azure AI Search) Verified learn.microsoft.com
Agent RAG (Microsoft Agent Framework) Verified learn.microsoft.com
AI Agent Design Patterns Verified learn.microsoft.com
Semantic Kernel Agent Orchestration Verified learn.microsoft.com
Multi-agent performance (34% accuracy) Baseline Community source (ragaboutit.com)

Azure AI Search Agentic Retrieval (delvis GA — oppdatert 2026-06-18)

Minimal, ekstraktiv retrieval er GA (REST 2026-04-01). Funksjonaliteten under — LLM-drevet query planning, subquery-nedbryting og answer synthesis — krever preview (2026-05-01-preview).

Azure AI Search agentic retrieval er en managed multi-query pipeline for komplekse spørsmål i chat og copilot-apper:

Funksjonalitet:

  • LLM (gpt-4o/4.1/5-serien) bryter ned komplekse queries til fokuserte subqueries
  • Subqueries kjøres parallelt med semantisk reranking per query
  • Resultater slås sammen til ett grounding data-sett med query plan og source documents
  • Leser inn chat history for kontekstuell query planning

Prising:

  • Free plan: 50 millioner gratis reasoning tokens/mnd (alle tiers)
  • Standard plan: pay-as-you-go etter fri kvote
  • Avhenger av semantic ranker (premium feature)

Arkitektur: Knowledge Base + Knowledge Source(s) + Azure OpenAI LLM + Azure AI Search index

AI Agent Design Patterns (Azure Architecture Center): Agentic RAG plasseres i et spektrum fra single model call → single agent with tools → multi-agent orchestration. Start med laveste nødvendige kompleksitetsnivå. Mønstre: sequential (pipeline), parallel fanout, supervisor, og autonomous loop. Multi-agent krever koordineringsoverhead og økt latency — bruk kun når single-agent RAG ikke er tilstrekkelig.