Hopp til innhold
cd /blog

Orkestra: Orkestrering av AI-agenter i stor skala

[Arkitektur][Åpen kildekode]

> Én orkestrator ruter arbeid til spesialiserte AI-agenter, hver med egne ferdigheter og hukommelse. Slik koordinerer Orkestra 46 agenter og 466 ferdigheter i produksjon.

Tallene i dette innlegget gjenspeiler systemet ved publisering (januar 2026). Se teamsiden for gjeldende tall.

Da vi begynte å bygge med Claude Code, støtte vi på et problem som alle team som bruker AI-kodeassistenter til slutt møter: én enkelt agent kan ikke gjøre alt bra.

Du kan prompte en agent til å være en databasespesialist. Eller en sikkerhetsrevisor. Eller en frontend-utvikler. Men i det øyeblikket du ber den være alle tre samtidig, lider kvaliteten. Konteksten blir utvannet. Instruksjoner kolliderer. Agenten blir en generalist som er middelmådig på alt.

Så vi bygde Orkestra.

Hva er Orkestra?

Orkestra er et orkestreringssystem for agenter for Claude Code og lignende AI-kodeverktøy. Det koordinerer flere spesialiserte agenter, hver med distinkt ekspertise, under én orkestrator som ruter arbeid til riktig spesialist.

Tenk på det som et bemanningsbyrå for AI-agenter. Orkestratoren mottar en oppgave, identifiserer hvilken spesialist som bør håndtere den, og delegerer med riktig kontekst. Når arbeidet er gjort, flyter resultatene tilbake til orkestratoren for syntese.

Tallene forteller historien:

Komponent Antall
Spesialistagenter 46
Gjenbrukbare skills 466
Identitetsarketyper 27
Mindsets 11
Kommunikasjonsstiler 10
Kunnskapsdomener 21

Karaktersystemet: D&D for agenter

Kjerneinnsikten bak Orkestra er at agentatferd oppstår fra tre kombinerbare byggeklosser:

Identity definerer hva agenten er. En architect designer systemstrukturer. En debugger sporer feil til rotårsaker. En guardian håndhever compliance og sikkerhetsgrenser. Vi har 27 identitetsarketyper som kan blandes.

Mindset definerer hvordan agenten tenker. Et analytical mindset forankrer påstander i bevis og kvantifiserer usikkerhet. Et skeptical mindset stiller spørsmål ved antakelser og søker motbevis. Et exploratory mindset omfavner tvetydighet og prøver flere tilnærminger.

Style definerer hvordan agenten kommuniserer. En technical stil inkluderer eksakte verdier og refererer til spesifikke filer. En concise stil kutter fyllstoff og starter med svaret. En diplomatic stil balanserer ærlighet med takt.

En agent kombinerer disse byggeklossene:

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

Denne komposisjonen skaper en agent som designer systemer (architect), knytter kunnskap på tvers av domener (knowledge-architect), setter strategisk retning (strategist), tenker i bevis og data (analytical), og kommuniserer uten fyllstoff (concise).

Kraften ligger i den kombinatoriske eksplosjonen. 27 identiteter ganger 11 mindsets ganger 10 stiler gir nesten 3000 mulige agentpersonligheter. Men du definerer bare kombinasjonene som betyr noe for arbeidet ditt.

Skills: Gjenbrukbare kapabilitetsmoduler

Skills er kunnskapen og arbeidsflytene agenter kan påkalle. De følger et lagdelt system basert på omfang:

Nivå Navn Omfang Eksempel
K0 Foundations Universell metodikk Testdrevet disiplin, evidensbasert fullføring
K1 Identities Rollebaserte arbeidsflyter CLI-grensesnittstandarder, ytelseshåndbok
K2 Domains Domenespesifikk kunnskap Databasemigreringsmønstre, autentiseringsvalidering
K3 Stacks Teknologispesifikt Cloudflare-driftsetting, Supabase-drift
K4 Project Kun denne kodebasen Prosjektspesifikke arbeidsflyter og konvensjoner

Skills lastes lat (lazy-loaded). En agent ser skill-navn og -beskrivelser ved oppstart, men det fulle skill-innholdet lastes bare inn når det utløses. Dette holder konteksten slank samtidig som hundrevis av skills gjøres oppdagbare.

Hver skill inkluderer:

  • Klare utløserbetingelser («Bruk ved migrering av databaseskjemaer»)
  • Steg-for-steg-veiledning
  • Tillatte verktøy for arbeidsflyten
  • Suksesskriterier og gjenopprettingsstier ved feil

De 466 skillsene i registeret vårt dekker alt fra git worktree-isolasjon til arbeidsflyter for nettresearch til validering av driftshelse.

Hvorfor orkestrering betyr noe

Enkeltagent-arkitekturer treffer veggen raskt:

Kontekstutvanning. Et kontekstvindu på 200 000 tokens høres stort ut helt til du laster inn databaseskjemaer, API-dokumentasjon, testfixturer og domenekunnskap. Spesialister kan jobbe med målrettet kontekst.

Instruksjonskonflikter. Å be en agent være «grundig, men rask» og «verifiser alt, men ikke overengineer» skaper spenning. Spesialister løser dette ved å ha et klart omfang.

