Siirry sisältöön

Vain hyvää tunnelmaa

On erityinen tunne, joka syntyy, kun matka ideasta toimivaan asiaan romahtaa yhtäkkiä lyhyeksi. Yhtenä hetkenä jokin makaa mielesi romulaatikossa, jonka nimilapussa lukee joskus. Seuraavassa hetkessä se on käytössä, testattu, paranneltu ja oudon lähellä hyvää. Ei täydellinen. Ei valmis. Mutta todellinen.

Se tunne on se vibe.

Moni kuulee yhä sanat ”tekoäly” ja ”vibe coding” ja kuvittelee jotakin epäuskottavaa: joku heittää toiveen chatbotille, saa takaisin spagettikoodia ja julistaa tulevaisuuden saapuneen. Mielikuva on hauska, mutta se sivuuttaa asian ytimen täysin.

Todellinen lupaus ei ole insinöörityön katoaminen. Todellinen lupaus on se, että kierros ideasta toteutukseen, palautteeseen ja korjaukseen lyhenee niin paljon, ettei eteneminen enää kuole sen keskelle.

Se muuttaa muutakin kuin koodausta. Se muuttaa sitä, kuka pääsee rakentamaan, korjaamaan, julkaisemaan ja ymmärtämään monimutkaisia asioita.

Minusta se on vibe-elämän todellinen lupaus.

Kyse ei ole rakentajan korvaamisesta. Kyse on tyhjän odotusajan poistamisesta sen välistä, mitä voit kuvitella ja mitä voit oikeasti saada aikaan.

good-vibes-only.png
Codex on juuri päivitetty ”kaiken” sovellukseksi

Vibe ei tarkoita ”ei insinöörityötä”. Vibe on tiivistettyä iterointia.

Tämä osa ihmisiltä jää huomaamatta.

Vibe coding ei ole vain toiveiden kirjoittamista päätteeseen ja toivomista, että kone keksi vahingossa osaamisen. Se on tiiviimpi yhteistyösilmukka. Tarvitset yhä harkintaa. Tarvitset yhä laatunäkemystä. Sinun on huomattava, milloin hero-animaatio on tylsä, milloin analytiikka käynnistyy kahdesti, milloin tekoälyn ei pitäisi yhdistää puhetilaan automaattisesti tai milloin pyytämäsi hävittäjä näyttää enemmän ilmalaivalta kuin sotakoneelta.

Vibe ei ole käsityötaidon puutetta. Vibe on tiivistettyä iterointia.

Pysyt mukana luovassa silmukassa. Malli kantaa valtavan määrän toteutustyöstä. Sinä ohjaat, arvostelet, vaihdat suuntaa ja hiot. Siinä taika asuu. Ei tekijyydestä luopumisessa vaan sen säilyttämisessä samalla, kun eteneminen nopeutuu dramaattisesti.

Kun silmukka loksahtaa kohdalleen, entiseen on vaikea palata.

Rakensin tämän sivuston vibe codingilla

Minulle tämä muuttui todeksi, kun rakensin tämän sivuston uudelleen OpenAI:n Codexilla.

En käyttänyt Codexia chatbotin tavoin. Käytin sitä pikemminkin nopeana teknisenä työtoverina, jolla on loputon kärsivällisyys. Annoin sille suunnan, laatunäkemyksen ja rajoitteet tavallisella englannilla. Se muutti ne toimivaksi koodiksi, jota pystyimme testaamaan heti. Ei joskus. Ei kolmen viikon asetuskierteen jälkeen. Juuri nyt.

Muutamassa keskustelussa se muuttui uudelleenrakentamiseksi: moebis.com vanhasta Ghost-kokoonpanosta React-, Vite- ja TypeScript-pinoon, siirsi kirjoitukset ja tunnisteet, lisäsi hallintanäkymän muokkaus- ja lataustoimintoineen, hioi sivuanimaatioita, korjasi Google Analyticsin kaksoislaskentaongelman, rakensi ”Chat with Moebis” -modaalin ja kytki kontekstiputken, joka kokoaa kirjoitukset, sivut ja sosiaalisen median sisällön sekä raakamuotoiseksi context.md-tiedostoksi että chatbotin pakatuksi muistitiedostoksi.

Sitten oli hauskojen asioiden vuoro. 1942-projekti lakkasi tuntumasta paikkamerkkikokeilulta ja alkoi tuntua oikealta kolikkopeliltä.

Se ei ole leludemo. Se on julkaisuun etenevä projekti.

Vanha tapa ajatella tällaista uudelleenrakennusta on: Minun pitäisi varmaan varata tähän kuukausi, tyhjentää kalenterini, perehtyä uudelleen koko pinon joka kerrokseen ja ehkä sitten aloittaa. Uusi tapa on: avaan keskustelun, määrittelen suunnan ja alan tehdä päätöksiä.

