← Takaisin kirjoituksiin

Tekoälylle oma hiekkalaatikko

11.9.2026 07:39 Windows, tekoäly, tietoturva
Rakensin tekoälylle oman eristetyn työympäristön

Tekoäly on tullut viime vuosina aika vahvasti mukaan omaan tekemiseeni. Aluksi käytin sitä lähinnä keskustelukumppanina ja apuna silloin, kun piti miettiä jotakin ohjelmointiin, tietotekniikkaan tai kirjoittamiseen liittyvää asiaa. Siinä vaiheessa käyttö oli vielä hyvin suoraviivaista. Minä kysyin jotakin, tekoäly vastasi ja sen jälkeen päätin itse, mitä vastauksella teen. Käytännössä vastuu ja kaikki tekeminen pysyivät koko ajan minun käsissäni.

Tilanne muuttui kuitenkin aika paljon siinä vaiheessa, kun käyttöön tuli Codex ja tekoälylle pystyi antamaan mahdollisuuden työskennellä suoraan projektin kanssa. Nyt kyse ei enää ollut vain siitä, että se ehdottaa ruudulle muutaman rivin koodia, jonka minä itse kopioin ohjelmaan. Se pystyy tutkimaan projektin tiedostoja, etsimään niistä tarvittavia kohtia, tekemään muutoksia useisiin tiedostoihin ja myös ajamaan ohjelmaa sekä testejä. Käytännössä sille voi antaa tehtävän ja sen jälkeen seurata, kuinka se lähtee selvittämään, mistä ohjelman ongelma johtuu ja mitä sille kannattaisi tehdä.

Tämä on tietenkin erittäin kätevää, mutta samalla aloin miettiä sitä, kuinka paljon vapauksia haluan tällaiselle työkalulle antaa varsinaisessa omassa tietokoneympäristössäni. Työkoneeni ei ole mikään tyhjä testikone, vaan siellä on vuosien aikana kertynyttä omaa aineistoa, työasioita, ohjelmia ja yhteyksiä muihin verkon laitteisiin. Samassa ympäristössä on myös NAS-palvelimia ja muita tietokoneita. Vaikka luottaisin tekoälyyn kuinka paljon tahansa, en silti pidä järkevänä ajatusta, että sille annetaan mahdollisuus liikkua sellaisessa ympäristössä, jossa sillä ei yksinkertaisesti ole mitään asiaa.

En minä tässä ajatellut mitään elokuvien tekoälyä, joka yhtäkkiä päättää karata käsistä ja ottaa koko maailman haltuunsa. Tavallinen inhimillinen virhe riittää aivan hyvin. Tekoäly voi ymmärtää tehtävän väärin, minä voin antaa sille epäselvän ohjeen tai se voi tehdä muutoksen suuremmalle alueelle kuin olin tarkoittanut. Ohjelmoinnissa tällaiset tilanteet eivät ole mitenkään ihmeellisiä, ja aivan samalla tavalla ihminenkin voi poistaa väärän tiedoston tai tehdä muutoksen, jonka vaikutuksia ei ensin huomaa.

Siitä lähti ajatus tehdä tekoälylle kokonaan oma työympäristö. En yrittänyt rakentaa järjestelmää, jossa tekoäly ei voisi koskaan tehdä virhettä, koska sellainen tavoite olisi aika epärealistinen. Paljon järkevämmältä tuntui rakentaa ympäristö niin, että mahdollisen virheen seuraukset pysyvät mahdollisimman pieninä.

Tein koneelle oman eristetyn verkon. Lähtökohta oli hyvin yksinkertainen. Koneen täytyy päästä internetiin, koska ChatGPT ja Codex sitä tarvitsevat, mutta koneella ei ole mitään tarvetta päästä muualle omaan lähiverkkooni. Niinpä pääsy muihin verkon laitteisiin estettiin. Se ei pääse NAS-palvelimille eikä muille tietokoneilleni, vaan sillä on käytännössä oma pieni verkkonsa, josta liikenne pääsee ulospäin internetiin mutta ei normaalin kotiverkon tai työympäristön puolelle.

Tämän jälkeen asensin koneeseen Windows 11:n kokonaan puhtaalla asennuksella. Se oli mielestäni myös tärkeä osa koko ajatusta. En halunnut käyttää vanhaa Windows-asennusta, jossa olisi vuosien varrella kertynyt kaikenlaisia ohjelmia, tallennettuja tunnuksia, verkkoyhteyksiä ja muuta sellaista, jonka olemassaoloa ei välttämättä enää edes muistaisi. Kun käyttöjärjestelmä asennettiin puhtaalta pöydältä, tiedän paljon tarkemmin mitä koneessa on ja mitä sinne myöhemmin asennan.

Windowsiin asensin ChatGPT:n työpöytäversion ja nyt käytän Codexia sen kautta. Sinne voin tuoda ohjelmaprojektin, jota haluan kehittää tai testata, ja antaa tekoälylle huomattavasti enemmän vapautta kuin varsinaisella työkoneellani olisin valmis antamaan. Tämä on käytännössä juuri se syy, miksi koko ympäristö tehtiin. Codex saa siellä tehdä töitä oikeiden projektien kanssa, mutta se tekee sen alueella, jonka olen itse sille rajannut.

