# OpenClaw-kustannusten optimointi: käytännön opas
*Kuinka pienentää AI-agentin kustannuksia ilman että toiminnallisuus kärsii*
OpenClaw on tehokas työkalu, mutta API-kustannukset voivat karata käsistä jos järjestelmää ei konfiguroida harkiten. Tässä oppaassa käyn läpi konkreettisia toimia, joilla saat kulut kuriin.
## 1. Mallin valinta: Flash on ystäväsi
**Oletusmallin valinta on tärkein yksittäinen optimointi.**
Claude Sonnet ja muut korkealaatuiset mallit ovat kalliita. Jos käytät niitä oletuksena jokaiseen vuorovaikutukseen, lasku kasvaa nopeasti.
**Ratkaisu:**
– Aseta **gemini-1.5-flash** (`flash`) oletusmalliksi
– Flash on nopea, halpa ja riittävän hyvä 80-90% tehtävistä
– Käytä Claudea tai muita premium-malleja vain tarvittaessa (koodin generointi, monimutkainen päättely, pitkät dokumentit)
**Konfiguraatio:**
“`yaml
agents:
defaults:
model: google/gemini-1.5-flash
“`
**Käytännön tulos:** Flash maksaa murto-osan Claudesta. Pelkästään tällä muutoksella kustannukset voivat pudota 70-90%.
—
## 2. Keskusteluhistorian rajoittaminen
Jokainen viesti OpenClawissa sisältää aiemman keskusteluhistorian. Mitä pidempi historia, sitä enemmän tokeneita kuluu.
**Ongelma:**
– 50-viestin keskustelu = satoja tuhansia tokeneita per vastaus
– Vanha konteksti ei aina ole relevanttia
**Ratkaisu: aikaperusteinen kontekstin typistys**
Sovimme agenttini kanssa seuraavan käytännön:
– Jos viimeisestä viestistä on kulunut **yli 30 minuuttia** → uusi viesti käsitellään tuoreena kontekstina
– Säilytetään vain **10-15 viimeisintä viestiä** (5-7 viestivaihtopariksi)
– Aktiivisen työistunnon aikana (alle 30 min) säilytetään koko ketju
– Tärkeät päätökset ja lupaykset **dokumentoidaan tiedostoihin** ennen kontekstin tyhjentämistä
**Tulos:** Kun agentti ei enää lue satoja vanhoja viestejä jokaisessa vastauksessa, token-kulutus putoaa merkittävästi.
—
## 3. Notion CMDB: muistin ulkoistaminen
Agentin muisti on kallista. Jokainen yksityiskohta (IP-osoitteet, laitteiden nimet, yhteystiedot) vie tokeneita jokaisessa kontekstissa.
**Ratkaisu: siirrä staattiset tiedot Notioniin**
Loin Notion-tietokannan (CMDB = Configuration Management Database), jossa on:
– Verkkolaitteet ja IP-osoitteet
– Proxmox CT-inventaari
– Yhteystiedot ja osoitekirja
– Kalenterien URL:t ja konfiguraatiot
**Agentti hakee tiedot vain tarvittaessa.**
Sen sijaan että koko inventaari olisi aina kontekstissa, agentti kysyy Notion API:sta:
– “Mikä on pihole:n IP-osoite?”
– “Kenellä on numero +358…”
**Tulos:**
– Konteksti pysyy kevyenä
– Tiedot pysyvät ajan tasalla (muokkaan Notionia, ei tarvitse päivittää agenttia)
– Token-kulutus pienenee
**Linkki:** [Notion API skill](https://clawhub.com) (notion-skill)
—
## 4. Heartbeat-optimointi
Heartbeat-toiminto mahdollistaa agenttille toistuvia tarkistuksia (sähköposti, kalenteri, jne.). Mutta jos heartbeat pyörii liian tiheästi, kulut kasvavat.
**Käytännöt:**
1. **Minimoi heartbeat-frekvenssi:** 12-24 tuntia (ei minuutteja!)
2. **Batch-tarkistukset:** Yhdistä useita tarkistuksia (inbox + calendar + weather) yhteen heartbeat-käyntiin
3. **Älä tee turhaa:** Jos `HEARTBEAT.md` on tyhjä → `HEARTBEAT_OK` (ei API-kutsuja)
4. **Käytä cronia eksakteihin ajoituksiin:** Jos tarvitset tarkan klo 09:00 muistutuksen, älä käytä heartbeatiä vaan cron-jobin
**Säästöpotentiaali:** Jos heartbeat pyörii joka 5 min vs. kerran päivässä, ero on 288 API-kutsua vs. 1 kutsu per päivä.
—
## 5. Session reset: kontekstin nollaus
Pitkät sessiot ovat kalliita. Mitä enemmän historiaa ja kontekstitiedostoja, sitä enemmän jokainen vastaus maksaa.
**Käytäntö:**
– Kun projekti tai tehtäväkokonaisuus on valmis → **ehdota session resetointia** (`/reset`)
– Tämä tyhjentää historian ja aloittaa puhtaalta pöydältä
– Tärkeät asiat on jo dokumentoitu tiedostoihin, joten mitään ei menetä
**Tulos:** Uusi sessio = nopea ja halpa. Vanha sessio jatkuvasti kasvavalla kontekstilla = hidas ja kallis.
—
## 6. Tiedostopohjainen muisti
OpenClaw-agentin muisti on tiedostoissa, ei API-kutsuissa. Hyödynnä tätä:
– **MEMORY.md:** Pitkäaikainen, kuratoitu muisti (ei lueta joka viestissä)
– **memory/YYYY-MM-DD.md:** Päivittäiset raakalokit
– **TOOLS.md, USER.md, AGENTS.md:** Konfiguraatiot ja ohjeet
**Periaate:**
– Kirjoita tärkeät asiat tiedostoihin
– Agentti lukee vain tarvittaessa (ei aina kontekstissa)
– Tiedostot ovat ilmaisia, API-kutsut eivät
—
## 7. Sub-agent-strategia
Sub-agentit (eristetyt istunnot) ovat tehokas tapa eristää kalliit operaatiot.
**Esimerkki:**
– Tarvitset Codex-agenttia debuggaamaan koodia
– Sen sijaan että syötät kaikki tiedostot pääsessioon → spawn sub-agent
– Sub-agent tekee työnsä ja raportoi tuloksen
– Pääsessio saa vain yhteenvedon (ei satoja rivejä koodia kontekstiin)
**Tulos:** Kalliit operaatiot eristetty, pääsessio pysyy kevyenä.
—
## 8. Välttele turhaa pollaamista
**Älä:**
– Pollaa `subagents list` silmukassa
– Tarkista statuksia jatkuvasti “varmuuden vuoksi”
– Lue samoja tiedostoja uudelleen ja uudelleen
**Sen sijaan:**
– Luota push-pohjaisiin ilmoituksiin
– Tarkista status vain kun tarvitset tietoa
– Cachettaa tiedot muuttujiin session aikana
—
## Yhteenveto: mitä me teemme
Tässä konkreettinen lista toimista, jotka olemme ottaneet käyttöön:
✅ **Gemini Flash oletusmalliksi** (70-90% säästö vs. Claude)
✅ **30 min aikaperusteinen kontekstin typistys** (10-15 viestin pidättäminen)
✅ **Notion CMDB** (staattiset tiedot pois kontekstista)
✅ **Heartbeat 12-24h välein** (ei turhaa pollaamista)
✅ **Session reset kun projekti valmis** (konteksti nollaan)
✅ **Dokumentointi tiedostoihin** (muisti ilmaiseksi)
✅ **Sub-agentit kalliisiin tehtäviin** (eristys pois pääsessiosta)
**Lopputulos:**
– Kustannukset hallinnassa
– Toiminnallisuus säilyy täytenä
– Agentti on edelleen tehokas ja älykäs
—
**Vinkki:** Aloita Flash-mallista ja heartbeat-optimoinnista. Ne ovat helpoimmat ja tehokkainta säästöt. Notion CMDB on seuraava askel kun haluat skaalata.
Jos sinulla on kysymyksiä tai omia optimointeja, jaa ne OpenClaw-yhteisössä: https://discord.com/invite/clawd