Tuolla muutoksella on merkitystä.

Hyvien ideoiden suurin tappaja on harvoin täydellinen kyvyttömyys. Se on kitka. Se on tehtävästä toiseen vaihtaminen. Se on aloittamisen henkinen vero. Vibe coding laskee tuota veroa niin paljon, että useampi idea pääsee maaliin asti.

Herätin NAS-palvelimeni henkiin vibe codingilla

Tässä asiat muuttuivat todella opettavaisiksi.

Useimmat kuulevat ”vibe coding” ja ajattelevat pienen sovelluksen tekemistä iltapäivässä. Minä sain paljon sotkuisemman version: käytin Codexia apukuskina korjatessani oikeaa koti-infrastruktuuriani.

Home Assistant asui TrueNAS-virtuaalikoneessa, koska HomeKit tarvitsi mDNS:ää. Pienestä harmista kasvoi kotilaboratorion täysimittainen leikkaus: Docker-verkot, Zigbee-USB-läpivienti, Cloudflare-tunnelit, vanhentuneet Home Assistant -rekisterit, SMART-virheet, ZFS-välimuistin omituisuudet ja yksi erittäin oikukas LG-ilmastointilaite.

Toisin sanoen tavallista kotilaboratorion arkea.

Codexista teki oikeasti hyödyllisen muukin kuin kyky kirjoittaa koodinpätkiä tai komentotulkin komentoja. Se piti koko ongelman mielessään samalla, kun minä tökin yhtä kerrosta kerrallaan. Siirsimme Home Assistantin virtuaalikoneesta TrueNASin mukautetuksi sovellukseksi, jolla oli oma LAN-IP-osoite. Liitimme SkyConnect Zigbee -tikun konttiin, palautimme piilotetun .storage-tilan, josta Home Assistant oikeasti riippuu, ja korjasimme Cloudflare-tunnelin osoittamaan kontin palveluun sen sijaan, että teeskentelisimme sen olevan tavallinen lähiverkon isäntä. Lisäksi siivosimme vanhat HACS-, SmartThinQ- ja hassio-jäänteet, joita käyttöliittymä ei olisi koskaan selvittänyt siististi omin avuin.

Paljastavinta oli, kuinka usein vastaus ei ollutkaan ”Docker on rikki”.

Kun siirto rauhoittui, jäljelle jääneet ongelmat olivat juuri sellaista tosielämän järjettömyyttä, joka tekee kotilaboratorioista opettavaisia ja absurdeja: ikääntyvä LG-laite putosi Wi-Fi-verkosta, reitittimen uudelleenkäynnistys muutti radiotoimintaa juuri sen verran, että herkkä asiakaslaite hermostui, Plex-sovelluksen verkkopainike katosi palvelun itsensä toimiessa hyvin ja NVMe-asema epäonnistui SMART-itsetesteissä yrittäen silti esittää luotettavaa välimuistilaitetta.

Codex auttoi erottamaan konttiongelmat verkko-ongelmista ja verkko-ongelmat laitteisto-ongelmista. Siinä on oikeastaan koko homman ydin, kun korjaat NAS-palvelinta, jolle on vähitellen kertynyt tehtäviä kuin autotallin hyllylle, josta on jotenkin tullut käyttöjärjestelmä.

Tämä on minusta kiinnostavin vibe codingin muoto. Ei ”pyydä tekoälyltä koodia ja rukoile”. Pikemminkin nopeat, kärsivälliset ja syvästi tekniset toiset aivot oikean järjestelmätyön rinnalla. Osaksi kumiankka, osaksi tutkimusavustaja, osaksi komentotulkin hallitseva työtoveri.

Se ei ole temppu. Se on vipuvoimaa.

Rakensin Atlasta vibe codingilla ajatuksen nopeudella

Atlaksen rakentaminen Codexin kanssa opetti minulle muutakin: paras tekoäly-yhteistyö ei tunnu yhdeltä valtavalta sankarilliselta kehotteelta. Se tuntuu tuotekehitykseltä, josta viive on poistettu.

Yksi keskustelu koski lähetyspainikkeen saamista oikean tuntuiseksi vaaleassa tilassa. Toinen käsitteli Omni-keskusteluhistorian erottamista muusta sovelluksesta. Muissa ratkottiin Markdown-renderöintiä, podcast-istunnon palautusta, sanastoon perustuvaa kontekstia, puhetoimintaa ja lopulta CopilotKitin mahdollistamia työkaluja keskustelun sisällä.

