Slip AI løs i din kode

AI-assisteret udvikling i praksis


Michell Cronberg
michell@cronberg.dk
4. december 2025

Agenda

  • Introduktion
  • AI-værktøjer i udviklingsmiljøet
    • GitHub Copilot / Visual Studio Code
  • Model Context Protocol (MCP)
  • Demo
  • Sikkerhed og etiske overvejelser
  • Spørgsmål

Find noter på https://mcronberg.github.io/aiartikler/AIAssisteretUdvikling

AI-grundlæggende

  • Store sprogmodeller (LLM'er): Trænet på millioner af linjer kode
  • Embeddings: Tekst konverteres til tal-vektorer
  • RAG: Kombinerer LLM med ekstern videnbase
  • AI forstår kontekst - ikke bare syntax

Se de mange artikler på https://mcronberg.github.io/aiartikler/

Hvordan AI har ændret softwareudvikling

  • Tre tilgange:
    • Vibe coding: Iterativ kodegenerering gennem samtale
    • Agent-baseret: AI som selvstændig medudvikler
    • Spec-driven: Struktureret med planlægning
  • AI er ikke fremtiden - det er nutiden

AI-værktøjer i udviklingsmiljøet

Kort historisk rejse

  • 2010: Autocomplete, intellisense og snippets
  • 2015: Intelligent refactoring og statisk analyse
  • 2018: Kontekstuel IntelliCode
  • 2021: Første AI-kodeassistenter
  • 2023-2025: Multi-modeller, agenter og CLI
  • 2026+: MCP, specialiserede modeller, dyb integration, ...

No-code/Low-code platforme

  • Hurtig prototyping uden traditionel kode
  • Genialt til idévalidering og MVP'er
  • Værktøjer: Lovable, Bold, n8n, (Copilot)
  • Sjældent egnet til komplekse systemer

n8n

GitHub Copilot (VS Code mv)

  • Inline: Kodeforslag mens du skriver
  • Ask: Stil spørgsmål om kode
  • Edit: Rette og tilføje kode
  • Agent: AI navigerer selv i kodebasen
  • Smart actions: Automatiser opgaver (/)

En del forskellige kloner og extensions til VSC

VS Code Chat

GitHub Copilot (Workspace/Cloud)

  • Fra GitHub issue til færdig pull request
  • AI-agent arbejder "online" gennem opgaverne
  • Reducerer tiden fra idé til kode markant

I sidste version af VSC kan du vælge mellem lokal og cloud-baseret Copilot.

Copilot Cloud

GitHub Spec Kit

Spec-driven development

Fire faser:

  1. Specify: Hvad skal bygges?
  2. Plan: Hvordan skal det bygges?
  3. Tasks: Opdeling i handlingsrettede opgaver
  4. Implement: Eksekveringsfasen

Markdown-baseret og Git-integreret

Se: https://github.com/github/spec-kit

Prompting

  • Brug meta prompts til at få bedre prompts
  • Copilot Instructions (.github/copilot-instructions.md)
  • Prompt files (.prompt.md)

Se Awesome Copilot: github.com/github/awesome-copilot

MCP - AI's brug af eksterne systemer

Model Context Protocol

  • Ny standard for AI-kommunikation med eksterne systemer
    • Foreslået af Anthropic

MCP-servere

  • Stiller funktioner til rådighed
  • Udvider AI's capabilities markant

Se Awesome MCP

MCP

Demo

  • "Vibe coding" med Copilot
    • Måske solsystemet - se prompt i noter
  • Agent i VS Code med Copilot
    • Måske samme app - ellers MyCalc med nye funktioner
  • Cloud-baseret Copilot i GitHub
  • MCP integration
    • Måske SerialDate (lighthouse, vurdering af UX, test)

I noter er der links til repos/prompts så du kan prøve selv

Sikkerhed og etiske overvejelser

Datasikkerhed og følsom information

Hvor sendes din kode hen?

  • Cloud vs. lokal LLM (fx Ollama, Mistral)
  • GitHub Copilot: Enterprise-niveau databeskyttelse
  • Gratis AI-værktøjer: Kan bruge data til træning

Best practice

  • Undgå kundedata, credentials og forretningshemmeligheder
    • Pas på .env-filer, config-filer mv.
  • Brug mock-data eller anonymiserede eksempler
  • On-premise LLM'er til følsomme projekter

Etik, ansvar og ejerskab

Licens og copyright

  • AI trænet på open source-kode - risiko for lighed
  • GitHub Copilot: Juridisk beskyttelse (enterprise-licens)

Kvalitet og ansvar

  • Modeller kan reproducere dårlige patterns
  • Du er ansvarlig for koden du shipper

Team-aftaler

  • Fælles retningslinjer for AI-brug
  • Overvej at markere AI-assisterede commits

Fremtidens udviklerrolle

Fokus skifter:

  • Fra at skrive kode → til at guide og verificere AI
  • Fra syntax → til arkitektur og forretningslogik
  • Fra implementering → til design og kvalitetssikring

Det kræver stadig:

  • Teknisk forståelse
  • Arkitekturkompetence
  • Domæneviden

AI won't take your job,
it's somebody using AI that will take your job

Tid til spørgsmål

Husk noter og links på https://mcronberg.github.io/aiartikler/AIAssisteretUdvikling

LLM = Large Language Model (stor sprogmodel). GPT-4 har anslået 1.8 billioner parametre. Claude, Gemini og LLaMA er andre kendte modeller. Se evt. https://ollama.com/search Parametre = tal der justeres under træning. Tænk på det som "indstillinger" eller "vægte" i modellen. Flere parametre = modellen kan lære flere mønstre, men kræver mere hukommelse og regnekraft. GPT-3: 175 mia, GPT-4: ~1.8 billioner. Træning = massive mængder spørgsmål med korrekte svar. Modellerne lærer mønstre, ikke fakta. Derfor kan de "hallucinere" - opfinde ting der lyder rigtige. Embeddings: Tekst konverteres til tal-vektorer (fx 1536 dimensioner). "for-løkke" og "gennemløb af array" får vektorer tæt på hinanden. Bruges til semantisk søgning. RAG = Retrieval-Augmented Generation. AI henter relevant information fra en database før den svarer. Gør det muligt at "fodre" AI med virksomhedsdata, dokumentation eller kodebase. For kode: Trænet på GitHub repositories, dokumentation, Stack Overflow og tekniske blogs. Cutoff-dato betyder at modellen ikke kender nyeste frameworks/versioner. Abstraktionsevne: AI kan generalisere til nye situationer den ikke har set før. Kan overføre viden fra ét sprog til et andet, eller fra én arkitektur til en anden. Token = ca. 4 tegn eller 0.75 ord. Vigtigt for kontekstvindue (hvor meget AI kan "huske" i én samtale).

Fra eksperiment til produktionsværktøj på under 3 år. Moderne udvikling er typisk en kombination af alle tre tilgange. Vibe coding = "Ny paradigme - opmærkningsorienteret, iterativ, proceduralt, objektorienteret, funktionsorientering, tekst baseret". Spec-driven = dokumentér først, implementér bagefter. Se Spec kit senere Agent-baseret = AI navigerer selv, bygger, tester. Med MCP - integrationstest, UI test, lightHouse mv I VSC kan du skifte mellem tilstande efter behov - og vibe coding er lidt mere råt. Den skaber kode og ikke brugerflade som Lovable eller Bold.io.

ML = Machine Learning. IntelliCode brugte ML til at prioritere forslag baseret på kontekst. 2021 var GitHub Copilot's debut - revolutionerede branchen. CLI = Command Line Interface (kommandolinje). I dag: Vælg mellem modeller, brug agenter, kør fra terminal.

MVP = Minimum Viable Product (mindste levedygtige produkt). Gode prompts kombineret med linter, analyse og test kan give overraskende gode resultater. Godt til hurtig idévalidering og mindre værktøjer. Begrænset skalerbarhed til enterprise-løsninger. n8n er god til automatisering og workflows.

Fra simpel kodekomplettering til intelligent pair programming. Ask-mode: Chat om teknologi og arkitektur. Agent-mode: AI bygger, tester og fejlretter selv. Plan-mode (kommende): AI hjælper med arkitektur og design. Vælg den rigtige model til opgaven - Claude til kompleks logik, GPT til hurtige svar. Kloner: AntiGravity, Cursor, Windsurf Extensions: Cline

Automatiserede issue-til-kode workflows. Struktureret approach: Spec → Plan → Implementering. Agenten kan arbejde i baggrunden mens du laver andet. Kræver GitHub Enterprise eller Copilot Business/Enterprise. Vis evt chat

Alternativ til ustruktureret AI-kodegenerering

Alt handler om at formulere de rigtige prompts. Copilot Instructions = workspace-specifikke retningslinjer. Prompt files kan være workspace prompts (delt) eller user prompts (personlige).

MCP = Model Context Protocol. Tænk på det som "plugins" eller "extensions" til AI. AI kan nu tilgå eksterne systemer: databaser, API'er, filsystemer. API = Application Programming Interface. ## MCP-eksempler **GitHub MCP-server** - Direkte adgang til repositories - Pull requests, issues, code review **Google MCP-server** - Gmail integration, Google Cloud services **Database MCP-server** - Returnerer skemaer og data - AI ved præcis, hvilke tabeller og felter der findes **Chrome DevTools MCP** - Browser automation og testing via AI

Datasikkerhed er kritisk når du bruger AI-værktøjer. Cloud-baserede LLM'er: Din kode sendes til eksterne servere. Overvej hvad der sker med data. GitHub Copilot Business/Enterprise: Data bruges IKKE til at træne modeller. Microsoft/GitHub garanterer dette kontraktmæssigt. Data krypteres under transport og i hvile. Gratis værktøjer (ChatGPT free, Claude free): Læs vilkårene! Mange bruger dine prompts til træning. Opt-out muligheder findes ofte, men er ikke standard. Ollama og lokale modeller: Alt forbliver på din maskine. Ingen data forlader computeren. God løsning til følsomme projekter, men kræver kraftig hardware. GDPR/EU-venlige alternativer: Mistral AI er fransk og GDPR-compliant. Data forbliver i EU. Godt valg for europæiske virksomheder med strenge compliance-krav. Azure OpenAI kan også konfigureres til EU-datacenter. API-nøgler og credentials: ALDRIG i prompts! AI kan utilsigtet inkludere dem i svar eller logs. Brug environment variables eller secrets management. Telemetri: VS Code, Cursor og andre IDE'er sender ofte brugsdata. Tjek indstillinger og slå fra hvis nødvendigt. Logging: Nogle værktøjer logger hele samtaler. Overvej compliance-krav (GDPR, HIPAA, SOC2). Virksomhedspolitik: Få afklaret hvad der er tilladt FØR du bruger AI på arbejdskode. GDPR = General Data Protection Regulation (EU's persondataforordning). Gælder alle virksomheder der behandler EU-borgeres data. Følsomme data der ALDRIG bør i prompts: - Persondata (CPR-numre, navne, adresser, e-mails) - Kundedata og forretningshemmeligheder - Interne API-nøgler, tokens, passwords - Proprietær forretningslogik - Sundhedsdata (HIPAA i USA) - Finansielle data (PCI-DSS for betalingskort) Mock-data: Opret realistiske testdata der ligner produktion men er fiktive. Brug faker-biblioteker eller generer syntetiske datasæt. Anonymisering: Erstat personhenførbare data med pseudonymer eller hashes før AI-konsultation. On-premise LLM'er: Ollama, LocalAI, vLLM kan køre modeller som LLaMA, Mistral, CodeLlama lokalt. Kræver GPU (min. 8GB VRAM for mindre modeller, 24GB+ for større). Private cloud: Azure OpenAI Service med private endpoints, AWS Bedrock med VPC, Google Vertex AI med VPC Service Controls. Sanitering: Automatisér fjernelse af følsomme data fra prompts. Værktøjer som Microsoft Presidio kan detektere og maskere PII. Data residency: Overvej hvor data opbevares. EU-krav kan betyde at data skal forblive i EU-datacenter.

Licens-problematikker: AI-modeller er trænet på milliarder linjer kode fra GitHub, Stack Overflow, blogs etc. Noget af denne kode har restriktive licenser (GPL, AGPL). Copyright-risiko: AI kan generere kode der ligner eksisterende copyrighted kode meget. Ikke kopiering, men "memorisering" af mønstre. GitHub Copilot IP Indemnity: Enterprise-licensen inkluderer juridisk beskyttelse. Microsoft dækker omkostninger hvis du bliver sagsøgt for copyright-krænkelse fra Copilot-genereret kode. Bias i kode: Modeller lærer fra eksisterende kode - inklusive dårlig kode. Kan foreslå utidssvarende mønstre, sikkerhedshuller eller ineffektive algoritmer. Forældet praksis: Modeller har cutoff-dato. Kender ikke nyeste best practices, API-ændringer eller sikkerhedsopdateringer. Ejerskab af AI-kode: Juridisk gråzone, men generelt: den der "prompter" og modificerer ejer outputtet. Lignende diskussion som med stockfotos eller musik. Dit ansvar: Uanset om kode er AI-genereret, er DU ansvarlig for bugs, sikkerhedshuller og compliance. Code review er stadig nødvendigt. Team-aftaler at overveje: - Skal AI-genereret kode markeres i commits? (fx "[AI-assisted]" prefix) - Kræves ekstra review af AI-kode? - Hvilke værktøjer er godkendt? - Må AI bruges til sikkerhedskritisk kode? Transparens: Nogle argumenterer for at AI-brug bør dokumenteres. Andre mener det er irrelevant - kun slutresultatet tæller. Kvalitetssikring: Brug linters, static analysis, tests og code review. AI-kode skal behandles som al anden kode - måske med ekstra skepsis.