GoSuda

AI-natiivi ohjelmistokehitysmetodologia: kaksisuuntaisesta kontekstin kierrosta työkalujen käytön yli

By gosunuts views ...

Tekoäly ja ohjelmistokehittäjä

Ohjelmistokehittäjien suhtautuminen tekoälyyn on monitahoinen. Tekoäly on mahdollistanut ennennäkemättömän tuottavuuden kasvun ja tiedonhankinnan, mutta samalla kehittäjän rooli on muuttumassa perusteellisesti. Jotkut ennakoivat, että tekoäly kehittyy yleiseksi tekoälyksi (AGI) ja korvaa suurimman osan kehittäjistä, kun taas toiset vähättelevät tekoälyä yliarvostettuna työkaluna ja väittävät, että kehittäjän olemuksellinen arvo ei muutu. Nämä kannat näyttävät ulkoisesti täysin vastakkaisilta, mutta ne ovat yllättävän samankaltaisia siinä, että molemmat arvioivat tekoälyä olemassa olevan ajattelutavan mittapuulla.

Tässä on kuitenkin tärkeää, että kyse ei ole tekoälyn arvioimisesta tai arvottamisesta. Varsinainen ydinkysymys on se, miten tekoälyn varaan rakentuvan kehittämisen ajattelutapa tulee muuttaa ja miten kehittäjien ja organisaatioiden roolit tulee muokata tämän muutoksen mukaisesti. Tätä varten tekoälykehitysmetodologia on jäsennelty alla esitettävään kolmivaiheiseen analyysiin.

Tekoälystä riippuva kehittäminen

Tekoälystä riippuva kehittäminen on vaihe, jossa tekoäly asetetaan päätöksenteon subjektiksi ja sen tuloksia hyväksytään kritiikittömästi. Tässä vaiheessa kehittäjä ymmärtää tekoälyn olemassaoloksi, joka jäsentää ja toteuttaa hänen ideansa, ja pidemmälle mentäessä hän pitää sitä korvaajana, jolle voi siirtää myös päätöksenteon ja vastuun.

Tämä tapa näyttää pinnalta räjähdysmäisesti kasvattavan tuottavuutta. Käytännössä kuitenkin kertyy nopeasti koodia, jota ei voi selittää eikä jolle ei voi ottaa vastuuta. Tällainen koodi tuottaa ongelmatilanteissa tilanteen, jossa kukaan ei voi varmasti sanoa, miksi rakenne on syntynyt tai mitkä valinnat ovat oikeita.

Tässä vaiheessa tekoäly tuottaa vain epäluotettavia tuloksia, ja kehittäjä jää kuluttajan rooliin, joka käyttää näitä tuloksia. Lopputuloksena sekä tekoäly että kehittäjä käytetään kuluttavasti, eikä todellista osaamista kerry mihinkään.

Tekoälyn käyttöön perustuva kehittäminen

Tekoälyn käyttöön perustuva kehittäminen on vaihe, joka näkyy taitavammilla kehittäjillä. Tässä vaiheessa kehittäjä ymmärtää tekoälyn ei korvikkeena harkinnalle, vaan tehokkaana työkaluna, joka lisää tuottavuutta. Tämän vaiheen kehittäjä pysyy suunnittelun ja lopullisen päätöksenteon subjektina ja delegoi tekoälylle toistuvat ja kustannuksiltaan raskaat tehtävät, kuten koodin generoinnin, refaktoroinnin, virheiden etsinnän ja dokumentaatioiden tiivistämisen. Tämä tapa vähentää merkittävästi kehittäjän toistotyön osuutta sekä mahdollistaa tuottavuuden dramaattisen kasvun säilyttäen luottamuksen.

Tämä tapa on kuitenkin rakenteellisesti rajoittunut siltä osin, ettei suunnittelun konteksti ja päätöksenteko kierrä takaisin. Kehityksen suunta ja päätöksentekoprosessi jäävät yksittäisen kehittäjän pohdinnan varaan eikä niitä jaeta tekoälyn kanssa, minkä vuoksi tekoäly ei kerrytä kehittäjän muutosta ja kasvua. Tämän seurauksena suunnittelun konteksti ja päätöksentekokyky eristyvät kehittäjälle.

Tämän vuoksi kehittäjän ja tekoälyn välille ei synny oppimiskiertoa, eikä tekoälyn käyttötaito laajene kehittäjän olemassa olevan osaamisen ulkopuolelle. Kasvu kohdistuu yksilölle, ja ajan myötä osaamiskuilu kehittäjien välillä kasvaa. Lisäksi tämä osaaminen osoittaa rajoituksen siinä, ettei sitä ole helppo kerryttää tai toistaa organisaation tasolla.

Tekoälynatiivi kehittäminen

Tekoälynatiivi kehittäminen tarkoittaa vaihetta, jossa tekoälyn luottamisen tai työkaluna käyttämisen ylittäen tekoäly sisällytetään kehitysrakenteeseen ja päätöksentekoprosessiin, ja tekoäly ja ihminen vuorovaikuttavat ja kehittyvät yhdessä. Tässä vaiheessa tekoäly toimii jäsenenä, joka jakaa kehittäjän päätöksenteon ja kontekstin ja on vuorovaikutuksessa niiden kanssa.

Tämän rakenteen ydin on siinä, että tekoäly ja kehittäjä kiertävät tietoa kaksisuuntaisesti eikä yksisuuntaisesti. Kehittäjä jakaa jatkuvasti suunnittelun tarkoituksen ja päätöksen perustelut tekoälylle, ja tekoäly kerryttää näiden kautta kehittäjän ajattelua ja organisaation kontekstia. Tämän seurauksena tekoäly kehittyy pelkän pyyntöjen käsittelijän sijaan työkaluksi, joka tarjoaa organisaatioon räätälöityjä vaihtoehtoja sekä avustaa ja korjaa kehittäjän päätöksentekoa.

Tekoälynatiivi kehittäminen ei nojaa tietyn henkilön taitoon tai kikkoihin. Vaikka jäsenet vaihtuisivat, tekoälykonteksti säilyy, jolloin samaan ongelmaan voidaan esittää samankaltaisesta näkökulmasta lähtevä kysymys ja jatkaa parempia päätöksiä aiempien valintojen ja niiden perustelujen pohjalta. Kehittämisen osaaminen ei kohdistu yksilölle, vaan kertyy ja toistuu koko organisaatiossa.

Lopulta tekoälynatiivi kehittämisen tavoitteena ei ole tietty arkkitehtuuri tai kehitysmetodologia, vaan itse kehitysprosessi, jossa tekoälyn ja ihmisen päätöksenteko ja oppiminen vahvistuvat jatkuvasti. Tässä rakenteessa kehittäjä ja tekoäly eivät korvaa toisiaan. Sen sijaan he jakavat saman ongelmakentän ja kehittyvät suhteeseen, jossa he yhdessä luovat parempia päätöksiä ja vankempia rakenteita.