Niin oikeat tuotteet todella kasvavat. Eivät yhdellä dramaattisella keksimishetkellä, vaan tuhansilla hyvin täsmällisillä päätöksillä, suunnanmuutoksilla, hiomisilla ja korjauksilla.

Siltä vibe coding näytti täällä. Ei taikuudelta. Ei siltä, että ”tekoäly korvasi insinöörityön”. Pikemminkin tiiviimmältä kierrolta havainnon ja julkaisun välillä.

Saatoin sanoa ”siirrä mikrofoni takaisin syötekentän viereen”, ”älä kirjaa sävymuutoksia, ellei niitä oikeasti käytetty” tai ”tuo sanaston termit jokaiseen keskusteluun”, ja Codex pystyi seuraamaan pyyntöä React-komponenttien, tilan kulun, palvelinlogiikan ja Netlify-funktioiden läpi kadottamatta punaista lankaa.

Tuo viimeinen osa on tärkeä.

Näyttävät uudet ominaisuudet ovat vain puolet työstä. Arkinen työ estää tuotetta romahtamasta oman vauhtinsa alle. TypeScript-siirtymä. Testien lisääminen. Refaktoroinnit. Hookien eriyttäminen. Istuntojen säilyvyyden korjaaminen. Muutoslokin ylläpito. Tylsä, välttämätön rakenteellinen työ, joka tavallisesti kilpailee hauskojen asioiden kanssa ja häviää.

Codexista oli hyötyä siinäkin.

Atlas kehittyi ja siistiytyi samanaikaisesti. Siltä näyttää terve nopeus. Nopea ei välttämättä tarkoita haurasta. Vibe coding toimii kunnolla vain, kun nopeuden rinnalla on riittävästi rakennetta jatkuvaan julkaisemiseen.

Siksi palaan samaan johtopäätökseen: malli ei ole oraakkeli. Se on työtoveri. Minä tuon yhä harkinnan, tärkeysjärjestyksen ja laatunäkemyksen. Codex tuo nopeuden, kontekstin säilyttämisen ja kärsivällisyyden toteutuksen yksityiskohtien läpikäyntiin heti, kun idea ilmestyy.

Tulos ei ole ”tekoäly rakensi sovellukseni puolestani”.

Lähempänä totuutta on tämä: pysyin mukana luovassa silmukassa, ja silmukka nopeutui niin, että rakentaminen tuntui ajatuksen nopeudella tapahtuvalta.

Tein veroilmoitukseni vibe codingilla, ja se saattaa olla kaikista paras näytös

Tässä juonenkäänne: yksi parhaista vibe coding -näytöksistä ei liittynyt mitenkään sovelluksen julkaisemiseen.

Kyse oli veroista.

Osoitin Codexille kansion, joka oli täynnä palkkalaskelmia, välittäjän tiliotteita, 1099-lomakkeita, neljännesvuosittaisten ennakkoverojen vahvistuksia ja ulkomaisen työsuhteen papereita. Sanoin käytännössä: auta muuttamaan tämä sotku jäsennellyksi veroilmoitukseksi.

Se, mitä seuraavaksi tapahtui, ei tuntunut automaattiselta täydennykseltä. Se tuntui siltä kuin vieressäni istuisi väsymättömän kärsivällinen operaattori, joka lukee jokaisen PDF:n, täsmäyttää luvut, tarkistaa säännöt ja muuttaa kaoottisen asiakirjapinon hitaasti käyttökelpoiseksi työasiakirjaksi.

Siksi koko väite ”vibe coding sopii vain lelusovelluksiin” murenee.

Todellinen taika näkyy elämän tylsissä, kitkaisissa ja asiakirjapainotteisissa osissa. Siellä, missä kukaan ei innostu aloittamisesta, missä monimutkaisuus on hajautunut tiedostoihin, lomakkeisiin, oletuksiin ja rajatapauksiin ja missä puolet taistelusta on koko ongelman pitäminen työmuistissa riittävän pitkään edistymistä varten.

Prosessi pysyi keskustelevana ja joustavana, vaikka itse työ säilyi järjestelmällisenä. Ensin tunnistettiin asiakirjat. Sitten erotettiin ulkomainen palkka Yhdysvaltojen itsenäisen ammatinharjoittamisen tuloista. Sitten jäljitettiin osakeohjelman myynti. Sitten etsittiin neljännesvuosittaiset ennakkoverot. Sitten selvitettiin, oliko ulkomaisen veron hyvityksellä, ulkomailla ansaitun tulon verovapautuksella tai sosiaaliturvamaksuja yhteensovittavalla sopimuksella merkitystä.

Vibe oli rento. Kirjanpito ei ollut.

