Olen työskennellyt tekoälyn parissa useita vuosia. Oma matkani alkoi kesällä 2022, kun pääsin GPT-3:n beta-käyttäjäksi. Alkuun kyse oli lähinnä uteliaisuudesta. Siitä, mitä tällä oikeastaan voi tehdä?
Kun GPT-3.5 julkaistiin, jokin muuttui. Yhtäkkiä tekemisessä alkoi olla järkeä. Pian kävi selväksi, että kyse ei ole vain yhdestä työkalusta, vaan täysin uudesta tavasta rakentaa ohjelmistoja.
Kesällä 2023 julkaisin ensimmäisen agenttini, ja siitä eteenpäin kehitys on ollut nopeaa. Samalla ajatus on kirkastunut: yksi ihminen ja yksi tekoäly ei riitä. Tarvitaan kokonainen agenttitiimi.
Kehitysnopeus on räjähtänyt
Muutos näkyy konkreettisimmin siinä, kuinka nopeasti projekteja syntyy.
Vielä kesällä 2024 rakensin iOS-sovelluksen perinteisellä tavalla noin neljässä viikossa. Vuotta myöhemmin sama sovellus syntyi agenttien avulla kahdessa viikossa. Kun siirryin Vision-Driven Development -metodin, kehitys nopeutui entisestään: Knut Book Scanner-sovellus valmistui kolmessa päivässä, ja 27 000 rivin Ride Computer -sovellus valmistui viikossa alusta loppuun uusine ominaisuuksineen.
Ero tuntuu lähes epärealistiselta. Parhaimmillaan kokemus on jopa hämmentävä: sinulla on ajatus, ja agenttitiimi tekee siitä toimivan sovelluksen.
"Ihminen ei enää ole toteuttaja, vaan suunnan näyttäjä."
Vibe codingin rajat tulevat vastaan
Vibe coding toimii erinomaisesti silloin, kun projekti on pieni. Malli on suoraviivainen: yksi ihminen keskustelee yhden tekoälyn kanssa ja pyytää tältä koodia tarpeen mukaan. Työ etenee ilman sen kummempaa suunnittelua – enemmän fiilispohjalta kuin prosessia noudattaen.
Ongelmat alkavat vasta, kun kokonaisuus kasvaa.
Kun koodipohja ylittää muutaman tuhannen rivin, kehitys alkaa hajota huomaamatta. Tekoäly ei enää muista aiempia ratkaisuja, ja samat asiat joudutaan selittämään uudelleen. Yhden bugin korjaaminen synnyttää helposti uusia, ja muutosten tekeminen useaan tiedostoon muuttuu hankalaksi. Testit puuttuvat tai eivät anna luotettavaa kuvaa tilanteesta.
Lopulta tilanne on se, että kehittäjä yrittää debugata tekoälyn tuottamaa koodia, jota ei itse kunnolla ymmärrä.
Juurisyy: ihminen on pullonkaula
Aluksi ongelma näyttää tekniseltä. Konteksti loppuu, muisti ei riitä ja keskustelun tiivistelmät vääristyvät. Mutta kun tilannetta tarkastelee pidemmälle, syy löytyy usein muualta. Ihmisestä.
Yritin itse pitää koko projektin mielessäni, vaikka kokonaisuus kasvoi jatkuvasti. Sama rajoite koskee tekoälyä: kumpikaan ei pysty hallitsemaan loputtoman suurta kontekstia. Vibe codingissa tekoäly toimii työkaluna, mutta ihminen ohjaa kaikkea, ja samalla muodostaa pullonkaulan.
Vision-Driven Development Method – AI-natiivi malli
Vision-Driven Development Method: An AI-native model for software development lähtee eri suunnasta. VDD-metodin ytimessä on ajatus, että ihmisen ei tarvitse hallita yksityiskohtia, vaan riittää, että hän pitää kirkkaana mielessään lopputuloksen.
Käytännössä tämä tarkoittaa sitä, että ihminen vastaa visiosta eli siitä, millainen sovelluksen tulisi olla, ja agenttitiimi vastaa toteutuksesta. Visio ei ole speksi tai tekninen suunnitelma, vaan konkreettinen mielikuva valmiista tuotteesta.
Mallin voi tiivistää yksinkertaiseen ajatukseen: kun visio yhdistetään erikoistuneeseen agenttitiimiin, pysyvään muistiin ja selkeään prosessiin, syntyy tapa kehittää ohjelmistoja, joka skaalautuu aivan eri tavalla kuin perinteinen malli.
Kehittäjän rooli muuttuu
Samalla muuttuu myös kehittäjän rooli.
Perinteisesti kehittäjä kirjoittaa koodia, tekee arkkitehtuuripäätökset ja pitää kokonaisuuden kasassa. VDD:ssä nämä vastuut jakautuvat agenttien kesken. Tuoteomistaja-agentti auttaa vaatimusten määrittelyssä, arkkitehtiagentti tekee tekniset ratkaisut ja QA-agentti varmistaa laadun.
Ihminen ei enää ole toteuttaja, vaan suunnan näyttäjä. Hän on vision omistaja, joka ohjaa kokonaisuutta ja tekee lopulliset päätökset.
Prosessi pitää agentit kurissa
Kun vastuu jaetaan usealle toimijalle, tarvitaan myös selkeä prosessi.
Keskeistä on, että ennen toteutusta määritellään, mitä onnistuminen tarkoittaa. Toteutus ja laadunvarmistus kulkevat tiiviisti rinnakkain: yksi agentti vastaa toteutuksesta, toinen arvioi lopputulosta ja palauttaa sen tarvittaessa korjattavaksi.
Tämä sykli toistuu, kunnes kokonaisuus täyttää vaatimukset.
Käytännössä tämä tarkoittaa sitä, että vaikka yksittäinen vaihe voi tuntua hitaammalta, kokonaisuus etenee nopeammin ja virheitä syntyy vähemmän.
Agenttitiimi korvaa yksilön
VDD-metodissa kehitys ei ole enää yksilösuoritus, vaan tiimityötä, vaikka tiimi koostuukin agenteista.
Ihminen määrittää suunnan ja hyväksyy lopputuloksen, mutta varsinainen työ jakautuu eri rooleihin. Tuoteomistaja pilkkoo työn ja ohjaa tekemistä, suunnittelija vastaa rakenteesta ja käyttökokemuksesta, ja kehittäjät sekä QA huolehtivat toteutuksesta ja laadusta.
Keskeistä on se, että jokaisella on oma roolinsa ja vastuualueensa, ja kokonaisuus pysyy hallinnassa ilman, että yhden toimijan tarvitsee kantaa kaikkea.
"Nyt tuntuu siltä, että jotain oikeasti uutta on tapahtunut."
Muisti ratkaisee skaalausongelman
Yksi keskeinen muutos on pysyvän muistin käyttöönotto.
Sen sijaan, että kaikki tieto olisi yksittäisen keskustelun varassa, jokainen agentti tallentaa havaintojaan ja oppii virheistään. Lisäksi koko projektilla on yhteinen muistipohja, johon kirjataan keskeiset päätökset ja tekeminen.
Tämä vähentää toistoa, parantaa laatua ja ennen kaikkea mahdollistaa sen, että projekti voi kasvaa ilman, että kokonaisuus hajoaa.
Miltä projekti näyttää käytännössä?
Käytännössä projekti käynnistyy yksinkertaisella visiolla: esimerkiksi ajatuksella siitä, millainen verkkokaupan tulisi olla.
Agenttitiimi tuottaa nopeasti ensimmäisen version, joka harvoin on täydellinen. Sen jälkeen kehitys etenee iteratiivisesti. Yksityiskohtia hiotaan, virheitä korjataan ja kokonaisuutta parannetaan askel kerrallaan.
Samalla visio tarkentuu. Alussa se voi olla epämääräinen ajatus, mutta projektin edetessä siitä muodostuu selkeä ja viimeistelty kokonaisuus.
Esimerkki: verkkokauppa tunneissa
Rakensin agenttitiimillä Ducati-aiheisen verkkokaupan tämän mallin mukaisesti.
Ensimmäinen versio syntyi muutamassa tunnissa: toimiva käyttöliittymä, tuotelistaus ja ostoskori olivat jo paikallaan. Kokonainen MVP backendin kanssa valmistui noin puolessa päivässä.
Mielenkiintoista oli myös se, kuinka helposti samaa pohjaa pystyi hyödyntämään eri brändeihin. Tiimi mukautti visuaalisen ilmeen automaattisesti ilman erillistä ohjeistusta.
Miksi tämä on merkityksellistä?
Olen tehnyt ohjelmistokehitystä lähes 30 vuotta. Pitkään kehitys oli tasaista ja melko ennakoitavaa.
Nyt tuntuu siltä, että jotain oikeasti uutta on tapahtunut.
Suurin muutos ei ole pelkästään nopeudessa, vaan siinä, miltä työ tuntuu. Ideasta pääsee suoraan toteutukseen ja takaisin palautteeseen lähes reaaliajassa. Se tekee kehittämisestä jälleen luovaa ja innostavaa.
Jussi summaa
-
Vibe coding toimii hyvin niin kauan kuin kokonaisuus pysyy pienenä. Kun projekti kasvaa, sekä ihminen että tekoäly törmäävät rajoihinsa.
-
Vision-Driven Development Method tarjoaa tähän vaihtoehdon. Se siirtää fokuksen yksityiskohtien hallinnasta kokonaisuuden ohjaamiseen ja mahdollistaa kehityksen skaalautumisen uudella tavalla.
-
Ohjelmistokehitys ei ole enää pelkästään koodaamista. Se on visiovetoista johtamista.
Jos projektin kasvaessa kokonaisuus alkaa hajota, Vision-Driven Development -metodi voi olla hyödyllinen tapa työskennellä. Näytämme mielellämme, miten agenttitiimi toimii käytännössä. >> Varaa demo tai ota yhteyttä lisätietoja varten