Spring til indhold
cd /blog

Orkestra: Orkestrering af AI-agenter i stor skala

[Arkitektur][Åben kildekode]

> Én orkestrator dirigerer arbejde til specialiserede AI-agenter, hver med egne skills og hukommelse. Sådan koordinerer Orkestra 46 agenter og 466 skills i produktion.

Tallene i dette indlæg afspejler systemet på udgivelsestidspunktet (januar 2026). Se vores team-side for aktuelle tal.

Da vi begyndte at bygge med Claude Code, stødte vi på et problem, som ethvert team, der bruger AI-kodeassistenter, før eller siden møder: én enkelt agent kan ikke gøre alt godt.

Man kan prompte en agent til at være databasespecialist. Eller sikkerhedsrevisor. Eller frontend-ingeniør. Men i det øjeblik man beder den om at være alle tre på én gang, lider kvaliteten. Konteksten udvandes. Instruktioner kolliderer. Agenten bliver en generalist, der er middelmådig til alt.

Så vi byggede Orkestra.

Hvad er Orkestra?

Orkestra er et agent-orkestreringssystem til Claude Code og lignende AI-kodeværktøjer. Det koordinerer flere specialiserede agenter, hver med distinkt ekspertise, under én orkestrator, der dirigerer arbejde til den rette specialist.

Tænk på det som et vikarbureau for AI-agenter. Orkestratoren modtager en opgave, identificerer hvilken specialist der bør håndtere den, og delegerer med den rette kontekst. Når arbejdet er udført, flyder resultaterne tilbage til orkestratoren til syntese.

Tallene fortæller historien:

Komponent Antal
Specialistagenter 46
Genanvendelige skills 466
Identitetsarketyper 27
Mindsets 11
Kommunikationsstile 10
Vidensdomæner 21

Karaktersystemet: D&D for agenter

Den centrale indsigt bag Orkestra er, at agentadfærd opstår fra tre kombinerbare primitiver:

Identitet definerer hvad agenten er. En architect designer systemstrukturer. En debugger sporer fejl tilbage til rodårsager. En guardian håndhæver compliance og sikkerhedsgrænser. Vi har 27 identitetsarketyper, der kan blandes.

Mindset definerer hvordan agenten tænker. Et analytical mindset forankrer påstande i evidens og kvantificerer usikkerhed. Et skeptical mindset udfordrer antagelser og søger modbevisende evidens. Et exploratory mindset omfavner tvetydighed og prøver flere tilgange.

Style definerer hvordan agenten kommunikerer. En technical style inkluderer eksakte værdier og henviser til specifikke filer. En concise style skærer fyld væk og lægger ud med svaret. En diplomatic style balancerer ærlighed med takt.

En agent kombinerer disse primitiver:

# architecture-advisor.yaml
identity:
  - knowledge-architect
  - architect
  - strategist
mindset: analytical
style: concise

Denne komposition skaber en agent, der designer systemer (architect), forbinder viden på tværs af domæner (knowledge-architect), sætter strategisk retning (strategist), tænker i evidens og data (analytical) og kommunikerer uden fyld (concise).

Styrken ligger i den kombinatoriske eksplosion. 27 identiteter gange 11 mindsets gange 10 stile giver næsten 3.000 mulige agentpersonligheder. Men man definerer kun de kombinationer, der betyder noget for ens arbejde.

Skills: Genanvendelige kapabilitetsmoduler

Skills er den viden og de arbejdsgange, agenter kan påkalde. De følger et lagdelt system baseret på scope:

Lag Navn Scope Eksempel
K0 Foundations Universel metodologi Test-first-disciplin, evidensbaseret færdiggørelse
K1 Identities Rollebaserede arbejdsgange CLI-grænsefladestandarder, performance playbook
K2 Domains Domænespecifik viden Databasemigreringsmønstre, autentificeringsvalidering
K3 Stacks Teknologispecifik Cloudflare-deployment, Supabase-drift
K4 Project Kun denne kodebase Projektspecifikke arbejdsgange og konventioner

Skills er lazy-loaded. En agent ser skill-navne og -beskrivelser ved opstart, men fuldt skill-indhold indlæses først, når det udløses. Det holder konteksten slank, samtidig med at det gør hundredvis af skills opdagelige.

Hver skill inkluderer:

  • Klare udløsningsbetingelser (“Use when migrating database schemas”)
  • Trin-for-trin-vejledning
  • Tilladte værktøjer til arbejdsgangen
  • Succeskriterier og fejlgenopretningsstier

De 466 skills i vores register dækker alt fra git worktree-isolation til web research-arbejdsgange til deployment health-validering.

Hvorfor orkestrering betyder noget

Enkelt-agent-arkitekturer rammer hurtigt en mur:

Kontekstudvanding. Et 200k-token kontekstvindue lyder stort, indtil man indlæser databaseskemaer, API-dokumentation, testfixtures og domæneviden. Specialister kan arbejde med målrettet kontekst.

Instruktionskonflikter. At bede en agent om at være “grundig, men hurtig” og “verificere alt, men ikke overengineere” skaber spænding. Specialister løser dette ved at have klart scope.

Ekspertisedybde. En generalist-agent ved lidt om alt. En specialistagent, sammensat med den rette identitet og de rette skills, kender sit domæne dybt.

Orkestra implementerer flad orkestrering: én orkestrator koordinerer flere specialister. Specialister kan ikke spawne sub-specialister. Det forhindrer kompleksitetseksplosion, samtidig med at det muliggør parallelt arbejde.