Käytännössä työskentely eroaa aika paljon siitä, miten tekoälyä vielä hetki sitten käytin. Nyt minun ei aina tarvitse kopioida yksittäistä virheilmoitusta tai muutamaa riviä koodia keskusteluun ja yrittää itse arvata, mistä ongelma johtuu. Codex pystyy tutkimaan koko projektia, käymään läpi sen rakennetta ja etsimään itse niitä tiedostoja, jotka liittyvät käsillä olevaan ongelmaan. Sen jälkeen se voi tehdä tarvittavia muutoksia ja ajaa ohjelmaa uudelleen.

Käytännössä työskentely näyttää juuri tältä. Codex käy läpi ohjelmaprojektia, tutkii tiedostoja, tekee niihin muutoksia ja testaa lopputulosta. Se voi esimerkiksi löytää käyttöliittymästä asetteluun liittyvän ongelman ja ryhtyä korjaamaan sitä. Minä pystyn samalla seuraamaan, mitä se tekee ja mihin tiedostoihin muutoksia tulee. Tämä on jo aivan eri asia kuin pelkkä kysymysten esittäminen tekoälylle, koska tässä se osallistuu oikeasti ohjelman tekemiseen.

Se ei tietenkään tarkoita sitä, että voisin itse lakata ymmärtämästä mitä ohjelmassa tapahtuu. Omassa käytössäni en halua hyväksyä muutoksia vain sillä perusteella, että tekoäly ilmoittaa kaiken olevan kunnossa. Ajan ohjelman itse, katson lopputuloksen ja testaan, toimivatko muutokset niin kuin oli tarkoitus. Joskus Codex osuu kerralla oikeaan, joskus se tekee melkein oikein ja joskus se lähtee väärään suuntaan. Silloin tehtävää tarkennetaan tai muutokset palautetaan ja yritetään uudestaan.

Tämä erillinen ympäristö on tehnyt kokeilemisesta paljon rennompaa. Jos projekti menee pahasti sekaisin, kyseessä on kuitenkin projektikopio eikä ainoa olemassa oleva versio. Jos koko Windows jostain syystä menisi niin pahasti solmuun, ettei sitä enää kannattaisi korjata, sen voi asentaa uudelleen. Koneessa ei ole mitään sellaista aineistoa, jonka menetys aiheuttaisi varsinaiselle työlleni ongelmia.

Tavallaan tästä syntyi tekoälylle oma hiekkalaatikko, mutta ei siinä mielessä, että siellä vain leikittäisiin. Teen siellä ihan oikeita ohjelmaprojekteja ja käytän Codexia juuri siihen työhön, johon se on tarkoitettu. Ero tavalliseen työympäristöön on siinä, että rajat on mietitty etukäteen. Se saa käyttää internetiä ja se saa työskennellä niiden tiedostojen kanssa, jotka olen sille antanut, mutta sillä ei ole mitään tarvetta päästä katsomaan mitä muualla verkossani tapahtuu.

Mielestäni tämä on myös aika luonteva jatko sille, miten tietotekniikan turvallisuutta muutenkin ajatellaan. Varmuuskopioita ei tehdä siksi, että tietokone varmasti hajoaa tänään, vaan siksi, että joskus se voi hajota. Verkon laitteita ei erotella toisistaan siksi, että jokainen niistä olisi vaarallinen, vaan siksi, ettei kaikkien laitteiden tarvitse päästä kaikkialle. Samalla tavalla minä ajattelen nyt myös tekoälyä. Ei minun tarvitse olettaa sen olevan vaarallinen, mutta ei minun myöskään tarvitse antaa sille enemmän oikeuksia kuin se työnsä tekemiseen tarvitsee.

Samalla tämä ympäristö antaa minulle mahdollisuuden opetella itsekin uudenlaista tapaa tehdä ohjelmia. Codex pystyy jo nyt tekemään paljon sellaista, mikä vielä vähän aikaa sitten tarkoitti sitä, että istuin itse etsimässä oikeaa kohtaa koodista. Nyt voin määritellä ongelman, antaa tekoälyn tutkia sitä ja sen jälkeen arvioida sen tekemän ratkaisun. En pidä tätä omasta osaamisesta luopumisena, vaan enemmänkin uuden työkalun käyttämisenä. Vasarakaan ei rakenna taloa yksin, vaikka sillä pystyy tekemään paljon nopeammin kuin paljain käsin.

Ehkä juuri siksi halusin rakentaa tämän ympäristön kunnolla enkä vain asentaa Codexia tavalliselle koneelle ja katsoa mitä tapahtuu. Haluan pystyä kokeilemaan, kuinka pitkälle tällaisen työkalun kanssa voi mennä, mutta haluan tehdä sen omilla ehdoillani. Jos tekoälystä tulee tulevaisuudessa vielä nykyistä itsenäisempi työkalu ohjelmointiin ja muihin tietokonetöihin, uskon että tällaisille rajatuille ympäristöille tulee entistä enemmän käyttöä.

Minulle tässä ei lopulta ole kyse siitä, luotanko tekoälyyn vai en. Käytän sitä jo niin paljon, että jonkinlainen luottamus siihen tietenkin on olemassa. Kyse on enemmän siitä, että tietotekniikassa en muutenkaan rakenna mitään sen oletuksen varaan, ettei virheitä koskaan tapahdu. Nyt sama ajatus ulottuu myös tekoälyyn. Annan sen tehdä töitä, annan sen kokeilla ja annan sille aika paljonkin vapautta, mutta teen sen ympäristössä, jossa minä päätän rajat.