Vklass
AI-First
Transformation
Utvecklare skriver specifikationer och granskar AI-output — inte kod. Med Claude Code på 80,9 % SWE-bench och Azure DevOps-integration via MCP-servrar kan Vklass dubbla sin leveranshastighet utan plattformsmigrering eller GDPR-risk.
Vklass tar steget mot AI-first development — en kategoridefinerande möjlighet inom utbildnings-SaaS
Vad AI-First INTE är — och vad det ÄR
Det finns en fundamental missuppfattning om vad AI-first-utveckling innebär i praktiken 2026.
“Development is now less about writing syntax and more about defining rigid prerequisites and system specifications.”
— lopes.id, mars 2026
Metodiken: Spec-Driven Development
Industrin har konvergerat på Spec-Driven Development (SDD) — en strukturerad metodik för hur AI-agenter och människor samarbetar.
Teamstruktur: 4 Utvecklare + AI
Vad som tidigare krävde 12–16 utvecklare kan nu levereras av 4 med rätt kompetens och AI-verktyg. AI-first skapar en optimal teamkomposition där varje roll förstärks av agentdriven implementering.
“We went from 4 devs to 2 devs + AI and honestly ship faster now. The 2 that stayed are both seniors who can actually review what the AI produces.”
— m2e_chris, r/artificial, februari 2026
- Spec-skrivning (tydlig, testbar, entydig)
- Arkitektursbedömning och trade-off-beslut
- Kodgranskning i skala (AI-output skiljer sig från mänsklig kod)
- Domänexpertis i skola/utbildningsadministration
- AI-orkestrering och agentskonfiguration
- Ren kodproduktionshastighet (AI hanterar detta)
- Boilerplate/CRUD-implementation
- Manuell testexekvering
- Rutinmässig debug av kända mönster
AI-First som Strategisk Affärsmöjlighet
AI-first är inte en teknisk preferens utan en affärsstrategisk position. Vklass har redan infrastrukturen — beslutet handlar om att aktivera den.
-
👁
Marknaden rör sig snabbt Organisationer som tidigt adopterar AI-first development sätter standarden för sin kategori. Fördelen tillfaller den som rör sig först, inte den som väntar på ett “perfekt” läge.
-
💰
Konkurrensfördelen är mätbar 3–5× utvecklingshastighet med bibehållen kodkvalitet. Mätbart med DORA-mätvärden och direkt jämförbart med branschstandard.
-
🎯
Kategoridefiniering inom utbildnings-SaaS AI-first utbildnings-SaaS är en kategoridefinerande möjlighet. Vklass kan vara den plattform som sätter standarden för sektorn i Norden.
-
🔗
Befintliga tillgångar är redan redo Weaviate-vektorer, Neo4j-kunskapsgraf och MCP-servrar är redan byggda. Infrastrukturen finns. Det saknas bara beslutet att aktivera den.
Transformationsinitiativ kopplade till mätbara affärsmål har högre genomförandesannolikhet och tydligare succeskriteria.
Git-Platform: Stanna på Azure DevOps
@azure-devops/mcp)- Installera Microsofts
@azure-devops/mcpserver - Konfigurera
ado-claude-codeplugin för Claude Code-integration - Koppla Work Items → Specs → Agent-implementation-pipeline
- Behåll Azure Pipelines, lägg till AI-genererade teststeg
| Om migrering ändå väljs | Tid | Risk |
|---|---|---|
| Git-repos (fullständig historik bevaras) | 1–2 dagar | Låg |
| Pipelines (måste SKRIVAS OM — annan syntax) | 1–2 dagar/komplex pipeline | Medel |
| Work Items (sprint-historik, custom fields försvinner) | Varies — smärtsamt | Hög |
| Ej migrerbart: behörigheter, service hooks, wiki, secrets | Förloras permanent | Kritisk |
GDPR-Arkitektur: Tre-Nivåmodellen
Vklass hanterar persondata på minderår iga i skolmiljö — bland de känsligaste kategorierna under GDPR och EU AI Act. Arkitekturen är designad för att aldrig låta persondata nå en AI-modell.
→ Lokal LLM anonymiserar: namn, personnummer, adresser, telefon, userId, skolnamn
→ Ersätt med <ELEV_1>, <SKOLA_3>
→ Lokal LLM on-premise / Mistral
→ Deanonymisera output
→ Audit-logg allt
AI Orchestration Stack
Bygg inte ett eget agent-framework — det är en fälla. Ekosystemet rör sig för snabbt. Använd beprövade verktyg och bygg ett tunt limmlager.
| Komponent | Verktyg | Varför |
|---|---|---|
| Kodningsagent (primär) | Claude Code (Opus 4.6) | 80,9% SWE-bench — bäst i klassen |
| Azure DevOps-integration | ado-claude-code + Azure DevOps MCP | Beprövat, dokumenterat workflow |
| Anonymiserad/kod-data (ej persondata) | Claude API / OpenAI (ej persondata) | EU-dataresidens, Microsoft DPA |
| AI för persondata | Lokal open-source (on-premise) | Enda GDPR-säkra alternativet fygger i Sverige |
| PII-detektion | Lokal AI-inferens-pipeline (on-premise) | Open-source, beprövat, utväckbart |
| Self-hosted alternativ | OpenHands (MIT, 65K+ stjärnor) | Modellagnostisk, Docker-sandbox, 72% SWE-bench |
| Kunskapsbas | Befintlig Weaviate + Neo4j | Redan byggt — omedelbart aktiverbar |
| Quality gates | Befintlig CI + AI-genererade tester | TypeScript strict, ESLint, coverage-trösklar |
Kod skrivs inte på din dator
Kundbesp;ällningar
Weaviate-kunskap
Datadog/Raygun
PSO godkänner
↓
OpenHands
Agent A: Feature
Agent B: Buggfix
Agent C: Refaktor
PR → Merge
→ Staging
→ Production
Release notes
Kund-e-post
Supportvideo
Supportartikel
+ Supportärenden
↓
AI-agent övervakar
Hotfix-spec
A/B-test loop
Feedback → loop
LLM-strategi: EU-modeller med lång kontext
| Modell | Användning |
|---|---|
| Llama 3.1 8B | PII-anonymisering |
| ✓ Inget lämnar nätverket | |
| Embedding-generering, snabba klassificeringsuppgifter | |
| Leverantör | Användning |
|---|---|
| Mistral 7B / Llama 70B (on-premise GPU) | Kodgenerering, lång kontext |
| Franskt bolag, EU-datacenter, GDPR-compliant | |
| Lokal GPU-server (on-premise) | Backup-modell |
| Microsoft EU Data Boundary, Sverige | |
Llama 3.1 8B via Ollama
Lokalt GPUal / Azure Sweden
Kodgenerering OK
PII-anonymisering
Klassificering, embeddings
Komplex analys med lång kontext
Parallell inferens
Auto-skalning vid belastningstoppar
Inga API-ändringar i koden
Product Intelligence — från data till beslut
| Källa | Bearbetning | Output |
|---|---|---|
| Support-ärenden | Anonymisering → klassificering → clustering | “47 ärenden handlar om betygsexport” |
| Kundbesp;ällningar (enkel) | Automatisk hantering, svar direkt | Klar, ingen PSO-involvering |
| Kundbesp;ällningar (komplex) | AI-analys + underlag | Till PSO med rekommendation + ROI-bedömning |
| Dev-backlog | Prioriterings-AI | Rankning efter affärsimpact |
| Datadog/Raygun | Anomalidetektering | Alert + auto-genererad bugg-spec |
| A/B-testdata | Statistisk analys | Rekommendation: behåll/kasta/iterera |
AI genererar: Feature-förslag + mockup + motivering
↓
PSO granskar, ger feedback
↓
AI itererar mockup baserat på feedback
↓ (loop tills godkänd)
Godkänd spec → Development Layer
Automatisk release-kedja
Dev-DB (isolerad testdata)
↓
Test-miljö (automatiserade tester,
Semgrep, prestanda)
↓
Staging (produktionslik miljö, UAT)
↓
Production
Post-release: agenten vaktar produktionen
Datadog (prestanda) ──┐
Raygun (errors) ├→ AI-agent analyserar
Supportärenden ─────────┘
↓
Normalt: MAIN_OK (inga åtgärder)
↓
Avvikelse: Auto-spec genereras
↓
Hotfix-jobb startas i Dev Layer
Feature A vs Feature B i produktion
→ Datadog mäter: konvertering,
tid, felfrekvens
→ AI analyserar statistisk
signifikans
→ “B vinner (p<0.05)”
→ Automatisk merge av
vinnande variant
→ Insikt sparas i
Weaviate
Infrastruktur — vad som behövs
| Komponent | Var | Vad |
|---|---|---|
| OpenHands | Intern server | AI-dev-server, Docker, parallella agenter |
| Ollama + Llama 3.1 8B | RTX 4090 (192.168.10.17) | Lokal PII-anonymisering |
| Lokal Llama 70B / Mistral 7B | On-premise GPU-server | Stor modell med persondata, lång kontext, kodgenerering |
| Lokal GPU-server (on-premise) | Molnet, Sverige | Alternativ stor modell, EU Data Boundary |
| Weaviate | Befintlig (192.168.10.20) | Vector store, kunskapsbas, feedback-loop |
| Neo4j | Befintlig (192.168.10.22) | Relationsdata, kodbas-graph |
| Azure DevOps | Befintlig | Git, PRs, pipelines — ingen migration |
| Semgrep | CI-pipeline | OWASP-scanning av AI-genererad kod |
| Playwright | CI + video-generation | Tester + auto-supportvideo |
| ElevenLabs/Coqui TTS | EU-leverantör | Berättarröst för supportvideo |
Svar på kritiken
Spec-format (BMAD)
# SPEC-2847: Betygsrapport med filtrering
## Intent
Lärare behöver kunna filtrera betygsrapporten per kurs och datum
för att snabbt hitta specifika elevers resultat.
## Scope
- In: Filtreringsgränssnitt i befintlig betygsvy
- Out: Export-funktion, historiska betygsjämförelser
## Acceptance criteria
- [ ] Filter "Kurs" visar aktiva kurser för inloggad lärare
- [ ] Filter "Datum" stödjer from/to-intervall
- [ ] Resultat uppdateras utan sidomladdning
- [ ] Fungerar med > 500 elever utan märkbar fördröjning
## Quality gates (körs automatiskt i CI)
- [ ] Alla befintliga tester gröna
- [ ] Inga TypeScript-kompileringsfel
- [ ] Semgrep OWASP-scan utan kritiska fynd
- [ ] Prestanda: < 300ms P95 (befintliga lasttest-ramverk)
## Constraints
- MSSQL 2019, inga schema-ändringar utan DBA-godkännande
- Bakåtkompatibelt API
- GDPR: inga personnummer i URL-parametrar
Konkreta verktyg — vad som är bäst just nu
| Område | Verktyg | Varför |
|---|---|---|
| Primär AI-kodagent | Claude Code (Opus 4.6) | Bäst SWE-bench (80,9 %), autonom, Azure DevOps-kompatibel |
| IDE-integration | Cursor | Snabbast inline-komplettering, kombineras med Claude Code |
| Spec-format | BMAD + ADR | Agentläsbart, strukturerat — agenten implementerar direkt |
| CI/CD | Azure DevOps (befintlig) | Ingen migration behövs — MCP täcker gapet |
| Säkerhetsscanning | Semgrep (OSS) + SonarQube | OWASP-täckning, CI-integration, körs automatiskt |
| Testgenerering | Claude Code + befintliga ramverk | Agenten skriver testerna från spec automatiskt |
| PII-anonymisering | Lokal Llama 3.1 8B (RTX 4090) | On-premise, GDPR-säkert, redan på plats |
| Molnmodell (anon. data) | Lokal GPU-server (on-premise) | EU-data zone, GDPR-compliant, Microsoft DPA |
| On-premise stor modell | Llama 3.1 70B / Mistral 7B (on-premise GPU-server) | EU-bolag, EU-datacenter, bygger i Sverige 2027 |
stages:
- AIGenerate: claude --print "Implement spec at docs/specs/$(SPEC_FILE)"
- Tests: dotnet test && dotnet build --no-restore
- Security: semgrep --config=owasp # OWASP-scanning
dotnet-sonarscanner # SonarQube
- AIReview: claude --print "Review diff: security, GDPR, architecture"
Spec-ramverk — hur en spec ser ut
/docs/specs/# SPEC: [Feature name]
## Intent
[Vad ska uppnås? Affärsvärde?]
## Scope
- In: [vad ingår]
- Out: [vad ingår INTE]
## Acceptance criteria
- [ ] AC1: [testbart villkor]
- [ ] AC2: [testbart villkor]
## Quality gates
- [ ] Alla unit tests gröna
- [ ] Coverage > 80%
- [ ] TypeScript-kompilering utan fel
- [ ] Ingen regression i befintliga API-tester
- [ ] GDPR-review: inga PII i loggar
## Constraints
- Databas: MSSQL 2019, inga breaking schema changes
- API: Bakåtkompatibelt
- Prestanda: < 200ms P95
## Test scenarios
1. Normalfall: [...]
2. Felfall: [...]
3. Edge case: [...]
Databas 1,7 TB — Säker Agenthantering
1,7 TB produktionsdata med personuppgifter på elever kräver extrem noggrannhet. AI-agenter ska ALDRIG direkt exekvera migreringar mot produktion.
- Agent genererar migrerings-SQL i sandbox-miljö
- Migreringen körs mot klon/staging med produktionsskalad data
- Prestandatestning mot 1,7 TB testdatafil
- Mänsklig granskning av migrationsplan + exekveringsplan
- Manuell godkännandeport innan produktionsexekvering
- Automatiserad rollback-kapabilitet förberedd
| Testtyp | AI-kapabilitet |
|---|---|
| Enhetstester | 80%+ genereras från specs |
| Integrationstester | AI genererar scaffolding och mocks |
| E2E-tester | Playwright/Cypress från specs |
| Prestandatester | AI genererar lasttest-skript |
| Säkerhetstester | SAST/DAST, OWASP LLM Top 10 |
Roadmap: Dag 1 → Vecka 1 — Konkreta åtgärder
- Installera Claude Code CLI för hela dev-teamet
npm install -g @anthropic-ai/claude-code && claude login - Skapa SPEC-template i repot under
/docs/specs/TEMPLATE.md - Välj pilot-feature — isolerad ny feature, inte refaktor. Krav: väldefinierad, testbar, < 2 veckors arbete
- Konfigurera Azure DevOps MCP-server för Claude Code
.claude/settings.json → azure-devops MCP - Sätt upp lokal Llama-tjänst på RTX 4090 via Ollama
ollama pull llama3.1:8b - Definiera DORA-baseline: deployment freq, lead time, MTTR, change failure rate
| Dag | Aktivitet | Output |
|---|---|---|
| Måndag | Claude Code-installation + onboarding | Alla devs kan köra lokalt |
| Tisdag | Välj pilot-feature, skriv BMAD-spec | Spec klar för granskning |
| Onsdag | Kör Claude Code mot spec, granska output | Första AI-genererade PR |
| Torsdag | Sätt upp lokal Llama för PII-anonymisering | Anonymiseringstjänst live |
| Fredag | Mät: tid spec→PR vs historisk baseline | DORA-baseline dokumenterad |
Ärliga Trade-offs
Tid för Beslut
Infrastrukturen är redo. Metodiken är beprövad. Teamet kan vara på plats. Det enda som krävs är fyra beslut idag.