Orkestratoren har adgang til 2,2 millioner tokens effektiv kapacitet: sit eget 200k-vindue plus 10 samtidige subagenter med 200k hver. Arbejde, der ville udtømme én enkelt agent, kører komfortabelt på tværs af flåden.

Rendering-pipelinen

Agentdefinitioner lever i YAML. Claude Code læser Markdown. Orkestra bygger bro over dette hul med en deterministisk rendering-pipeline:

YAML Registries → Jinja Templates → .claude/agents/*.md

Operatører redigerer YAML-kilden. Kør orkestra sync. Renderet Markdown fremgår i .claude/agents/. Claude Code opfanger ændringerne.

Denne adskillelse betjener forskellige målgrupper:

  • YAML-kilden inkluderer livscyklusmetadata, tags, valideringsregler og udfasningsnoter til værktøj
  • Renderet Markdown inkluderer kun det, modellen har brug for: beskrivelse, værktøjer, skills og adfærdsvejledning

Pipelinen komponerer identiteter, mindsets, stile og skills til én sammenhængende prompt. En architect-analytical-concise-agent får en meget anderledes system prompt end en debugger-skeptical-technical-agent, selv hvis de deler nogle underliggende skills.

Domæneviden: Fire-fil-mønsteret

Ethvert vidensdomæne følger en konsistent struktur:

domain-name/
  decisions.md      # Key choices, rationale, consequences
  patterns.md       # Step-by-step guidance and examples
  anti-patterns.md  # Failure modes and remediation
  evolution.md      # Dated log of changes

Denne struktur betjener agentens kontekstindlæsning. En agent, der arbejder med autentificering, indlæser authentication/patterns.md til vejledning og authentication/anti-patterns.md for at undgå kendte faldgruber. Filerne er dimensioneret til effektiv kontekstindlæsning: fokuserede nok til at være nyttige, omfattende nok til at være autoritative.

Vi vedligeholder 21 domæner på øverste niveau, herunder analytics, autentificering, data science, infrastruktur, machine learning, performance, sikkerhed og mere. Hvert domæne kan have underdomæner for finere granularitet.

Værdier: Operativsystemet

Alle agenter deler et grundlæggende lag af værdier, der definerer, hvordan de opererer:

Enkelhed først. Brug den simpleste løsning, der virker. Tilføj kun kompleksitet, når det er berettiget.

Ret rodårsager. Lap aldrig fejl til. Hvis en pipeline fejler, debug pipelinen. Hvis en test fejler, ret koden eller testen.

Evidensbaseret. Mærk påstande som “verificeret” (med benchmarks) eller “estimeret” (med antagelser). Et opdaget mønster er ikke det samme som et bekræftet problem.

Kontekstøkonomi. MCP-værktøjer koster 0,1% af konteksten. Fillæsninger koster 2% hver. Anvend domæneekspertise, før koden udforskes.

Disse værdier forplanter sig til enhver specialist gennem rendering-pipelinen. En agent kan ikke omgå dem gennem komposition.

CLI: Kontrolplanet

Orkestra leveres med en CLI til at administrere agentøkosystemet:

# Discovery
orkestra agents search "database"
orkestra agents info database-architect

# Validation
orkestra validate --show-warnings

# Rendering
orkestra sync --dry-run
orkestra sync

# Skills
orkestra skills list
orkestra skills info schema-migration-workflow

# Decisions
orkestra decisions search "authentication"

CLI’en er den autoritative kilde til, hvilke agenter der findes, hvilke skills de har, og om systemet er sundt. Den kører validering før synkronisering for at fange problemer tidligt.

Overvejelser om open source

Vi byggede Orkestra for at løse vores eget problem: at koordinere AI-agenter i stor skala for en kompleks kodebase. De mønstre, vi opdagede, er ikke specifikke for vores domæne.

Karakterkompositionssystemet (identitet + mindset + style) gælder for ethvert team, der definerer agentpersonligheder.

Skill-lagsystemet (K0-K4) giver en mental model til at organisere genanvendelige kapabiliteter efter scope.

Rendering-pipeline-mønsteret (YAML-kilde + templates + genererede artefakter) adskiller ansvar mellem værktøj og modelforbrug.

Den flade orkestreringsmodel (én koordinator, mange specialister) undgår kompleksitet, samtidig med at den muliggør parallelitet.

Hvorvidt Orkestra bliver open source, afhænger af, om disse mønstre har værdi for andre, der bygger med Claude Code. Hvis du rammer de mure, vi har beskrevet, kan arkitekturen måske hjælpe.

Hvad vi lærte

At bygge Orkestra lærte os, at orkestrering ikke handler om at gøre agenter klogere. Det handler om at gøre dem mere fokuserede.

En enkelt agent med perfekte instruktioner løber stadig tør for kontekst. En enkelt agent med alle skills bliver stadig forvirret over, hvilken der skal anvendes. En enkelt agent, der forsøger at være alt, producerer middelmådige resultater overalt.

Fyrre specialister, hver fremragende i sit domæne, koordineret af en orkestrator, der ved, hvornår den skal delegere: sådan shipper vi.

Tallene betyder mindre end arkitekturen. Man har måske brug for fem agenter eller halvtreds. Princippet forbliver: komposition frem for kapacitet, specialisering frem for generalisering, koordinering frem for individuel heltemodighed.


Orkestra driver agentøkosystemet bag Maguyva, vores code intelligence-platform. Vil du vide mere? Kontakt teamet.

Relateret læsning

Mere fra Maguyva-byggeloggen