Peräkkäiset muunnosketjut
Luonnostelu → tarkistus → viimeistely -ketjut ja muu monivaiheinen hiominen.
Peräkkäiset muunnosketjut on ilmainen Tekoälyn prompt engineering-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 Tekoälyn prompt engineering-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyn prompt engineering-kurssilla on yhteensä 4 oppituntia.
Muunnosketjut
Muunnosketju muuntaa sisältöä asteittain muodosta toiseen erikoistuneiden vaiheiden sarjassa. Kukin vaihe muuntaa edellisen vaiheen tulosteen ja jalostaa tai rikastaa sisältöä vähitellen.
Kolme hyödyllisintä muunnosketjumallia ovat:
- Luonnos → Tarkistus → Viimeistely: Sisällön luominen ja jalostaminen
- Ideointi → Suodatus → Laajennus: Ideoiden tuottaminen ja kehittäminen
- Poiminta → Luokittelu → Reititys: Tietojen käsittely ja päätöksenteko
Luonnos → Tarkistus → Viimeistely
Yleisin sisällönluontiketju. Jokaisella vaiheella on oma tehtävänsä:
- Luonnos: Tuota raakasisältöä nopeasti — nopeus ennen täydellisyyttä
- Tarkistus: Arvioi luonnosta tiettyjen kriteerien perusteella — tarkkuus, sävy ja kattavuus
- Viimeistely: Hyödynnä tarkistuksen havainnot lopullisen tulosteen tuottamiseksi
Kun nämä tehtävät erotetaan omiksi vaiheikseen, tulokset ovat parempia kuin pyydettäessä mallia luonnostelemaan ja viimeistelemään yhdellä kertaa.
Luonnos → Tarkistus → Viimeistely: Python-toteutus
Luonnos → Tarkistus → Viimeistely -ketjun täydellinen toteutus:
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def call(prompt):
r = client.messages.create(
model='claude-opus-4-5', max_tokens=800,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text
def draft_review_polish(topic, audience, tone):
# Step 1: Draft
draft = call(f'Write a 200-word article about: {topic}. Audience: {audience}.')
# Step 2: Review — produces critique, not final text
review = call(f'Review this article for tone ({tone}), accuracy, and clarity.\nList specific improvements needed.\n\nArticle:\n{draft}')
# Step 3: Polish — applies review findings
final = call(f'Rewrite this article applying all the review feedback.\n\nOriginal:\n{draft}\n\nReview feedback:\n{review}')
return {'draft': draft, 'review': review, 'final': final}
result = draft_review_polish('prompt engineering', 'software engineers', 'technical but approachable')
print(result['final'][:300])Ideointi → Suodatus → Laajennus
Ideoiden kehittämisketju: tuota ensin laajasti, rajaa sitten harkitusti ja kehitä lopuksi perusteellisesti.
- Ideointi: Tuota paljon ideoita arvioimatta niitä — määrä ennen laatua
- Suodatus: Tunnista parhaat ideat soveltamalla valintakriteerejä
- Laajennus: Kehitä valitut ideat yksityiskohtaisiksi ehdotuksiksi
Tämä ketju ehkäisee ankkuroitumisharhaa, jossa aloitetaan muutamasta ideasta ja pitäydytään niissä.
Ideointi → Suodatus → Laajennus: Python-toteutus
Ideointi → Suodatus → Laajennus -ketjun täydellinen toteutus JSON-tietojen välityksellä:
import json
def brainstorm_filter_expand(challenge, criteria, n_final=3):
# Step 1: Brainstorm — generate many ideas
raw_ideas = call(
f'Generate 10 creative ideas for this challenge: {challenge}\n'
'Return JSON: {"ideas": ["string"]}'
)
ideas = json.loads(raw_ideas)['ideas']
# Step 2: Filter — apply criteria
ideas_formatted = '\n'.join(f'{i+1}. {idea}' for i, idea in enumerate(ideas))
filtered_raw = call(
f'Select the {n_final} best ideas based on these criteria: {criteria}\n'
f'Ideas:\n{ideas_formatted}\n'
f'Return JSON: {{"selected": ["string"]}}'
)
selected = json.loads(filtered_raw)['selected']
# Step 3: Expand — develop each selected idea
expansions = {}
for idea in selected:
expansions[idea] = call(f'Write a 100-word expansion of this idea, including implementation steps: {idea}')
return expansions
result = brainstorm_filter_expand('reduce app churn', 'feasible in 30 days, measurable impact', n_final=2)
print(list(result.keys()))Poiminta → Luokittelu → Reititys
Tietojenkäsittelyketju: poimi rakenteiset tiedot, luokittele ne ja reititä ne sitten sopivalle käsittelijälle.
- Poiminta: Poimi rakenteiset tiedot rakenteistamattomasta tekstistä
- Luokittelu: Määritä luokkia, tunnisteita tai prioriteetteja
- Reititys: Suorita eri toimintoja luokituksen perusteella
Tämä malli toimii älykkäiden triage-järjestelmien, sisällön moderoinnin ja automaattisen asiakastuen reitityksen perustana.
Poiminta → Luokittelu → Reititys: Python-toteutus
Poiminta → Luokittelu → Reititys -ketjun täydellinen toteutus:
import json
def extract_classify_route(ticket_text):
# Step 1: Extract structured data
extracted = json.loads(call(
f'Extract from this support ticket: {{"issue_summary": str, "product_area": str, "user_emotion": str}}\n\n{ticket_text}'
))
# Step 2: Classify priority and department
classified = json.loads(call(
f'Classify this ticket.\nIssue: {extracted["issue_summary"]}\nEmotion: {extracted["user_emotion"]}\n'
'Return JSON: {"priority": "urgent|high|medium|low", "department": "billing|technical|general"}'
))
# Step 3: Route — generate department-specific response
dept = classified['department']
priority = classified['priority']
route_prompts = {
'billing': f'You are a billing specialist. Priority: {priority}. Respond to: {extracted["issue_summary"]}',
'technical': f'You are a senior engineer. Priority: {priority}. Resolve: {extracted["issue_summary"]}',
'general': f'You are customer support. Priority: {priority}. Help with: {extracted["issue_summary"]}'
}
response = call(route_prompts[dept])
return {'extracted': extracted, 'classified': classified, 'response': response}
result = extract_classify_route('My payment was charged twice and I am furious!')
print(result['classified'])Sopivan ketjumallin valitseminen
Sovita käyttötapaus sopivaan muunnosketjumalliin:
- Luonnos → Tarkistus → Viimeistely: Kaikenlaiseen sisällön luomiseen — sähköpostit, artikkelit, dokumentaatio ja koodi
- Ideointi → Suodatus → Laajennus: Strategiaan, ideointiin, tuotesuunnitteluun ja sisältökalentereihin
- Poiminta → Luokittelu → Reititys: Tukipyyntöihin, sähköposteihin, sisällön moderointiin ja tietojenkäsittelyyn
Näitä malleja voi myös yhdistää — esimerkiksi Poiminta → Luokittelu → Ratkaisujen ideointi → Suodatus → Vastauksen luonnostelu.
Mallien yhdistäminen
Todellisen maailman käsittelyputkissa yhdistetään usein useita malleja pidemmiksi ketjuiksi:
def full_content_pipeline(raw_research):
# Pattern 1: Extract → Classify key insights
insights = json.loads(call(
f'Extract top 5 insights. Return JSON: {{"insights": [str]}}\n\n{raw_research}'
))
# Pattern 2: Brainstorm → Filter article angles
angles_raw = json.loads(call(
f'Brainstorm 8 article angles based on: {insights["insights"]}\nReturn JSON: {{"angles": [str]}}'
))
best_angle = json.loads(call(
f'Select the most compelling angle for a developer audience.\nReturn JSON: {{"angle": str}}\n\nAngles: {angles_raw["angles"]}'
))
# Pattern 3: Draft → Review → Polish
draft = call(f'Write a 300-word technical article on: {best_angle["angle"]}')
review = call(f'Review for technical accuracy and developer relevance:\n{draft}')
final = call(f'Polish the article applying this feedback:\n\nDraft:\n{draft}\n\nFeedback:\n{review}')
return final
print('Combined pipeline defined.')Välitulosteiden kirjaaminen lokiin
Kirjaa muunnosketjuissa jokainen välituloste lokiin. Tämä on olennaista virheenkorjauksessa — jos lopullinen tuloste on väärä, on tiedettävä, mikä vaihe tuotti virheellisen tuloksen.
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('chain')
def logged_call(step_name, prompt, **kwargs):
logger.info(f'[{step_name}] INPUT: {prompt[:100]}...')
result = call(prompt)
logger.info(f'[{step_name}] OUTPUT: {result[:100]}...')
return result
def draft_review_polish_logged(topic):
draft = logged_call('DRAFT', f'Write 200 words about: {topic}')
review = logged_call('REVIEW', f'Review for clarity:\n{draft}')
final = logged_call('POLISH', f'Rewrite applying feedback.\nDraft:\n{draft}\nFeedback:\n{review}')
return final
print('Logging integrated into chain.')Ketjun laadun mittaaminen
Mittaa kunkin vaiheen tuottama parannus varmistaaksesi, että ketju tuottaa lisäarvoa:
def measure_chain_improvement(topic):
# Baseline: single prompt
baseline = call(f'Write and polish a 200-word article about {topic} in one step.')
# Chain: Draft -> Review -> Polish
draft = call(f'Write a 200-word draft about {topic}.')
review = call(f'List 3 specific improvements needed:\n{draft}')
chained = call(f'Rewrite applying these improvements:\nDraft:\n{draft}\nImprovements:\n{review}')
# Have the model compare quality
comparison = call(
f'Which version is higher quality? Rate each 1-10 for clarity and depth.\n'
f'Version A (single prompt):\n{baseline}\n\nVersion B (chain):\n{chained}\n'
'Return JSON: {"version_a_score": int, "version_b_score": int, "winner": "A|B", "reason": str}'
)
return comparison
print('Quality measurement pipeline defined.')Pikatarkistus
Mikä muunnosketjumalli sopii parhaiten saapuvien tukipyyntöjen käsittelyyn ja reitittämiseen oikealle tiimille?
Muunnosketjut — tärkeimmät opit
Peräkkäiset muunnosketjut jalostavat sisältöä asteittain erikoistuneiden vaiheiden avulla:
- Luonnos → Tarkistus → Viimeistely: Sopii parhaiten sisällön luomiseen — tuottaa, arvioi ja jalostaa
- Ideointi → Suodatus → Laajennus: Sopii parhaiten ideointiin — tuottaa laajasti, valitsee harkiten ja kehittää perusteellisesti
- Poiminta → Luokittelu → Reititys: Sopii parhaiten tietojenkäsittelyyn — poimii rakenteen, määrittää tunnisteet ja reitittää käsittelijöille
- Malleja voi yhdistää monimutkaisten käyttötapausten pidemmiksi käsittelyputkiksi
- Kirjaa välitulosteet jokaisessa vaiheessa, jotta virheenkorjaus on tehokasta
- Mittaa kunkin vaiheen tuottama parannus varmistaaksesi ketjun tuottaman arvon
Opi Tekoälyn prompt engineering 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
- 53
- Oppitunnit
- 199
Usein kysytyt kysymykset
Onko oppitunti ”Peräkkäiset muunnosketjut” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Tekoälyn prompt engineering-oppimispolun 3 oppituntia, myös oppitunnin “Peräkkäiset muunnosketjut”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Tekoälyn prompt engineering-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Peräkkäiset muunnosketjut”?
Luonnostelu → tarkistus → viimeistely -ketjut ja muu monivaiheinen hiominen. Harjoittelet Tekoälyn prompt engineering-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyn prompt engineering-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyn prompt engineering-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Peräkkäiset muunnosketjut”-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ä Tekoälyn prompt engineering-oppitunnilla?
Kyllä. Jokainen Tekoälyn prompt engineering-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
- Mitä promptiketjut ovat
- Tulosteesta syötteeksi -mallit
- Peräkkäiset muunnosketjut
- Virheenkäsittely promptiketjuissa