Sisältökone käytännössä: näin tämä sivusto kirjoittaa artikkelin joka aamu
Vastaus lyhyestiJoka aamu kello kuusi GitHub Action ajaa Node-skriptin: aihe jonosta, Claude Sonnet 5 kirjoittaa enintään kahdeksalla web-haulla, toinen mallikutsu pisteyttää tekstin, markdown menee repoon ja Cloudflare Pages julkaisee. Ihminen tarkistaa jälkikäteen. Julkisilla mallihinnoilla esimerkkiartikkeli maksaa noin 13 senttiä kirjoituksesta ja muutaman sentin portista, eli alle 20 senttiä. Ensimmäinen automaattiajo ei ole vielä pyörinyt, joten luvut ovat arvio.
Tämä on ainoa suomenkielinen sivu, joka kuvaa oman sisältökoneensa vaihe vaiheelta hintoineen. Se on myös sivu, jonka sisältökone on kirjoittanut itsestään. Tässä on putki niin kuin se on rakennettu, lasku niin kuin se on laskettu, ja lista siitä, mikä voi mennä pieleen.
Putki on kuusi vaihetta, joista ihminen on viimeinen
Sivusto on Astro-pohjainen staattinen sivusto, jonka lähdekoodi on GitHub-repossa ja joka julkaistaan Cloudflare Pagesissa. Sisältökone on repon Node-skripti, jonka GitHub Action käynnistää ajastettuna joka aamu kello kuusi. Vaiheet ovat nämä:
- Skripti lukee jonosta seuraavan aiheen. Jono on ihmisen kirjoittama tiedosto, jossa on otsikko, kulma ja pilari, johon artikkeli kuuluu. Kone ei keksi aiheita itse.
- Kirjoittajamalli, Claude Sonnet 5, saa kirjoitusohjeen ja aiheen. Sillä on käytössään web search -työkalu, jonka hakumäärä on rajattu kahdeksaan. Ohje vaatii, että jokaiselle luvulle ja väitteelle on URL, jonka malli on avannut.
- Laatuportti, erillinen mallikutsu omalla ohjeellaan, pisteyttää tekstin rubriikilla 0–100. Alle 70 pistettä palauttaa tekstin kirjoittajalle palautteen kanssa yhdeksi korjauskierrokseksi. Jos toinenkin versio jää alle, artikkeli tallennetaan hylättynä.
- Skripti kirjoittaa markdown-tiedoston frontmattereineen repoon: otsikko, kuvaus, tiivistelmä, lähteet, mallin nimi, hakujen määrä, portin pisteet ja huomiot.
- Commit käynnistää Cloudflare Pagesin buildin, ja sivu on julkinen muutaman minuutin päästä.
- Ihminen, Ilkka Immonen, lukee julkaistun tekstin ja merkitsee sen tarkistetuksi tai hylkää sen. Hylkäykset näkyvät taululla syineen.
Järjestys on tarkoituksellinen. Ihminen on putken lopussa eikä keskellä, koska koe mittaa, mihin kone pystyy yksin. Jos ihminen korjaisi tekstin ennen julkaisua, hylkäyksiä ei näkyisi eikä putken laadusta saisi dataa. Hinta tästä on, että lukija voi nähdä tekstin, jota kukaan ihminen ei ole vielä lukenut. Siksi tarkistuksen tila lukee jokaisessa artikkelissa. Vastuun jakoa käsittelee artikkeli Tekoälyteksti ja E-E-A-T.
Esimerkkiartikkeli maksaa noin 13 senttiä ennen porttia
Claude-alustan hinnaston mukaan Sonnet 5 maksaa 2 dollaria miljoonalta input-tokenilta ja 10 dollaria miljoonalta output-tokenilta. Web search maksaa 10 dollaria tuhannelta haulta, ja työkalun dokumentaation mukaan hakutulokset lasketaan input-tokeneiksi sekä haun tehneellä vuorolla että sen jälkeisillä, kun taas sitaattien url-, title- ja cited_text-kentät eivät kuluta tokeneita. Epäonnistunutta hakua ei laskuteta.
Otetaan esimerkkiartikkeli, jossa kirjoittajakutsu kuluttaa 12 000 input-tokenia (kirjoitusohje, aihe ja kahdeksan haun tulokset), 3 000 output-tokenia (noin 1 200 sanan suomenkielinen teksti frontmattereineen) ja kahdeksan hakua.
Input: 12 000 tokenia × 2 $ / 1 000 000 = 0,024 $. Output: 3 000 tokenia × 10 $ / 1 000 000 = 0,030 $. Haut: 8 × 10 $ / 1 000 = 0,080 $. Yhteensä 0,134 $, eli noin 13 senttiä.
Kaksi asiaa laskusta kannattaa huomata. Haut ovat kalleimmat, lähes 60 prosenttia summasta, vaikka niitä on vain kahdeksan. Ja token-määrät ovat esimerkkejä: jos hakutulokset ovat pitkiä, input voi olla moninkertainen, ja 12 000 on tässä valittu pyöreäksi ja uskottavaksi, ei mitatuksi.
Portti on toinen kutsu. Se lukee valmiin tekstin ja rubriikin, arviolta 5 000 input-tokenia, ja kirjoittaa pisteet ja huomiot, arviolta 500 output-tokenia. Sonnet 5:llä se on 0,010 $ + 0,005 $ = 0,015 $, eli puolitoista senttiä. Jos portti ajetaan halvemmalla mallilla, hinnaston Haiku 4.5 maksaa 1 $ ja 5 $ miljoonalta, jolloin portti on alle senttiä. Korjauskierros toistaa kirjoittajakutsun palautteen kanssa, ja jos malli hakee uudelleen, haut maksetaan uudelleen. Pahimmassa tapauksessa, kirjoitus, portti, korjaus ja toinen portti, esimerkkiartikkeli maksaa noin 30 senttiä. Tavallisessa tapauksessa alle 20.
Kuukaudessa, yksi artikkeli päivässä, se on noin neljästä yhdeksään dollariin mallikuluja. GitHub Actionin ja Cloudflare Pagesin osuus on tässä mittakaavassa nolla: Cloudflaren rajojen mukaan Free-tasolla saa 500 buildia kuukaudessa, ja 30 julkaisua on kuudesosa siitä.
Nämä ovat hinnastosta laskettuja arvioita. Ensimmäinen ajastettu ajo ei ole vielä pyörinyt, joten toteutunutta kustannusta ei ole. Kun sitä kertyy, se julkaistaan artikkelien frontmatterissa, johon on varattu kenttä kustannukselle. Launch-erä, johon tämä teksti kuuluu, on kirjoitettu 22.9.2026 Claude-agenteilla käsin käynnistettynä, eikä sen kustannusta ole mitattu tokenin tarkkuudella.
Mikä voi mennä pieleen, ja mitä siitä seuraa
Kirjoittajamalli voi keksiä luvun. Tämä on putken suurin riski, ja siksi portin rubriikissa faktat painavat 40 pistettä sadasta ja yksikin keksitty luku hylkää. Portti ei kuitenkaan ole erehtymätön, kuten artikkeli Laatuportti: näin toinen kielimalli arvioi tekoälyn kirjoittaman tekstin käy läpi, ja keksitty luku, jolle malli on liittänyt aidon mutta väärän lähteen, voi mennä portista läpi. Ihminen jää viimeiseksi tarkistukseksi, ja hylkäys julkaisun jälkeen on sivuston sisältöä, ei häpeä.
Haut voivat osua vääriin lähteisiin. Kahdeksan hakua ei aina riitä alkuperäislähteeseen, ja malli voi tyytyä uutiseen tutkimuksen sijaan. Kirjoitusohje vaatii sanomaan, jos lähde on toissijainen, mutta ohje ei ole sama kuin tottelu.
Metatiedot voivat toistua. Googlen tekoälysisällön ohje mainitsee tarkkuuden erikseen title-elementeissä, kuvauksissa ja rakenteisessa datassa, ja juuri templaattiotsikot ovat sisältökoneiden yleisin näkyvä virhe. Skeema pakottaa kuvauksen 80–170 merkkiin ja tiivistelmän 40–70 sanaan, mutta pituusraja ei estä samankaltaisuutta. Tämäkin on ihmisen tarkistuslistalla.
Ajastus voi pettää. GitHubin dokumentaation mukaan ajastetut ajot voivat viivästyä kuormituksen aikana, ja julkisessa repossa ajastus sammuu 60 päivän hiljaisuuden jälkeen. Kello kuusi on siis kello kuusi suunnilleen, ja jos ihminen lakkaa koskemasta repoon, kone lakkaa kirjoittamasta kahden kuukauden päästä. Se on sopiva turvaraja.
Build voi kaatua. Astron sisältöskeema kaataa buildin, jos frontmatter ei täsmää: liian pitkä otsikko, puuttuva lähde, väärä päivämäärämuoto. Se on tarkoitus. Rikkinäinen artikkeli ei pääse julki, ja kaatunut build näkyy GitHubissa aamulla.
Ja jono voi loppua. Kone ei keksi aiheita, ihminen keksii. Jos jono on tyhjä, aamuajo ei tee mitään, ja se on parempi kuin että se keksisi jotain.
Miksi putki kerrotaan näin tarkasti
Google suosittelee kertomaan, miten automaattinen sisältö on tehty, jos se on yleisölle mielekästä. Tämän sivuston yleisölle, suomalaiselle yrittäjälle ja markkinointivastaavalle, joka harkitsee tekoälyä sisällöntuotantoon, tekotapa ja hinta ovat mielekkäin osa koko sivustoa. Kymmenen toimistoa sanoo, että tekoäly tehostaa sisällöntuotantoa. Tämä sivu sanoo, mitä se maksaa senteissä, mikä pettää, ja lupaa julkaista hylkäykset. Se on se osa, jota ei saa muualta, ja se on samalla vastaus pilarin Automaattinen sisällöntuotanto kysymykseen: mikä erottaa hyödyllisen automaation spämmistä. Ei työkalu, vaan se, mitä uskaltaa näyttää.
Kysymyksiä, joita tästä haetaan
Paljonko yksi tekoälyartikkeli maksaa?
Tämän sivuston esimerkkilaskulla noin 13 senttiä kirjoituksesta (12 000 input-tokenia, 3 000 output-tokenia, 8 hakua Sonnet 5:llä) ja muutaman sentin portista. Korjauskierros lähes tuplaa summan. Toteutunutta lukua ei vielä ole.
Miksi artikkeli julkaistaan ennen kuin ihminen on lukenut sen?
Koska koe mittaa, mihin kone pystyy yksin. Jos ihminen korjaisi ennen julkaisua, hylkäyksiä ei näkyisi eikä putken laadusta saisi dataa. Tarkistuksen tila lukee jokaisessa artikkelissa.
Lähteet
- Claude Developer Platform: PricingSonnet 5: 2 $/M input, 10 $/M output; web search 10 $/1000 hakua; Haiku 4.5: 1 $/M ja 5 $/M
- Claude Developer Platform: Web search toolmax_uses rajoittaa hakujen määrän; hakutulokset lasketaan input-tokeneiksi; sitaatit eivät kuluta tokeneita; epäonnistunutta hakua ei laskuteta
- GitHub Docs: Events that trigger workflows – scheduleAjastetut ajot voivat viivästyä kuormituksen aikana; julkisessa repossa ajastus sammuu 60 päivän hiljaisuuden jälkeen
- Cloudflare Docs: Pages limitsFree-taso: 500 buildia kuukaudessa, 20 minuutin aikakatkaisu, 20 000 tiedostoa
- Google Search Central: Guidance on using generative AI contentTarkkuus myös metatiedoissa; suositus kertoa tekotapa
Löysitkö virheen?
Tämän tekstin kirjoitti kone ja toinen kone tarkisti faktat. Ihminen ei ole lukenut jokaista tekstiä. Jos jokin on väärin, kerro — ilmoitus menee Ilkka Immoselle, korjaus tehdään ja se merkitään tähän tekstiin näkyviin.