De 87 referansefilene bar en plain-text `| Verified: <dato>`-hale på **Last updated:**-linjen i 500B-header-vinduet — usynlig for den bold-only kontrakt-stacken (kb-headers.mjs / audit RE_VERIFIED), og claimet en verifisering judgen aldri gjorde (samme poison-klasse som de 14 bold **Verified:** MCP Spor 1 fjernet). Uhåndtert springer den også dual-Verified-fellen: R7s insertVerifiedFields ville stemplet en bold-verdi ved siden av den plain → to motstridende provenance-claims per fil. - ny driver strip-stale-verified-pipe.mjs: frosset 87-manifest (18 advisor + 45 eng + 8 gov + 16 sec), pure verdi-bevarende strip (kun ` | Verified: …`-halen; **Last updated:**-dato byte-eksakt), hard per-fil-invariant (linjeantall uendret, body byte-identisk, dato bevart), idempotent, atomicWriteSync (RX-OPS2 recovery-kontrakt). - audit-corpus-headers.mjs: ny plain-Verified-deteksjon (RE_PLAIN_VERIFIED + plainVerifiedPipe) — gjør M4-blindheten synlig så en stale plain-hale ikke kan gjenoppstå stille (non-advisor scope). - 87 filer strippet; plain Verified i vinduet 0/389; live-audit plainVerifiedPipe 0. Mekanisme: +15 tester (12 strip + 3 audit). Suite 875→890 exit 0. validate-plugin.sh 250/0. Utsatt → RX-KB1b: footer-dato-avvik + label-whitelist (annen dialekt, flag-to-human).
20 KiB
Grounding Strategies for Declarative Agents
Last updated: 2026-06-19 Status: GA Category: Copilot Extensibility & Integration
Introduksjon
Grounding er kjernen i å gjøre declarative agents nyttige i en bedriftskontekst. Uten grounding er agenten begrenset til generell AI-kunnskap — med grounding kan den svare på spørsmål om din organisasjons data, dine prosjekter, og dine brukeres kontekst.
Grounding-strategien avgjør hvor agenten henter kunnskap fra, hvordan den filtrerer og prioriterer informasjon, og hvordan den balanserer generell kunnskap mot enterprise-data. Microsoft tilbyr et rikt sett med knowledge sources for declarative agents, fra SharePoint-innhold og Teams-meldinger til eksterne systemer via Copilot connectors og web search.
Denne guiden dekker arkitekturmønstre for grounding, beslutningskriterier for valg av knowledge sources, og praktiske hensyn for offentlig sektor i Norge.
Kjernekomponenter
Tilgjengelige Knowledge Sources
| Knowledge Source | Beskrivelse | Lisenskrav | Scoping (generativ modus) |
|---|---|---|---|
| SharePoint | Filer, mapper, sites i SharePoint Online | Microsoft 365 Copilot-lisens | 25 URLer (klassisk: 4) |
| Documents (opplastede filer) | Filer lastet opp direkte til agenten (lagres i Dataverse) | Microsoft 365 Copilot-lisens eller metered usage | Generativ: Ubegrenset; klassisk: begrenset av Dataverse-kvote |
| OneDrive | Brukerens OneDrive-innhold | Microsoft 365 Copilot-lisens | Ja (via manifest) |
| Copilot Connectors | Eksterne systemer (ServiceNow, Salesforce, etc.) via Microsoft Graph | Microsoft 365 Copilot-lisens | Ubegrenset (klassisk: 2) |
| Teams Messages | Chat-historikk, meeting transcripts, kanal-meldinger | Microsoft 365 Copilot-lisens | Opptil 5 chats |
| Teams Meetings | Meeting metadata, transkripsjon, meeting chats | Microsoft 365 Copilot-lisens | Opptil 5 meetings |
| Outlook Email | Brukerens mailbox (full eller delt) | Microsoft 365 Copilot-lisens | Ja (folder-basert) |
| People | Org chart, profiler, skills, samarbeidshistorikk | Microsoft 365 Copilot-lisens | Nei |
| Embedded Files | Opplastede filer (lagres i SharePoint Embedded) | Microsoft 365 Copilot-lisens eller metered usage | Nei |
| Web Search | Bing-indeksert offentlig innhold | Ingen lisenskrav | Alle offentlige sider (klassisk: 4 URLer) |
| Dataverse | Dynamics 365 / Power Apps-tabeller | Microsoft 365 Copilot-lisens eller metered usage | Ubegrenset (klassisk: 2 sources, 15 tabeller) |
Viktig om generativ modus (Verified): Copilot Studio med generativ orchestration støtter IKKE Bing Custom Search eller Azure OpenAI som knowledge sources i generative answers node. Disse må eksplisitt legges til i en generative answers-node i et topic (klassisk data-alternativ).'
Manifest-syntax for Knowledge Sources
SharePoint/OneDrive (JSON manifest):
{
"capabilities": [
{
"name": "OneDriveAndSharePoint",
"items_by_url": [
{
"url": "https://contoso.sharepoint.com/sites/ProjectX"
}
]
}
]
}
Copilot Connectors (JSON manifest):
{
"capabilities": [
{
"name": "GraphConnectors",
"connections": [
{
"connection_id": "ServiceNowIncidents"
}
]
}
]
}
Teams Messages (JSON manifest):
{
"capabilities": [
{
"name": "TeamsMessages",
"urls": [
"https://teams.microsoft.com/l/channel/...",
"https://teams.microsoft.com/l/chat/..."
]
}
]
}
Web Search (JSON manifest):
{
"capabilities": [
{
"name": "WebSearch",
"sites": [
{"url": "learn.microsoft.com"}
]
}
]
}
Email (JSON manifest):
{
"capabilities": [
{
"name": "Email",
"shared_mailbox": "support@contoso.com",
"folders": [
{"folder_id": "inbox"}
]
}
]
}
People Knowledge (JSON manifest):
{
"capabilities": [
{
"name": "People",
"include_related_content": true
}
]
}
Arkitekturmønstre
1. Single-Source Grounding (Mono-grounding)
Bruk når: Agenten har ett klart fokusområde (f.eks. HR-policies, prosjekt-dokumentasjon, CRM-data).
Eksempel:
- HR-agent: Kun grounded i SharePoint-site med HR-policyer
- Sales-agent: Kun grounded i Salesforce via Copilot connector
- Prosjekt-agent: Kun grounded i spesifikk Teams-kanal
Fordeler:
- Enkel å vedlikeholde
- Forutsigbare svar
- Rask retrieval (mindre search-scope)
Ulemper:
- Begrenset kontekst — kan ikke svare utenfor knowledge source
- Kan misse relevant info fra andre systemer
2. Multi-Source Grounding (Federated grounding)
Bruk når: Agenten trenger bredde — f.eks. en "prosjekt-assistent" som må kunne svare om dokumenter, chat-historikk, og CRM-data.
Eksempel:
- Prosjekt-agent: SharePoint site + Teams kanal + Azure DevOps connector
- Kundesupport-agent: Email folder + ServiceNow connector + FAQ-site
Fordeler:
- Bredere kontekst
- Mer nyttig for komplekse oppgaver
- Kan kryss-referere kilder
Ulemper:
- Tregere retrieval (flere API-kall)
- Risiko for "information overload" (agenten må velge riktig kilde)
- Vanskeligere å debugge
Best practices:
- Prioriter kilder via instructions (
"Prefer SharePoint policies over general knowledge") - Bruk scoping (f.eks. kun spesifikke SharePoint-mapper, ikke hele site)
- Test grundig med ulike spørsmål for å sikre at riktig kilde brukes
3. Layered Grounding (Fallback-strategi)
Bruk når: Du vil at agenten skal søke i prioritert rekkefølge — først intern kunnskap, deretter web.
Eksempel:
- Agent søker først i SharePoint → hvis ikke funnet, søk i Web Search
- Agent søker først i Dataverse → hvis ikke funnet, bruk general knowledge
Fordeler:
- Balanserer spesifisitet og bredde
- Reduserer "hallucinations" (prioriterer verifisert enterprise-data)
Ulemper:
- Krever nøye instructions for å styre fallback-logikk
- Kan gi tregt svar hvis første kilde er tom (må vente på timeout)
Implementering:
- Bruk
"Only use specified sources"i Agent Builder for å blokkere general knowledge - Kombiner med Web Search for fallback til public web
- Eller: Bruk instructions som
"If you cannot find the answer in SharePoint, clearly state 'Not found in internal docs' and do not guess."
4. Permission-Aware Grounding (User-scoped retrieval)
Bruk når: Agenten deler på tvers av organisasjonen, og ulike brukere skal kun se sine egne data.
Eksempel:
- SharePoint: Respekterer native permissions — bruker ser kun filer hen har tilgang til
- Email: Hver bruker ser kun sin egen mailbox (ikke delt mellom brukere)
- Teams: Respekterer channel/chat membership
Fordeler:
- Ingen risiko for data leakage
- Naturlig compliance med tilgangskontroll
Ulemper:
- Embedded files støtter ikke Information Barriers (IB) — alle med agenten kan se innhold
- Shared mailboxes krever eksplisitt SMTP-adresse i manifest
Best practices:
- Unngå embedded files hvis du har sensitive data og deler agenten bredt
- Bruk SharePoint/OneDrive for permission-aware grounding
- Test med ulike brukerroller for å verifisere tilgangskontroll
Beslutningsveiledning
Valg av Knowledge Source: Beslutningstabell
| Scenario | Anbefalt Knowledge Source | Begrunnelse |
|---|---|---|
| Statiske policies/docs (PDF, Word) | SharePoint (site/folder) | Strukturert, permission-aware, god search |
| Sanntidsdiskusjoner om prosjekt | Teams Messages (kanal/chat) | Fanger uformell kunnskap, kontekst fra meetings |
| Eksterne system (ServiceNow, Salesforce) | Copilot Connector | Direkte integrasjon med line-of-business data |
| Brukerens personlige arbeid | OneDrive + Email | User-scoped, ingen deling av data |
| Offentlig informasjon (nyheter, docs) | Web Search | Alltid oppdatert, ingen lisenskrav |
| CRM/Dynamics 365 data | Dataverse | Native integrasjon, supports custom tables |
| Opplastede filer (quick test) | Embedded Files | Rask prototyping, men ikke IB-støtte |
| Org chart og people lookup | People | Kontekst om kollegaer, skills, samarbeid |
Vanlige Feil (Anti-patterns)
| Feil | Konsekvens | Riktig tilnærming |
|---|---|---|
| Legge til hele SharePoint-tenant som kilde | Treg retrieval, irrelevant noise | Scope til spesifikke sites/folders |
| Bruke Embedded Files for sensitive docs | Brukere uten IB ser alt | Bruk SharePoint med native permissions |
| Ikke scope Teams-kunnskap | Agent søker i all chat-historikk (treghet) | Velg spesifikke 5 kanaler/chats |
| Bruke general knowledge for compliance-svar | Hallucinations, feil policy-tolkning | Sett "Only use specified sources" |
| Ikke teste med brukere uten Copilot-lisens | Agent feiler silent for dem | Valider lisenskrav i testing |
Røde Flagg (Når skal du ikke bruke grounding?)
- Når agenten skal gjøre noe, ikke svare på noe → Bruk actions/API plugins, ikke knowledge sources
- Når du vil cache statisk data → Overvei embedded files (eller hardkode i instructions hvis < 1000 tegn)
- Når kilde-data oppdateres oftest enn daglig → Web Search eller Dataverse (ikke SharePoint med treg re-indexing)
Integrasjon med Microsoft-stakken
SharePoint + Semantic Index (Anbefalt for GA-produksjon)
Hvis tenant har Microsoft 365 Copilot-lisens, aktiver Turn on Work IQ (semantic search; tidligere kalt «Tenant graph grounding») for:
- Støtte for SharePoint/connector-filer opptil 200 MB i generell bruk (PDF/PPTX/DOCX-filer støttes opptil 512 MB)
- Bedre retrieval-kvalitet (bruker Microsoft Search semantic index)
- Raskere søk i store SharePoint-sites
- Krever at agent bruker Authenticate with Microsoft (ikke andre auth-metoder)
- Aktivert som standard når makeren har en Microsoft 365 Copilot-lisens i samme tenant (Verified 2026-06)
Trade-off: Noe høyere latency for enkelte queries. Kan slås av per agent hvis kvaliteten er lavere enn forventet.
Innholdsstyring (Official sources): Kunnskapskilder kan merkes som "official source" — agenten indikerer dette i svar. Merk: Per april 2026 er official sources-funksjonen ikke kompatibel med generativ orchestration (krever klassisk modus). (Verified 2026-04)
Allow ungrounded responses (Verified 2026-04): Ny innstilling i Generative AI-settings. Når den er AV (default), blokkeres svar der agenten ikke brukte noen knowledge source eller tool i det gjeldende svaret. Gir strammere grounding, men kan blokkere follow-up-svar basert på samtalehistorikk.
Copilot Connectors vs Power Platform Connectors
| Egenskaper | Copilot Connectors | Power Platform Connectors |
|---|---|---|
| Indexering | Ja (til Microsoft Graph) | Nei (real-time API calls) |
| Permissions | Source-level permissions respektert | Maker/service account permissions |
| Grounding-støtte | Ja (native i declarative agents) | Ja (via custom API plugin) |
| Setup | Tenant admin må konfigurere | Maker kan sette opp selv |
Regel: Bruk Copilot Connectors for grounding, Power Platform Connectors for actions.
Dataverse Grounding
Kun støttet via Agents Toolkit (ikke Agent Builder i Microsoft 365 Copilot ennå per 2026-02).
Krav:
- Opprett
DVTableSearchskill i Dataverse - Spesifiser
host_name,skill, ogtablesi manifest - Krever Microsoft 365 Copilot-lisens eller metered usage
Offentlig sektor (Norge)
GDPR og Datasuverenitet
| Knowledge Source | Data Residency | GDPR-status | Schrems II-vurdering |
|---|---|---|---|
| SharePoint (EU tenant) | EU (Ireland/Netherlands) | ✅ GDPR-compliant | ✅ OK for offentlig sektor |
| OneDrive (EU tenant) | EU (Ireland/Netherlands) | ✅ GDPR-compliant | ✅ OK for offentlig sektor |
| Copilot Connectors | Avhenger av ekstern kilde | ⚠️ Må vurderes per connector | ⚠️ Sjekk DPA med vendor |
| Web Search (Bing) | USA (Bing service) | ⚠️ DPA gjelder ikke | ❌ Ikke for sensitive queries |
| Dataverse (EU tenant) | EU (Norway/West Europe) | ✅ GDPR-compliant | ✅ OK for offentlig sektor |
Kritisk forskjell: Web Search-queries sendes til Bing og er ikke dekket av Microsoft DPA for enterprise. For sensitive queries, ikke bruk Web Search. (Verified 2026-04: Bruk informasjon fra nettet bruker «Grounding with Bing Search»)
AI Act Compliance
Risikoklassifisering: Declarative agents er typisk begrenset risiko (Article 52: transparency obligations).
Grounding-relaterte krav:
- Dokumenter hvilke knowledge sources brukes → Anbefaling: Hold ADR per agent
- Brukere må informeres om at de snakker med AI → Microsoft håndterer dette i Copilot UX
- Source citations må være synlige → Copilot viser automatisk kildereferanser
Forvaltningsloven (§ 11b: Automatiserte avgjørelser)
Hvis agenten brukes til enkeltvedtak, må du:
- Dokumentere grounding-kilder (auditability)
- Sikre at mennesker kan overstyre agent-svar
- Teste for bias i retrieval (f.eks. hvis SharePoint-innhold har skjevheter)
Best practice: Bruk agenter for rådgivning, ikke automatiserte vedtak, i offentlig sektor.
Kostnad og lisensiering
Lisenskrav (Oppsummering)
| Feature | Microsoft 365 Copilot-lisens | Metered Usage | Ingen lisenskrav |
|---|---|---|---|
| SharePoint/OneDrive | ✅ Påkrevd | ❌ | ❌ |
| Copilot Connectors | ✅ Påkrevd | ❌ | ❌ |
| Teams Messages/Meetings | ✅ Påkrevd | ❌ | ❌ |
| ✅ Påkrevd | ❌ | ❌ | |
| People | ✅ Påkrevd | ❌ | ❌ |
| Embedded Files | ✅ Påkrevd | ✅ Alternativ | ❌ |
| Dataverse | ✅ Påkrevd | ✅ Alternativ | ❌ |
| Web Search | ❌ | ❌ | ✅ Ingen kostnader |
Kostnadsoptimalisering
- Start med Web Search + Embedded Files (ingen lisenskrav) for POC
- Bruk SharePoint over Embedded Files for produksjon (bedre permissions + search)
- Scope aggressivt → Færre filer/chats = raskere retrieval = lavere latency
- Unngå "all Teams chats" → Bruk scoped chats (max 5) for relevans
Work IQ (tidl. Tenant Graph Grounding): Kostnad vs. Ytelse
Work IQ (semantic search) krever minst én Microsoft 365 Copilot-lisens i tenant.
Trade-off:
- Kostnad: Microsoft 365 Copilot-lisens (ca. $30/user/month i USA, pris varierer)
- Gevinst: Bedre retrieval-kvalitet, støtte for større filer, semantic search
For offentlig sektor: Vurder pilot med 10-20 brukere (lisenskostnad ca. $300-600/mnd) før full rollout.
For arkitekten (Cosmo)
Spørsmål å stille kunden
-
Datakilder:
- "Hvilke systemer inneholder kunnskapen agenten trenger?"
- "Er dataene strukturerte (SharePoint, Dataverse) eller ustrukturerte (Teams, Email)?"
- "Ligger dataene i Microsoft 365, eller eksterne systemer?"
-
Tilgangskontroll:
- "Skal alle brukere se samme data, eller user-scoped retrieval?"
- "Har dere Information Barriers (IB) aktivert i tenant?"
- "Er det sensitive data som ikke må deles på tvers?"
-
Lisenser:
- "Har brukerne Microsoft 365 Copilot-lisens?"
- "Hvis ikke, kan dere bruke metered usage for testing?"
- "Skal agenten fungere for brukere uten lisens?" (→ Bruk kun Web Search + Code Interpreter)
-
Datakvalitet:
- "Er SharePoint-innhold oppdatert og nøyaktig?"
- "Hvor ofte oppdateres kildene?" (→ Påvirker re-indexing delay)
- "Har dere mange duplikater eller utdaterte docs?" (→ Vurder cleanup før grounding)
-
Compliance:
- "Skal agenten brukes i GDPR-regulert kontekst?"
- "Kan dere bruke Bing Web Search, eller må alt være on-premises/EU?"
- "Kreves audit-logging av alle spørringer?" (→ Microsoft 365 audit log dekker dette)
Fallgruver å unngå
| Fallgruve | Hvorfor det feiler | Mitigering |
|---|---|---|
| Grounding i hele SharePoint tenant | Treg retrieval, irrelevante svar | Scope til site/folder-nivå |
| Bruke Embedded Files for produksjon | Ingen Information Barriers | Bruk SharePoint med native permissions |
| Ikke teste med brukere uten lisens | Agent feiler silent (ingen feilmelding til bruker) | Test med demo-bruker uten Copilot-lisens |
| Forvente sanntids-oppdateringer fra SharePoint | Re-indexing tar minutter til timer | Bruk Dataverse eller Web Search for real-time |
| Bruke all Teams chats som kilde | Treghet + irrelevant noise | Scope til max 5 spesifikke chats |
Anbefalinger per modenhetsnivå
Prototype/POC:
- Bruk Embedded Files + Web Search (ingen lisenskrav)
- Test med Agent Builder (low-code, rask iterasjon)
- Ikke bekymre deg for permissions ennå
Pilot (10-50 brukere):
- Migrer til SharePoint (permission-aware)
- Legg til Teams Messages (scope til 1-2 kanaler)
- Kjøp Microsoft 365 Copilot-lisenser for pilot-gruppe
- Aktiver Work IQ (semantic search) hvis tenant har lisens
Produksjon (> 100 brukere):
- Bruk Copilot Connectors for eksterne systemer
- Implementer layered grounding (SharePoint → Web fallback)
- Sett opp audit-logging (Microsoft Purview)
- Dokumenter grounding-strategi i ADR
Enterprise (> 1000 brukere):
- Vurder Dataverse for strukturert data (CRM, Power Apps)
- Implementer permission-aware grounding med Information Barriers
- Bruk Copilot Studio (ikke Agent Builder) for avansert orchestration
- Sett opp cost monitoring (per-agent usage tracking)
Kilder og verifisering
Microsoft Learn (Verified — MCP research 2026-04)
- Add knowledge sources to your declarative agent — Oversikt over alle knowledge sources
- Add knowledge sources in Agent Builder — UI-guide for Agent Builder
- Best practices for building declarative agents — Grounding-strategi-veiledning
- Declarative agent manifest v1.6 — JSON-syntax for knowledge sources
- Microsoft 365 Copilot connectors overview — Graph connectors for external data
- Copilot Studio: Add Copilot connectors as knowledge — Copilot Studio-spesifikk guide
- Copilot Studio: Knowledge sources summary — Inkludert Work IQ (tidl. Tenant graph grounding), Allow ungrounded responses, Web Search (Verified 2026-06)
- Data, privacy, and security for web search — Bing integration, GDPR, DPA
- Quotas and limits for Copilot Studio — File size, connector limits
Konfidensnivå per seksjon
| Seksjon | Konfidens | Kilde |
|---|---|---|
| Kjernekomponenter (tabell knowledge sources) | Verified | MCP: knowledge-sources, agent-builder-add-knowledge |
| Manifest-syntax (JSON examples) | Verified | MCP: declarative-agent-manifest-1.6, code samples |
| Arkitekturmønstre (mono-/multi-/layered) | Baseline | Utledet fra best practices docs + modellkunnskap |
| Permission-Aware Grounding | Verified | MCP: best practices, embedded files IB limitation |
| Beslutningstabell (valg av source) | Baseline | Syntetisert fra best practices + modellkunnskap |
| Offentlig sektor (GDPR, AI Act) | Baseline | Modellkunnskap (2025-01 cutoff) + MCP (data-privacy-security-web-search) |
| Kostnad og lisensiering | Verified | MCP: knowledge-sources (license requirements table) |
| Work IQ (tidl. Tenant Graph Grounding) | Verified | MCP: knowledge-copilot-studio#turn-on-work-iq |
Sist verifisert: 2026-06-19 MCP-kall: 7 (3 search, 3 fetch, 1 code sample search) Unike kilder: 9 Microsoft Learn-dokumenter