Koordinatorens ansvarsområder
Dekomponer, deleger, aggreger, rut og håndter feil.
Koordinatorens ansvarsområder er en gratis leksjon i Claude Architect på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Claude Architect, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Claude Architect inneholder totalt 4 leksjoner.
Koordinatorens oppgave
I et multiagentsystem følger Claude-orkestrering en hub-og-eiker-struktur: én koordinator i huben og flere underagenter på eikene. Koordinatoren utfører aldri det dyptgående arbeidet selv — den administrerer arbeidet.
En koordinator har nøyaktig fem ansvarsområder du må beherske til eksamen:
- Dekomponere — dele en oppgave inn i deloppgaver
- Delegere — overlate hver deloppgave til en underagent
- Aggregerer — slå sammen resultater fra underagentene
- Rute — sende arbeid til riktig spesialist
- Håndtere feil — gjenopprette eller eskalere feil
Denne leksjonen går gjennom hvert område, med mønstrene og antipatternene som skiller et svar som består, fra et plausibelt distraktorsvar.
Underagenter starter med blanke ark
Det faktumet om koordinatorer som testes aller mest, er: Underagenter arver IKKE koordinatorens samtalehistorikk. Hver underagent får en ny Claude-kontekst.
Modellen beholder ingen tilstand mellom turer eller på tvers av agenter. Alt en underagent trenger for å gjøre jobben — brukerens mål, tidligere funn, begrensninger og ID-er — må sendes eksplisitt i underagentens forespørsel.
Å glemme dette er en klassisk feil: Koordinatoren «kjenner» kunde-ID-en eller forskningsspørsmålet, antar at underagenten også gjør det, og underagenten finner på informasjon eller stopper opp. Kontekstisolering er en funksjon (den holder fokuset stramt), men det er koordinatoren som har hele ansvaret for å videreformidle konteksten.
Sende kontekst eksplisitt
Fordi ingenting arves, bygger koordinatoren hver underagentforespørsel som en selvstendig orientering. Legg merke til hvordan målet, begrensningene og den spesifikke delen av arbeidet er tydelig angitt — underagenten kunne kjørt på en maskin som aldri hadde sett samtalen.
Dette er også grunnen til at en AgentDefinition inneholder en system_prompt og allowed_tools etter minste privilegium: Hver underagent er avgrenset til rollen sin og får bare det den trenger.
from claude_agent_sdk import AgentDefinition
researcher = AgentDefinition(
name="researcher",
description="Researches one sub-question and returns cited findings.",
system_prompt=(
"You research a SINGLE sub-question. "
"You have no prior context except this prompt. "
"Return findings with claim->source (URL, quote, date)."
),
allowed_tools=["WebSearch", "WebFetch"], # least privilege
)
# The coordinator injects ALL needed context per call:
subagent_prompt = (
f"Overall goal: {user_goal}\n"
f"Your sub-question: {sub_question}\n"
f"Constraints: only sources newer than 2023."
)Dekomponer: fast vs. adaptiv
Dekomponering handler om å velge hvordan arbeidet skal deles opp. Det finnes to strategier, og eksamen vil at du skal tilpasse strategien til situasjonen:
- Fast arbeidsflyt / promptkjeding — for et kjent, sekvensielt sett med trinn (for eksempel trekk ut -> valider -> formater). Strukturen bestemmes på forhånd.
- Adaptiv dekomponering — for åpne undersøkelser der du ikke kan vite deloppgavene før du begynner (for eksempel et forskningsspørsmål som forgrener seg etter hvert som du lærer mer).
Et annet dekomponeringsmønster det er verdt å kjenne til, er kodegjennomgang i flere passeringer. Gjør først en lokal gjennomgang per fil, og deretter en separat integrasjon på tvers av filer. En gjennomgang av flere filer i én enkelt passering svekker modellens oppmerksomhet og overser både lokale feil og integrasjonsproblemer.
Deleger: Parallelt arbeid i ett svar
Koordinatoren delegerer ved å utføre Task-kall. Det viktigste ytelsesfaktumet er: Flere Task-kall i ett enkelt svar kjører parallelt.
For uavhengige deloppgaver — tre forskningsspørsmål eller tre filer som skal skannes — sender du ut alle Task-kallene samlet i stedet for ett per tur. Du får samtidighet uten ekstra kostnad.
Eksamen tester to forutsetninger: Koordinatorens allowedTools må inneholde «Task», og hver underagent må få hele konteksten sin eksplisitt (scene 2).
# Coordinator delegating THREE independent sub-questions at once.
# Emitting them in a single response runs them in parallel.
tasks = [
{"subagent": "researcher", "prompt": brief(goal, q)}
for q in [
"What are the market size figures?",
"Who are the top 3 competitors?",
"What regulatory constraints apply?",
]
]
# allowedTools on the coordinator MUST include "Task"
coordinator_allowed_tools = ["Task", "Read", "Write"]
# Each prompt is fully self-contained — no inherited history.Ruting: Beskrivelser velger spesialisten
Ruting betyr å sende hver deloppgave til den riktige underagenten. Claude velger primært basert på beskrivelsene av agentene og verktøyene — ikke navnene.
En god beskrivelse angir formål, hva som returneres, inndataformater med eksempler og grenser for når den gjelder. Overlappende eller tvetydige beskrivelser fører til feilruting: Hvis to underagenter høres ut som om de begge håndterer «data», kan koordinatoren velge feil.
Avgrens hver underagent tydelig. Hold deg til 4–5 verktøy per agent som den optimale balansen; 18+ verktøy svekker påliteligheten i utvalget. Verktøy etter minste privilegium handler ikke bare om sikkerhet — det gjør også rutingen mer presis.
billing_agent = AgentDefinition(
name="billing",
# Sharp, non-overlapping description -> correct routing
description=(
"Handles refunds and invoice questions ONLY. "
"Input: order_id (str) + verified customer_id. "
"Returns: refund status or invoice PDF link. "
"Does NOT handle shipping or account changes."
),
system_prompt="...",
allowed_tools=["lookup_order", "process_refund"], # 2 tools, scoped
)Aggreger: Slå sammen med proveniens
Når underagentene har returnert, aggregerer koordinatoren utdataene deres til ett sammenhengende svar. Dette er mer enn å sette dem etter hverandre.
- Bevar proveniens: Hver påstand skal kunne knyttes til kilden sin (URL, dokumentnavn, sitat, publiseringsdato).
- Marker konflikter i stedet for å velge ett tall i stillhet — og husk at datoer ofte løser tilsynelatende motsetninger.
- Presenter etter innholdstype: tabeller for økonomiske data, prosa for nyheter og lister for tekniske funn.
Aggregering er også stedet der du bevarer delvise resultater: Hvis én underagent mislyktes, slår koordinatoren fortsatt sammen det som lyktes, og markerer tydelig hva som mangler.
Håndter feil: Gjenopprett lokalt, eskaler oppover
Det femte ansvarsområdet er det som får sårbare systemer til å bryte sammen. Regelen er:
- Gjenopprett midlertidige feil lokalt i underagenten (for eksempel et tidsavbrudd — prøv på nytt der).
- Eskaler feil som ikke kan gjenopprettes, oppover med delvise resultater, slik at koordinatoren kan rute rundt dem.
To antipatterner må unngås: å undertrykke en feil i stillhet (koordinatoren får aldri vite om den) og å avbryte hele arbeidsflyten fordi én underagent mislyktes. Én mislykket eike skal ikke få huben til å bryte sammen.
Det er avgjørende å skille mellom en tilgangsFEIL (som kanskje kan prøves på nytt) og et gyldig TOMT resultat (ingen treff — ikke en feil i det hele tatt).
Strukturerte feil muliggjør ruting
Koordinatoren kan bare rute rundt en feil hvis feilen forteller den nok. En generell «Operation failed» hindrer gjenoppretting. En strukturert feil muliggjør intelligent ruting.
Strukturert feilinformasjon omfatter feiltypen/-kategorien, om den kan prøves på nytt, den forespurte spørringen, eventuelle delvise resultater og alternativer. Med dette kan koordinatoren avgjøre om den skal prøve på nytt, bruke et annet verktøy, slå sammen delresultater eller eskalere.
# A subagent returning a STRUCTURED error the coordinator can act on:
error_result = {
"isError": True,
"errorCategory": "transient", # transient | validation | business | permission
"isRetryable": True,
"message": "Search API timed out after 30s",
"attempted_query": "market size fintech 2024",
"partial_results": [{"source": "...", "claim": "..."}],
}
# Coordinator logic:
if error_result["isError"] and error_result["isRetryable"]:
retry(error_result["attempted_query"])
else:
escalate_with(error_result["partial_results"])Løkken stopper ved stop_reason
Koordinatoren kjører en agentisk løkke: send forespørselen, undersøk stop_reason, og hvis den er tool_use, kjør verktøyene (inkludert Task-delegeringer), legg resultatene til i historikken, og gjenta til end_turn.
Avslutt basert på stop_reason — aldri ved å tolke modellens tekst etter ord som «done» eller «finished». Avgjørelser om når arbeidet er fullført, er modellstyrte. En iterasjonsgrense er et sikkerhetsnett, ikke den primære mekanismen for å stoppe.
Bruk fastkodet styring til garantier du må håndheve; la ellers modellen bestemme flyten.
while True:
resp = client.messages.create(
model="claude-opus-4-1",
max_tokens=2048,
messages=history, # FULL history every turn — model keeps no state
tools=tools,
)
if resp.stop_reason == "tool_use":
results = run_tools(resp) # may include parallel Task calls
history.append(assistant(resp))
history.append(tool_results(results))
continue
if resp.stop_reason == "end_turn":
break # stop on stop_reason, not on text
# iteration cap = safety net only, checked separatelyNår koordinatoren må eskalere
Noen feil er ikke koordinatorens ansvar å løse — de hører hjemme hos et menneske. Gode utløsere for eskalering er:
- En uttrykkelig forespørsel fra et menneske — eskaler umiddelbart.
- Policyhull som agenten ikke har noen regel for.
- Manglende fremdrift etter rimelige forsøk.
- Overskridelse av terskelverdier (for eksempel en refusjon over en grense).
Dårlige utløsere som eksamen vil tilby som distraktorer, er sentimentanalyse, modellens egen selvvurderte sikkerhet (1–10) eller klassifikatorer som ikke er trent for oppgaven. Og når en forretningsregel får økonomiske, juridiske eller sikkerhetsmessige konsekvenser, må den håndheves med en deterministisk hook, ikke med instruksjoner i prompten — hooks er 100 % deterministiske, mens prompter bare er rundt 90 % sannsynlige.
Hurtigsjekk: Delegering av en deloppgave
En forskningskoordinator delegerer et underspørsmål til en forskerunderagent. Koordinatoren har allerede diskutert brukerens mål og samlet inn tidligere funn i sin egen samtale. Hva MÅ koordinatoren gjøre for at underagenten skal lykkes?
Oppsummering: Koordinatoren i fem trinn
De kan nå resonnere om en koordinator som en arkitekt:
- Dekomponer — bruk faste pipelines for kjente sekvenser og adaptive pipelines for åpent arbeid; bruk flere gjennomganger (lokalt og deretter på tvers av filer) i kodegjennomgang.
- Deleger — send ut flere Task-kall i ett svar for å kjøre dem parallelt; inkluder 'Task' i allowedTools.
- Rout — presise, ikke-overlappende beskrivelser velger riktig spesialist; bruk 4–5 verktøy per agent.
- Aggregér — slå sammen med kildeinformasjon, marker konflikter og ta vare på delvise resultater.
- Håndter feil — gjenopprett lokale, forbigående feil; eskaler feil som ikke kan gjenopprettes, med strukturert kontekst og delvise resultater; undertrykk aldri feil i stillhet og avbryt aldri hele arbeidsflyten.
Fremfor alt: underagenter arver ingen historikk – send konteksten eksplisitt, og stopp ved stop_reason, aldri basert på analysert tekst. Håndhev regler for økonomi, juss og sikkerhet med deterministiske hooks. Når De mestrer dette, har De kontroll på orkestreringsscenarioene.
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 26
- Leksjoner
- 104
Ofte stilte spørsmål
Er leksjonen «Koordinatorens ansvarsområder» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Claude Architect, inkludert «Koordinatorens ansvarsområder», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Claude Architect inneholder totalt 4 leksjoner.
Hva lærer jeg i «Koordinatorens ansvarsområder»?
Dekomponer, deleger, aggreger, rut og håndter feil. Du øver på Claude Architect med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Claude Architect?
Ingen tidligere erfaring er nødvendig. Claude Architect på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Koordinatorens ansvarsområder»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Claude Architect-leksjonen?
Ja. Alle Claude Architect-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hub-and-spoke-topologi for koordinatorer
- Koordinatorens ansvarsområder
- Underagenter arver ikke historikk
- Parallell opprettelse av underagenter