Erottelu on tärkeä. Suurten panosten työ vaatii edelleen tarkastamista. Harkinnalla on yhä merkitystä. Codex antoi minulle kuitenkin paljon paremman pohjan harkinnalle. Se ylläpiti työasiakirjaa, toi oletuksensa esiin, näytti, missä arvio oli vahva ja missä vielä alustava, sekä erotti veron määrää muuttavat asiat pelkästään ilmoittamiseen vaikuttavista asioista.

Se on suurempi asia kuin ihmiset ymmärtävät.

Sillä tekoäly ei ole hyödyllinen vain auttaessaan keksimään jotakin uutta. Se on hyödyllinen myös auttaessaan tuomaan järjestystä kaaokseen.

Joskus mallin voimakkain kyky on ottaa valtava, monitulkintainen sotku ja muuttaa se ymmärrettävien seuraavien askelten sarjaksi.

Tämä on todellinen oivallushetki

Oivallus ei ole ”vau, tekoäly osaa koodata”.

Asia on tämä: suuri osa työstä, jonka aika, tekninen ylimääräinen vaiva tai pelkkä sekavuus ennen tuntuivat estävän, onkin yhtäkkiä ulottuvilla.

Pullonkaula on siirtynyt.

Pitkään kysymys oli: ”Onko minulla juuri ne taidot, joita tämän toteuttaminen vaatii?” Yhä useammin parempi kysymys on: ”Osaanko kuvailla, mitä haluan, tarkastaa saamani tuloksen ja ohjata sitä kohti jotakin hyvää?”

Tuo taitovalikoima on paljon useamman ulottuvilla.

Tässä tärkeintä ei ole uutuus. Se on vipuvoima. Tekoäly jakaa vipuvoimaa uudelleen ihmisiltä, jotka muistavat jokaisen syntaksisäännön, ihmisille, jotka osaavat rajata ongelmat selkeästi, arvioida tuloksia ja iteroida älykkäästi.

Sinun ei tarvitse olla maailman paras insinööri hyötyäksesi tästä. Tarvitset laatunäkemystä. Tarvitset uteliaisuutta. Tarvitset halua iteroida. Tarvitset riittävästi harkintaa tunnistaaksesi, milloin jokin on väärin, kesken, riskialtista tai rumaa.

Toisin sanoen ratissa täytyy pysyä hereillä.

Se on vibe-elämä yhdessä lauseessa: ihmisen tarkoitus, koneen vauhti.

Kun tekoälyn alkaa nähdä tuolla tavalla, sen käyttömahdollisuudet laajenevat nopeasti.

Se ei sovi vain sovelluksiin. Se sopii infrastruktuuriin. Tutkimukseen. Operatiiviseen työhön. Paperitöihin. Ylläpitoon. Sivuprojekteihin, jotka ovat maanneet puolivalmiina kuukausia. Niihin outoihin tiistain ongelmiin, joista kukaan ei pidä juhlapuheita mutta joiden kanssa kaikki oikeasti elävät.

Siksi tällä on merkitystä.

Ei siksi, että tekoäly tekisi kaikista taikureita. Vaan siksi, että se antaa tavallisille rakentajille, kokeilijoille, toimijoille ja uteliaille ihmisille dramaattisesti enemmän mahdollisuuksia toimia.

Se auttaa useampia aloittamaan.

Se auttaa useampia jatkamaan.

Se auttaa useampia saamaan valmiiksi.

Vain hyvää tunnelmaa

Vibe coding ei siis tarkoita täsmällisyydestä luopumista ja elämän läpi leijumista automaattisesti tuotetun optimismin pilvellä.

Kyse on tavasta työskennellä niin, että eteneminen voittaa epäröinnin. Ideat eivät kuole odottaessaan täydellisiä olosuhteita. Rikkinäisistä järjestelmistä tulee ratkaistavia. Matka ajatuksesta ”minun pitäisi tehdä tuo joskus” lauseeseen ”julkaisin sen” lyhenee jatkuvasti.

Tekoäly ei saanut minua lakkaamaan olemasta rakentaja.

Se teki rakentajan pysäyttämisestä vaikeampaa.

Siksi suhtaudun vibe codingiin optimistisesti. Siksi mielestäni useamman pitäisi antaa itselleen lupa kokeilla sitä. Ja siksi tulevaisuus tuntuu vähemmän korvaamiselta ja enemmän kykyjen vahvistamiselta.

Tuo mukaan näkemyksesi hyvästä laadusta.

Tuo mukaan harkintakykysi.

Tuo se outo idea, hajonnut NAS, puolivalmis tuote, veroilmoituslomakkeiden pino tai asia, joka on hiljaa koputellut olkapäätäsi jo kuusi kuukautta.

Lähde sitten liikkeelle.

Kone pysyy nyt perässä.

Vain hyvää tunnelmaa.


Jatka tutkimista

Instagram