Tämän oppitunnin tavoitteena on, että opiskelija ymmärtää, miten suunnittelumallit ohjaavat agentin päättelyä ja toimintaa. Oppitunnin ydin on ReActin ja eksplisiittisen työnkulun ero. Moniagenttijärjestelmät ovat valinnainen syvennys. Mallin sisäistä päättelyä ei pyydetä eikä tallenneta.
Opettajan painotus: Tämän oppitunnin tärkein viesti on, että agentin päättelyä täytyy ohjata. Hyvä agentti ei hypi sattumanvaraisesti työkalusta toiseen, vaan noudattaa tehtävään sopivaa päättelymallia.
Suunnittelumallit auttavat opiskelijaa muuttamaan agentin toiminnan näkyväksi ja testattavaksi. Havaittavat työkalukutsut, tulokset, virheet ja toiminnot voidaan jäsentää toimintamalleiksi ilman mallin piilotetun ajatusketjun tallentamista.
Tunnin kaksi keskeistä mallia ovat:
Hyvä päättelymalli tekee agentin toiminnasta ennakoitavampaa, jäljitettävämpää ja helpommin korjattavaa.
ReAct tarkoittaa päättelyn ja toiminnan vuorottelua. Agentti ei tee kaikkea yhdellä kertaa, vaan etenee rajatussa silmukassa: se valitsee työkalun, saa tuloksen tai virheen ja päättää seuraavan toiminnon. Valinnasta voidaan tallentaa lyhyt päätösperustelu, mutta ei mallin sisäistä päättelyä.
ReAct-toteutuksen havaittava kierros:
Esimerkki opetukseen
Anna opiskelijoille tehtävä: ”Asiakas kysyy, onko tuotetta varastossa.” Pyydä heitä kirjoittamaan havaittava loki: lyhyt päätösperustelu, rakenteinen varastohaku, palautettu tulos tai virhe ja lähetetty vastaus. Sano ääneen, ettei tehtävässä kirjoiteta mallin sisäistä ajatusketjua.
ReAct on hyödyllinen silloin, kun agentti ei tiedä etukäteen kaikkia vaiheita. Se voi edetä havaintojen perusteella ja muuttaa suuntaa, jos ensimmäinen toimenpide ei auta.
| ReAct-vaihe | Mitä agentti tekee? | Esimerkki |
|---|---|---|
| Päätösperustelu | Kertoo lyhyesti, miksi kutsu tarvitaan. | ”Ajantasainen saldo vaatii varastohaun.” |
| Työkalukutsu | Kirjaa työkalun ja rakenteiset parametrit. | hae_varastosaldo({"tuote_id":"123"}) |
| Tulos tai virhe | Tallentaa työkalun palauttaman havainnon. | {"saldo":5} |
| Toiminto | Kirjaa, vastataanko, jatketaanko vai eskaloidaanko. | ”Lähetä asiakkaalle saldo 5.” |
Eksplisiittisessä työnkulussa agentti jakaa ongelman selkeisiin vaiheisiin ja käsittelee ne järjestyksessä. Tämä sopii tilanteisiin, joissa prosessi on melko ennakoitava ja jokainen vaihe riippuu edellisestä.
1. Ongelma: Mitä asiakas kysyy?
2. Rajoitteet: Mitä sääntöjä tai ehtoja pitää noudattaa?
3. Valinnat: Mitä vaihtoehtoja on?
4. Päätös: Mikä vaihtoehto valitaan ja miksi?
Eksplisiittinen työnkulku on hyödyllinen esimerkiksi palautuspyynnön käsittelyssä. Agentti tarkistaa ensin palautusajan, sitten palautuskäytännön, sitten asiakkaan oikeuden palautukseen ja vasta lopuksi muodostaa vastauksen.
Tärkeää: Eksplisiittisessä työnkulussa ei hypitä vaiheiden yli. Jokainen vaihe rakentuu edellisen päälle.
Moniagenttijärjestelmässä tehtävä jaetaan usealle erikoistuneelle agentille. Tämä sopii monimutkaisiin tehtäviin, joissa tarvitaan erilaisia osaamisalueita: analyysiä, tiedonhakua, kirjoittamista, tarkistusta tai päätöksentekoa.
Moniagenttijärjestelmissä on kaksi perusmallia:
| Malli | Miten se toimii? | Milloin sitä käytetään? |
|---|---|---|
| Hierarkkinen malli | Johtaja-agentti näkee kokonaisuuden ja jakaa tehtävät erikoistuneille agenteille. | Kun tehtävä tarvitsee selkeän koordinoijan ja useita erikoistuneita vaiheita. |
| Yhteistyömalli | Agentit keskustelevat keskenään ja kehittävät ratkaisua yhdessä. | Kun ratkaisu vaatii eri näkökulmien vertailua tai yhteistä päätöksentekoa. |
Moniagenttijärjestelmät ovat tehokkaita, mutta ne lisäävät monimutkaisuutta. Mitä enemmän agentteja on, sitä vaikeampaa on seurata, kuka teki mitä, miksi ja millä tiedolla. Siksi lokitus, roolien rajaus ja selkeä orkestrointi ovat erityisen tärkeitä.
Opettajan huomio: Ohjaa opiskelijoita aloittamaan yhdestä agentista. Moniagenttirakennetta kannattaa käyttää vasta, jos tehtävä todella vaatii erikoistumista. Muuten se voi tehdä projektista tarpeettoman vaikean.
Korjaava näkökulma: ReAct tarvitsee rajat. Jos agentille ei aseteta enimmäismäärää iteraatioille, se voi jäädä toistamaan samoja vaiheita. Aseta esimerkiksi enintään 3–5 työkalukutsua ennen kuin agentti pyytää ihmisen apua tai keskeyttää tehtävän.
Joustava päättely tarvitsee rajat. Muuten joustavuus muuttuu hallitsemattomaksi silmukaksi.
Korjaava näkökulma: Eksplisiittisen työnkulun jäykkyys on sen vahvuus silloin, kun prosessin pitää olla ennakoitava. Esimerkiksi palautuksen, laskun tarkistuksen tai hyväksyntäprosessin pitää usein edetä tietyssä järjestyksessä.
Korjaava näkökulma: Suunnittelumalli on myös pedagoginen ja arkkitehtoninen valinta. Se vaikuttaa siihen, miten agenttia testataan, miten sitä selitetään ja miten sen virheitä korjataan.
Korjaava näkökulma: Malli voi valita seuraavan toiminnon, mutta agentin ohjauskehys ylläpitää kierrosta, välittää ja tarkistaa työkalukutsut, palauttaa havainnot, asettaa iteraatiorajan, käsittelee virheet ja lokittaa tapahtumat. Ilman tätä ohjausta ReAct ei ole hallittu työnkulku.
Tavoite: Opiskelija ymmärtää ReAct-toteutuksen työkalukutsu–tulos–toiminto-silmukan.
Tehtävä: Anna opiskelijoille lyhyt asiakastilanne ja pyydä heitä kirjoittamaan havaittava ReAct-loki. Lokissa näkyvät lyhyt päätösperustelu, työkalun nimi ja tarvittava tieto, tulos tai virhe sekä seuraava toiminto. Mallin sisäistä päättelyä ei kirjoiteta.
| Vaihe | Opiskelijan vastaus |
|---|---|
| Lyhyt päätösperustelu | Miksi tietoa tai toimintoa tarvitaan? |
| Rakenteinen työkalukutsu | Mitä työkalua käytetään ja millä parametreilla? |
| Tulos tai virhe | Mitä työkalu palauttaa? |
| Toiminto | Vastataanko, jatketaanko, keskeytetäänkö vai eskaloidaanko? |
Aika-arvio: 15–20 minuuttia
Tavoite: Opiskelija osaa purkaa monimutkaisen tehtävän selkeiksi vaiheiksi.
Tehtävä: Anna opiskelijoille tehtävä, esimerkiksi palautuspyynnön käsittely, laskun tarkistaminen tai tukipyynnön luokittelu. Opiskelijat kirjoittavat tehtävän 4–6 vaiheeksi.
Ohje opiskelijalle:
Lisäksi opiskelija nimeää yhden vaiheen, jossa kielimalli tekee aidon rajatun valinnan vähintään kahdesta sallitusta vaihtoehdosta. Lokinäytössä pitää näkyä syöte, sallitut vaihtoehdot, mallin valinta ja sitä seuraava ennalta määritelty haara. Pelkkä kiinteä jos–niin-ehto ei täytä tätä kohtaa.
Aika-arvio: 15–20 minuuttia
Tavoite: Opiskelija osaa valita tehtävään sopivan päättelymallin ja perustella valintansa.
Tehtävä: Anna opiskelijoille 3–4 eri tilannetta. He valitsevat jokaiseen ReActin tai eksplisiittisen työnkulun ja perustelevat valintansa.
| Tilanne | Sopiva malli | Perustelu |
|---|---|---|
| Agentti tutkii, miksi tilauksia katoaa satunnaisesti matkalla. | ReAct | Agentti tarvitsee havaintoihin perustuvaa etenemistä ja voi vaihtaa suuntaa tulosten mukaan. |
| Agentti käsittelee palautuspyynnön. | Eksplisiittinen työnkulku | Prosessi etenee selkeissä vaiheissa: tarkista aika, tarkista ehdot, tee päätös ja vastaa. |
Aika-arvio: 20–25 minuuttia
Tavoite: Opiskelija ymmärtää, miten vastuu voidaan jakaa usealle agentille.
Tehtävä: Opiskelijat valitsevat monimutkaisen tehtävän ja piirtävät siitä moniagenttikaavion. Kaaviossa pitää näkyä agenttien roolit, tiedonkulku ja mahdollinen johtaja-agentti.
Ohje opiskelijalle:
Aika-arvio: 20–25 minuuttia
Käytä seuraavaa erottelua:
ReAct sopii tutkimiseen. Eksplisiittinen työnkulku sopii prosessiin.
Kysy:
Pyydä opiskelijaa nimeämään konkreettinen työkalu ja konkreettinen havainto.
Pyydä opiskelijaa kirjoittamaan jokainen vaihe verbinä:
Oppitunnin lopussa opiskelijoiden tulisi ymmärtää, että agentin päättelymalli on arkkitehtuuripäätös. ReAct tukee havaintojen perusteella muuttuvaa etenemistä, kun taas eksplisiittinen työnkulku tekee ennalta tunnetusta prosessista järjestelmällisen. Kumpikaan ei ole aina paras, vaan malli valitaan tehtävän mukaan.
Hyvä päätöskysymys tunnin loppuun:
Pohdi: Tarvitseeko oma agenttisi joustavaa tutkimista vai ennalta rajattua vaiheittaista prosessia?
Tallennettava tuotos on työnkulkujälki: kutsut, tulokset, toiminnot, virheet ja lyhyet perustelut. Pakollinen ydintuotos pidetään samana kaikilla reiteillä.
| Aika | Vaihe | Opettajan tehtävä |
|---|---|---|
| 0–10 min | Virittäytyminen | Kytke ydinkysymys tuttuun tilanteeseen ja tarkista lähtötaso. |
| 10–25 min | Ydinkäsite | Mallinna tunnin keskeinen ero yhdellä vastaesimerkillä. |
| 25–65 min | Perustuotos | Oppija rakentaa nelivaiheisen suoritusjäljen työkalukutsuineen, tuloksineen ja lyhyine perusteluineen. Tämä 40 minuutin jakso on itsenäistä tai parin kanssa tehtävää työskentelyä. |
| 65–80 min | Testaus ja purku | Testauta tuotos annetulla tapauksella ja pura yksi onnistuminen sekä yksi korjaus. |
| 80–90 min | Tallennus ja lopputehtävä | Varmista tiedoston nimi, tallennuspaikka ja yhden lauseen johtopäätös. |
Oppija järjestää annetut vaihe- ja lokikortit. Tuki vähentää valintojen määrää, mutta säilyttää saman ydintuotoksen ja perustelun.
Kun perustuotos on valmis ja aikaa jää, oppija voi tarkastella moniagenttirakennetta erillisenä valinnaisena sivupolkuna. Syventävää työtä ei arvioida osana pakollista ydintuotosta.
Aktiviteetin tavoitteena on auttaa opiskelijoita ymmärtämään, miten ReAct-malli toimii agentin päätöksenteossa. ReAct tarkoittaa mallia, jossa agentti vuorottelee päättelyn ja toiminnan välillä: se arvioi tilanteen, tekee toiminnon, tarkastelee tulosta ja päättää seuraavan askeleen.
Opettajan painotus: Korosta, ettei ReAct-tehtävässä kirjoiteta mallin piilotettua ajatusketjua. Sen ydin on, että toteutus käyttää työkalua, havainnoi tuloksen tai virheen ja muuttaa seuraavaa toimintoa havainnon perusteella.
Selitys:
Selitä opiskelijoille:
ReAct tulee sanoista Reasoning ja Acting. Toteutus ei vastaa heti arvaamalla, vaan kirjaa lyhyen päätösperustelun, käyttää rajattua työkalua, tarkistaa tuloksen tai virheen ja valitsee seuraavan toiminnon. Mallin sisäistä päättelyä ei pyydetä eikä tallenneta.
Kirjoita taululle:
Lyhyt päätösperustelu → rakenteinen työkalukutsu → tulos tai virhe → seuraava toiminto
Näytä opiskelijoille yksinkertainen esimerkki. Asiakas kysyy:
Mikä on tuotteen hinta?
Näytä agentin eteneminen lokina:
[PÄÄTÖSPERUSTELU]: Asiakkaan kysymys koskee tuotteen hintaa. Minun täytyy hakea hinta tietokannasta.
[TOIMINTA]: GET /api/product?id=12345
[HAVAINTO]: Tietokanta palautti hinnan: 45 €.
[PÄÄTÖSPERUSTELU]: Nyt tiedän tuotteen hinnan ja voin vastata asiakkaalle.
[TOIMINTA]: Tuotteen hinta on 45 €.
Kysy opiskelijoilta:
Esimerkki opetukseen
Kysy opiskelijoilta, missä kohdassa agentti olisi voinut pysähtyä ja pyytää ihmiseltä apua. Hyvä vastaus on esimerkiksi tilanne, jossa tietokanta ei löydä tuotetta tai palauttaa ristiriitaisia hintoja.
Jaa opiskelijat pienryhmiin. Jokainen ryhmä valitsee yhden tilanteen ja kirjoittaa siihen ReAct-prosessin lokimuodossa.
Mahdollisia tilanteita:
Ryhmän tehtävä:
| Vaihe | Ryhmän lokimerkintä |
|---|---|
| [PÄÄTÖSPERUSTELU] | |
| [TYÖKALUKUTSU] | |
| [TULOS TAI VIRHE] | |
| [PÄÄTÖSPERUSTELU] | |
| [TOIMINTA] |
Esitys:
Ryhmät esittelevät ReAct-prosessinsa lyhyesti. Keskustelkaa yhdessä:
Opettajan tarkistuskysymys: Jos ryhmä kirjoittaa vain lopullisen vastauksen, kysy: “Mistä agentti sai tiedon? Mitä se havaitsi ennen päätöstä?”
Aktiviteetin tavoitteena on auttaa opiskelijoita ymmärtämään, miten eksplisiittinen työnkulku tukee järjestelmällistä ongelmanratkaisua. Eksplisiittisessä työnkulussa tehtävä jaetaan selkeisiin vaiheisiin, jotka suoritetaan oikeassa järjestyksessä.
Opettajan painotus: Eksplisiittinen työnkulku sopii erityisesti prosesseihin, joissa vaiheet ovat tiedossa etukäteen. Se vähentää satunnaisuutta ja auttaa varmistamaan, ettei kriittisiä tarkistuksia ohiteta.
Selitys:
Selitä opiskelijoille:
Eksplisiittinen työnkulku tarkoittaa sitä, että ongelma ratkaistaan vaihe vaiheelta. Sen sijaan, että agentti yrittäisi tehdä kaiken kerralla, se käy läpi ennalta määritellyn prosessin yksi kohta kerrallaan.
Kirjoita taululle:
Vaihe 1 → vaihe 2 → vaihe 3 → päätös → toiminto
Näytä esimerkki palautuspyynnön käsittelystä:
Kysy opiskelijoilta:
Opiskelijat valitsevat yhden prosessin ja kirjoittavat sen vaiheet oikeassa järjestyksessä.
Mahdollisia prosesseja:
Ryhmän tehtävä:
| Vaihe | Mitä tarkistetaan? | Mistä tieto saadaan? | Mikä voi mennä pieleen? |
|---|---|---|---|
| 1. | |||
| 2. | |||
| 3. |
Tärkeä keskustelukysymys:
Mitä menee pieleen, jos ketjusta puuttuu yksi vaihe?
Mahdollisia vastauksia:
Aktiviteetin tavoitteena on auttaa opiskelijoita valitsemaan, milloin kannattaa käyttää ReAct-mallia ja milloin eksplisiittistä työnkulkua. Opiskelijat ymmärtävät, että eri ongelmat tarvitsevat erilaisia päättelymalleja.
Selitys:
Selitä opiskelijoille:
ReAct on joustava malli tilanteisiin, joissa agentti ei vielä tiedä, mitä tietoa tarvitaan seuraavaksi. Eksplisiittinen työnkulku taas sopii tilanteisiin, joissa prosessin vaiheet ovat selkeät ja toistuvat samalla tavalla.
| Malli | Sopii parhaiten | Esimerkki |
|---|---|---|
| ReAct | Tutkiviin ja vaihteleviin tilanteisiin, joissa agentti käyttää työkaluja päätöksen aikana. | Teknisen ongelman selvittäminen lokien ja tietokannan avulla. |
| Eksplisiittinen työnkulku | Selkeisiin prosesseihin, joissa vaiheet ovat tiedossa etukäteen. | Palautuspyynnön käsittely palautusehtojen mukaan. |
Anna opiskelijoille neljä tilannetta. Ryhmät päättävät, kumpi malli sopii paremmin: ReAct vai eksplisiittinen työnkulku. Heidän pitää myös perustella valintansa.
| Tilanne | Sopiva malli | Perustelu |
|---|---|---|
| Agentti selvittää, miksi tilauksia katoaa satunnaisesti matkalla. | ||
| Agentti käsittelee tuotteen palautuspyynnön yrityksen palautusehtojen mukaan. | ||
| Agentti etsii asiakkaan tilauksen tilan ja vastaa asiakkaalle. | ||
| Agentti tutkii asiakaspalautteen piikkiä, jonka syy ei ole vielä tiedossa. |
Odotetut vastaukset:
Opettajan tarkistuskysymys: Jos opiskelijat valitsevat aina ReActin, kysy: “Onko tässä oikeasti tarvetta iteroida, vai riittääkö vakioitu vaiheistus?”
Keskustelu:
Aktiviteetin tavoitteena on esitellä moniagenttijärjestelmä, jossa useat agentit tekevät yhteistyötä. Opiskelijat ymmärtävät, että eri agenteilla voi olla eri roolit ja että järjestelmä tarvitsee selkeän työnjaon, tiedonkulun ja vastuun.
Opettajan painotus: Moniagenttijärjestelmä ei ole automaattisesti parempi kuin yksi agentti. Se kannattaa vain silloin, kun työnjako tekee järjestelmästä selkeämmän, turvallisemman tai helpommin valvottavan.
Selitys:
Selitä opiskelijoille:
Moniagenttijärjestelmässä yksi agentti ei tee kaikkea. Sen sijaan useat agentit tekevät eri osia tehtävästä. Yksi voi analysoida viestin, toinen hakea tietoa, kolmas kirjoittaa vastauksen ja neljäs tarkistaa laadun tai turvallisuuden.
Moniagenttijärjestelmän esimerkkityönkulku
| 1. Analyysiagentti Lukee asiakkaan viestin ja tunnistaa aiheen sekä kiireellisyyden. |
| ↓ |
| 2. Hakuagentti Hakee asiakkaan historian, aiemmat tiketit ja asiaan liittyvät ohjeet. |
| ↓ |
| 3. Kirjoitusagentti Laatii vastausehdotuksen asiakkaalle. |
| ↓ |
| 4. Validointiagentti Tarkistaa sovitut kentät, lähdeviitteet ja arvorajat sekä merkitsee epävarmat kohdat ihmisen tarkistettaviksi. Se ei yksin todista vastausta turvalliseksi. |
Kysy opiskelijoilta:
Opiskelijat suunnittelevat moniagenttijärjestelmän valitsemalleen tehtävälle.
Mahdollisia tehtäviä:
Ryhmän tehtävä:
| Agentti | Rooli | Mitä tietoa se saa? | Mitä se tuottaa seuraavalle vaiheelle? |
|---|---|---|---|
| Agentti 1 | |||
| Agentti 2 |
Esitys:
Ryhmät piirtävät kaavion ja esittelevät sen luokalle.
Kaaviossa tulee näkyä:
Opettaja arvioi opiskelijoiden kykyä: