Koodisi turva AI-kamaluuksilta: Jujutsu pelastaa päivän

Koodisi turva AI-kamaluuksilta: Jujutsu pelastaa päivän

Tou 15, 2026 version-control git jujutsu ai-development developer-tools workflow safety version-management

Kun AI menee pieleen: Kehittäjän painajainen

Olet syvällä koodauksessa AI-avustajan kanssa. Claude, Gemini tai joku muu LLM-työkalu pyörii. Yhtäkkiä homma karkaa käsistä. Agentti tulkitsee pyyntösi väärin ja ajaa git clean -komennon. Tunnit kokeilua katoavat. Tai konteksti katkeaa, termari tyhjenee ja AI unohtaa kesken kaiken. Pyydät perumista, mutta vastaus on: "En voi palauttaa niitä – ne eivät olleet Gitissä."

Tällaiset tilanteet yleistyvät, kun kehittäjät ottavat AI-koodausapureita käyttöön. Tosiasia on tämä: perinteiset Git-työnkerrat eivät sovi AI-avusteisen kehityksen kaaokseen.

Perinteisen Gitin heikkoudet

Git on mahtava väline, mutta se vaatii tietoisia committeja. Päätät itse, milloin tallennat merkittävän version. AI-agentit pyörittävät nopeita iterointikierroksia, ja tässä syntyy riski. Luotat liikaa kesken session etkä committaa. Tai AI muokkaa useita juttuja, törmää ongelmiin ja peruu ne ennen kuin ehdit tallentaa.

Suurin kauhu? AI tuhoaa repoa, ja työsi on mennyttä, koska se ei ollut commitattu.

Jujutsu: Turvaverkko AI-aikakaudelle

Jujutsu eli jj on versionhallintajärjestelmä, jonka filosofia eroaa perinteisestä. Jj snapshottaa working directoryn automaattisesti joka komennon jälkeen. Jokainen muutos, kokeilu tai vahingossa tehty poisto tallentuu operation logiin.

Kuvittele Git, jolla on täydellinen muisti. Git seuraa vain sun tekemiä committeja, jj tallentaa kaiken, mitä repoon tapahtuu.

Helppo aloitus: Ei häiriöitä

Parasta? Jj ja Git elävät rinnakkain saumattomasti.

Olemassa olevaan Git-repoon asennus on yksinkertainen:

jj git init --colocate

Valmista. Jj pyörii Gitin rinnalla. Tiimisi ei huomaa mitään – se on täysin läpinäkyvä. Pushaat remoottiin Gitillä kuten ennenkin.

Jujutsun peruslogiikka

Termistö eroaa Gitistä, mutta konseptit ovat simppelit:

  • @ (working set): Kuten Gitin working directory, mutta automaattisesti tallennettu
  • Commit-ID:t: Kirjaimet [g-z], erottuvat Git-hashista
  • Operation log: Kaikki repo-muutokset kronologisesti

Näin se näyttää käytännössä:

$ jj
@  lrklqzxy panozzaj@gmail.com 2025-11-22 16:06:25 b76e8471
│  (no description set)
○  qppwxvzp panozzaj@gmail.com 2025-11-06 10:57:53 master
   Add site perf audit document

@ on sun nykyinen työ. Jokaisella muutoksella oma ID. Kirjaimet tekevät niistä helppoja muistaa.

Taika: Työn palautus

Nyt se osuus, jossa jj loistaa. AI sotkee pahasti. Katso operation history:

jj obslog --revision @ --patch --limit 5

Näet viimeiset 5 operaatiota diffien kera. Tarkalleen mikä muuttui, milloin – ja voit palauttaa ne. Vaikka AI poisti tiedostoja tai sekoili, kaikki on logissa.

Miksi jj sopii AI-kehitykseen

AI-agentit eroavat ihmiskehittäjistä. Ne:

  • Tekevät muutoksia salamannopeasti ilman valvontaa
  • Väärintulkitsevat ohjeita ja muokkaavat yllättäen
  • Menettävät kontekstin pitkissä sessioissa
  • Käyttävät tuhoisia komentoja huomaamattaan

Git olettaa ihmisen kontrollin commiteista. AI rikkoo sen. Jj tekee kaikista tiedostomuutoksista palautettavia.

Käytännön integrointi

Lisää jj AI-workflowsiin ilman muutoksia:

  1. Ennen AI-sessiota: Muista, että jj tallentaa kaiken
  2. Kesken session: Anna AI:n mennä – jj kirjaa muutokset
  3. Jos menee pieleen: jj obslog näyttää ongelmahetken
  4. Lopuksi: Committaa Gitille normaalisti

Jj toimii Gitin alla. Pushaat GitHubiin tai GitLabiin entiseen malliin, mutta turvaverkko on alla.

Nollariippuvuus

Jujutsu ei tuo ylimääräistä taakkaa:

  • Asennus on suoraviivaista
  • Ei muutoksia Git-prosesseihin
  • Tiimi ei huomaa
  • Colocation estää duplikaatit
  • Värikoodatut ID:t erottuvat selvästi

Ei käytännössä miinuksia AI-projekteissa.

Tulevaisuusnäkymä

AI-avustajat sulautuvat yhä tiiviimmin kehitykseen. Työkalut kuten jj ovat pian välttämättömiä. Kysymys ei ole siitä, meneekö AI pieleen – vaan onko sulla tapa korjata se.

Jos käytät Claude Codea, Gemini CLI:tä tai vastaavia, asenna jj. Se on vakuutus väistämätöntä kömmähdystä vastaan.

Tuleva minäsi kiittää, kun palautat tunnin työn yhdellä komennolla Gitin tyhjyuden sijaan.

Read in other languages:

RU BG EL CS UZ TR SV RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN