Olen mietiskellyt, miten itse koodaan ja oma lähestymistapani on suunnitella karkealla tasolla arkkitehtuuri, sitten alkaa kirjoittelemaan alatason juttuja. Korjailen sitten tarvittaessa arkkitehtuuria kun huomaan siinä jotain ongelmia. En siis kirjoita pilkulleen kaikkea mahdollista ylös ensin, koska tiedän että en minä kuitenkaan osaa kaikkea etukäteen ajatella. Mutta työskentelen niin, että aika isotkin muutokset on yleensä helppo tehdä, siis ilman isoja koodimuutoksia.
Miten moni jaksaa suunnitella kaiken valmiiksi ennen ensimmäisenkään koodirivin tekemistä? Koska AI:n kanssa taitaa helposti käydä niin, että jos tulee joku arkkitehtuuriin liittyvä ongelma, niin siinä tulee pirusti muutoksia -> katselmoitte pirusti koodia turhaan, eikös?
Mietin myös, että millainen on sellainen ohjelmoija, joka mielellään antaa koodaamisen AI:lle? "Leipäpappi" on sana, joka itsellä tulee mieleen. Eikä siinä mitään vikaa ole, ei kaikkien ole pakko olla kiinnostunut ohjelmoinnista, että voi alalla toimia. Ihan samalla tavalla voi toimia pappina vaikkei uskoisi ko. uskonnon jumalaan. Pidän aika lailla itsestäänselvänä, että leipäpappien määrä alalla tulee kasvamaan räjähdysmäisesti.
AI:ta voi käyttää hyvin ja huonosti. Kannattaa päästää irti siitä, että AI olisi jonkinlainen taikaluoti jonka pitää ratkaista kaikki ongelmat olipa käyttäjä kuka tahansa ja jos näin ei ole niin AI on paskaa. Lukemalla VIBE-koodaus kirjan silmät voi avautua jos ei ole niin syvällä poterossa että peli on menetetty.
Voi ja kannattaa esimerkiksi ensin tehdä deep research:in avulla arkkitehtuuridokumentti tyyliin
"Research top 3 solutions for creating application/service/... X. Detail the solutions and industry best practices in document. For each solution create software architecture that fits following requirements: .... Add links to relevant industry best practices, internet and books source material" jne jne... Pilvi murskaa 30min+ ja syntyy kiva dokkari mistä saa asiasta kiinni. Jos tietää jo miten homma kannattaisi tehdä niin aloittaa '"create architecture document for X using patterns/books/technology/... A,B,C,D jne." kertoo suoraan AI:lle miten se systeemi rakennetaan.
Kahlaa dokkarin + linkit läpi ja iteroi arkkitehtuuria. Lopuksi käskyttää tekemään valituista palasista design dokkarin. Design dokkarin pohjalta "take this design document and implement functional prototype for following features: A,B,C,", ignore features "D,E,F". Iteroi throw away protoa millä testaa asioita. Tässä kohtaa saa tunneissa/päivissä opittua sen mitä perinteisesti vääntämällä voisi mennä viikkoja/kuukausia. Tätä voi kokeilla ensin YOLO:na ja jos ei lähde niin sitten palastelee pienempiin osiin throw away protoa.
Kun on testannut asioita tarpeeksi eli tietää mitä haluaa niin luo uudet arkkitehtuuri ja design dokkarit ai:n avulla. Design dokkarin pohjalta pilkkoo applikaation taskeiksi jiraan/lineariin(mcp-serveri integroituu,...). Lopuksi toteutetaan tiketti kerrallaan. Ensin purkaa plan:lla tiketin palasiin jos on sellainen tiketti ettei YOLO toimi. Jos on paljon tikettejä mitkä AI voi hoitaa niin purkaa ja katselmoi tiketit ensin plan:in avulla ja antaa agenttiarmeijan poimia tiketit tehtäväksi. Tekee itse sen mihin tietää tai huomaa ettei AI pysty.
Koko toteutusvaihe kannattaa tehdä TDD-tyylisesti kun AI ei kyllästy testien kirjoittamiseen, ajamiseen, refaktorointiin.
Tietenkin tuonne väliin kaikenlaiset katselmoinnit, yhdessä tuumailut yms. sekaan. Kirjoitin ylläolevalla lyhyesti koska en halua sitä koko VIBE-koodauskirjaa ts. satoja sivuja postaukseen laittaa.
AI koodaus ei ole YOLO-promptausta kun tehdään mitään oikeaa isompaa kokonaisuutta. Jotain pieniä työkaluja, dashboardeja, throw away protoja yms. voi YOLOttaa.