Orkestra: Orkestrering af AI-agenter i stor skala
> É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
Hvorfor vi opgraderede kodesøgning til voyage-4-large_
Vi flyttede vores kode-embeddings til voyage-4-large — i øjeblikket øverst på den offentlige RTEB-rangliste for kode-retrieval. Den ærlige version: det kompromis, vi indgår, hvad vi rent faktisk indekserer, og hvorfor vi betaler for premium-embeddings.
Sprogets rekursive selvforbedring: Sådan sliber vi Code Intelligence på tværs af ~280 sprog_
Vi understøtter code intelligence for ~280 sprog. Intet menneske kan håndrevidere det. Så vi byggede en rekursiv selvforbedringsløkke for sprog — stikprøvekontrol, LLM som dommer, ret én ting, gen-validér — og kører den med en flåde af isolerede agenter, indtil udtrækket rent faktisk er korrekt, ikke bare grønt.
Multimodal fusionssøgning: Sådan vælges den rette retriever til hver forespørgsel_
En forespørgsel som 'hvor er parseConfig defineret' vil have en anden søgning end 'hvordan fungerer auth'. Maguyva klassificerer intentionen, vægter fire retrieval-modaliteter derefter og fusionerer resultaterne med vægtet Reciprocal Rank Fusion.