Orkestrator og arbeidere
Hierarkisk koordinering.
Orkestrator og arbeidere er en gratis leksjon i AI-prompt engineering 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 AI-prompt engineering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.
Orkestratørmønsteret
I mønsteret med orkestratør og arbeidere har én orkestratør ansvaret for planen og målet, mens arbeider-agenter utfører avgrensede deloppgaver og rapporterer tilbake. Orkestratøren deler opp, fordeler, integrerer og avgjør når oppgaven er ferdig.
- Orkestratør: planlegging, ruting, sammenstilling og kontrollflyt.
- Arbeidere: fokusert utførelse innenfor en stram kontrakt.
Dette hierarkiet samler vurderingene på ett sted og fordeler arbeidet på mange.
Separasjon av planlegging og utførelse
Den viktigste disiplinen er å holde planlegging atskilt fra utførelse. Orkestratøren tenker gjennom strategien med en liten kontekst på høyt nivå, mens arbeiderne opererer med detaljert, men snever kontekst. Hvis disse blandes, får De igjen den overbelastede generalisten.
Orkestratøren bør sjelden håndtere rådata fra verktøy direkte – den bør resonnere over arbeidernes oppsummeringer.
plan = orchestrator.decompose(goal) # high-level
results = [worker.run(sub) for sub in plan] # detailed, scoped
final = orchestrator.integrate(results) # over summariesKvaliteten på oppdelingen driver alt
Systemet er bare så godt som orkestratørens oppdeling. Deloppgavene må være tilstrekkelig uavhengige til å kunne kjøres parallelt, tilstrekkelig avgrensede til å kunne overleveres ryddig, og samlet sett fullstendige. La orkestratøren lage en eksplisitt plan som De kan inspisere før noen arbeider kjører.
- Uavhengige deloppgaver -> parallell utførelse.
- Fullstendig dekning -> ingen hull i det endelige svaret.
plan = {
'subtasks': [
{'id': 1, 'goal': '...', 'inputs': [...], 'depends_on': []},
{'id': 2, 'goal': '...', 'inputs': [...], 'depends_on': [1]}
]
}Fordel arbeid med stramme kontrakter
Hver fordeling gir en arbeider nøyaktig målet, inputene og det forventede output-skjemaet – ikke noe mer. En arbeider som bare kjenner sin del, kan ikke distraheres av det overordnede målet og returnerer en forutsigbar struktur som orkestratøren kan integrere.
Fordelingsmeldingen er en kontrakt: tydelig leveranse, tydelig format og tydelige kriterier for når arbeidet er ferdig.
dispatch = {
'goal': 'Summarize doc 7 risks',
'context': doc7,
'output_schema': {'risks': [{'text': str, 'severity': str}]},
'done_when': 'all risk clauses covered'
}Kontekstisolasjon mellom arbeidere
Arbeidere bør som standard ikke se hele konteksten til hverandre. Isolasjon hindrer at feil eller hallusinasjoner fra én arbeider forurenser en annen, og holder prompten til hver arbeider liten og mulig å cache. Orkestratøren er den eneste komponenten med det globale overblikket.
Del bare informasjon mellom arbeidere gjennom orkestratørens kvalitetssikrede oppsummeringer, aldri gjennom rå kommunikasjon på tvers.
Parallelle og sekvensielle deloppgaver
Uavhengige deloppgaver kjøres parallelt for å redusere ventetiden, mens avhengige deloppgaver må følge riktig rekkefølge. Orkestratørens plan beskriver en avhengighetsgraf, og kjøretidsmiljøet planlegger deretter – spre ut de uavhengige bladene, og slå dem sammen igjen etterpå.
- Utsending: fordel alle klare deloppgaver samtidig.
- Sammenføying: vent på avhengighetene før avhengige oppgaver fordeles.
def schedule(plan):
ready = [t for t in plan if not t['depends_on']]
run_parallel(ready)
# then unlock tasks whose deps are now doneIntegrasjon og konflikthåndtering
Integrasjon er ikke sammenkobling av tekst. Orkestratøren må avstemme overlappende, motstridende eller lite pålitelige resultater fra arbeiderne til ett helhetlig resultat, avgjøre hva som skal stoles på, og synliggjøre uløste konflikter.
Gi orkestratøren et eksplisitt avstemmingssteg med regler: foretrekk resultater med høyere tillit, marker motsetninger, og be om en ny kjøring når dekningen er ufullstendig.
merged = orchestrator.reconcile(
results,
rules='prefer higher confidence; flag contradictions; re-dispatch on gaps'
)Orkestratøren som kontroller
Orkestratøren har også ansvaret for kontrollflyten: å avgjøre når den skal stoppe, når en mislykket arbeider skal prøves på nytt, når planen skal utarbeides på nytt, og når saken skal eskaleres. Dermed kan den håndheve budsjetter – maksimalt antall iterasjoner, maksimale kostnader og maksimal dybde – og forhindre løpske løkker.
Uten en orkestratør som har kontroll, kommer fleragentsystemer ut av kontroll.
if iterations > MAX_ITERS or spend > BUDGET:
return orchestrator.best_effort_answer()Rekursiv oppdeling
En arbeider kan selv fungere som orkestratør for et delproblem og dermed danne et hierarki. Dette håndterer dype oppgaver, men øker både ventetiden og dybden for feilforplantning. Begrens rekursjonsdybden, og krev at hvert nivå returnerer en ryddig oppsummering, slik at de øvre nivåene aldri drukner i detaljer fra de lavere nivåene.
Feilisolasjon
Utform systemet slik at en enkelt feil hos en arbeider håndteres på en kontrollert måte. Orkestratøren bør oppdage ugyldig eller tom output fra en arbeider, prøve på nytt med en tydeligere kontrakt og bruke et alternativ i stedet for å krasje. Arbeidere feiler isolert; orkestratøren tar hånd om feilen og finner en vei rundt den.
- Valider hver retur fra en arbeider mot skjemaet.
- Prøv på nytt og bruk deretter et alternativ; ikke viderefør råfeil oppover.
def collect(worker, dispatch):
out = worker.run(dispatch)
if not valid(out, dispatch['output_schema']):
out = worker.run(clarify(dispatch))
return out or fallback(dispatch)En plan for orkestrering
Planen er følgende: Orkestratøren deler oppgaven i en inspiserbar plan basert på en avhengighetsgraf, fordeler stramme kontrakter til isolerte arbeidere, kjører uavhengige deloppgaver parallelt, validerer og avstemmer resultatene ved hjelp av eksplisitte konfliktregler, håndhever budsjetter og stoppbetingelser, og begrenser feil hos arbeidere med «prøv på nytt, bruk deretter et alternativ». Vurderingene forblir sentraliserte, mens arbeidet fordeles.
Hurtigsjekk
De utformer et orkestrator-arbeidere-system for en forskningsoppgave med flere uavhengige deltemaer.
Oppsummering: Orkestrator og arbeidere
Samle planlegging, ruting, integrasjon og kontroll i én orkestrator; legg den fokuserte utførelsen til isolerte arbeidere med strenge kontrakter. Bryt opp arbeidet i en inspiserbar avhengighetsgraf, parallelliser uavhengige deloppgaver, avstem resultater med eksplisitte konfliktregler, håndhev budsjetter og stoppbetingelser, og begrens feil hos arbeidere med validate-retry-fallback. Orkestratoren resonerer over sammendrag, aldri rå kommunikasjon på tvers, slik at hierarkiet forblir helhetlig og kontrollerbart.
Lær deg AI-prompt engineering 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
- 53
- Leksjoner
- 199
Ofte stilte spørsmål
Er leksjonen «Orkestrator og arbeidere» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Orkestrator og arbeidere», 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 AI-prompt engineering inneholder totalt 4 leksjoner.
Hva lærer jeg i «Orkestrator og arbeidere»?
Hierarkisk koordinering. Du øver på AI-prompt engineering 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 AI-prompt engineering?
Ingen tidligere erfaring er nødvendig. AI-prompt engineering 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 «Orkestrator og arbeidere»?
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 AI-prompt engineering-leksjonen?
Ja. Alle AI-prompt engineering-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
- Roller og spesialisering
- Orkestrator og arbeidere
- Kommunikasjon mellom agenter
- Debatterende og stemmende agenter