Kiinteät putket ja mukautuva hajotus
Käytä tunnettuihin vaiheisiin kehoteketjutusta ja avoimiin tehtäviin mukautuvaa hajotusta.
Kiinteät putket ja mukautuva hajotus on ilmainen Claude Architect-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Claude Architect-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Claude Architect-kurssilla on yhteensä 4 oppituntia.
Kaksi tapaa pilkkoa työ
Kun tehtävä on yhdelle kehotteelle liian suuri, pilkotte sen osiin. Perusstrategioita on kaksi, ja oikean valitseminen on keskeinen arkkitehtuuritaito.
- Kiinteä putki (prompt chaining): ohjelmoitte tunnetun vaiheiden järjestyksen kiinteästi. Vaihe 1 syöttää tietonsa vaiheelle 2, joka syöttää ne vaiheelle 3.
- Adaptiivinen pilkkominen: malli päättää seuraavan toimenpiteen sen perusteella, mitä se havaitsee, ja toistaa toimintaa, kunnes tavoite on saavutettu.
Nyrkkisääntö: käyttäkää kiinteitä putkia tunnettuihin peräkkäisiin vaiheisiin ja adaptiivista lähestymistapaa avoimiin tutkimuksiin. Tässä oppitunnissa päätös tehdään täsmällisesti.
Kiinteä putki = prompt chaining
Kiinteä putki on yksinkertaisesti prompt chaining -malli: orkestroitte deterministisen vaiheiden sarjan omassa koodissanne. Tiedätte vaiheet etukäteen, joten yhdistätte ne eksplisiittisesti. Kukin kutsu hoitaa yhden rajatun tehtävän, ja sen tulosteesta tulee seuraavan kutsun syöte.
Koska hallitsette järjestystä, työnkulku on ennakoitava, helposti vianjäljitettävä ja helppo ymmärtää kustannusten kannalta. Malli ei päätä haarautuvasti, mitä tehdään seuraavaksi — vain kunkin vaiheen sisällä tehtävä työ määräytyy mallin perusteella.
# Fixed pipeline: extract -> classify -> summarize
from anthropic import Anthropic
client = Anthropic()
def step(system, user):
r = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": user}],
)
return r.content[0].text
entities = step("Extract entities as JSON.", document)
category = step("Classify this record.", entities)
summary = step("Write a one-line summary.", category)Milloin kiinteä putki on paras
Valitkaa kiinteä putki, kun työllä on vakaa ja tunnettu rakenne:
- Vaiheet ovat samat jokaisella suorituskerralla (poiminta, validointi ja muotoilu).
- Järjestys on tärkeä ja muuttuu harvoin.
- Haluatte ennakoitavat kustannukset ja viiveet sekä helpon vianjäljityksen.
- Jokaisella vaiheella on selkeä ja rajattu vastuu.
Klassinen esimerkki on rakenteisten tietojen poiminta. Poimikaa kentät, suorittakaa sitten validointi- ja uudelleenyritysvaihe ja liittäkää lopuksi alkuperätiedot. Teette aina nämä kolme asiaa tässä järjestyksessä — joten ketjuttakaa ne.
Adaptiivinen pilkkominen = malliohjattu
Adaptiivisessa pilkkomisessa suunnittelu annetaan mallille. Annette sille työkalut ja tavoitteen; se tarkastelee tuloksia ja valitsee seuraavan toiminnon. Tämä on agenttinen silmukka: lähettäkää pyyntö, tarkastelkaa stop_reason-arvoa, ja jos se on tool_use, suorittakaa työkalut, lisätkää tulokset historiaan ja toistakaa, kunnes saavutetaan end_turn.
Polkua ei voi määrittää etukäteen, koska ette tunne sitä ennalta — se riippuu siitä, mitä kukin vaihe paljastaa.
# Adaptive: the model decides which tool to call next
while True:
resp = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=2048,
tools=tools,
messages=messages,
)
if resp.stop_reason == "tool_use":
results = run_tools(resp) # execute requested tools
messages.append({"role": "assistant", "content": resp.content})
messages.append({"role": "user", "content": results})
continue
break # terminate on stop_reason, never by parsing textMilloin adaptiivinen pilkkominen on paras
Valitkaa adaptiivinen pilkkominen avoimiin tutkimuksiin, joissa polkua ei voida tietää etukäteen:
- Väljän oirekuvauksen perusteella tehtävä vianjäljitys — suoritatte grep-haun, luette tuloksia ja haette käyttökohteita uudelleen sen perusteella, mitä löydätte.
- Useista lähteistä tehtävä tutkimus, jossa jatkokyselyt riippuvat aiemmista vastauksista.
- Asiakastuki, jossa seuraava toimenpide riippuu hakutoiminnon palauttamasta tuloksesta.
Tässä haarautuminen ON osa työtä. Jäykkä putki joko jättäisi polkuja huomioimatta tai laajenisi hallitsemattomiksi ehtolauseiksi.
Lopettakaa stop_reason-arvon perusteella, ei tekstin perusteella
Yleisin adaptiivisen silmukan virhe kokeessa on silmukan lopettaminen etsimällä mallin tekstistä sanoja kuten "done" tai "finished". Älkää tehkö niin. Päätökset ovat malliohjattuja; lopettakaa API:n stop_reason-arvon perusteella.
Silmukka päättyy, kun stop_reason on end_turn. Kun arvo on tool_use, jatkatte. Iteraatioraja on vain turvaverkko — ei koskaan ensisijainen pysäytysmekanismi. Käyttäkää kovakoodattua ohjausta takuisiin, älkää päättämään, milloin työ on käsitteellisesti valmis.
# WRONG: parsing text for completion
if "done" in resp.content[0].text.lower():
break
# RIGHT: drive on stop_reason; cap is only a safety net
MAX_STEPS = 25
for _ in range(MAX_STEPS):
resp = client.messages.create(...)
if resp.stop_reason != "tool_use":
break # end_turn / max_tokens / stop_sequenceHybridimalli: adaptiivisia vaiheita sisältävät putket
Todellisissa järjestelmissä käytetään molempia. Ulompi työnkulku on usein kiinteä putki, mutta yksi vaihe voi olla mukautuva agenttimainen silmukka. Näin saatte ketjutuksen ennakoitavuuden makrotasolla ja joustavuutta sinne, missä sitä todella tarvitaan.
Esimerkki: poimintaputki, jonka keskimmäinen vaihe on mukautuva "epäselvyyksien ratkaisemiseen" tarkoitettu agentti. Se voi kutsua hakutyökaluja tuntemattoman määrän kertoja, ja sen ympärillä on deterministinen tarkistus- ja muotoiluvaihe sekä ennen että jälkeen.
# Outer = fixed chain; one stage = adaptive loop
raw = extract_stage(document) # fixed
resolved = adaptive_resolver(raw) # agentic loop inside
final = validate_and_format(resolved) # fixedMonivaiheinen koodikatselmointi: hajautusratkaisu
Hajautuksessa ei ole kyse vain putkista ja silmukoista, vaan myös siitä, miten tehtävä jaetaan mallin huomion suojaamiseksi. Usean tiedoston koodikatselmointi on tästä klassinen esimerkki.
Yksi katselmointikierros useille tiedostoille hajauttaa huomion, jolloin sekä paikalliset virheet että integrointiongelmat jäävät huomaamatta. Ratkaisu on harkittu hajautus: ensin tiedostokohtainen paikallinen kierros ja sen jälkeen erillinen tiedostojen välinen integrointikierros. Kaksi keskittynyttä kierrosta voittaa yhden keskittymättömän.
# Decompose review into focused passes
for f in changed_files:
review_local(f) # pass 1: per-file, focused
review_cross_file(changed_files) # pass 2: integration concernsKoordinaattorit hajauttavat mukautuvasti
Hub-and-spoke-mallisessa moniagenttijärjestelmässä koordinaattori hajauttaa tavoitteen, delegoi tehtäviä aliagenteille ja kokoaa tulokset. Tämä on orkestrointikerroksen mukautuvaa hajautusta: koordinaattori päättää pyynnön perusteella, miten tehtävä jaetaan.
Tärkeää: aliagentit eivät peri koordinaattorin keskusteluhistoriaa. Jokaisen aliagentin kehotteen on sisällettävä koko konteksti eksplisiittisesti. Useat Task-kutsut yhdessä vastauksessa suoritetaan rinnakkain, mikä on hyödyllistä, kun alitehtävät ovat toisistaan riippumattomia.
# Coordinator delegates with explicit, self-contained context
subagent_prompt = f"""You are researching ONE sub-topic.
Context (do not assume shared history):
Goal: {goal}
Sub-topic: {subtopic}
Constraints: {constraints}
Return findings with source citations."""Istunnot: jatka, haarauta tai aloita alusta
Mukautuva työ ulottuu usein useisiin istuntoihin. Claude Code tarjoaa komennon --resume <name> nimetyn istunnon jatkamiseen sekä toiminnon fork_session, jolla voitte haarautua yhteisestä kohdasta ja tutkia vaihtoehtoja rinnakkain.
Olkaa kuitenkin varovainen: jatketun istunnon työkalutulokset voivat olla vanhentuneita, jos koodikanta on muuttunut sen jälkeen. Joskus jäsennellyllä yhteenvedolla alustettu uusi istunto on parempi kuin jatkaminen: saatte ajantasaisen tilan ja tiivistetyn kontekstin ilman vanhentuneiden työkalutulosten vetämistä mukaan.
# Continue a named session
claude --resume refactor-auth
# Branch to explore an alternative path
# fork_session creates a sibling from the shared point
# When code moved on, prefer a fresh session + summary
claude -p "Here is a structured summary of prior work: ..."Päätöksenteon tarkistuslista
Kysykää ennen toteutuksen aloittamista:
- Tiedänkö vaiheet etukäteen kiinteässä järjestyksessä? -> kiinteä putki / kehoteketjutus.
- Riippuuko seuraava vaihe siitä, mitä aiemmat vaiheet paljastavat? -> mukautuva agenttimainen silmukka.
- Onko työnkulku pääosin kiinteä, mutta siinä on yksi epävarma vaihe? -> hybridi: ketjuttakaa ulompi työnkulku ja upottakaa siihen mukautuva silmukka.
- Katselmoitteko useita tiedostoja? -> jakakaa työ ensin tiedostokohtaisiin ja sitten tiedostojen välisiin kierroksiin.
Ja aina: lopettakaa mukautuvat silmukat arvon stop_reason perusteella; iteraatiorajat ovat vain turvaverkko.
Pikatarkistus
Skenaarioon perustuva päätös hajautusstrategian valinnasta.
Kertaus
Keskeiset opit:
- Kiinteä putki (kehoteketjutus) tunnetuille ja järjestetyille vaiheille: ennakoitava, helposti debugattava ja edullinen.
- Mukautuva hajautus avoimiin tutkimuksiin, joissa seuraava vaihe riippuu siitä, mitä löydätte.
- Hybridi on yleinen: kiinteä ulompi työnkulku, jonka sisään on upotettu mukautuva vaihe.
- Lopettakaa mukautuvat silmukat aina arvon
stop_reason(end_turn) perusteella. Iteraatiorajat ovat turvaverkko, eivät ensisijainen lopetustapa. Älkää koskaan etsikö tekstistä sanaa "done". - Hajauttakaa usean tiedoston katselmointi ensin tiedostokohtaiseen kierrokseen ja sitten erilliseen tiedostojen väliseen kierrokseen.
- Aliagentit eivät peri historiaa, joten välittäkää konteksti eksplisiittisesti. Jatkakaa istuntoja harkiten; uusi istunto jäsennellyllä yhteenvedolla voi olla parempi kuin vanhentuneet jatketun istunnon työkalutulokset.
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 26
- Oppitunnit
- 104
Usein kysytyt kysymykset
Onko oppitunti ”Kiinteät putket ja mukautuva hajotus” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Claude Architect-oppimispolun 3 oppituntia, myös oppitunnin “Kiinteät putket ja mukautuva hajotus”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Claude Architect-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Kiinteät putket ja mukautuva hajotus”?
Käytä tunnettuihin vaiheisiin kehoteketjutusta ja avoimiin tehtäviin mukautuvaa hajotusta. Harjoittelet Claude Architect-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Claude Architect-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Claude Architect-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Kiinteät putket ja mukautuva hajotus”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Claude Architect-oppitunnilla?
Kyllä. Jokainen Claude Architect-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kiinteät putket ja mukautuva hajotus
- Monivaiheinen hajotus
- Istuntojen hallinta
- Vanhentunut konteksti ja aloittaminen alusta