
Tekoälyagentit ovat tulleet nopeasti ohjelmistokehitykseen, mutta sulautetuissa järjestelmissä niiden käyttö ei ole yhtä suoraviivaista kuin pilvi-, web- tai työpöytäsovelluksissa. Qt:n mukaan agenttipohjainen kehitys sopii myös sulautettuihin laitteisiin, mutta vain jos agentti tuntee kohdelaitteiston rajoitteet ja ihmisen tekemä tarkastus säilyy osana kehitysprosessia.
Sulautetussa järjestelmässä muistia, prosessoritehoa tai tallennustilaa ei yleensä voida lisätä tarpeen mukaan. Lisäksi ohjelmistovirhe voi pysäyttää esimerkiksi ajoneuvon, lääkintälaitteen tai teollisuusjärjestelmän. Siksi tekoälyn generoimaa koodia ei Qt mukaan voida hyväksyä suoraan tuotantoon.
Yleiskäyttöiset koodausagentit on pitkälti koulutettu web-, työpöytä- ja mobiiliohjelmistojen kehitykseen. Sulautetuissa järjestelmissä niiden pitää kuitenkin osata ottaa huomioon esimerkiksi binäärin koko, suorittimen jaksoihin liittyvät rajoitukset, käyttöliittymän suorituskyky sekä kohdelaitteen tarkka laitteistoarkkitehtuuri.
Qt nostaa erityiseksi ongelmaksi sen, että työpöytäkoneella tai simulaattorissa toimiva ratkaisu ei välttämättä toimi samalla tavalla varsinaisessa laitteessa. Suorituskykyongelmat voivat tulla näkyviin vasta todellisella kohdelaitteistolla. Siksi myös agenttien tekemä optimointi pitäisi sulkea niin sanottuun hardware-in-the-loop-kehään, jossa agentti muuttaa koodia, ajaa sen laitteessa, kerää telemetriaa ja tekee uuden version tulosten perusteella.
Qt mukaan tällainen iterointi voi olla huomattavasti ihmisen käsin tekemää optimointia nopeampaa. Agentti voi esimerkiksi pienentää binäärikokoa tai vähentää suorittimen kuormitusta useiden peräkkäisten testikierrosten avulla.
Agentti ei silti korvaa ohjelmistokehittäjää. Qt mukaan tuotantokelpoisessa agenttipohjaisessa kehityksessä tarvitaan kolme asiaa: kohdelaitteiston tuntevat agenttitaidot, ihmisen tekemä tarkastus sekä selvä vastuu siitä, mitä tuotantoon lopulta viedään.
Tarkastus voi osittain automatisoitua. Agentti voi tehdä ensimmäisen koodikatselmoinnin ja sen rinnalla voidaan käyttää perinteistä staattista analyysiä. Lopullisen hyväksynnän pitäisi Qt mukaan kuitenkin edelleen kuulua ihmiselle, etenkin säädellyillä aloilla.
Taustalla on myös vastuu. EU Cyber Resilience Act asettaa ohjelmistoa sisältävän tuotteen kyberturvallisuusvastuun valmistajalle koko tuotteen elinkaaren ajaksi. Se koskee myös koodia, jonka tekoälyagentti on tuottanut.
Sulautettujen järjestelmien kehitys ei siis näyttäisi jäävän agenttivallankumouksen ulkopuolelle. Agenttien tehtävä vain muuttuu: niiden ei riitä osata kirjoittaa toimivaa koodia, vaan niiden pitää ymmärtää myös se laitteisto, jossa koodi lopulta ajetaan.
Lue lisää Qt:n sivuilta.




















