Henkilökohtainen AI-avustaja
Kokeilu, jossa henkilökohtainen data yhdistetään kielimalliin ja siitä keskustellaan luonnollisella kielellä.
Olen järjestyksen ihmisenä pitänyt kirjaa lähes kaikesta taulukkolaskentaohjelmalla. Taulukkomuotoinen tieto on käytännöllistä moniin tilanteisiin, mutta ajoittain vastausten saaminen arkisiin kysymyksiin on turhan monimutkainen tehtävä. Esimerkiksi jos vaimo kysyy: minne kaikki rahat ovat menneet tai onko veden ja sähkön kulutus nousussa vai laskussa – olisi vastauksen saaminen ja jatkokysymysten esittäminen suoraan luonnollisella kielellä helppoa ja mielenkiintoista.
Selvitin omalla kokeilulla, kuinka kielimalli soveltuu tämän kaltaisen datan analysointiin teknisten rajapintojen kautta ja voisiko vastaavaa soveltaa asiakastyössä.
Tiedän, että tekoälysovelluksille on mahdollista jakaa tiedostoja, mutta se ei palvelisi demon tavoitteita. Datan ylläpito siirtyy samalla pysyvästi tietokantaan, mikä helpottaa jatkossa automaattista datan keruuta.
Arkkitehtuuri
Tekninen perusta on PostgreSQL-tietokanta ja JavaScriptillä toteutettu komentorivipohjainen asiakasohjelma. Kielimallina on Claude, mutta sovelluksen arkkitehtuuri on suunniteltu palvelun tarjoajasta riippumattomaksi.
Datan jakaminen kielimallille toimii periaatteella, että istunnon alussa kielimallille tarjotaan tietokannan rakenteen kuvaus (schema) ja ohjeita sen tulkitsemiseen. Kielimalli rakentaa tarvitsemansa SQL-koodin, jonka asiakasohjelma ajaa tietokantaan. Tällä tasolla sallitaan vain lukukyselyt, ja kaikki muut komennot (esim. ALTER, DELETE) estetään. Asiakasympäristössä rajoittaisin myös tietokantakäyttäjän oikeustasoa.
Koodin kirjoitus
Ohjelman nimeksi tuli omaan tyyliini hi-assistant. Annoin Clauden rakentaa pienen speksin pohjalta asiakasohjelman. Sen kehitys meni suhteellisen mutkattomasti, mutta jonkin verran tarvittiin manuaalista työtä ja ohjausta.
Pääosin datamigraatio meni taulukkolaskennasta CSV-tiedostojen kautta tietokantaan. Tietokannan käyttöönottoa en käsittele tässä yhteydessä.
Haasteita matkan varrella
Kenttänimet eivät riitä mallille. Ihmiselle riittävän selvä sarakkeen nimi voi olla kielimallille liian epämääräinen. Kun tietokannan kentille lisättiin kuvaavat kommentit, mallin kyky ymmärtää, mitä data tarkoittaa, parani selvästi. Esimerkiksi äänilevykokoelmaan (kyllä, äänilevyt) liittyvässä kentässä reference_code ei ole täysin itseään kuvaava. Kun kuvaus on EAN/UPC or record company identifier, niin kielimallin ei tarvitse arvata.
Edellä mainittu ei ollut lopulta luonteva paikka selittää kaikkia yksityiskohtaisia ohjeita. Jokaiselle datan osa-alueelle rakennettiin lopulta oma manifest-tiedosto, joka jatkaa siitä mihin tietokantakentän kuvaus ei riitä. Sellainen tulisi tarpeeseen myös jos tietokantatuote ei tukisi kommentteja. Manifest-tiedostot annetaan istunnon alussa mallille scheman kanssa.
Sovelluksella on oletuksena huono muisti. Eli edelliset kysymykset ja vastaukset eivät ole kielimallin tiedossa. Tämä johtuu teknisten rajapintojen stateless suunnittelusta, eli asiakasohjelman on lähetettävä historia joka kerta. Työpöydiltä ja puhelimista tutut käyttöliittymät toteuttaa sen tekemällä jokaisen kysymyksen yhteydessä yhteenvedon koko viestiketjun sisällöstä. Päädyin tekemään muistin, joka toimii istunnon ajan, mutta ei tallenna pysyvään muistiin. Keskustelut ovat riittävän lyhyitä, jotta kaiken datan voi lähettää toistuvasti mallille.
Esimerkkejä keskustelusta
Klikkaa kiinnostavat aiheet auki.
Sähkönkulutuksen seuranta
Kysymys> Näkyykö viime talven pakkaset energiankulutuksessa? **Kyllä näkyy, ja erittäin selvästi!** Viime talvi (2025/2026) oli selvästi energiaintensiivisin mittaushistorian aikana: **Talvikausien vertailu (joulu-tammikuu-helmikuu):** **Kokonaiskulutus (keskiarvo):** - Talvi 2022/2023: 1 335 kWh/kk - Talvi 2023/2024: 1 611 kWh/kk (+21%) - Talvi 2024/2025: 1 416 kWh/kk (-12%) - **Talvi 2025/2026: 1 730 kWh/kk (+22% edelliseen, +30% verrattuna 2022/23)** **Johtopäätös:** Viime talven pakkaset näkyvät erittäin selvästi kulutuksessa. Tammikuu 2026 rikkoi kaikki edelliset ennätykset, ja koko talvikausi 2025/2026 oli keskimäärin 22% korkeampi kuin edellinen talvi ja jopa 30% korkeampi kuin talvi 2022/2023.
Tilitapahtumat
Kysymys> Missä sekatavarakaupassa on tavallisesti suurin kauppalasku? Sekatavarakaupoissa **Bauhaus** erottuu selvästi muista sekä keskiostoksen että suurimman yksittäisen ostoksen osalta: **Keskimääräinen kauppalasku:** 1. **Bauhaus: 122,49 €** (41 ostoskertaa) 2. K-Rauta: 44,66 € (111 ostoskertaa) 3. Puuilo: 30,10 € (187 ostoskertaa) Bauhaus näyttää olevan valinta isojen remontti- ja rakennushankkeiden ostopaikkana, kun taas esimerkiksi Puuilossa käydään useammin mutta pienemmillä ostoksilla.
Omaisuusluettelo
Kysymys> Kumpi on säilyttänyt arvonsa paremmin - Artek vai Ikea? **Artek on säilyttänyt arvonsa selvästi paremmin kuin Ikea!** [...tässä välissä listaus yksittäisistä tuotteista...] ## Johtopäätös: **Artek voittaa selvästi** - kaikki Artek-tuotteet ovat nousseet arvossa, keskimäärin 19% plussan puolelle. Ikean keskiarvo painuu yhden huonosti menneen tuotteen takia, vaikka Gulliver-hoitopöytä olikin erinomainen sijoitus. Artek on johdonmukaisempi ja luotettavampi arvon säilyttäjä, kun taas Ikean kohdalla vaihtelevuus on suurta riippuen tuotteesta.
Äänilevykokoelma
Kysymys> Millainen musiikkimaku minulla on? Kerro lyhyesti. **Sinulla on klassisen rock-keräilijän maku, vahvalla suomalaispainolla!** Kokoelmassasi (179 levyä, lähes kaikki LP:tä) korostuvat: 🎸 **Klassinen rock 80-90-luvuilta**: U2 (7 levyä), Rush (5), Dire Straits (4), AC/DC (4), Pink Floyd (4), Led Zeppelin (3), Queen (3) 🎤 **Grunge & alternatiivi**: Alice In Chains (4), Pearl Jam, Faith No More, The Smashing Pumpkins (3), Soundgarden 🇫🇮 **Suomirock**: Irwin Goodman (4), Eppu Normaali (3), Leevi And The Leavings (3), Dingo, Yö, Kolmas Nainen, 22-Pistepirkko 🎭 **Progressiivista ja metallia**: Opeth (3), Katatonia, Metallica 🎬 **Elokuvasoundtrackit** (5 kpl) 🎹 **Elektronista musiikkia**: Synth-pop, house, breakbeat, trance **Tyyli**: Laaja-alainen mutta juurtunut 80-90-lukujen rock-klassikoihin. Arvostetaan sekä kansainvälistä että kotimaista, sekä valtavirtaa että progressiivisempaa. Keräilijän ote - vinyyli on valittu formaatti. Nostalgia kohtaa laatua!
Mitä opin
AI:n vastaukset, jotka perustuvat tietokannan dataan, ovat osoittautuneet tässä käytössä riittävän luotettaviksi. AI:n taipumus sepittää asioita ei yleensä päde, jos sillä on käytettävissä faktapohjaista tietoa. Äänilevykokoelman esimerkissä on yksi virhe: musiikkimakuun on hallusinoitu listan jatkeeksi Soundgarden, vaikka sitä ei ole koskaan ollut kokoelmassa. Väärin muodostetut tietokantakyselyt ovat myös todellinen riski.
Suurempien tietomäärien tai pitkien keskustelujen kanssa keskusteluhistoriaa joutuisi jollain tavalla tiivistämään.
Mihin tämä sopii
Sama rakenne toimii kaikkialla, missä organisaatiolla on dataa tietokannassa ja ihmiset haluavat kysyä siitä ilman raportintekijää tai SQL-osaamista. Asiakastyössä datan laatu, käyttöoikeudet ja tietosuojakysymykset nousisivat esiin. Tässä ratkaisussa henkilökohtaista dataa liikkuu kielimallin suuntaan.
Mitä seuraavaksi
Minulla on monia ideoita, joista ehkä kiinnostavin on rakentaa vektoritietokanta sille sopivasta datasta. Näin saisin tuntumaa kuinka epästrukturoitu, vapaasti kirjoitettu teksti voisi olla hyödynnettävissä.