Vanhentunut tieto on pahempi kuin puuttuva tieto
Rakensin yritykselle tietopohjan, jota tekoäly osaa lukea. Isoin päätös oli se, mitä jätin kirjaamatta: Yhtään hintaa ei mennyt muistiin, ja juuri se oli koko idea.

Sain hiljattain käyttööni ison taulukon, jonka ympärille yhden yrityksen koko tuotetieto rakentuu. Tehtävä oli tehdä siitä tietopohja, jota tekoäly osaa lukea. Kirjasin muistiin sarakkeet, statusarvot, tuotekoodien logiikan ja sen, mitä solujen värit tarkoittavat. Yhtään hintaa en kirjannut.
Se kuulostaa väärältä, koska taulukko on hinnasto. Mutta se ei ollut lista hinnoista. Se oli laskuri: Hinnat syntyivät raaka-ainekursseista ja työajasta, ja ne liikkuivat aina kun kurssit liikkuivat.
Kopioitu hinta on väärä sillä sekunnilla, kun kurssi liikkuu. Ja tässä on se kohta, joka tekee siitä pahemman kuin tyhjän kohdan: Malli ei tiedä, mikä tieto on vanhentunut. Se ei epäröi. Se lukee muistiinpanosta luvun, joka näyttää täsmälliseltä, ja kertoo sen sinulle samalla varmuudella kuin kaiken muunkin. Puuttuva tieto näkyy heti. Vanhentunut ei näy koskaan.
Kaksi pinoa
Aloin jakaa kaiken kahteen pinoon. Ensimmäisessä on se, mikä ei muutu: Rakenne, säännöt, sanasto ja logiikka. Miten tuotekoodi muodostuu, mitä statusarvot tarkoittavat, mistä välilehdestä mikin löytyy, mitä keltainen solu tarkoittaa. Toisessa pinossa on se, mikä muuttuu: Luvut, saldot, päivämäärät ja tilat.
Ensimmäinen pino kirjataan muistiin. Toisesta kirjataan vain se, mistä arvo haetaan ja miten sitä luetaan. Malli ei siis muista lukua, vaan osaa hakea sen. Ero kuulostaa pieneltä, mutta se on ero luotettavan ja epäluotettavan avustajan välillä.
Merkitsin lisäksi jokaisen säännön perään, onko se vahvistettu lähteestä vai päätelty koodista. Pikkutarkkaa, kyllä. Mutta se on ainoa tapa, jolla seuraava lukija tietää, mihin voi nojata ja mikä on vain valistunut arvaus.
Kuollut asia pitää sanoa ääneen
Toinen sääntö tuli vahingossa. Yksi työkalu oli poistettu käytöstä, mutta vanhoissa kirjallisissa ohjeissa neuvottiin yhä avaamaan se. Ensireaktio oli poistaa työkalu muistiinpanoista kokonaan. Se olisi ollut virhe: Jos poistan sen, jäljelle jää vain vanha ohje, joka neuvoo käyttämään sitä.
Nyt muistiinpanossa lukee suoraan, että työkalu on kuollut eikä sitä käytetä, ja että vanhat ohjeet ovat tältä osin vanhentuneet. Hiljaisuus ei ole ohje. Malli ei tulkitse poissaoloa kielloksi, vaan täyttää aukon sillä, mitä se muualta löytää.
Mitä se muutti
En mittatikulla mitannut säästettyjä tunteja, joten en väitä niin. Konkreettisin muutos on se, että kysymykseen ei enää vastata muistista. Tietopohja kertoo, mistä luku haetaan, ja luku haetaan sieltä joka kerta.
Toinen muutos oli yllättävämpi. Kun säännöt kirjattiin näin tarkasti, kaksi lähdettä paljastui eri mieltä sallitusta arvoalueesta. Kumpikaan ei olisi yksin näyttänyt sitä. En valinnut voittajaa, vaan kirjasin molemmat väitteet omaan ristiriitalistaansa.
Siisti muistiinpano, joka on hiljaa väärässä, on huonompi kuin rehellinen merkintä siitä, että asia on auki.
Mitä tästä voi ottaa omaan viikkoon
Ota se tiedosto tai se prompti, jossa kerrot tekoälylle taustat omasta työstäsi. Käy se läpi kolmella kysymyksellä:
- Mikä tästä on totta vielä puolen vuoden päästä? Se saa jäädä sellaisenaan.
- Mikä tästä vanhenee? Korvaa luku maininnalla siitä, mistä ajantasainen arvo löytyy.
- Mikä tästä on jo vanhentunut? Älä poista sitä hiljaa, vaan kirjoita näkyviin, ettei se enää päde.
Tietopohjan tehtävä ei ole säilöä vastauksia. Sen tehtävä on varmistaa, että malli löytää oikean vastauksen silloin, kun sitä kysytään.