Promptit ja prompt engineering
Järjestelmäkehote: näin annat tekoälylle pysyvät ohjeet
Järjestelmäkehote on ohje, joka on voimassa koko keskustelun ajan eikä vain yhdessä viestissä. Näin kirjoitat sellaisen, joka pysyy voimassa myös kymmenennessä viestissä.
Lyhyt vastaus
Järjestelmäkehote on teksti, joka liitetään keskustelun alkuun ennen ensimmäistäkään viestiäsi ja joka lähetetään mallille uudelleen joka kierroksella. Siihen kuuluvat asiat, jotka pätevät joka kerta: kieli, sinun tilanteesi, vakiomuoto ja kielto keksiä tietoa. Yksittäisen tehtävän yksityiskohdat eivät kuulu sinne, ja mitä pidempi ohje on, sitä epävarmemmin sen jokainen kohta toteutuu.
Sisällys
- Kolme kerrosta ohjeita, joista näet vain yhden
- Mihin pysyvä ohje kirjoitetaan käytännössä
- Mitä pysyvään ohjeeseen kuuluu ja mitä ei
- Miksi pitkä ohje ei ole parempi ohje
- Miksi ohje unohtuu pitkässä keskustelussa
- Esimerkki toimivasta pysyvästä ohjeesta
- Näin otat pysyvän ohjeen käyttöön
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Moni kirjoittaa saman alkuohjeen tekoälylle kymmeniä kertoja viikossa: kirjoita suomeksi, älä käytä listoja, älä keksi lähteitä, lukijani ei ole insinööri. Se on turhaa työtä. Lähes jokaisessa assistentissa on paikka, johon tuon ohjeen voi kirjoittaa kerran niin, että se on voimassa joka keskustelussa.
Tämän ohjeen nimi on järjestelmäkehote (system prompt), ja siitä käytetään palveluissa myös nimiä pysyvät ohjeet, omat ohjeet tai custom instructions. Nimet vaihtelevat, mekanismi ei.
Tämä artikkeli käsittelee vain pysyvää ohjetta. Yksittäisen kehotteen rakenne, eli tehtävä, konteksti, muoto, rajoitteet ja esimerkki, käydään läpi artikkelissa hyvän promptin rakenne. Ne kaksi toimivat yhdessä: pysyvä ohje hoitaa toistuvan osan, yksittäinen viesti hoitaa vaihtuvan.
Kolme kerrosta ohjeita, joista näet vain yhden
Kun kirjoitat viestin assistentille, mallille lähtee paljon enemmän tekstiä kuin mitä ruudulla näkyy. Teksti koostuu tyypillisesti kolmesta kerroksesta.
Ensimmäinen on palveluntarjoajan oma järjestelmäkehote. Siinä kerrotaan, mikä assistentti on, mitä se ei suostu tekemään, miten se muotoilee vastaukset ja mitä työkaluja sillä on käytössä. Tätä kerrosta et näe etkä voi muuttaa, ja palveluntarjoaja voi vaihtaa sen milloin tahansa. Osa assistenttien käytöksen muutoksista, jotka näyttävät mallin muuttumiselta, on tosiasiassa tämän tekstin muuttumista.
Toinen kerros on sinun pysyvä ohjeesi. Se on tallennettu asetuksiin tai työtilaan ja liitetään mukaan automaattisesti.
Kolmas kerros on se viesti, jonka juuri kirjoitit.
Kerrokset eivät ole eriarvoisia siinä mielessä kuin ohjelmoinnissa. Malli ei suorita sääntöjä vaan jatkaa tekstiä, joka sisältää ne kaikki. Käytännössä painotus menee kuitenkin näin: palveluntarjoajan rajoitukset ovat vahvimpia, koska mallia on erikseen opetettu noudattamaan niitä, ja ristiriitatilanteessa myöhempi ja tarkempi ohje voittaa yleensä aiemman ja yleisemmän. Jos pysyvä ohjeesi sanoo "vastaa aina lyhyesti" ja viestisi sanoo "kirjoita pitkä analyysi", saat pitkän analyysin. Se on hyvä niin.
Mihin pysyvä ohje kirjoitetaan käytännössä
Paikkoja on kolme, ja ne kannattaa erottaa toisistaan.
Tilin asetukset. Useimmissa kuluttaja-assistenteissa on asetuksissa kenttä, johon kirjoitetaan tietoa itsestä ja toiveet vastaustyylistä. Se on voimassa kaikissa uusissa keskusteluissa. Tänne kuuluu vain se, mikä pätee kaikkeen mitä teet.
Työtilan tai projektin ohje. Monessa palvelussa keskusteluja voi ryhmitellä projekteiksi, joilla on oma ohjeensa ja omat tiedostonsa. Tämä on käytännössä paras paikka työkohtaiselle ohjeelle, koska sinulla voi olla eri ohje asiakastekstejä ja eri ohje koodia varten.
Rajapinta. Jos käytät mallia ohjelmallisesti, järjestelmäkehote on oma kenttänsä pyynnössä. Silloin näet myös konkreettisesti, että kyse on vain tekstistä, joka lähetetään joka pyynnön mukana uudelleen.
Työpaikalla kannattaa sopia, kuka pysyvää ohjetta ylläpitää. Jaetussa työtilassa yhden ihmisen kirjoittama ohje vaikuttaa kaikkien vastauksiin, eikä kukaan muu välttämättä tiedä sen sisältöä. Sama koskee tilannetta, jossa kollega on ottanut käyttöön oman assistenttinsa omilla säännöillään: kaksi ihmistä saa samasta kysymyksestä eri vastauksen, ja ero on ohjeessa eikä mallissa.
Yhteinen piirre kaikille kolmelle: mallin painot eivät muutu. Keskustelu ei opeta mallia mitään pysyvästi, vaan pysyvyys syntyy siitä, että sama teksti lähetetään uudelleen. Tämä on eri asia kuin muistiominaisuus, joka poimii keskusteluista tietoja talteen automaattisesti. Muistin ja historian eroja käsitellään erikseen artikkelissa keskusteluhistoria ja muisti.
Mitä pysyvään ohjeeseen kuuluu ja mitä ei
Jako on yksinkertainen: pysyvään ohjeeseen kuuluu se, mikä on totta ensi kuussakin.
| Kuuluu pysyvään ohjeeseen | Kuuluu yksittäiseen viestiin |
|---|---|
| Kieli ja kielimuoto, esimerkiksi suomi ja teitittelemätön asiatyyli | Tämän tekstin kohdeyleisö ja tavoite |
| Kuka olet ja kenelle yleensä kirjoitat | Tämän tehtävän aineisto |
| Vakiomuoto, esimerkiksi ei luetelmia ellei pyydetä | Tämän vastauksen pituus |
| Toimintatapa epävarmuudessa, esimerkiksi merkitse epävarma kohta | Yksittäisen tehtävän poikkeussäännöt |
| Sanastovalinnat ja termit, joita käytät johdonmukaisesti | Kertaluontoiset esimerkit |
| Kielto keksiä lähteitä, lukuja tai lainauksia | Aikataulu, päivämäärät ja nimet |
Neljä asiaa kannattaa jättää pois kokonaan.
Salassa pidettävät tunnisteet eivät kuulu sinne. Järjestelmäkehote ei ole salainen paikka: se kulkee palveluntarjoajan palvelimille joka pyynnön mukana, ja malli voi kertoa sen sisällön käyttäjälle, jos sitä kysytään sopivasti. Tähän liittyvä hyökkäystapa käsitellään artikkelissa kehoteinjektio.
Pitkät esimerkkitekstit eivät kuulu sinne. Ne syövät tilaa joka kierroksella. Jos tarvitset näytteitä omasta tyylistäsi, ne kannattaa antaa tehtävän yhteydessä, ja niiden valintaa käsitellään artikkelissa esimerkit kehotteessa.
Toiveet, joita et oikeasti tarkoita, eivät kuulu sinne. "Ole aina täysin varma" on mahdoton vaatimus, ja se vain lisää itsevarman sävyisiä vastauksia, ei tarkkuutta.
Työnantajan sääntöihin kuulumattomat luvat eivät kuulu sinne. Se, mitä tietoja palveluun ylipäätään saa syöttää, ratkeaa organisaation ohjeessa, ei sinun järjestelmäkehotteessasi.
Miksi pitkä ohje ei ole parempi ohje
Pysyvä ohje maksaa joka kerta. Se lähetetään uudelleen jokaisella viestillä, ja se vie tilaa siitä samasta konteksti-ikkunasta, jossa keskusteluhistoria ja aineistosi ovat. Pitkä ohje siis lyhentää sitä, kuinka pitkään keskustelu pysyy kokonaisuudessaan mallin näkyvissä. Jos palvelu laskuttaa käytön mukaan, ohje maksaa myös rahaa jokaisella kierroksella, koska se muuttuu tokeneiksi joka kerta uudelleen.
Pituudella on toinenkin haitta. Mitä useampi vaatimus ohjeessa on, sitä varmemmin osa niistä jää toteutumatta, ja sitä todennäköisemmin kaksi kohtaa on keskenään ristiriidassa. "Kirjoita tiiviisti" ja "perustele jokainen väite" ovat molemmat järkeviä, mutta yhdessä ne pakottavat mallin valitsemaan, ja valinta ei ole sinun.
Ristiriita ei myöskään näy virheilmoituksena. Malli ei ilmoita, että kaksi ohjetta sotivat keskenään, vaan se tekee hiljaisen kompromissin, joka näyttää vastaukselta muiden joukossa. Siksi pitkän ohjeen ongelmat huomataan usein vasta viikkojen päästä, kun huomaa korjaavansa samaa asiaa kerta toisensa jälkeen käsin.
Käytännön mitta on tämä: pysyvä ohje mahtuu ruudulle kerralla. Jos et jaksa lukea sitä läpi, malli ei sitä paremmin painota. Kolme tarkkaa riviä ohjaa vastausta enemmän kuin kaksi sivua yleisiä toiveita.
Miksi ohje unohtuu pitkässä keskustelussa
Tämä on yleisin turhautumisen aihe, ja sille on kolme eri syytä. Kannattaa tunnistaa kumpi on kyseessä, koska korjaus on eri.
Osuus pienenee. Kymmenennellä viestillä ohjeesi on pieni osa siitä tekstistä, jonka malli näkee. Loput on keskustelua, jossa on jo kymmenen vastausta kirjoitettu tietyllä tavalla. Malli jatkaa tekstiä, ja lähin esikuva on sen oma edellinen vastaus, ei alussa ollut ohje.
Sijainti vaikuttaa. Pitkässä syötteessä alku ja loppu tulevat käytetyksi luotettavammin kuin keskikohta. Järjestelmäkehote on alussa, mutta pitkässä keskustelussa se on alussa hyvin kaukana.
Ikkuna täyttyy. Kun keskustelu ylittää konteksti-ikkunan, vanhin osa tiivistetään tai pudotetaan pois. Osassa palveluista järjestelmäkehote säilytetään erikseen, osassa ei. Sitä ei ulospäin näe.
Korjaukset järjestyksessä:
- Toista tärkein vaatimus viestissä. Yksi rivi riittää: "Muista: ei luetelmia, ei keksittyjä lukuja." Viimeisin ohje on lähimpänä vastausta ja painaa eniten.
- Aloita uusi keskustelu. Kun keskustelu on ajautunut väärään tyyliin, uusi keskustelu on nopeampi kuin viides korjauspyyntö.
- Siirrä toistuva ohje projektikohtaiseksi. Jos joudut toistamaan saman asian useassa keskustelussa, se kuuluu pysyvään ohjeeseen eikä viestiin.
- Pilko tehtävä. Pitkä keskustelu on usein merkki siitä, että tehtävä olisi kannattanut jakaa osiin ja tarkistaa välissä.
Esimerkki toimivasta pysyvästä ohjeesta
Alla on runko, joka toimii tavallisessa asiantuntijatyössä. Se on lyhyt tarkoituksella. Muuta tiedot omiksesi äläkä kopioi sellaisenaan.
- Kirjoitan suomeksi. Vastaa aina suomeksi, myös jos aineisto on englanniksi. Käytä englanninkielistä termiä suluissa, jos suomenkielinen vastine ei ole vakiintunut.
- Työskentelen kunnan hankinnoissa. Lukijani ovat viranhaltijoita, jotka eivät ole juristeja.
- Kirjoita täysinä virkkeinä. Käytä luetelmia vain, kun pyydän niitä erikseen.
- Älä aloita vastausta kohteliaisuudella tai kysymyksen toistolla. Aloita asiasta.
- Jos et tiedä jotain tai tieto ei ole antamassani aineistossa, kirjoita se näkyviin. Älä täytä aukkoa arvauksella.
- Älä keksi lähteitä, pykälänumeroita, päivämääriä tai lainauksia. Jos et voi tarkistaa niitä antamastani aineistosta, jätä ne pois.
- Kun tehtävä on epäselvä, kysy yksi tarkentava kysymys ennen kuin vastaat.
Miksi juuri nämä rivit. Kaksi ensimmäistä poistavat oletukset kielestä ja lukijasta, jotka malli muuten täyttäisi keskiarvolla. Kolmas ja neljäs poistavat kaksi tavallisinta muotoiluärsytystä. Viides ja kuudes ovat tärkeimmät: ne antavat mallille luvan sanoa "en tiedä", mikä on ainoa promptitason keino vähentää hallusinaatioita. Viimeinen rivi siirtää epäselvyyden kysymykseksi sen sijaan, että se muuttuisi keksityksi oletukseksi.
Huomaa, mitä listalta puuttuu: roolia ei ole annettu lainkaan. Lukijan ja tilanteen kuvaus tekee saman työn tarkemmin.
Näin otat pysyvän ohjeen käyttöön
- Kerää kolme viimeisintä keskusteluasi. Katso, mitä samaa kirjoitit niiden alkuun. Juuri ne rivit kuuluvat pysyvään ohjeeseen.
- Kirjoita enintään seitsemän riviä. Jokainen rivi on yksi vaatimus, ja jokainen alkaa verbillä. Poista rivit, jotka ovat toiveita eivätkä tarkistettavissa.
- Erottele tili ja projekti. Kaikkeen pätevä asia tiliasetuksiin, työkohtainen asia projektin ohjeeseen.
- Testaa kolmella erilaisella tehtävällä. Yksi lyhyt kysymys, yksi pitkä teksti, yksi tehtävä, jossa tietoa puuttuu. Kolmas paljastaa, toimiiko "en tiedä" -sääntösi.
- Poista se, mikä ei näy vastauksissa. Jos et huomaa eroa ohjeen kanssa ja ilman, rivi on turha ja vie vain tilaa.
- Tarkista sisältö tietosuojan kannalta. Ohjeessa ei saa olla asiakkaan henkilötietoja, salasanoja eikä liikesalaisuuksia, koska se lähtee palveluun joka pyynnön mukana.
- Päivitä, kun työsi muuttuu. Vanhentunut pysyvä ohje on huonompi kuin ei ohjetta lainkaan, koska se ohjaa vastauksia väärään suuntaan huomaamattasi.
Jos haluat tarkistaa yksittäisen kehotteen rakenteen samalla vaivalla, siihen on erillinen promptin tarkistuslista. Valmiita runkoja toistuviin tehtäviin löytyy artikkelista promptipohjat, ja niistä saa hyvän pohjan myös omalle pysyvälle ohjeelle.
Usein kysytyt kysymykset
Mitä eroa on järjestelmäkehotteella ja tavallisella kehotteella?
Tavallinen kehote koskee yhtä tehtävää ja lähetetään kerran. Järjestelmäkehote liitetään keskustelun alkuun ja lähetetään uudelleen joka viestin mukana, joten se ohjaa kaikkia vastauksia. Tekniikka on sama, ero on siinä missä teksti sijaitsee ja kuinka usein se toistuu.
Näkeekö tekoäly minun pysyvän ohjeeni joka viestissä?
Kyllä, niin kauan kuin se mahtuu konteksti-ikkunaan. Ohjetta ei tallenneta malliin, vaan se lähetetään uudelleen jokaisella kierroksella. Hyvin pitkässä keskustelussa vanhinta osaa voidaan pudottaa pois, jolloin ohje voi tosiasiassa kadota näkyvistä.
Miksi tekoäly lakkaa noudattamasta ohjettani kesken keskustelun?
Yleisin syy on se, että ohjeen osuus koko tekstistä pienenee jokaisen viestin myötä ja mallin oma edellinen vastaus ohjaa seuraavaa vahvemmin kuin alussa ollut ohje. Toista tärkein vaatimus uusimmassa viestissä tai aloita uusi keskustelu. Molemmat toimivat, koska ne siirtävät ohjeen lähelle vastausta.
Voiko pysyvään ohjeeseen laittaa asiakastietoja tai salasanoja?
Ei kannata. Ohje lähtee palveluntarjoajan palvelimille jokaisen pyynnön mukana, ja mallin voi houkutella toistamaan ohjeensa sisällön. Työpaikan tiedoissa ratkaisee organisaation oma ohje siitä, mitä palveluun saa syöttää.
Kuinka pitkä pysyvän ohjeen pitäisi olla?
Sen verran, että näet sen ruudulla kerralla, käytännössä muutama rivi. Pituus maksaa tokeneina joka kierroksella ja lisää ristiriitojen riskiä. Kolme tarkkaa vaatimusta toteutuu luotettavammin kuin viisitoista yleistä toivetta.
Onko järjestelmäkehote sama asia kuin tekoälyn muisti?
Ei. Pysyvä ohje on sinun kirjoittamasi teksti, joka lisätään keskusteluun sellaisenaan. Muistiominaisuus poimii keskusteluistasi asioita talteen automaattisesti ja voi ottaa niitä esiin myöhemmin. Kumpikaan ei muuta mallia itseään.
Kannattaako pysyvässä ohjeessa antaa mallille rooli?
Harvoin. Kuvaus lukijasta ja tilanteesta ohjaa vastausta tarkemmin kuin arvonimi, ja rooli voi kaventaa näkökulmaa turhaan. Rooli on hyödyllisimmillään silloin, kun haluat tietyn alan sanastoa johdonmukaisesti joka vastaukseen.