Promptit ja prompt engineering
Tulostemuodon pyytäminen: taulukko, lista vai valmis pohja
Muodon pyytäminen on kehotteen halvin parannus: yksi lause muuttaa sekä vastauksen ulkoasun että sen sisällön. Näin kerrot rakenteen, sarakkeet ja pituuden niin tarkasti, että tulos kelpaa suoraan käyttöön.
Lyhyt vastaus
Kerro kehotteessa millaisessa muodossa haluat vastauksen: taulukko ja sen sarakkeet, numeroitu lista ja sen kohtien määrä, tai valmis pohja jonka malli täyttää. Muoto ei ole pelkkä ulkoasu, vaan se pakottaa mallin karsimaan: sarake vaatii yhden asian per solu, ja rivi jolle ei löydy sisältöä paljastaa aukon. Anna pituusraja mitattavana, esimerkiksi kohtien lukumääränä, koska sanamäärää malli ei laske tarkasti.
Sisällys
- Miksi muoto pakottaa mallin karsimaan
- Taulukko ja sarakkeiden nimeäminen
- Pituusraja kannattaa antaa mitattavana
- Valmis pohja täytettäväksi
- Koneluettavat muodot ja niiden sudenkuopat
- Milloin muodon kiristäminen huonontaa vastausta
- Näin lisäät muodon omaan kehotteeseesi
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Kehotteen parantamisessa kannattaa aloittaa muodosta, koska se on nopein muutos ja vaikuttaa eniten. Yhden lauseen lisäys, jossa kerrot haluamasi rakenteen, muuttaa vastauksen useammin käyttökelpoiseksi kuin roolin vaihtaminen tai ohjeen kohteliaampi muotoilu.
Syy on siinä, että muoto ei rajaa vain ulkoasua. Se rajaa myös sitä, mitä vastauksessa voi sanoa. Tässä artikkelissa käydään läpi tavallisimmat tulostemuodot, se miten ne kirjoitetaan kehotteeseen ja se, missä kohtaa muodon vaatiminen kääntyy itseään vastaan. Kehotteen muut osat on käyty läpi artikkelissa hyvän promptin rakenne.
Miksi muoto pakottaa mallin karsimaan
Vapaa teksti on mallille helpoin muoto, koska siinä jokainen lause saa olla juuri niin täsmällinen kuin sattuu olemaan. Sujuvuus kelpaa perusteluksi, ja aukot voi täyttää yleisillä lauseilla, jotka ovat oikeita mutta hyödyttömiä.
Rakenne poistaa tämän mahdollisuuden. Kun pyydät taulukon, jossa on sarake "hinnoitteluperuste", jokaiselle riville pitää tulla jokin hinnoitteluperuste. Jos sitä ei löydy aineistosta, vaihtoehtoja on kaksi: solu jää tyhjäksi tai malli keksii sisällön. Ensimmäinen on hyödyllinen havainto, toinen on virhe, jonka näet heti, koska se on omassa solussaan eikä piilossa kappaleen keskellä. Molemmissa tapauksissa saat enemmän tietoa kuin sujuvasta tekstistä, joka kiertää aukon.
Rakenne tekee vastauksesta myös vertailukelpoisen. Kolme kappaletta kolmesta palveluntarjoajasta on kolme erilaista tekstiä. Kolme riviä samoilla sarakkeilla on vertailu. Tämä on sama syy, jonka takia lomake toimii paremmin kuin vapaa kenttä silloin, kun tietoa pitää käsitellä eikä vain lukea.
Kolmas vaikutus on työn jakautuminen. Kun muoto on määritelty, siistiminen jää pois. Suurin osa siitä ajasta, joka tekoälyn vastauksen kanssa kuluu, menee usein juuri muotoiluun: otsikoiden poistoon, luettelon purkamiseen tekstiksi tai tekstin muuttamiseen luetteloksi. Tämä työ on kokonaan vältettävissä kertomalla muoto etukäteen.
Muoto on rajoite, ja rajoite on kehotteen tehokkain osa. Se kertoo mallille, mitä vastaukseen ei mahdu.
Taulukko ja sarakkeiden nimeäminen
Taulukko on hyödyllisin muoto silloin, kun kohteita on monta ja niistä kysytään samat asiat. Kehotteessa ratkaisee kaksi asiaa: mitä rivit ovat ja mitä sarakkeet ovat.
Sarakkeiden nimeäminen on käytännössä tehtävänannon tarkin kohta. Nimi "hinta" tuottaa sekalaisen sarakkeen, jossa on kuukausimaksuja, kertamaksuja ja arvioita. Nimi "kuukausimaksu ilman arvonlisäveroa" tuottaa yhden asian. Jos sarakkeen sisältö on rajattu, sano se: "kyllä tai ei", "yksi virke", "päivämäärä muodossa vuosi-kuukausi-päivä".
Kirjoita kehotteeseen sarakkeet luettelona ja kerro rivien peruste. Esimerkiksi näin: rivi jokaisesta palautteessa mainitusta ongelmasta, sarakkeet ovat ongelma, kuinka monessa palautteessa se mainittiin, ja arvio siitä onko kyseessä käyttöohjeen vai tuotteen ongelma. Lisää loppuun ohje puuttuvalle tiedolle: merkitse tyhjä solu viivalla äläkä arvaa. Tämä yksi lause estää suuren osan siitä, mistä hallusinaatiot taulukoissa syntyvät.
| Muoto | Mihin se sopii | Mitä kehotteessa pitää kertoa |
|---|---|---|
| Taulukko | Monta kohdetta, samat kysymykset kustakin | Rivien peruste, sarakkeiden nimet, ohje puuttuvalle tiedolle |
| Numeroitu lista | Järjestys tai vaiheet, joissa edellinen edeltää seuraavaa | Kohtien määrä, kunkin kohdan pituus, alkaako kohta verbillä |
| Merkitty luettelo | Rinnakkaiset huomiot ilman järjestystä | Kohtien määrä ja se, ettei kohtia saa niputtaa |
| Valmis pohja | Toistuva asiakirja, jonka rakenne on sovittu | Otsikot sellaisenaan ja ohje siitä, mitä kunkin alle tulee |
| Koneluettava muoto | Tulos siirtyy ohjelmaan tai taulukkolaskentaan | Kenttien nimet, tyypit ja kielto selittää mitään muotoilun ulkopuolella |
Numeroitu lista ja merkitty luettelo sekoitetaan usein keskenään, vaikka ne kertovat mallille eri asian. Numerointi tarkoittaa järjestystä: kohta kaksi tehdään kohdan yksi jälkeen. Merkitty luettelo tarkoittaa rinnakkaisuutta, jolloin kohdat voi lukea missä järjestyksessä tahansa. Jos pyydät ohjetta, pyydä numeroitu lista ja vaadi, että jokainen kohta alkaa verbillä. Silloin kohdasta tulee tekemistä eikä aihepiirin nimi.
Pituusraja kannattaa antaa mitattavana
Pyyntö "kirjoita lyhyesti" on tulkinnanvarainen, ja "korkeintaan 150 sanaa" on tarkka mutta epäluotettava. Kielimalli ei käsittele tekstiä sanoina vaan pieninä paloina, tokeneina, eikä se laske niitä pitkin matkaa. Suomen taivutusmuodot pilkkoutuvat useaan palaan, mikä tekee sanamäärän arvioinnista mallille vielä hankalampaa. Ilmiö on selitetty tarkemmin artikkelissa tokenit ja suomen kieli.
Käytännön ratkaisu on rajata pituus rakenteen kautta, koska rakenteen malli osaa laskea.
- "Viisi kohtaa, kukin enintään kaksi virkettä" toimii paremmin kuin "noin 200 sanaa".
- "Yksi kappale, joka mahtuu sähköpostin esikatseluun" toimii paremmin kuin "tiiviisti".
- "Kolme saraketta ja korkeintaan kymmenen riviä" toimii paremmin kuin "lyhyt taulukko".
Pituusrajalla on myös suunta, joka kannattaa valita tietoisesti. Yläraja karsii, alaraja täyttää. Jos annat vain alarajan, esimerkiksi vähintään kymmenen kohtaa, malli tuottaa kymmenen kohtaa silloinkin kun aineistossa on kuusi kunnollista. Yläraja on siksi useimmiten turvallisempi kuin alaraja.
Sanamäärän voi antaa lisäksi tavoitteena, mutta älä oleta sen pitävän. Jos tarkka mitta on tärkeä, esimerkiksi kun teksti menee tilaan, jossa merkkimäärä on rajattu, mittaa lopputulos itse ja pyydä tarvittaessa lyhennys erillisenä vaiheena. Tällainen kahden vaiheen työ on tavallinen esimerkki promptien ketjutuksesta.
Valmis pohja täytettäväksi
Kun sama asiakirja toistuu, tehokkain muoto on antaa pohja sellaisenaan ja pyytää täyttämään se. Pohja voi olla kokousmuistion runko, perehdytysohjeen otsikot tai vikailmoituksen kentät. Kirjoita otsikot kehotteeseen täsmälleen siinä muodossa, jossa haluat ne, ja kerro lyhyesti mitä kunkin otsikon alle kuuluu.
Pohjan etu on kaksisuuntainen. Malli saa rakenteen, jota sen ei tarvitse arvata, ja sinä saat tuloksen, joka menee suoraan siihen paikkaan, jossa sitä käytetään. Pohja on myös helppo jakaa työyhteisössä: kun kaikki käyttävät samaa runkoa, tulosten vertailu onnistuu. Sama vaikutus näkyy esimerkkien käytössä kehotteessa, jossa yksi näytetty mallivastaus ohjaa mallia enemmän kuin adjektiivien luettelo.
Käytännön esimerkki: perheen tai yhdistyksen kokouksesta tehtävä muistio. Pohjassa on otsikot aika ja paikka, läsnäolijat, käsitellyt asiat, päätökset ja sovitut tehtävät vastuuhenkilöineen. Kun annat tämän rungon ja liität mukaan muistiinpanot, saat joka kerta samanlaisen asiakirjan, jonka lukija löytää päätökset samasta kohdasta. Ilman pohjaa muistiosta tulee kertomus, jossa päätökset ovat kappaleiden sisällä.
Yksi asia kannattaa lisätä jokaiseen pohjaan: ohje siitä, mitä tehdään kun tieto puuttuu. Ilman sitä malli täyttää tyhjän kohdan uskottavalla arvauksella, koska tyhjä kohta näyttää tekstin jatkumisen kannalta epätodennäköiseltä.
Koneluettavat muodot ja niiden sudenkuopat
Jos vastaus menee ohjelmaan, taulukkolaskentaan tai skriptiin, kannattaa pyytää koneluettava muoto. Yleisimmät ovat JSON ja CSV, joiden rakenteesta on olemassa julkiset kuvaukset. Näiden muotojen ero muihin tiedostotyyppeihin käydään läpi artikkelissa tiedostomuodot selitettynä.
Sudenkuoppia on muutama, ja ne toistuvat.
- Selitys tulostuksen ympärillä. Malli lisää herkästi saatelauseen ennen ja jälkeen. Kiellä se erikseen: vastaa pelkällä rakenteella, ilman johdantoa ja ilman loppukommenttia.
- Kenttien nimet vaihtuvat. Jos et luettele kenttiä, ne muuttuvat kerrasta toiseen. Anna kenttien nimet ja tyypit ja kiellä uusien kenttien lisääminen.
- Erikoismerkit. Pilkut, rivinvaihdot ja lainausmerkit kentän sisällä rikkovat CSV:n, jos niitä ei suojata. Kerro, miten haluat ne käsiteltävän, tai pyydä JSON, jossa suojaus on osa muotoa.
- Katkeaminen kesken. Pitkä rakenteinen tuloste voi katketa, kun vastauksen pituusraja tulee vastaan, ja katkennut JSON on kelvoton kokonaan. Pyydä pienempiä eriä tai rajaa rivimäärä. Aineiston ja vastauksen yhteispituus rajautuu konteksti-ikkunaan.
- Muodollisesti oikea, sisällöltään väärä. Kelvollinen JSON ei kerro mitään siitä, ovatko arvot oikein. Tämä on koneluettavien muotojen petollisin puoli, koska virheetön rakenne tuntuu takeelta.
Milloin muodon kiristäminen huonontaa vastausta
Muoto on rajoite, ja rajoite voi olla väärä. Näissä tilanteissa kannattaa löysätä.
- Kun tehtävä on pohdinta. Vaikea arviointi kärsii siitä, että se puristetaan kolmeen ranskalaiseen viivaan. Perustelu tarvitsee tilaa, ja luettelo palkitsee lyhyyden.
- Kun et vielä tiedä, mitä etsit. Taulukon sarakkeet lyövät lukkoon kysymykset. Jos aihe on sinulle uusi, pyydä ensin vapaa vastaus ja rakenna taulukko sen pohjalta.
- Kun rakenne on liian tiukka aineistolle. Jos puolet soluista jää tyhjäksi, muoto on väärä eikä aineisto.
- Kun luettelo korvaa ajattelun. Pitkä lista lyhyitä kohtia näyttää järjestäytyneeltä, vaikka se olisi vain hajotettu kappale ilman päättelyketjua.
Sama koskee tyyliä. Jos pyydät sekä tiukan rakenteen että runsaan perustelun, malli valitsee toisen. Kerro kumpi on tärkeämpi.
Muodon valinta kannattaa siis tehdä sen mukaan, mitä tuloksella tehdään seuraavaksi. Jos vastaus luetaan kerran ja unohdetaan, vapaa teksti riittää. Jos siitä poimitaan tietoa, verrataan vaihtoehtoja tai se liitetään toiseen asiakirjaan, rakenne maksaa itsensä takaisin heti ensimmäisellä käyttökerralla.
Näin lisäät muodon omaan kehotteeseesi
Muodon kuvaaminen vie kolme riviä. Tee se tässä järjestyksessä.
- Päätä, mihin vastaus menee: sähköpostiin, muistioon, taulukkolaskentaan vai ohjelmaan. Kohde määrää muodon, ei mieltymys.
- Nimeä rakenne täsmällisesti: taulukko sarakkeineen, numeroitu lista kohtineen tai pohja otsikoineen.
- Anna pituus mitattavana: kohtien tai rivien määrä ja kunkin kohdan enimmäispituus virkkeinä.
- Kerro, mitä tehdään puuttuvalle tiedolle, ja kiellä arvaaminen.
- Lisää tarvittaessa kielto: ei johdantoa, ei yhteenvetoa, ei muistutusta siitä että kyseessä on tekoälyn tuottama teksti.
Jos haluat koota koko kehotteen osa kerrallaan, siihen on oma työkalunsa: promptin rakentaja kysyy muodon yhtenä viidestä osasta. Kun muoto on kerran kirjoitettu toimivaksi, se kannattaa tallentaa pohjaksi, koska juuri muoto on se osa kehotetta, joka pysyy samana tehtävästä toiseen.
Usein kysytyt kysymykset
Kannattaako tulostemuoto kertoa kehotteen alussa vai lopussa?
Loppu toimii useimmiten paremmin, koska muotoa koskeva ohje jää lähelle sitä kohtaa, josta vastaus alkaa. Tärkeintä on kuitenkin, että muoto on omana selkeänä kohtanaan eikä upotettuna keskelle muuta tekstiä. Jos ohje on pitkä, voit toistaa muodon lyhyesti lopussa.
Miksi malli ei noudata antamaani sanamäärää?
Kielimalli käsittelee tekstiä tokeneina eikä laske sanoja vastausta kirjoittaessaan, joten sanamäärä on sille arvio eikä sääntö. Suomessa yksi sana pilkkoutuu usein moneen tokeniin, mikä tekee arviosta vielä epätarkemman. Rajaa pituus kohtien tai virkkeiden määrällä, jolloin raja on laskettavissa.
Voiko samassa kehotteessa pyytää sekä taulukon että tekstiä?
Voi, mutta kerro selvästi kumpi tulee ensin ja mikä on kummankin tehtävä. Tavallinen toimiva yhdistelmä on taulukko ja sen alle kaksi virkettä, jotka kertovat mitä taulukosta pitäisi huomata. Jos molemmat ovat pitkiä, ne kannattaa pyytää erikseen.
Miten saan taulukon suoraan taulukkolaskentaan?
Pyydä CSV-muotoa ja kerro erotin sekä se, että vastauksessa ei saa olla mitään muuta kuin rivit. Tarkista, että kenttien sisällä olevat pilkut ja rivinvaihdot on suojattu lainausmerkein, koska muuten sarakkeet siirtyvät väärin. Pienissä taulukoissa tavallinen taulukkomuoto ja kopiointi riittävät hyvin.
Estääkö tiukka muoto mallia kertomasta olennaista?
Voi estää, ja se on muodon todellinen hinta. Lisää siksi pohjaan yksi vapaa kohta, esimerkiksi otsikko muille huomioille, jolloin rakenteeseen sopimaton havainto ei katoa. Jos huomaat, että olennainen jää usein pois, muoto on liian tiukka tehtävään.
Auttaako muodon pyytäminen vähentämään virheitä?
Se auttaa näkemään virheet, mikä ei ole sama asia. Rakenteessa aukko ja arvaus erottuvat omalla rivillään, kun taas sujuvassa tekstissä ne peittyvät. Tarkistaminen on silti tehtävä, koska muodollisesti moitteeton taulukko voi olla sisällöltään väärä.