# Claude Code yön yli: loop engineering ja Ralph Loop vuonna 2026

> Näin ajat Claude Codea itsenäisessä silmukassa: Ralph Loop, /loop, /goal ja /batch. Valmiita käyttötapauksia ja suojaus tokenien loppuun kulumiselta vuonna 2026.

Source: https://ailoot.ai/blog/fi/claude-code-loop-engineering/
Canonical: https://ailoot.ai/blog/fi/claude-code-loop-engineering/
Language: fi
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-168
Revision: sha256-ec5d4bd03dc96d8438f068fb9aa8bfd577ec0c8d75b0512ed5ef41f2c365357d


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Loop engineering on lähestymistapa, jossa et anna Claude Codelle joka kerta kehotetta käsin, vaan rakennat silmukan. Silmukka vastaanottaa tehtäväsi, ottaa yhden askeleen, tarkistaa tuloksen ja päättää itse, jatkaako vai pysähtyykö. Tämä opas näyttää, miten otat ensimmäisen Ralph Loopin käyttöön yhdessä illassa niin, että se työskentelee puolestasi joka päivä.

</div>

Ailootin viitedokumentaatio: [ailoot.ai/docs/](https://ailoot.ai/docs/).

## Mitä loop engineering on, ja miksi siitä pitäisi välittää?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Loop engineering muuttaa rooliasi. Ennen istuit ja kehotit agenttia: ”tee X, korjaa Y, tarkista Z”. Nyt kirjoitat pienen järjestelmän, joka tekee tämän puolestasi silmukassa: lähettää tehtävän – saa tuloksen – tarkistaa sen – päättää, mitä tekee seuraavaksi. Sinä lakkaat kirjoittamasta, ja agentti jatkaa tuottamista.

</div>













Kahdeksan kuukautta ilman käsin kirjoitettua koodia. Koko Claude Code, jossa työskentelet juuri nyt, kirjoitettiin Claude Codella itsellään – Cherryn rakentamissa silmukoissa.

Toinen lausunto kertoo mittakaavasta:



Näiden lausuntojen takana on uusi insinöörin rooli: olet silmukoiden arkkitehti, et näppäimistön käyttäjä.





Tee se tänään kerran, niin liidit lisääntyvät joka päivä, artikkeleita julkaistaan automaattisesti, botti hoitaa kirjeenvaihdon ja mittariraportti saapuu työpöydällesi kello 9. Rakennat sen, ja se toimii joka päivä ilman sinua.

Jos avaat yhä Claude Coden, kirjoitat kehotteen, odotat, luet ja kirjoitat uuden kehotteen, sinulta jää huomaamatta vuoden 2026 suurin muutos. Mallit ovat kehittyneet niin tehokkaiksi, että ne pystyvät työskentelemään silmukoissa ilman valvontaa.

## Miten Ralph Loop eroaa tavallisesta Claude Code -pyynnöstä

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Tavallinen Claude Code -pyyntö on kertaluonteinen: kirjoitat ”tee X”, Claude tekee sen ja keskustelu päättyy. Ralph Loop tekee saman silmukassa: aina kun Claude yrittää lopettaa, hook nappaa lopetuksen ja syöttää kehotteesi sille uudelleen. Clauden jo luomat tiedostot jäävät paikoilleen, joten jokainen uusi iteraatio rakentuu edellisen päälle. Silmukka pysähtyy, kun se saa valmistumismerkin (Claude tulostaa sanan ”DONE”) tai saavuttaa iteraatiorajan.

</div>

At its core, tekniikka on yksinkertainen bash-silmukka agentin ympärillä:



Alkuperäinen koodi, joka käynnisti koko aallon:

```bash
while :; do cat PROMPT.md | claude-code ; done
```

Yksi kehote tiedostossa, sen ympärillä ääretön silmukka. Ja kirjoittajan suorasukaisin kommentti:



Anthropic paketoi saman logiikan `ralph-loop`-liitännäiseksi sekä Claude Coden `/loop`-, `/goal`- ja `/batch`-komennoiksi – ne ovat käytettävissä suoraan päätteessä ilman skriptejä. Jo se, että Anthropic julkaisi äärettömän uudelleenkehottamisen liitännäisen, käynnisti GitHub Issue \#23084:ssa keskustelun siitä, onko se reilua mallia kohtaan. Keskustelu jatkuu; liitännäinen toimii.

## Kolme Claude Coden sisäänrakennettua komentoa: /loop, /goal, /batch

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Claude Code v2.1+:ssä on kolme komentoa eri autonomian tasoille. `/loop` toistaa tehtävää tietyin väliajoin (tunneittain, päivittäin, valvonta). `/goal` työskentelee vuoro kerrallaan, kunnes arviointimalli sanoo ”valmis”. `/batch` tekee suuren mekaanisen muutoksen useilla rinnakkaisilla worktree-agenteilla. Jokaisella komennolla on oma käyttökohteensa.

</div>

| Komento | Milloin sitä käytetään | Versio | Rajoitus |
|----|----|----|----|
| `/loop 30m <prompt>` | Toista määräajoin (valvonta, kysely) | v2.1.72+ | 7 päivää, 50 tehtävää/session |
| `/goal <condition>` | Työskentele tavoitteen saavuttamiseen asti (verifier-malli) | v2.1.139+ | Ehto enintään 4000 merkkiä |
| `/batch <change>` | Rinnakkainen mekaaninen refaktorointi | v2.1.63+ | Kukin yksikkö saa oman git-worktreen |

`/goal` muistuttaa Ralph Loopia eniten. Konepellin alla arviointimalli (oletuksena Haiku) tarkistaa jokaisella vuorolla, onko tavoite saavutettu. Jos ei ole, seuraavaan iteraatioon tulee vinkki siitä, mitä tarkalleen pitää korjata. Jos on, se pysähtyy. Käsittelin `/goal`-komentoa yksityiskohtaisesti oppaassa [Claude Coden ajaminen autonomisesti yön yli /goal-komennolla](https://ailoot.ai/blog/fi/goal-mode-claude-code-codex/) – siinä on valmiita käyttötapauksia 14 tunnin työskentelyyn.

`/batch` on harvinainen mutta tehokas komento. Kun sinun on tehtävä sama muutos yli 100 tiedostoon (API-migraatio, komponentin vaihto, uudelleennimeäminen), `/batch` lähettää kunkin tiedoston erilliselle aliagentille sen omaan git-worktreehen. Muutokset eivät ole ristiriidassa, sillä jokainen agentti työskentelee eristetyssä kopiossa. Lue lisää aliagenteista oppaasta [sisäkkäiset aliagentit](https://ailoot.ai/blog/fi/sisakkaiset-aliagentit-claude-code/).

Kirjoittajan kuvauksessa tätä lähestymistapaa kutsutaan yksinkertaisesti näin:



`/loop`- ja `/goal`-komentojen ehdottomat rajat:

- Tehtävä toimii niin kauan kuin Claude Code on auki. Sulje pääte, niin silmukka lakkaa. Käytä etäpalvelinta tai omaa shell-wrapperia, jos haluat tehdä kunnollisen yön yli kestävän ajon.
- Toistuvan tehtävän enimmäiskesto on **7 päivää** (sen jälkeen se poistetaan automaattisesti unohtuneilta silmukoilta suojaamiseksi).
- Yhdessä istunnossa voi olla enintään **50 samanaikaista tehtävää**.

Haluatko rakentaa asetelman, joka tekee Claudesta luotettavan? Ralph Loop on vain yksi osa sitä. Kannattaa huomioida kaikki kolme osaa: **AI-klooni + Second Brain + Context Engineering** – tämä yhdistelmä muuttaa Clauden ”hallusinoivasta avustajasta” työkaluksi, jolle voit antaa tehtävän ja jatkaa sitten omia töitäsi.

## Ensimmäisen autonomisen silmukan käynnistäminen 5 minuutissa

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Nopein tapa aloittaa on käyttää sisäänrakennettua `/goal`-komentoa. Avaa Claude Code, kirjoita komento, jossa on tavoite ja todennettava pysäytysehto, ja jatka omia töitäsi. Claude luo koodia, suorittaa testejä, lukee virheitä, korjaa ne ja suorittaa testit uudelleen, kunnes ne menevät läpi.

</div>

5 vaihetta:

1.  ### Avaa projekti Claude Codessa

    Siirry päätteen avulla projektin juureen ja suorita `claude`. Odota, että Claude lukee `CLAUDE.md`-tiedoston ja indeksoi repositorion.

2.  ### Määritä tavoite ja pysäytysehto

    Tavoite kertoo, mitä pitää tehdä. Pysäytysehto kertoo, miten Claude tietää olevansa valmis. Ihanteellisesti se on komento, joka palauttaa arvon 0 tai 1. Esimerkki: ”Tavoite: kaikki 23 testiä kansiossa `tests/api/*.test.ts` menevät läpi. Pysähdy, kun `pnpm test` palauttaa exit 0.”

3.  ### Suorita /goal

    Komento:

    ```
    /goal Kaikkien testien kansiossa tests/api/*.test.ts on mentävä läpi. Suorita pnpm test, lue virheet, korjaa ne ja suorita testi uudelleen. Pysähdy, kun exit code = 0. Enintään 20 iteraatiota.
    ```

    Claude käynnistää silmukan: suorittaa testit – näkee virheen – avaa tiedoston – korjaa sen – suorittaa testit uudelleen.

4.  ### Aseta budjettiraja

    Seuraa käyttöä taustavälilehdessä komennolla `/usage`. Aseta päivälle token- tai raharaja, jotta et kuluta koko saldoasi yhteen silmukkaan. Lisätietoja on oppaassa [näin vältät Claude Code -rajojen loppuun kuluttamisen](https://ailoot.ai/blog/fi/claude-code-token-limits-saving/).

5.  ### Jatka omia töitäsi

    Palaa 30 minuutin kuluttua. Jos tehtävä on yksinkertainen, siinä lukee jo ”DONE, kaikki testit menevät läpi”. Jos se on monimutkaisempi, lue raportti: ”pysähtyi iteraatiossa 20, syy X”. Korjaa käsin se, mihin silmukka ei pystynyt, ja käynnistä se sitten uudelleen.


```markdown
Etsi 10 syytä, miksi tämä projekti on voinut mennä pieleen. 
Asetu tilanteeseen, jossa jokin on mennyt pieleen. 
Voin käydä tämän tarinan läpi monta kertaa – 
ennen kuin julkaisen sen.
```


Yleisin aloittelijan virhe on **käynnistää silmukka ilman verifieriä**. Agentti pyörii paikallaan: kirjoittaa koodia tarkistamatta sitä, luulee olevansa valmis, siirtyy seuraavaan iteraatioon ja kirjoittaa jo tekemänsä uudelleen. Kolmen tunnin päästä jäljellä on sotku, ja lasku on $200.

Paras sääntö: **kirjoita verifier ensin ja käynnistä silmukka vasta sitten**. Jos et pysty ilmaisemaan pysäytysehtoa yhdellä rivillä, tehtävä ei ole valmis autonomiseen suoritukseen.

## Näin vältät tuhansien dollarien kulumisen yön aikana: budjettirajat ja pysäytysehdot

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Silmukka ilman budjettirajaa, kustannuksiin perustuvaa pysäytysehtoa tai verifieriä voi kuluttaa paljon rahaa ennen kuin kukaan huomaa. Kolme suojausta voi estää tämän: iteraatioraja, token- tai raharaja ja pysähtymisen tunnistin.

</div>

Kolme välttämätöntä jarrua jokaiseen yön yli ajettavaan silmukkaan:

**1. Iteraatioraja.** `--max-iterations 20`. Silmukka ei voi toimia useampaa kuin N kertaa – vaikka verifier ei laukeaisi. Jos pysäytysehtoa ei ole saavutettu 20 iteraation jälkeen, tehtävä on jumissa ja tarvitsee ihmisen väliintuloa.

**2. Token- tai raharaja.** `/usage limit 50` – enintään $50 päivässä. Kun silmukka lähestyy rajaa, se pysähtyy itsestään ja lähettää hälytyksen. Tämä suojaa karkaavalta kulutukselta.

**3. Edistymisen tarkistus selkeällä sopimuksella.** Alla oleva `HEAD`-vertailu tunnistaa uudet commitit, ei kaikkia koodimuutoksia. Käytä sitä vain erillisessä worktreessä, jossa jokainen koodia muuttava iteraatio tekee paikallisen tarkistuspistecommitin ennen vertailua. Hyödylliset commitoimattomat muokkaukset eivät muuta `HEAD`-arvoa; ilman tätä sopimusta muuttumaton tiiviste voi antaa väärän pysähtymissignaalin. Säilytä myös verifierin tulos: uusi commit todistaa kirjatun muutoksen, ei tehtävän paranemista tai hyväksyntää.

Havainnollistava wrapper-rakenne, jossa on nämä kolme tarkistusta. Kuluraportointi- ja agentin käynnistysrivit ovat suorittajakohtaisia esimerkkejä, eivät todennettu CLI-asennusohje. Varmista rajapinnat asennetusta versiosta ennen soveltamista. Commit-pohjainen edistymistarkistus edellyttää paikallista tarkistuspistecommittia jokaisen koodia muuttavan iteraation jälkeen. Jos suorittaja jättää muokkaukset commitoimatta, pysähdy tarkistamaan niitä sen sijaan, että nimeäisit tilanteen edistymisen puutteeksi.

```bash
#!/bin/bash
PROMPT="$1"
MAX_ITER=20
MAX_COST_USD=50
COMPLETION="DONE"
PREV_HASH=""
STAGNATION=0

for i in $(seq 1 $MAX_ITER); do
  # Raharaja
  CURRENT_COST=$(claude usage --json | jq '.cost_usd')
  if (( $(echo "$CURRENT_COST > $MAX_COST_USD" | bc -l) )); then
    echo "STOP: budget cap $MAX_COST_USD reached"
    break
  fi

  # Suoritus
  OUTPUT=$(claude code -p "$PROMPT" --auto-accept)

  # Valmistumisen tarkistus
  if echo "$OUTPUT" | grep -q "$COMPLETION"; then
    echo "STOP: completion signal"
    break
  fi

  # Vain commit-edistyminen: jokaisen koodia muuttavan iteraation on tehtävä tarkistuspistecommit.
  # HEAD ei tunnista hyödyllisiä commitoimattomia muokkauksia.
  CURRENT_HASH=$(git rev-parse HEAD 2>/dev/null)
  if [ "$CURRENT_HASH" = "$PREV_HASH" ]; then
    STAGNATION=$((STAGNATION + 1))
    if [ "$STAGNATION" -ge 3 ]; then
      echo "STOP: stagnation 3 iterations"
      break
    fi
  else
    STAGNATION=0
  fi
  PREV_HASH="$CURRENT_HASH"
done
```

Varmista edistymistarkistus ennen rungon laajentamista: muokkaus ilman committia on käsiteltävä kirjaamattomana työnä, tarkistuspistecommit muuttaa `HEAD`-arvoa ja vain erillinen verifier voi todentaa onnistumisen. Kolme muuttumatonta commit-tiivistettä kertoo, ettei sovitulla menettelyllä ole kirjattu muutoksia; se ei todista kaikkien työtiedostojen pysyneen muuttumattomina. Seuraavaksi voit lisätä Slack-hälytyksen pysähtymisen yhteydessä, automaattisen Telegram-raportin aamulla ja push-ilmoituksen, kun budjetista on käytetty 80 %. Periaate on sama: silmukka tarvitsee **jarrut**, ei vain kaasupoljinta.

## 5 valmista käyttötapausta yön yli ajettaville silmukoille

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Kaikki tehtävät eivät sovi autonomiseen silmukkaan. Hyviä ehdokkaita ovat tehtävät, joilla on yksiselitteinen verifier ja joita voidaan työstää vaiheittain: testit, refaktorointi, valvonta, artikkeliputket ja tietojen tuonti. Huonoja ehdokkaita ovat tehtävät, joilta puuttuvat muodolliset tarkistukset tai joissa on useita subjektiivisia kriteerejä.

</div>

**Käyttötapaus 1: Korjaa epäonnistuneet testit läpäiseviksi**

```
/goal Hakemistossa tests/ on 47 epäonnistunutta testiä. Tavoite: saa ne kaikki läpi.
Suorita pnpm test, lue stderr, avaa virheen sisältävä tiedosto, korjaa se ja suorita pnpm test uudelleen.
Pysähdy, kun exit 0. Enintään 30 iteraatiota.
```

**Käyttötapaus 2: Laaja refaktorointi 200 tiedostossa**

```
/batch Korvaa vanha apiV1 API -asiakas uudella apiV2-asiakkaalla kaikissa tiedostoissa polun `src/**/*.ts` alla.
Jokainen tiedosto saa oman worktreen. Suorita korvauksen jälkeen tsc --noEmit; korjaa mahdolliset virheet.
Yhdistä worktreet lopuksi.
```

**Käyttötapaus 3: Tuotannon valvonta yön yli**

```
/loop 30m Tarkista 30 minuutin välein https://your-app.example.com/api/health.
Jos se ei palauta arvoa 200, lue lokit, selvitä syy, korjaa se ja ota korjaus uudelleen käyttöön.
Kirjaa kukin iteraatio tiedostoon /tmp/night-monitor.log.
```

**Käyttötapaus 4: Suuren tietojoukon tuonti duplikaatit poistaen**

```
/goal Tuo CSV-tiedosto /tmp/import.csv (12,000 riviä) clients-tauluun.
Tarkista jokaisen rivin kohdalla, löytyykö sähköpostiosoitteella duplikaatti; jos ei löydy, lisää rivi; jos löytyy, päivitä se.
Kirjaa ristiriidat tiedostoon /tmp/conflicts.log. Pysähdy, kun viimeinen rivi on käsitelty.
```

**Käyttötapaus 5: Artikkeliputki (tyypillinen asetelma)**

Verkkopalvelussa tai toimistossa, joka tarvitsee säännöllisesti SEO-artikkeleita, käyttötapaus näyttää tältä:

```
/loop 8h Kahdeksan tunnin välein: avaa aiheiden backlog-tiedosto ja etsi aiheet, joiden tila on 'queued'.
Jos aihe löytyy, suorita oppaan kirjoittamiseen tarkoitettu skill.
Julkaise dev-ympäristöön. Vaihda tilaksi 'review'. Ilmoita asiasta vastuuhenkilölle Telegramissa.
```



Käyttötapaus 5 kuvaa silmukkaa, joka tuottaa artikkeleita. Yön yli ajettavat tehtävät voidaan järjestää niin, että jokainen toimii omassa silmukassaan. Periaate on sama:



## Mitä jokaiseen iteraatioon pitää antaa: CLAUDE.md ja Second Brain tilana

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Ilman muistia Claude aloittaa jokaisen iteraation alusta – avaa projektin uudelleen, lukee tiedostoja ja unohtaa edellisen iteraation päätökset. Ilman `CLAUDE.md`-tiedostoa se ei tunne arkkitehtuuria; ilman `business/`-kansiota (Second Brain) se ei tunne tuotteen kontekstia; ilman skillejä se ei muista sääntöjäsi eikä tyyliäsi. Iteraatioiden välinen tila säilytetään näissä kolmessa tiedostokerroksessa. Ilman niitä silmukka alkaa heikentyä iteraatioon 5 mennessä.

</div>

Projektin ”muistin” kolme kerrosta muuttavat kertaluonteisen kehotteen hallituksi silmukaksi:

**1. CLAUDE.md** – projektin perustuslaki. Mikä tuote on, mitä teknologiapinoa se käyttää, mitkä ovat säännöt ja mitä ei saa koskaan tehdä. Claude lukee tämän tiedoston kunkin istunnon ja silmukan iteraation alussa. Ilman sitä Claude joutuu ”avaamaan” projektin joka kerta uudelleen – mikä kuluttaa kontekstia ja kasvattaa hallusinaatioiden riskiä. Löydät valmiin mallin ja 6 sääntöä oppaasta [CLAUDE.md](https://ailoot.ai/blog/fi/claude-md-template/).





**2. Second Brain** – liiketoimintatiedon kansio: tuote, yleisö, tavoitteet, talous ja markkinointi. Ei koodia vaan merkitystä. Kun silmukka kirjoittaa artikkelin tai etsii vastausta asiakastukea varten, se lukee Second Brainin ja vastaa projektin kontekstin perusteella, ei tyhjästä.



**3. Context engineering** – se, mitä tarkalleen annat Claudelle jokaisessa iteraatiossa. Ei koko Second Brain -kansiota eikä koko repositoriota, vaan vain olennaisen. Plan Mode auttaa: Claude määrittää, mitä tiedostoja tehtävässä tarvitaan, ja lukee vain ne. Lisätietoja on oppaassa [Plan Mode](https://ailoot.ai/blog/fi/claude-code-plan-mode/).

Tärkein käytännön periaate, jota jouduin takomaan päähäni virheiden kautta:



Nämä kolme kerrosta muodostavat menetelmän **kolme pilaria**: AI-klooni (olet opettanut Claudelle tyylisi ja sääntösi skillien ja CLAUDE.md-tiedoston avulla), Second Brain (liiketoiminnan merkitykset tiedostoissa) ja Context Engineering (se, mitä annat kussakin pyynnössä). Ilman kaikkia kolmea silmukasta tulee loputon sykli, jonka lasku kasvaa koko ajan.

## Silmukoiden ajaminen öisin: useita päätteitä ja rinnakkaisia istuntoja

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Claude Codessa voi käyttää numeroituja päätevälilehtiä, joista jokaisella on oma git-checkout. Lisäksi Claude-sovelluksessa voi käyttää puhelimessa Remote Control -toimintoa useille istunnoille – yhteensä 10–15 rinnakkaista istuntoa. Jokaisella voi olla oma tehtävänsä, verifierinsä ja silmukkansa.

</div>

Mitä kussakin istunnossa tehdään? Eri tehtäviä: yksi silmukka korjaa bugeja, toinen kirjoittaa uusia ominaisuuksia, kolmas tarkistaa tiimin PR:iä, neljäs optimoi suorituskykyä ja viides valmistelee dokumentaatiota. Ei yhtä suurta yleisagenttia, vaan kymmeniä erikoistuneita agentteja, joista jokaisella on oma skill, tavoitteensa ja verifierinsä.

Keskeinen näkökulman muutos:





Ohjelmoijattomalle yrittäjälle tämä tarkoittaa jotain konkreettista. Sinulla on yksi Claude-tili, joka maksaa $200 kuukaudessa, ja tavallinen kannettava tietokone. Voit käynnistää **5 silmukkaa rinnakkain** – asiakastuki, artikkelit, mittarit, uuden tuotteen testaaminen ja kilpailijoiden seuranta. Kukin toimii omassa Claude Code -välilehdessään. Aamulla luet yhteenvedon. Tämä on jo normaali työtapa kesällä 2026.

## Neljä yleistä autonomisten silmukoiden virhettä

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Useimmat autonomisten silmukoiden virheet kuuluvat neljään malliin: verifier puuttuu – agentti päättää itse olevansa valmis; budjettiraja puuttuu – silmukka kuluttaa yön aikana tuhansia dollareita; iteraatioiden välinen tila puuttuu – päätökset ovat ristiriidassa; pysäytysehto on epämääräinen – silmukka ei tiedä, milloin pysähtyä.

</div>

**Virhe 1: ”Hallusinaatiosilmukka”**

Agentti päättää olevansa valmis, vaikka verifier ei ole käynnistynyt. Tai verifier puuttuu kokonaan. Kolmen tunnin jälkeen Claude sanoo: ”Kaikki valmista!” – mutta testit epäonnistuvat, sivu ei avaudu eikä mikään toimi. Olet jo käyttänyt $80 turhiin iteraatioihin.

**Korjaus:** tiukka verifier (komennon `exit code`), ei sanallinen tarkistus.

**Virhe 2: ”Budjetti kului loppuun yön aikana”**



**Korjaus:** `/usage limit` tai ulkoinen skripti, joka pysäyttää silmukan rajan tullessa vastaan `claude usage --json` -komennon avulla.

**Virhe 3: ”Silmukka menetti kontekstin iteraatioiden välillä”**

Iteraatiossa 1 Claude teki arkkitehtuuripäätöksen. Iteraatiossa 7 se oli unohtanut sen ja teki päinvastaisen päätöksen. 15 iteraation jälkeen koodi on kaaos.

**Korjaus:** tilakerros `CLAUDE.md`-tiedoston ja Second Brain -kansion avulla. Silmukka **kirjoittaa** kaikki arkkitehtuuripäätökset tiedostoon, jonka se lukee seuraavassa iteraatiossa.

**Virhe 4: ”Pysäytysehto on epätarkka – silmukka jatkuu ikuisesti”**

`/goal "Tee sivusta kaunis"` – mitä ”kaunis” tarkoittaa? Ilman yksiselitteistä mittaria silmukka ei pysähdy koskaan. Se jatkaa, kunnes iteraatio- tai budjettiraja tulee vastaan.

**Korjaus:** pysäytysehdon on aina oltava **mitattavissa**. Ei ”kaunis”, vaan ”Lighthouse Performance ≥ 90, Accessibility ≥ 95”. Ei ”toimii”, vaan ”testit tiedostossa `tests/pricing.test.ts` menevät läpi”.

## Milloin loop engineeringiä ei tarvita?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkeimmät asiat">

Tärkeimmät asiat

Loop engineering on työkalu toistuviin ja todennettaviin tehtäviin. Sitä ei tarvita kertaluonteisiin luoviin tehtäviin, tehtäviin ilman muodollista verifieriä eikä tehtäviin, jotka vaativat subjektiivista arviointia. Rajojen tunteminen on tekniikan tuntemista tärkeämpää.

</div>

Autonomiseen silmukkaan sopimattomat tehtävät:

- **Kertaluonteinen luova tehtävä.** Yksi verkkosivusto uudelle tuotteelle, yksi logo, yksi strategiamuistio. Silmukka on tässä liioittelua; helpompaa on kirjoittaa yksi kehote ja hioa tulosta käsin.
- **Tehtävä ilman verifieriä.** Jos et pysty ilmaisemaan pysäytysehtoa exit code -arvona tai yksiselitteisenä signaalina, älä käynnistä silmukkaa, sillä muuten se muuttuu loputtomaksi rovioksi.
- **Subjektiivista arviointia vaativa tehtävä.** ”Tee siitä paremman kuuloinen”, ”paranna UX:ää niin, että se tuntuu miellyttävämmältä” – nämä vaativat sinua, eivät silmukkaa.
- **Uusi ja vieras aihealue.** Jos et itse ymmärrä, miltä ”valmis” näyttää, älä aja Claudea silmukassa. Ymmärrä asia ensin ja automatisoi se vasta sitten.

Ja tärkein sääntö, jonka opin virheiden kautta:



Tärkein kysymys ennen silmukan käynnistämistä: **Pystynkö kuvaamaan yhdellä rivillä, mistä tiedän Clauden olevan valmis?** Jos pystyt, silmukasta voi olla apua. Jos et, määritä ensin todennettava ehto ja käynnistä silmukka vasta sitten.

<div class="section" role="doc-bibliography" aria-label="Lähteet">

### Lähteet

- [Ralph Loop Claude Plugin - Anthropic](https://claude.com/plugins/ralph-loop) - virallinen liitännäinen
- [Ralph Wiggum plugin on GitHub - Anthropic](https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum) - lähdekoodi
- [Claude Code Review - Anthropic blog](https://claude.com/blog/code-review) - monen agentin PR-katselmoinnin tutkimusennakko, 84%:n havaintoprosentti
- [Documentation /goal - Claude Code Docs](https://code.claude.com/docs/en/goal) - virallinen komentodokumentaatio
- [Documentation /loop scheduled tasks - Claude Code Docs](https://code.claude.com/docs/en/scheduled-tasks) - virallinen dokumentaatio

</div>

Loop engineering on kerros kaiken sen päällä, minkä jo tiedät Claude Codesta. Ensin tarvitset kolme pilaria: AI-klooni + Second Brain + Context Engineering. Ilman niitä silmukka heikkenee iteraatioon 5 mennessä. Jatka Ailootiin tutustumista osoitteessa [ailoot.ai](https://ailoot.ai/).

## Kysymyksiä tästä oppaasta: Claude Code yön yli: loop engineering ja Ralph Loop vuonna 2026

### Miksi muuttumaton HEAD voi väittää virheellisesti, ettei silmukka edistynyt?

HEAD yksilöi commitin. Työpuun hyödylliset muokkaukset eivät muuta sitä ennen commitoimista. Esimerkkitunnistin vaatii siksi paikallisen tarkistuspistecommitin jokaisen koodia muuttavan iteraation jälkeen. Ilman sopimusta pysähdy tarkistamaan commitoimatonta työtä sen sijaan, että nimeäisit sen pysähtymiseksi.

### Todistaako uusi commit silmukan parantaneen tulosta?

Ei. Se todistaa vain muutoksen kirjaamisen. Säilytä verifierin tulos tarkistuspisteen rinnalla ja pysäytä ajo todellisen hyväksymisehdon täyttyessä. Wrapperin suorittajakohtaiset käynnistys- ja kulurajapinnat on todennettava ennen käyttöä.


## Ailoot · Yritys ja sen projektisalkku

Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
