Näin ajat Claude Codea ja Codexia yön yli /goal-komennolla vuonna 2026: 14 tunnin autonominen tila
MarkdownClaude Code 2.1.139:n ja Codex CLI:n /goal-komennolla tekoälyagentti voi työskennellä itsenäisesti tuntikausia. Esittelen käyttöönoton, konkreettisia esimerkkejä ja sen, kuinka paljon tokeneita se kuluttaa.
Lue koko artikkeli
Keskeiset huomiot
/goal-komento ilmestyi Claude Code 2.1.139:ään (11. toukokuuta 2026) ja Codex CLI 0.128.0:aan (30. huhtikuuta 2026, vakaa 21. toukokuuta alkaen). Määrittelet valmiuskriteerin kerran, ja agentti käy itsenäisesti läpi suunnittelun, toiminnan ja tarkistuksen, kunnes kriteeri täyttyy tai tokenit loppuvat. OpenAI esitteli julkisesti 25 tuntia kestäneen ajon, jossa käytettiin 13 miljoonaa tokenia. Tämä sopii migraatioihin, vertailutesteihin ja refaktorointeihin, joilla on mitattavat kriteerit. Se ei sovi käyttöliittymätehtäviin, tuotantotietokantoihin eikä epämääräisiin pyyntöihin, kuten ”tee siitä parempi”.
Tietoa Ailootin kanssa työskentelystä löytyy dokumentaatiosta.
Mikä /goal on ja miksi se ilmestyi vuonna 2026?
Keskeiset huomiot
Ennen /goal-komentoa jokainen agentin vuoro vaati manuaalisen ”jatka”-kehotuksen. Agentti avasi tiedoston, luki sen, kirjoitti jotain, pysähtyi ja odotti. /goal-komennolla asetat valmiuskriteerin kerran. Agentti päättää itse, milloin tehtävä on valmis, eikä palauta ohjausta ennen kuin se on saanut työn päätökseen.
Tilanne, jonka kaikki tunsimme ennen huhtikuuta 2026: annan Claudelle tehtävän ”siirrä projekti Pydantic v1:stä v2:een”. Se aloittaa, pysähtyy 30 sekunnin kuluttua, katson mitä se sai aikaan ja kirjoitan ”jatka”. Se ottaa seuraavan askeleen, pysähtyy, ja kirjoitan taas ”jatka”. Suuressa migraatiossa tämä tarkoittaa 200–300 manuaalista ”jatka”-kehotusta, ja käytännössä vahtaan agenttia sen sijaan, että kirjoittaisin samalla muuta koodia.
OpenAI arvioi, ettei ongelmana ollut mallin ”tyhmyys” vaan silmukan arkkitehtuuri. Malli ei tiennyt, milloin pysähtyä, joten se jarrutti jokaisella vuorolla. Anna sille valmiuskriteeri, niin se päättää itse.
Näin /goal syntyi: kyse on ajokehykseen sisällytetystä mekanismista, ei mallista.
Huomautus esitettiin Code with Claude -konferenssissa Lontoossa 19.–20. toukokuuta 2026. Se kuvaa sitä, mitä todella tapahtui kuukauden aikana sen jälkeen, kun /goal julkaistiin molemmissa työkaluissa.
Miten Goal-tila otetaan käyttöön Claude Codessa?
Keskeiset huomiot
Claude Code 2.1.139 julkaistiin 11. toukokuuta 2026 /goal-komennon kanssa. Pieni malli (oletuksena Haiku) tarkistaa kriteerin jokaisen vuoron jälkeen. Jos kriteeri ei täyty, Claude ottaa uuden vuoron. Kriteeri voi olla enintään 4,000 merkkiä pitkä, ja istunnossa voi olla yksi tavoite.
Pieni esimerkki Anthropicin virallisesta dokumentaatiosta:
claude -p "/goal CHANGELOG.md sisältää merkinnän jokaisesta tällä viikolla yhdistetystä PR:stä"
Komento käynnistää agentin taustalla yhden tavoitteen kanssa. Claude etsii PR:t, tarkistaa ne CHANGELOG.md-tiedostoa vasten, lisää puuttuvat rivit ja pysähtyy, kun kriteeri täyttyy.
Kirjoita vuorovaikutteisessa tilassa /goal ja sen perään ehto:
/goal kaikki pytest-testit menevät läpi ja mypy strict raportoi nolla virhettä
Mitä Claude tekee seuraavaksi:
- Jokaisen vuoron jälkeen erillinen nopea malli (oletuksena Haiku) saa nykyisen ehdon ja keskusteluhistorian
- Malli vastaa ”kyllä” tai ”ei” lyhyen perustelun kanssa
- Jos vastaus on ”ei”, Claude ottaa automaattisesti uuden vuoron palauttamatta ohjausta sinulle
- Jos vastaus on ”kyllä”, tavoite tyhjennetään ja ohjaus palautuu sinulle
Pienen, nopean mallin tehtävänä on tarkistaa jokaisen vuoron jälkeen, onko ehto täyttynyt. Jos se ei ole täyttynyt, Claude aloittaa uuden vuoron palauttamatta ohjausta sinulle.
Vaikeat rajoitukset, joista kukaan ei kerro ennen kuin törmäät niihin:
/goaltoimii vain työhakemistoissa, joiden luottamusdialogi on hyväksytty. Jos käytössä on uusi kone eikä Claude ole vielä muistanut hakemistoa, komento epäonnistuu- Yritysympäristöissä, joissa on
disableAllHookstaiallowManagedHooksOnly, komento ei ole käytettävissä - Ehto voi olla enintään 4,000 merkkiä pitkä
- Istunnossa voi olla aktiivisena vain yksi tavoite. Uusi
/goalnollaa vanhan --resumesäilyttää ehdon, mutta vuoro-, aika- ja tokenlaskurit nollautuvat
Ohjauskomennot:
/goalilman argumenttia – näytä nykyinen tila/goal clear(taistop,off,reset,none,cancel) – tyhjennä tavoite
Anthropicin mukaan arvioijan kustannus on ”yleensä merkityksetön päävuoron kustannukseen verrattuna”. Haiku arvioi kriteeriä ja keskustelutekstiä eikä käytä työkaluja, joten tarkistus on halpa. Kallista ovat päämallin vuorot.
Miten /goal otetaan käyttöön Codex CLI:ssä?
Keskeiset huomiot
Codex CLI 0.128.0 lisäsi /goal-komennon 30. huhtikuuta 2026 kokeellisena ominaisuutena. Toukokuun 21. päivänä tila muuttui vakaaksi julkaisussa 26.519 / npm 0.133.0. Se toimii kahden prompt-mallipohjan avulla: continuation.md (”jatka”) ja budget_limit.md (”pysähdy”). Tavoite liittyy ketjuun ja säilyy uudelleenkäynnistyksen jälkeen.
Komento näyttää samalta kuin Claudessa:
codex
> /goal kaikki vitest-testit menevät läpi eikä eslint-virheitä ole
Codex tarjoaa enemmän tavoitteen hallintakomentoja:
| Komento | Mitä se tekee |
|---|---|
/goal condition | aseta tavoite |
/goal | näytä tila |
/goal pause | keskeytä |
/goal resume | jatka |
/goal edit | muuta ehtoa (GA:n kanssa) |
/goal clear | tyhjennä tavoite |
Suurin ero Claudeen on, että Codex tarkistaa itse, onko työ ”valmis”, sen sijaan että erillinen malli tekisi sen. Jokaisen vuoron jälkeen Codex lisää kontekstiin automaattisesti openai/codex-repositoriosta continuation.md-mallipohjan. Vapaa käännös:
”Jatka työskentelyä aktiivisen ketjun tavoitteen eteen. Älä toista jo tehtyä työtä. Valitse seuraava konkreettinen tavoitetta edistävä toimenpide. Merkitse tavoite saavutetuksi vasta, kun tarkastus osoittaa sen todella täyttyneen eikä mitään vaadittua työtä ole jäljellä.”
Kun tokenraja lähestyy, lisätään toinen mallipohja, budget_limit.md:
”Tavoite on saavuttanut tokenrajansa. Älä aloita merkittävää uutta työtä. Päätä tämä vuoro mahdollisimman pian: tiivistä hyödyllinen edistyminen, yksilöi jäljellä oleva työ ja esteet sekä anna käyttäjälle selkeä seuraava askel.”
Logiikka on sama: ”älä valehtele siitä, mitä teit”. Työtä jatketaan vain, jos tavoite ei todella ole vielä täyttynyt. Budget_limit edellyttää pysähtymistä, mutta jäljellä olevat asiat on silti kuvattava rehellisesti.
Codex liittää tavoitteen ketjuun eikä istuntoon. Esimerkiksi päätteen voi sulkea ja avata aamulla, ja /goal resume jatkaa samaa tavoitetta samojen muistissa olevien tietojen kanssa. Tämä on hyödyllistä, kun työ jaetaan omien aikataulujen mukaan osiin.
Miten Claude Coden /goal eroaa Codexin /goal-komennosta?
Keskeiset huomiot
Claude erottaa kirjoittajan ja arvioijan: päämalli kirjoittaa koodin, ja erillinen pieni malli arvioi sen. Codex on yksi agentti, joka tarkistaa oman työnsä ja muistuttaa itseään: ”älä valehtele siitä, mitä teit”. Arkkitehtuurit ovat erilaiset, mutta silmukkaan juuttumisen riski on sama.
Tämä on vertailujen yleisin puute, joten tarkastellaan asiaa yksityiskohtaisesti.
| Ominaisuus | Claude Code /goal | Codex /goal |
|---|---|---|
| Julkaisu | v2.1.139, 11. toukokuuta 2026 | v0.128.0, 30. huhtikuuta 2026 (kokeellinen) → v0.133.0 / 26.519, 21. toukokuuta 2026 (vakaa) |
| Tavoitteen laajuus | Istunto | Ketju (säilyy uudelleenkäynnistyksissä) |
| Ohjaus | set, clear (+ aliakset) | set, view, pause, resume, edit, clear |
| Kuka tarkistaa, onko työ ”valmis” | Erillinen malli (oletuksena Haiku) | Sama agentti lisätyn promptin kautta |
| Arvioijan pääsy tiedostoihin | Ei; se arvioi vain keskustelutekstin perusteella | Kyllä; se voi tutkia tiedostoja, testejä ja lokeja |
| Budjetti | Ehtotekstissä: ”tai pysähdy 20 vuoron jälkeen” | Sisäinen tokenraja + budget_limit.md-tiedoston automaattinen lisäys |
| Tiukka kulutusraja | Ei; vain tilauksen raja | Ei; vain tilauksen raja |
| Ehdon pituus | Enintään 4,000 merkkiä | Ei määritelty |
| Missä toimii | Vuorovaikutteinen tila, -p, työpöytäsovellus, Remote Control | Sovellus, IDE-laajennus, CLI, ACP-asiakasohjelmat |
Käsitteellinen ero on se, että Claude käsittelee silmukkaa laatua koskevana sopimuksena (ulkoinen arvioija), kun taas Codex käsittelee sitä suoritusmekanismina (agentti hallitsee itseään).
Käytännössä tämä tarkoittaa, että jos haluat valmiuskriteerin arvioitavan puolueettomasti, valitse Claude. Jos haluat agentin voivan tarkistaa tiedostoja ja lokeja arvioinnin aikana, valitse Codex.
Lue lisää työkaluista Codexin ja Claude Coden vertailuoppaasta.
Todellinen esimerkki: siirtymä Pydantic v1:stä v2:een 31 tunnissa
Keskeiset huomiot
Codex /goal suoritti sisäisen palvelun 14,000 koodirivin siirron Pydantic v1:stä v2:een 31 tunnissa todellista aikaa neljän istunnon aikana. gpt-5.3-codexilla kustannus oli noin $44.
Tehtävä asetettiin näin: ”siirry Pydantic v1:stä v2:een, kaikkien pytest-testien on mentävä läpi ja mypy strictin on raportoitava nolla virhettä.”
Näin kävi:
- Istunto 1 (8 tuntia) – Codex analysoi importit, kirjoitti
BaseModel-määritykset uudelleen ja otti mypyn käyttöön - Istunto 2 (10 tuntia) – kirjoitti validaattorit uudelleen ja rikkoi noin 200 testiä
- Istunto 3 (7 tuntia) – korjasi testit ja löysi kehäriippuvuuksia
- Istunto 4 (6 tuntia) – ratkaisi loput mypy-virheet ja regressiot
Tokenkustannus:
”Kokonaisaika kellon mukaan oli noin 31 tuntia neljässä istunnossa. Codexin tokenkustannus gpt-5.3-codexin hinnoilla oli yhteensä noin $44.”
Kustannusta hallitsevat gpt-5.3-codexin ulostulotokenit, joiden hinta on $14 miljoonalta tokenilta. Tämä tarkoittaa, että 31 tuntia itsenäistä työtä maksaa suunnilleen yhtä paljon kuin viikkojen ChatGPT Plus -tilaus.
Mitä agentti ei tehnyt itsenäisesti:
- Se ei kirjoittanut migraatiodokumentaatiota tiimille (Codex ei ymmärtänyt sen kuuluvan ”migraatioon”)
- Se ei päivittänyt määritystiedostoja Pydanticin uuden version julkaisemista varten
- Se ohitti yhden tuotantoregression, joka havaittiin vasta seuraavana päivänä
Toisin sanoen /goal teki 95% työstä; jäljellä oleva 5% täytyy yhä tehdä käsin. Se on nykyiselle sukupolvelle normaalia eikä syy jättää ominaisuutta käyttämättä.
14 tuntia macOS-ajurin parissa yön yli
Keskeiset huomiot
Ajurit tehtäväluokkana sopivat huonosti vuorovaikutteiseen työhön mutta erinomaisesti pitkään jatkuviin silmukoihin.
Tehtävät, joissa tästä lähestymistavasta on eniten hyötyä:
- Matalan tason työ, jossa iterointi ja tarkistus kestävät minuutteja (kääntäminen, testien ajaminen)
- Migraatiot, joilla on selkeät muodolliset kriteerit (tyypit, testit, lint)
- Vertailutestit ja optimoinnit, joilla on mitattavat tulokset
- Selkeärakenteinen dokumentaatio ja muutoslokit
Claude /goal toimii yhtä hyvin, mutta ajureissa valitaan useammin Codex, koska se tarkistaa itse tiedostoja ja lokeja eikä luota ulkopuoliseen arvioijaan.
Paljonko se maksaa, ja miten vältät tokenien tuhlaamisen yön aikana?
Keskeiset huomiot
/goal-komennolla ei ole tiukkaa ylärajaa kulutukselle – ainoastaan tilauksesi rajat. Todellinen tunti Codexin käyttöä maksaa gpt-5.3-codexilla noin $1.50–$3. Clauden ajaminen maksaa enemmän ja arviointi vähemmän. Ainoa suojakeino on kirjoittaa ehtoon ”tai pysähdy N vuoron jälkeen”.
Julkisista kertomuksista poimittuja lukuja:
| Ajo | Kesto | Tokenit | Kustannus |
|---|---|---|---|
| OpenAI:n suunnittelutyökalun demo | 25 tuntia | 13M | (sisäinen ajo) |
| Pydantic v1→v2 | 31 tuntia, 4 istuntoa | ~3.1M ulostuloa | ~$44 |
| Äänihaastattelujärjestelmä | yhteensä 6 tuntia 44 minuuttia (41 minuuttia laskentaa) | 6.8 miljoonaa sisääntuloa, 94% välimuistissa | - |
| Fonttien savutesti | 5 minuuttia | 188,832 | alle 5% viikkokiintiöstä |
Tärkeintä on ymmärtää, ettei Claude Code eikä Codex tarjoa tiukkaa ”lopeta kulutus, kun summa on $N” -rajaa. Suojakeinoja on kolme:
- Tilausrajat – Pro, Max tai Enterprise. Anthropicin Max-tilauksella ($100/kuukausi) 14 tunnin yöajo mahtuu viikkokiintiöön reilulla marginaalilla
- Tekstiraja ehdossa – kirjoita ”tai pysähdy 20 vuoron jälkeen” suoraan
/goal-komentoon. Claude-arvioija lukee sen ja sulkee tavoitteen - Codexin tokenraja – sisäinen mekanismi lisää
budget_limit.md-tiedoston, kun tokenit loppuvat
Mikä kasvattaa laskua yön aikana:
- Epämääräinen kriteeri, kuten ”tee siitä kätevämpi” – agentti ei koskaan pysähdy, koska arvioija ei tiedä, mitä ”parempi” tarkoittaa
- Pääsy ulkoisiin API-rajapintoihin ilman stub-ratkaisuja – jokainen uusi yritys kuluttaa tokeneita
- Pitkä konteksti – 6.7M tokenin jälkeen kontekstin tiivistäminen käynnistyy ja osa muistista katoaa
Lue lisää kustannusten säästämisestä oppaista mihin Claude Coden tokenit kuluvat ja miten et kuluta kaikkia rajoituksiasi.
Milloin /goal-komentoa EI kannata käyttää: 5 tilannetta
Keskeiset huomiot
Epämääräiset kriteerit, kuten ”tee siitä nätti”, yhden rivin muutokset, käyttäjätietoja sisältävät tuotantotietokannat, tietoturvakriittiset muutokset ja tehtävät, joilla on epäselviä ulkoisia riippuvuuksia. Kaikissa viidessä tilanteessa agentti joko juuttuu silmukkaan tai kuluttaa tokeneita turhaan.
OpenAI:n dokumentaatiossa kerrotaan selvästi, mitä EI pidä tehdä:
- Yhden rivin muutokset –
/goal-komennon ajaminen muuttujan nimeämiseksi uudelleen maksaa enemmän kuin käsin tehty muutos - Epämääräiset tavoitteet – ”paranna suorituskykyä”, ”siisti koodia”, ”tee siitä kätevämpi”. Arvioijalla ei ole kriteeriä, joten agentti jatkaa loputtomasti
- Käyttäjätietoja sisältävät tuotantotietokannat – agentti voi rikkoa migraation, ja varmuuskopiosta palauttaminen maksaa enemmän kuin mahdolliset säästöt
- Tietoturvamuutokset – todennus, salaus, maksunkäsittely. Ihmisen on tarkistettava jokainen commit
- Ulkoiset API-rajapinnat ilman stub-ratkaisuja – jokainen verkkovirhe kuluttaa tokeneita eikä ole hallinnassasi
Mitä tehdä, jos agentti juuttuu?
Keskeiset huomiot
Yksi merkki silmukasta on se, että agentti muokkaa samaa kohtaa 3–4 vuoron ajan ja palauttaa sitten muutokset. Keskeytä se näppäinyhdistelmällä Ctrl+C, tarkista loki ja joko tiukenna kriteeriä tai rajaa tehtävä yhteen osaan. Claudessa /goal clear auttaa; Codexissa käytä /goal pause -komentoa ja muokkaa ehtoa.
Näin tunnistat silmukan nopeasti:
- Agentti koskee samoihin tiedostoihin 3+ vuoron ajan ja palauttaa ne sitten aiempaan tilaan
- Lokissa toistuvat samat virheet, joihin agentti on jo reagoinut
- Kriteeri näyttää sinusta täyttyneen, mutta agentti sanoo ”ei täyty”
- Tokenkulutus vuoroa kohden kasvaa, mutta koodissa ei tapahdu edistystä
Mitä tehdä seuraavaksi:
- Claude Codessa:
/goal clearja sen jälkeen ehdon tarkentaminen - Codexissa:
/goal pause, nykyisen ketjun tarkistaminen, ehdon muokkaaminen komennolla/goal editja sen jälkeen/goal resume - Molemmissa: varmista, että kriteeri on todella todennettavissa (komento palauttaa exit 0:n tai tuottaa tietyn tulosteen)
Silmukka johtuu usein itse tehtävästä, ei agentista. Ehto ”kaikki testit menevät läpi” olettaa, että testit voivat ylipäätään mennä läpi. Jos koodissa on syvä arkkitehtuuriongelma, agentti kiertää oiretta jatkuvasti.
Valmiuskriteerit: /goal-tehtävien kurinalainen määrittely
Keskeiset huomiot
Hyvä kriteeri on komento, joka palauttaa exit 0:n tai tuottaa tietyn tulosteen. ”Kaikki testit menivät läpi” toimii. ”Koodi on siistimpää” ei toimi. Kannattaa yhdistää muodollinen tarkistus mitattavaan mittariin, esimerkiksi testeihin ja vähimmäiskattavuuteen.
OpenAI esittää tämän säännön selvästi virallisessa Codex Cookbookissaan:
Tavoitetta ei katsota saavutetuksi vain siksi, että malli uskoo niin. Tavoite on saavutettu vasta, kun tulos on tarkistettu tiedostoista, testeistä, lokeista, vertailutesteistä tai muista konkreettisista artefakteista.
Toimivia kriteerimalleja:
| Kriteerin tyyppi | Näin muotoilet sen |
|---|---|
| Testit | ”pytest tests/ palauttaa exit 0:n ja kattavuus on vähintään 80%” |
| Tyypit | ”mypy strict raportoi src/-hakemistossa nolla virhettä” |
| Lint | ”eslint . palauttaa exit 0:n kaikista muutetuista tiedostoista” |
| Build | ”npm run build valmistuu onnistuneesti ilman TypeScript-virheitä” |
| Benchmark | ”k6 run perf test osoittaa p95-arvon alle 200 ms:n” |
| Diff | ”git diff näyttää muutoksia vain tiedostoissa X, Y, Z” |
| Yhdistelmä | ”pytest on vihreä JA mypy strict raportoi nolla virhettä JA ruff check menee läpi” |
Combo-rivissä yhdistyvät testit, mypy ja lint. Jos edes yksi tarkistus näyttää yhä virheitä, tavoitetta ei suljeta. Arvioija ei pysty huijaamaan.
Vältettävät mallit:
- ”Koodi on parempi”
- ”Käytettävyys on parantunut”
- ”Suorituskyky on parantunut”
- ”Dokumentaatio on valmis”
Ero ”toimii”- ja ”ei toimi” -tilan välillä on todennettavuus. Jos kriteeriä ei voi tarkistaa komennolla, sitä ei voi tarkistaa lainkaan. Tätä OpenAI tarkoittaa myös ”pitkän aikavälin johdonmukaisuudella”: agentti voi ajatella pitkään, mutta se ei voi itse päättää, mikä on ”riittävän hyvää”.
Voit kokeilla ”yksi prompti – yksi tulos” -ajatusta todellisessa projektissa: aseta /goal, muotoile kriteeri, anna sen suorittaa tehtävä ja analysoi, mikä meni pieleen.
Lähteet
- Claude Coden
/goal-dokumentaatio (Anthropic) - Claude Coden muutosloki (Anthropic)
- OpenAI Codexin muutosloki
- OpenAI Codex Cookbook: Goals-ominaisuuden käyttö
- OpenAI-blogi: Pitkän aikavälin tehtävien ajaminen Codexilla (23. helmikuuta 2026)
- GitHub openai/codex: continuation.md
- GitHub openai/codex: budget_limit.md
Tutustu Ailootiin.
Lisätietoja
Kysymyksiä tästä oppaasta: Näin ajat Claude Codea ja Codexia yön yli /goal-komennolla vuonna 2026: 14 tunnin autonominen tila
Millainen on hyödyllinen /goal-valmistumiskriteeri?
Käytä tarkistettavaa tulosta: nimeä testi, tyyppitarkistus, koonti tai benchmark ja sen vaadittu tulos. Yhdistä vaaditut tarkistukset nimenomaisesti ja määritä sallittu tiedostolaajuus. ”Tee paremmaksi” ei anna agentille mitattavaa pysähtymispistettä.
Mitä teen agentin toistaessa samoja epäonnistuneita muokkauksia?
Keskeytä ajo ja tarkista loki. Jos se koskee samoihin tiedostoihin ja kumoaa niitä jatkuvasti, rajaa tehtävää tai tarkenna kriteeriä. Varmista vaadittujen tarkistusten voivan todella mennä läpi ennen jatkamista.