Ekspertisedybde. En generalistagent kan litt om alt. En spesialistagent, satt sammen med riktig identitet og skills, kjenner domenet sitt dypt.

Orkestra implementerer flat orkestrering: én orkestrator koordinerer flere spesialister. Spesialister kan ikke spawne underspesialister. Dette forhindrer en kompleksitetseksplosjon samtidig som det muliggjør parallelt arbeid.

Orkestratoren har tilgang til 2,2 millioner tokens effektiv kapasitet: sitt eget vindu på 200 000, pluss 10 samtidige subagenter med 200 000 hver. Arbeid som ville tømt en enkeltagent, kjører komfortabelt på tvers av flåten.

Renderingspipelinen

Agentdefinisjoner lever i YAML. Claude Code leser Markdown. Orkestra bygger bro over dette gapet med en deterministisk renderingspipeline:

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

Operatører redigerer YAML-kilden. Kjør orkestra sync. Rendret Markdown vises i .claude/agents/. Claude Code plukker opp endringene.

Denne separasjonen betjener forskjellige målgrupper:

  • YAML-kilden inkluderer livssyklusmetadata, tagger, valideringsregler, og utfasingsnotater for verktøy
  • Rendret Markdown inkluderer bare det modellen trenger: beskrivelse, verktøy, skills, og atferdsveiledning

Pipelinen setter sammen identiteter, mindsets, stiler og skills til én sammenhengende prompt. En architect-analytical-concise-agent får en svært annerledes systemprompt enn en debugger-skeptical-technical-agent, selv om de deler noen underliggende skills.

Domenekunnskap: Fire-filers-mønsteret

Hvert kunnskapsdomene 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 strukturen betjener agentens kontekstlasting. En agent som jobber med autentisering, laster authentication/patterns.md for veiledning og authentication/anti-patterns.md for å unngå kjente fallgruver. Filene er dimensjonert for effektiv kontekstlasting: fokuserte nok til å være nyttige, omfattende nok til å være autoritative.

Vi vedlikeholder 21 toppnivådomener, inkludert analytics, authentication, data science, infrastruktur, maskinlæring, ytelse, sikkerhet, og mer. Hvert domene kan ha underdomener for finere granularitet.

Values: Operativsystemet

Alle agenter deler et grunnleggende verdilag som definerer hvordan de opererer:

Enkelhet først. Bruk den enkleste løsningen som fungerer. Legg til kompleksitet bare når det er begrunnet.

Fiks rotårsaker. Aldri lapp rundt feil. Hvis en pipeline feiler, feilsøk pipelinen. Hvis en test feiler, fiks koden eller testen.

Evidensbasert. Merk påstander som «verified» (med benchmarks) eller «estimated» (med antakelser). Et oppdaget mønster er ikke det samme som et bekreftet problem.

Kontekstøkonomi. MCP-verktøy koster 0,1 % av konteksten. Fillesing koster 2 % hver. Anvend domeneekspertise før du utforsker kode.

Disse verdiene forplanter seg til hver spesialist gjennom renderingspipelinen. En agent kan ikke omgå dem gjennom komposisjon.

CLI: Kontrollplanet

Orkestra leveres med en CLI for å 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-et er sannhetskilden for hvilke agenter som finnes, hvilke skills de har, og om systemet er sunt. Det kjører validering før synkronisering for å fange problemer tidlig.

Betraktninger om åpen kildekode

Vi bygde Orkestra for å løse vårt eget problem: å koordinere AI-agenter i stor skala for en kompleks kodebase. Mønstrene vi oppdaget er ikke spesifikke for vårt domene.

Karakterkomposisjonssystemet (identity + mindset + style) gjelder for ethvert team som definerer agentpersonligheter.

Skill-nivåsystemet (K0–K4) gir en mental modell for å organisere gjenbrukbare kapabiliteter etter omfang.

Renderingspipeline-mønsteret (YAML-kilde + maler + genererte artefakter) skiller ansvar mellom verktøy og modellkonsum.

Den flate orkestreringsmodellen (én koordinator, mange spesialister) unngår kompleksitet samtidig som den muliggjør parallellitet.

Om Orkestra blir åpen kildekode, avhenger av om disse mønstrene har verdi for andre som bygger med Claude Code. Hvis du treffer veggene vi beskrev, kan arkitekturen kanskje hjelpe.

Hva vi lærte

Å bygge Orkestra lærte oss at orkestrering ikke handler om å gjøre agenter smartere. Det handler om å gjøre dem mer fokuserte.

En enkeltagent med perfekte instruksjoner går fortsatt tom for kontekst. En enkeltagent med alle skills blir fortsatt forvirret om hvilken som skal brukes. En enkeltagent som prøver å være alt, produserer middelmådige resultater overalt.

Førti spesialister, hver utmerket i sitt domene, koordinert av en orkestrator som vet når den skal delegere: det er slik vi shipper.

Tallene betyr mindre enn arkitekturen. Du trenger kanskje fem agenter eller femti. Prinsippet består: komposisjon fremfor kapasitet, spesialisering fremfor generalisering, koordinering fremfor individuell heltemodighet.


Orkestra driver agentøkosystemet bak Maguyva, vår kodeintelligens-plattform. Vil du vite mer? Ta kontakt med teamet.

Relatert lesning

Mer fra Maguyva-byggeloggen