Lokaalisti ajettavien tekoälyagenttien käyttökokemuksia

10.06.2026

Modernissa ohjelmistokehityksessä on nykyään normaalia käyttää tekoälytyökaluja. Ennenvanhaan kehittäjillä oli tapana kopioida epämääräisiä virheilmoituksia Googleen, ja toivoa, että Stackoverflow-sivustolla on joku ehtinyt jo ratkaista juuri tämän kyseisen ongelman. Nykyään virheilmoituksien kautta tapahtuvaa vianselvitystä voi tehdä kielimallien avulla, jotka tuottavat hyvin päteviä vastauksia kehittäjien haasteisiin.

Uusien toiminnallisuuksien rakentaminen ohjelmistotuotteisiin on haasteellista, sillä ohjelmointityöstä vain pieni osa on ohjelmakoodin kirjoittamista – eräs opettajani muotoili asiaa hyvin sanomalla, että koodin kirjoittaminen on triviaalia siinä vaiheessa, kun tietää mitä ongelmaa on ratkaisemassa. Työelämässä tapahtuvassa ohjelmistokehitystyössä tulee usein vastaan hyvin epämääräisesti muotoiltuja tehtäviä, jolloin kriittiseksi pullonkaulaksi ei muodostu koodin tuottaminen sinänsä, vaan asiakkaan esittämien toiveiden tulkitseminen toteutettavissa olevaan muotoon. Tämä vaatii asiakkuuksien ymmärtämistä ja herkkää korvaa ihmisten väliseen vuorovaikutukseen, eikä sitä voi vielä korvata kielimalleilla.

Kielimallit ovat erinomaisia työkaluja ohjelmistokehittäjille, sillä ne poistavat eri ohjelmointikieliä koskevat rajoitteet – olio-ohjelmointi on olio-ohjelmointia ja hyvin samankaltaista eri ohjelmointikielillä, eikä kehittäjän ole välttämätöntä olla syväosaaja juuri siinä ohjelmistokehikossa, mitä kussakin projektissa käytetään. Kielimalleja on mahdollista ajaa pilvipalveluntarjoajien ympäristöissä, jolloin se väistämättä tarkoittaa sitä, että käyttäjä ei tiedä miten käyttäjän dataa käytetään. Sopimustekstit ostajan ja myyjän välillä ovat sanoja paperilla, ja joillekin asiakkaille se ei sellaisenaan riitä luottamukseen, vaan he voivat kieltää kielimallien käytön tällä tavalla.

Toinen mahdollisuus on ajaa kielimalleja kokonaan ilman verkkoyhteyttä – tällöin puhutaan lokaaleista tai paikallisista kielimalleista. Paikallisesti ajettavien kielimallien paras puoli on se, että niissä käyttäjä ei joudu tekemään kompromisseja tietoturvan kanssa – päätelaitteessa ei tarvita välttämättä edes verkkoyhteyttä kielimallin hyödyntämiseksi, joten data on turvassa kehittäjän paikallisella koneella. Kehittäjien on myös mahdollista hyödyntää ennestään tuttua Visual Studio Code-kehitysympäristöä, johon paikalliset mallit saa suoraan integroitua samankaltaisesti kuin pilvipalveluntarjoajien mallit. Paikallisia malleja voi vaihtaa helposti mallista toiseen ollama-ohjelman avulla ja niitä on mahdollista räätälöidä erillisten modelfile-tiedostojen avulla.

Jokaiseen valintaan liittyy oleellisesti vaihtokauppa. Tässä tapauksessa vaihtokaupassa paikallisen kielimallin yksityisyydestä maksetaan heikompana suorituskykynä ja yleisenä kyvykkyytenä. Heikompi suorituskyky ja kyvykkyys ovat seuraamusta siitä, että malleja on kvantisoitu rankalla kädellä ja niillä on pilvimalleja rajallisempi konteksti. Kvantisointi tarkoittaa sitä, että alunperin kielimallin neuroverkon painoissa on käytetty suuremman tarkkuuden liukulukuja ja kvantisoinnissa on turvauduttu näitä arvoja lähellä oleviin kokonaislukuihin – maallikolle tämän voisi kuvata Roomassa käytössä olleella piin likiarvolla 3 ja 1/8, joka on noin 3.125, joka riitti vallan mainiosti imperiumin rakennustarpeisiin. Konteksti voidaan puolestaan hahmottaa mallien työmuistina. Molemmat näistä muokkausista malleihin on tehty hyvin yksinkertaisesta syystä – mallien on tultava toimeen huomattavasti serverilaitteistoja köyhemmissä olosuhteissa.

Yksittäiset koodinmuokkaustehtävät voivat onnistua lokaaleilta malleilta aivan yhtä hyvin kuin miljardeja dollareita maksaneilta malleilta, mutta Ladan hinnalla ei toistaiseksi saa Mersua. Paikallisesti ajettavat mallit tarvitsevat sellaisenaan huomattavasti tarkempia syötteitä tuottaakseen hyvälaatuista tavaraa ja pidempää ponnistelua vaativat tehtävät pääsääntöisesti epäonnistuvat. Näin ei kuitenkaan välttämättä ole enää lähitulevaisuudessa, kun paikallisia malleja saadaan paremmin hyödyntämään esimerkiksi tietokoneen massamuistia kontekstin pidentämiseen ja pidempiä tehtäviä saadaan automaattisesti paloiteltua mallin toimesta toteutettaviin paloihin. Yksittäisten koodiongelmien ratkaiseminen onnistuu verrattain hyvin paikallisilta malleilta, joten ongelman palastelu riittävän pieniin palasiin pitäisi loogisesti parantaa niiden osumatarkkuutta.

Toistaiseksi paikallisia malleja voi suositella kokeiluun, riittävän hyvin palasteltuihin tehtäviin ja sellaisiin projekteihin, joissa verkkoyhteyden varassa toimivat mallit ovat kiellettyjä.