feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command

Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.

New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.

Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.

Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-08 08:58:35 +02:00
commit baa2d0220b
488 changed files with 213221 additions and 0 deletions

View file

@ -0,0 +1,631 @@
# Foundry Workflows — Visuell Multi-Agent Orkestrering
**Last updated:** 2026-02
**Status:** Public Preview (announced MS Ignite november 2025)
**Category:** Agent Orchestration & Automation
---
## Introduksjon
Foundry Workflows er den visuelle orkestreringsdesigneren i Microsoft Foundry (Azure AI Foundry) for å bygge, teste og deploye multi-agent-prosesser uten å skrive orkestreringslogikk for hånd. Annonsert i Public Preview på Microsoft Ignite november 2025, er Workflows bygget på toppen av **Microsoft Agent Framework** og tilbyr en drag-and-drop-kanvas kombinert med YAML-definisjon for team som vil ha en visuell designopplevelse med pro-code-flukt.
Den kritiske innsikten er at Foundry Workflows løser et annet problem enn enkelt-agenter: der én agent håndterer ett fokusert problem, koordinerer en Workflow flere spesialiserte agenter, branching-logikk, datatransformasjoner og menneskelige godkjenningstrinn i en **repeterbar, versjonert og observerbar prosess**. Dette er produksjonsnivå-automatisering — ikke prototyping.
Workflows er ett av tre agenttyper i Foundry:
- **Prompt-based**: Enkelt-agent med instruksjoner og verktøy
- **Workflow**: Sekvenser og orkestrering av agenter (denne filen)
- **Hosted (preview)**: Containeriserte agenter med egendefinert kode
---
## Visuell Designer
### Drag-and-Drop Kanvas
Foundry Workflows tilbyr en nettleserbasert visuell designer tilgjengelig direkte i Foundry Portal:
| Funksjonalitet | Beskrivelse |
|---------------|-------------|
| **Drag-and-drop** | Legg til og flytt noder på en kanvas uten kode |
| **Kanter (edges)** | Koble noder med piler for å definere dataflyt og sekvens |
| **Livevisualisering** | Noder lyser opp i sanntid under kjøring — se hvilken agent som er aktiv nå |
| **Tospannsvisning** | Bytt mellom visuell kanvas og YAML-redigering — endringer synkroniseres automatisk |
| **Notater** | Legg til forklarende tekst direkte på kanvaset for dokumentasjon og kontekst |
| **Maler** | Start fra Sequential, Human-in-the-loop, eller Group chat-mal |
| **Versionslogg** | Klikk på versjonsdropdown for å navigere mellom lagrede versjoner |
### Toveis YAML/Visuell-synkronisering
Et sentralt designprinsipp er at visuell og YAML-representasjon alltid er i sync:
```yaml
# Eksempel: Sequential workflow (YAML-visning)
kind: Sequential
name: document-review-workflow
agents:
- name: extractor-agent
agentId: agent-extractor-001
outputVariable: Local.extractedData
- name: reviewer-agent
agentId: agent-reviewer-002
input: =Local.extractedData
- name: approver-agent
agentId: agent-approver-003
input: =Local.reviewResult
```
Endringer i YAML-visning reflekteres umiddelbart i kanvaset — og vice versa. Dette gjør det mulig for forretningsbrukere å jobbe visuelt mens utviklere jobber i YAML eller VS Code.
---
## Node-typer
Noder er byggesteinene i en Workflow. Hver node utfører én spesifikk handling.
### Oversikt over node-typer
| Node-type | Kategori | Formål |
|-----------|----------|--------|
| **Invoke agent** | Agent | Kall en Foundry-agent og bruk output videre |
| **If/else** | Logic | Branching basert på betingelse (Power Fx) |
| **Go to** | Logic | Hopp til en annen node (loop-kontroll) |
| **For each** | Logic | Iterer over en liste eller tabell |
| **Set variable** | Data transformation | Tilordne verdi til lokal variabel |
| **Parse value** | Data transformation | Tolk/transformer data (f.eks. JSON-parsing) |
| **Send message** | Basic chat | Send tekst til brukeren |
| **Ask a question** | Basic chat / Human-in-the-loop | Spør brukeren og vent på svar |
### Detaljer: Agent-noden
Agentnode lar deg kalle enhver eksisterende Foundry-agent fra prosjektet ditt, eller opprette en ny agent direkte fra kanvaset:
```yaml
# Agent-node med strukturert JSON-output
- kind: InvokeAgent
id: classify_document
agentId: agent-classifier-001
input: =Local.uploadedDocument
outputVariable: Local.classificationResult
responseFormat:
type: json_schema
schema:
type: object
properties:
category: { type: string }
confidence: { type: number }
requiresHumanReview: { type: boolean }
required: [category, confidence, requiresHumanReview]
```
### Detaljer: Human-in-the-loop-noden
Human-in-the-loop er et førsteklasses konsept i Foundry Workflows. Workflowen **pauser** ved noden og venter på menneskelig input eller godkjenning før den fortsetter:
```yaml
- kind: AskQuestion
id: request_approval
activity:
text: =Concat("Klassifisering: ", Local.classificationResult.category,
". Confidence: ", Text(Local.classificationResult.confidence, "0%"),
". Godkjenner du dette?")
outputVariable: Local.humanApproval
- kind: IfElse
id: check_approval
condition: =Lower(Local.humanApproval) = "ja"
truePath: proceed_node
falsePath: escalation_node
```
**Godkjennings-mønster** (approval workflow):
```yaml
- kind: AskQuestion
id: manager_approval
activity:
text: "Dokument krever godkjenning. Skriv 'godkjenn' eller 'avvis':"
outputVariable: Local.decision
- kind: IfElse
id: route_decision
condition: =Local.decision = "godkjenn"
truePath: publish_agent
falsePath: return_for_revision
```
### Detaljer: Loop-noden (For each)
```yaml
- kind: ForEach
id: process_each_document
collection: =Local.documentList
itemVariable: Local.currentDoc
body:
- kind: InvokeAgent
id: process_doc
agentId: agent-processor-001
input: =Local.currentDoc
outputVariable: Local.processedDoc
- kind: SetVariable
id: append_result
variable: Local.results
value: =Concat(Local.results, Local.processedDoc, "\n")
```
---
## Orkestreringsmønstre (Maler)
Foundry tilbyr tre startmaler inspirert av Microsoft Agent Framework:
| Mønster | Beskrivelse | Typisk brukstilfelle |
|---------|-------------|----------------------|
| **Sequential** | Resultat fra én agent sendes direkte til neste i fast rekkefølge | Dokumentprosessering, flertrinns-analyse, innholdspipelines |
| **Human-in-the-loop** | Workflowen pauser og venter på brukerinput eller godkjenning | Godkjenningsprosesser, compliance-sjekk, vedtak som krever menneskelig oversikt |
| **Group chat** | Kontroll sendes dynamisk mellom agenter basert på kontekst og regler | Eskalering, eksperthandoff, dynamiske arbeidsflyter |
---
## Feilhåndtering
Foundry Workflows har innebygd feilhåndteringsmekanikk, primært via Power Fx betingelseslogikk og workflow-strukturering. Full retry-policy konfigurasjon er foreløpig mer moden i pro-code/YAML-tilnærminger.
### Praktisk feilhåndtering med Power Fx
```yaml
# Sjekk om agent-output er gyldig før neste steg
- kind: IfElse
id: validate_output
condition: =IsBlank(Local.agentResult) Or IsError(Local.agentResult)
truePath: error_handler_node
falsePath: next_step_node
# Feilhåndterings-node
- kind: SendActivity
id: error_handler_node
activity:
text: =Concat("Feil i prosessering. Melding: ", Local.lastError,
". Sak eskalert til manuell behandling.")
```
### Timeout-håndtering
Fra offisiell dokumentasjon (troubleshooting): komplekse workflows kan timeout dersom eksterne tjenester ikke svarer innenfor forventet tid. Anbefalt mønster:
| Problem | Mitigering |
|---------|------------|
| Workflow timer ut | Bryt komplekse workflows i mindre segmenter |
| Agent svarer ikke | Sjekk at agentens modell og verktøy er konfigurert korrekt |
| Uventet output | Valider JSON-schema på agent-noder; bruk `IfError()` i Power Fx |
### Retry (via Microsoft Agent Framework / YAML)
For pro-code-tilnærming med Agent Framework YAML:
```yaml
- kind: InvokeAgent
id: resilient_agent_call
agentId: agent-001
retryPolicy:
maxRetries: 3
retryDelay: PT5S # ISO 8601 duration: 5 sekunder
retryOn: [Timeout, ServiceUnavailable]
```
---
## Power Fx for Betingelser og Datatransformasjon
Power Fx er Microsofts lavkodespråk (Excel-lignende formler) brukt i Foundry Workflows for å drive logikk og datamanipulasjon.
### Variabelscoping
| Prefiks | Scope | Eksempel |
|---------|-------|---------|
| `Local.` | Lokal til workflowen | `Local.documentCategory` |
| `System.` | Systemvariabler (bruker, samtale, tid) | `System.User.Language` |
### Nyttige formler
```
# Strengmanipulasjon
Upper(Local.Var01) -- Konverter til store bokstaver
Concat("Hei, ", Local.userName) -- Strengkonkatenering
Len(Local.responseText) -- Lengde
# Betingelser
If(Local.score > 0.8, "godkjent", "avvist")
IsBlank(Local.agentResult) -- Sjekk om variabel er tom
IsError(Local.result) -- Sjekk om forrige steg feilet
# Dato/tid
Text(Now(), "yyyy-MM-dd") -- Formater dato
DateDiff(Local.startDate, Now(), Days) -- Beregn antall dager
```
---
## Integrasjon med Foundry Agent Service og MCP
### Foundry Agent Service
Foundry Workflows er bygget direkte inn i Foundry Agent Service — ikke et separat produkt. Workflows er et agenttype på linje med prompt-based og hosted agenter, og deler:
- **Identitets- og RBAC-modell**: Workflows bruker prosjektidentitet under utvikling og egen Agent Identity etter publisering
- **Verktøykatalog**: Alle verktøy som er tilgjengelige for enkelt-agenter (Code Interpreter, Bing Search, Azure AI Search, Key Vault, MCP-servere) er tilgjengelige i agent-noder inni workflows
- **Livssyklus**: Workflows følger samme Develop → Test → Evaluate → Publish → Monitor-livssyklus som enkelt-agenter
### MCP-verktøy i Workflows
Agent-noder i Workflows støtter MCP-tilkoblinger på linje med enkelt-agenter:
```yaml
# Agent-node med MCP-verktøy (konfigurert på selve agenten)
- kind: InvokeAgent
id: research_step
agentId: agent-researcher-mcp
# Agenten er konfigurert med MCP-server (f.eks. microsoft-learn, sharepoint)
input: =Local.researchQuery
outputVariable: Local.researchFindings
```
**Foundry MCP Server** (preview) eksponerer Foundry selv som et MCP-endepunkt — agenter og workflows kan dermed orkestreres fra MCP-kompatible klienter uten å skrive backend-kode.
---
## Foundry Workflows vs. Logic Apps vs. Power Automate
Dette er den mest stilte arkitekturspørsmålet. Velg basert på hvem som eier prosessen og hva slags intelligens som kreves.
### Sammenligningstabellen
| Dimensjon | Foundry Workflows | Azure Logic Apps | Power Automate |
|-----------|-------------------|-----------------|----------------|
| **Primær målgruppe** | AI-ingeniører, løsningsarkitekter, operasjonsteam | IT-profesjonelle, enterprise-integrasjonsteam | Forretningsbrukere, Microsoft 365-brukere |
| **Kjernekonsept** | Orkestrering av AI-agenter | Enterprise-integrasjon (iPaaS) | Menneskesentrisk automatisering |
| **Intelligens** | Innebygd — agent-noder tar egne beslutninger | Ingen innebygd LLM — kaller Azure AI som ekstern connector | AI Builder for enkle scenarier |
| **Triggers** | Chat-basert (brukerinput), API-kall | 1400+ triggere (HTTP, Events, Schedule, Queues, SaaS) | Microsoft 365-hendelser, skjemainnsending, godkjenning |
| **Tilkoblinger** | Foundry-agenter, MCP-verktøy, Azure-tjenester | 400+ enterprise-koblinger (SAP, Salesforce, AS2, EDI) | Microsoft 365, SharePoint, Teams, Dynamics |
| **Variabelmodell** | Power Fx, JSON-schema | Expressions (JSON-paths, ARM-funksjoner) | Power Fx |
| **Feilhåndtering** | Betingelseslogikk, agent-resiliens | Retry-policies, error scopes, dead-letter | Kjøre mislykket gren, parallell gren |
| **Overvåking** | Agent Monitoring Dashboard, OpenTelemetry traces | Azure Monitor, Logic App Run History | Power Platform Admin Center |
| **Prising** | Inkludert i Foundry Agent Service (token-basert) | Consumption (per execution) eller Standard (fast) | Per-bruker-lisens (Microsoft 365 inkl.) |
| **Datasuverenitet** | Azure-regioner (Norway East støttet) | Azure-regioner, on-premises gateway | Power Platform-regioner |
### Beslutningsguide: Velg riktig orkestrator
```
Trenger prosessen AI-agenter som tar beslutninger?
├─ Nei → Vurder Logic Apps eller Power Automate
│ └─ Er det forretningsbrukere som skal eie og kjøre prosessen?
│ ├─ Ja → Power Automate (Microsoft 365-kontekst)
│ └─ Nei → Logic Apps (enterprise-integrasjon, høy volum)
└─ Ja → Foundry Workflows
└─ Er det enkelt scenarier med én agent?
├─ Ja → Vurder Foundry single agent (enklere)
└─ Nei → Foundry Workflows (multi-agent, branching, HITL)
```
### Hybridmønster (anbefalt for enterprise)
For norsk offentlig sektor er hybridmønsteret vanligst:
- **Logic Apps**: Trigger fra eksisterende systemer (sak-system, e-post, skjema), integrasjoner mot fagsystemer (SAP, Dynamics), scheduling
- **Foundry Workflows**: AI-analyse, klassifisering, sammendrag, beslutningsstøtte
- **Power Automate**: Menneskelige godkjenningstrinn, Teams-varsler, Microsoft 365-oppgaver
```
Fagsystem → Logic Apps (trigger + datafetch) → Foundry Workflow (AI-analyse)
→ Logic Apps (skriv resultat tilbake) → Power Automate (varsle saksbehandler)
```
---
## Deployment: API-endepunkter, Versjonering og A/B-testing
### Publisering som API-endepunkt
Workflows publiseres som **Agent Applications** — selvstendige Azure-ressurser med stabile API-endepunkter:
```bash
# Verifiser at workflow er publisert
curl -X POST \
"https://<foundry-resource>.services.ai.azure.com/api/projects/<project>/applications/<app>/protocols/openai/responses?api-version=2025-11-15-preview" \
-H "Authorization: Bearer <access-token>" \
-H "Content-Type: application/json" \
-d '{"input": "Start dokumentgjennomgang for saksnummer 2025-1234"}'
```
**RBAC for publiserte endepunkter**: Klienter som kaller endepunktet må ha `Azure AI User`-rollen på Agent Application-ressursen.
### Versjonering
Foundry Workflows har et immutabelt versjonssystem:
| Versjonsprinsipp | Detalj |
|-----------------|--------|
| **Immutable versions** | Hvert lagring oppretter en ny versjon. Eksisterende versjoner kan ikke endres |
| **Draft state** | Usavede endringer kan testes i playground, men mistes ved navigering |
| **Version history** | Alle versjoner er listet i versjonsdropdown; naviger til hvilken som helst |
| **Rollback** | Deploy en tidligere versjon ved å publisere den på nytt |
| **Version comparison** | Sammenlign konfigurasjoner, chat-output og YAML mellom versjoner |
| **Code reference** | Referanse til agent i kode: `<agent_name>:<version>` |
### A/B-testing (begrenset)
Per februar 2026 er A/B-testing av workflows begrenset: all trafikk rutes til én aktiv deployment. For å eksperimentere:
1. Opprett en parallell Agent Application for B-varianten
2. Split trafikk manuelt i lag foran (API Management, Logic Apps, eller custom router)
3. Sammenlign metrics i Agent Monitoring Dashboard
Microsofts roadmap indikerer at trafikkdeling mellom deployments planlegges som funksjon.
---
## Overvåking: Tracing, Tokenbruk og Latensmetrikker
### Agent Monitoring Dashboard
Foundry tilbyr et dedikert Agent Monitoring Dashboard tilgjengelig fra **Monitor**-fanen på enhver agent eller workflow:
| Metrikk | Beskrivelse | Terskelverdi å kjenne til |
|---------|-------------|--------------------------|
| **Token usage** | Prompt + completion tokens per agent-kall i tidsvindu | Høy tokenbruk kan indikere verbose prompts |
| **Latency** | End-to-end responstid per workflow-kjøring | >10 sekunder kan indikere modell-throttling |
| **Run success rate** | Andel kjøringer som fullføres uten feil | <95% bør undersøkes |
| **Error rate** | Antall mislykkede node-kjøringer | Bør nærme seg 0 i produksjon |
| **Evaluation metrics** | Scores fra evaluators (korrekthet, sikkerhet, relevans) | Varierer per evaluator |
### Tracing (OpenTelemetry)
Foundry bruker OpenTelemetry med egne semantiske konvensjoner for multi-agent observability:
| Span-type | Formål |
|-----------|--------|
| `execute_task` | Overordnet task-planlegging og event-propagering |
| `agent_to_agent_interaction` | Sporing av kommunikasjon mellom agenter |
| `agent.state.management` | Context og minnehåndtering |
| `agent_planning` | Agentens interne planleggingssteg |
| `execute_tool` | Verktøy-kall med input/output |
**Granular tracing** av en Workflow-kjøring viser:
- Hvert agent-kall med input og output
- Variabeltilordninger og verdier
- Hvilken branch som ble tatt i if/else-noder
- Latens per node
- Token-forbruk per LLM-kall
### Continuous Evaluation
```python
# Sett opp kontinuerlig evaluering av workflow
from azure.ai.projects import AIProjectClient
client = AIProjectClient(endpoint=project_endpoint, credential=credential)
# Konfigurer evaluator på workflow-kjøringer
evaluation_config = {
"evaluators": {
"relevance": {"type": "relevance"},
"groundedness": {"type": "groundedness"},
"safety": {"type": "safety"}
},
"samplingRate": 0.1 # Evaluer 10% av produksjonskjøringer
}
```
### Integration med Azure Monitor og Application Insights
```
Foundry Workflows → OpenTelemetry traces → Application Insights
→ Azure Monitor (platform metrics)
→ Log Analytics Workspace
→ KQL-spørringer og alerter
```
**KQL-eksempel — oppdag workflows med høy feilrate:**
```kusto
traces
| where customDimensions["workflow_name"] == "dokumentgodkjenning-workflow"
| where timestamp > ago(24h)
| summarize SuccessCount = countif(resultCode == "200"),
FailureCount = countif(resultCode != "200")
by bin(timestamp, 1h)
| extend SuccessRate = round(100.0 * SuccessCount / (SuccessCount + FailureCount), 1)
| where SuccessRate < 95
```
---
## Norsk offentlig sektor
### Visuell styring og revisjonsspor
Foundry Workflows' visuelle designer gir offentlig sektor-organisasjoner en unik fordel: **prosessen er synlig og forklarbar** — ikke skjult i kode. Dette adresserer flere krav:
| Krav | Hvordan Foundry Workflows møter det |
|------|-------------------------------------|
| **Innsyn i automatiserte prosesser** | Visuell kanvas kan vises for revisorer og tilsynsmyndigheter |
| **Dokumentasjon** | YAML-definisjon er versionskontrollert og lesbar — fungerer som prosessdokumentasjon |
| **Forvaltningsloven § 11a** | Human-in-the-loop-noder sikrer at saksbehandler godkjenner vedtak |
| **AI Act transparenskrav** | Hvert steg er sporbart via OpenTelemetry; agent-identitet er deklarert |
| **GDPR — sporbarhet** | `Conversation.Id` og trace-IDer kobler brukeraktivitet til loggoppføringer |
| **Schrems II** | Deploy til `norwayeast` region; persondata forlater ikke EØS |
### Automatiserte vedtak og forvaltningsloven
**Kritisk**: Workflows som bidrar til vedtaksprosesser i norsk forvaltning må:
1. **Ha human-in-the-loop** for alle vedtak som påvirker rettighetsstatus (§ 11a)
2. **Logge beslutningsgrunnlaget** — bruk variabellagring og tracing til å bevare agentens resonnement
3. **Versjonere prosessen** — Foundry Workflows' immutable versioning gir sporbarhet over tid
4. **DPIA** — Workflows som behandler personopplysninger krever PVK (personvernkonsekvensvurdering)
```yaml
# Obligatorisk HITL-mønster for offentlig sektor-vedtak
- kind: InvokeAgent
id: analyse_soknad
agentId: agent-soknad-analyser
outputVariable: Local.analyseResultat
- kind: AskQuestion
id: saksbehandler_godkjenning
activity:
text: =Concat("AI-analyse: ", Local.analyseResultat.anbefaling,
" (confidence: ", Text(Local.analyseResultat.confidence, "0%"), ")",
"\nGrunnlag: ", Local.analyseResultat.begrunnelse,
"\n\nGodkjenner du denne anbefalingen? (ja/nei/endre)")
outputVariable: Local.saksbehandlerBeslutning
- kind: SetVariable
id: log_beslutning
variable: Local.revisionslogg
value: =Concat("Vedtak: ", Local.saksbehandlerBeslutning,
" | Tid: ", Text(Now(), "yyyy-MM-dd HH:mm"),
" | Saksbehandler: ", System.User.DisplayName,
" | AI-anbefaling: ", Local.analyseResultat.anbefaling)
```
### NSM og dataminimering
- Bruk `IsBlank()` og `ParseJSON()` til å filtrere bort unødvendige persondata mellom noder
- Ikke mellomlagre sensitive data som workflow-variabler utover det som trengs for neste steg
- Konfigurer Azure Monitor-oppbevaring i henhold til virksomhetens sletteplan
---
## For Cosmo: Beslutningsveiledning
### Spørsmål å stille kunden
1. **Trenger prosessen mer enn én agent?**
- Nei → Foundry enkelt-agent (enklere, billigere)
- Ja → Foundry Workflows
2. **Er det saksbehandlere som skal godkjenne underveis?**
- Ja → Human-in-the-loop-mønster i Foundry Workflows
- Nei → Vurder fullt automatisert workflow eller Logic Apps
3. **Er prosessen godt definert (sekvens av steg)?**
- Ja → Sequential workflow (mal)
- Nei, dynamisk → Group chat-mønster eller enkelt-agent med verktøy
4. **Hvem skal vedlikeholde prosessen?**
- Forretningsteam (lav teknisk kompetanse) → Visuell designer i Foundry Workflows
- Utviklerteam → YAML + VS Code + CI/CD-integrasjon
- Blandet → Foundry Workflows (begge tilnærminger i ett verktøy)
5. **Trenger prosessen triggers fra eksisterende systemer?**
- Sak-system, e-post, filopprettelse → Logic Apps trigger → Foundry Workflow (hybrid)
- Chat/Teams → Copilot Studio → Foundry Workflow
6. **Hva er compliance-kravene?**
- Forvaltningsloven → HITL obligatorisk, logging av beslutningsgrunnlag
- GDPR → Databehandleravtale med Microsoft, Norway East-region, DPIA
- NSM grunnprinsipper → Minste privilegium, audit logging, MFA
7. **Er det behov for A/B-testing av ulike prosessdefinisjoner?**
- Ja, kritisk → Vurder Logic Apps eller custom routing (mer fleksibelt nå)
- Ja, enkelt → Manuell splitt via to Agent Applications
### Kompetansekrav
| Rolle | Foundry Workflows-kompetanse | Tid til produktivitet |
|-------|-----------------------------|-----------------------|
| Forretningsanalytiker | Visuell designer, Human-in-the-loop, Power Fx grunnleggende | 1-2 dager |
| Løsningsarkitekt | Node-typer, orkestreringsmønstre, deployment, integrasjon | 3-5 dager |
| AI-ingeniør | YAML-editing, VS Code-integrasjon, Agent Framework, CI/CD | 1 uke |
| DevOps | Publisering, RBAC, monitoring, alerting | 2-3 dager |
### Fallgruver
| Fallgruve | Konsekvens | Mitigering |
|-----------|------------|-----------|
| **Bruke Workflow for enkelt scenarier** | Unødvendig kompleksitet og overhead | En agent med verktøy er tilstrekkelig for de fleste enkelt-oppgaver |
| **Ingen HITL der det kreves** | Compliance-brudd (Forvaltningsloven) | Design HITL inn fra dag én for vedtaksprosesser |
| **For lange workflow-kjøringer** | Timeout, dårlig UX | Del opp i delprosesser; bruk asynkron orkestrering for lang-levende tasks |
| **Ukontrollerte persondata i variabler** | GDPR-risiko | Filtrer og minimer data mellom noder; bruk Key Vault for sensitiv info |
| **Ingen versjonskontroll av YAML** | Kan ikke rollbacke ved feil | Eksporter YAML til Git-repo som del av CI/CD-pipeline |
| **Avhengighet av visuell designer uten backup** | Vendor lock-in i UI | Alltid vedlikehold YAML som autoritativ kilde; bruk VS Code |
### Modenhetsnivåer
#### Nivå 1: Utforsking (0-1 måned)
- Bygg en 2-3 agent Sequential workflow via visuell designer
- Test Human-in-the-loop-malen
- Evaluer tracing i Agent Monitoring Dashboard
**Success metric**: Første Workflow publisert og testet med reell brukerinput
#### Nivå 2: Pilot (1-3 måneder)
- Én faktisk forretningsprosess i Foundry Workflows
- YAML eksportert til Git for versjonskontroll
- Continuous evaluation konfigurert (10% sampling)
- Logging til Azure Monitor konfigurert
**Success metric**: Workflow kjører i produksjon, <5% feilrate, audit trail komplett
#### Nivå 3: Skalering (3-12 måneder)
- Multiple workflows per team/domene
- CI/CD-pipeline for YAML-deploy
- Hybrid med Logic Apps for triggere fra fagsystemer
- Custom evaluators for domene-spesifikke kvalitetsmetrikker
- DPIA gjennomført og oppdatert
**Success metric**: Driftsavhengig prosess automatisert, sporbar, og godkjent av revisjon
---
## Kilder og verifisering
### Microsoft Learn (Verified)
1. **Build a workflow in Microsoft Foundry**
- https://learn.microsoft.com/azure/ai-foundry/agents/concepts/workflow?view=foundry
- Confidence: **Verified** (offisiell workflow-guide, Foundry new portal)
2. **Agent development lifecycle**
- https://learn.microsoft.com/azure/ai-foundry/agents/concepts/development-lifecycle?view=foundry
- Confidence: **Verified** (versjonering, publisering, livssyklus, januar 2025)
3. **Publish and share agents in Microsoft Foundry**
- https://learn.microsoft.com/azure/ai-foundry/agents/how-to/publish-agent?view=foundry
- Confidence: **Verified** (Agent Application deployment, API-kall, RBAC)
4. **Monitor agents with the Agent Monitoring Dashboard**
- https://learn.microsoft.com/azure/ai-foundry/observability/how-to/how-to-monitor-agents-dashboard?view=foundry
- Confidence: **Verified** (token usage, latency, success rate, evaluators)
5. **Declarative Workflows — Overview (Agent Framework)**
- https://learn.microsoft.com/agent-framework/workflows/declarative
- Confidence: **Verified** (YAML patterns, looping, HITL, error handling)
6. **Human-in-the-Loop Workflows**
- https://learn.microsoft.com/agent-framework/workflows/human-in-the-loop
- Confidence: **Verified** (HITL-mønster, pause og resume, compliance)
7. **Transparency Note for Azure Agent Service**
- https://learn.microsoft.com/azure/ai-foundry/responsible-ai/agents/transparency-note?view=foundry-classic
- Confidence: **Verified** (Foundry Workflows capabilities, visioning, governance)
### Microsoft Dev Blog (Verified)
8. **Introducing Multi-Agent Workflows in Foundry Agent Service**
- https://devblogs.microsoft.com/foundry/introducing-multi-agent-workflows-in-foundry-agent-service/
- Confidence: **Verified** (MS Ignite november 2025 announcement, feature liste, customer quotes)
### Confidence per seksjon
| Seksjon | Confidence | Kilde |
|---------|-----------|-------|
| Visuell designer og node-typer | Verified | MS Learn workflow-guide |
| Orkestreringsmønstre | Verified | MS Learn + Agent Framework docs |
| Feilhåndtering | Baseline | MS Learn troubleshooting + Agent Framework YAML |
| Foundry vs Logic Apps vs Power Automate | Baseline | MS Learn + community analysis |
| Deployment og versjonering | Verified | MS Learn publish-agent guide |
| Monitoring og tracing | Verified | MS Learn monitoring dashboard + OpenTelemetry docs |
| Norsk offentlig sektor | Baseline | LLM-kunnskap + NO compliance praksis |
| Kostnadsestimater | Ikke inkludert | Se cost-estimation KB for priser |
**Total sources cited**: 8 unike URL-er fra MCP-research og Tavily
**MCP calls**: 4 (2x docs_search, 2x docs_fetch)