Sesi OpenClaw membakar 21,5 juta token dalam sehari, strategi optimasi memangkas biaya

iconOdaily
Bagikan
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRingkasan

expand icon
Sesi OpenClaw terbaru membakar 21,5 juta token dalam satu hari, terutama karena pengulangan cache prefix daripada output pengguna atau model. Lebih dari 79% penggunaan token berasal dari pembacaan cache, dengan output menengah besar seperti hasil alat dan snapshot browser yang diulang. Laporan ini menyoroti strategi optimasi gas: hindari output alat besar dalam konteks jangka panjang, konfigurasikan mekanisme kompaksi, dan kurangi teks penalaran yang persisten. Langkah-langkah ini bertujuan untuk mengurangi biaya token dengan meningkatkan manajemen konteks dalam sistem agen.

Mengapa Sesi OpenClaw Saya Membakar 21,5 Juta Token dalam Sehari (Dan Apa yang Benar-Benar Memperbaikinya)

Penulis asli: MOSHIII

Terjemahan asli: Peggy, BlockBeats

Catatan editor: Di tengah adopsi cepat aplikasi Agent, banyak tim menemukan fenomena yang tampaknya kontradiktif: sistem berjalan normal, tetapi biaya token terus meningkat tanpa disadari. Melalui analisis terhadap beban kerja OpenClaw yang nyata, ditemukan bahwa penyebab ledakan biaya sering kali bukan berasal dari input pengguna atau output model, melainkan dari cache konteks yang diulang (cached prefix replay) yang diabaikan. Model secara berulang membaca konteks historis yang besar dalam setiap panggilan, menghasilkan konsumsi token yang sangat besar.

Artikel ini menggabungkan data sesi spesifik untuk menunjukkan bagaimana output alat, tangkapan layar browser, log JSON, dan hasil menengah besar lainnya terus-menerus ditulis ke konteks historis dan dibaca ulang dalam siklus agen.

Melalui kasus ini, penulis mengusulkan serangkaian pendekatan optimasi yang jelas: mulai dari desain struktur konteks, manajemen output alat, hingga konfigurasi mekanisme compaction. Bagi pengembang yang sedang membangun sistem Agent, ini bukan hanya catatan pemecahan masalah teknis, tetapi juga panduan nyata untuk menghemat biaya.

Berikut adalah teks aslinya:

Saya menganalisis beban kerja OpenClaw yang nyata dan menemukan pola yang saya yakin akan dikenali oleh banyak pengguna Agent:

Penggunaan token tampak sangat 'aktif'

Balasan tampaknya juga normal

Namun, konsumsi token tiba-tiba meledak pesat

Berikut adalah dekomposisi struktur, penyebab mendasar, dan jalur perbaikan yang dapat diimplementasikan untuk analisis ini.

TL;DR

Faktor pendorong biaya terbesar bukanlah pesan pengguna yang terlalu panjang, melainkan sejumlah besar prefiks cache yang diputar ulang berulang-ulang.

Dari data sesi:

Total token: 21.543.714

cacheRead: 17.105.970 (79,40%)

4.345.264 (20,17%)

output: 92.480 (0,43%)

Dengan kata lain: sebagian besar biaya panggilan sebenarnya bukan untuk menangani niat pengguna baru, tetapi untuk membaca berulang-ulang konteks historis yang sangat besar.

Momen "Tunggu sebentar, kenapa bisa begitu?"

Saya awalnya mengira penggunaan token tinggi berasal dari: prompt pengguna yang sangat panjang, banyak output yang dihasilkan, atau pemanggilan alat yang mahal.

Namun pola yang benar-benar mendominasi adalah:

Beberapa ratus hingga beberapa ribu token

cacheRead: Setiap panggilan 170.000 hingga 180.000 token

Artinya, model membaca kembali prefix stabil yang sangat besar yang sama pada setiap putaran.

Rentang data

Saya menganalisis data dari dua tingkat:

1. Log runtime

2. Rekam sesi (session transcripts)

Perlu ditekankan bahwa:

Log operasi terutama digunakan untuk mengamati sinyal perilaku (seperti restart, kesalahan, masalah konfigurasi)

Statistik token yang akurat berasal dari bidang usage dalam JSONL sesi

Script yang digunakan:

scripts/session_token_breakdown.py

scripts/session_duplicate_waste_analysis.py

File analisis yang dihasilkan:

tmp/session_token_stats_v2.txt

tmp/session_token_stats_v2.json

tmp/session_duplicate_waste.txt

tmp/session_duplicate_waste.json

tmp/session_duplicate_waste.png

Di mana token benar-benar dikonsumsi?

1) Sesi terpusat

Satu sesi menghabiskan sumber daya jauh lebih tinggi daripada yang lain:

570587c3-dc42-47e4-9dd4-985c2a50af86: 19.204.645 token

Kemudian terjadi penurunan tajam yang jelas:

ef42abbb-d8a1-48d8-9924-2f869dea6d4a: 1.505.038

ea880b13-f97f-4d45-ba8c-a236cf6f2bb5: 649.584

2) Perilaku terfokus

Token terutama berasal dari:

toolUse:16.372.294

berhenti: 5.171.420

Masalah utama terletak pada siklus pemanggilan alat, bukan obrolan biasa.

3) Waktu terkonsentrasi

Puncak token bukan acak, tetapi terkonsentrasi pada beberapa periode jam:

2026-03-08 16:00: 4.105.105

2026-03-08 09:00: 4.036.070

2026-03-08 07:00: 2.793.648

Apa yang sebenarnya ada di dalam prefix cache yang sangat besar?

Bukan isi percakapan, tetapi terutama produk antara besar:

Blok data toolResult yang sangat besar

Jejak pemikiran / penalaran yang panjang

Snapshot JSON besar

Daftar file

Browser mengambil data

Riwayat percakapan Sub-Agent

Dalam sesi terbesar, jumlah karakter sekitar:

366.469 karakter

assistant:thinking:331,494 karakter

53.039 karakter

Setelah konten ini disimpan dalam konteks historis, setiap panggilan berikutnya mungkin membacanya kembali melalui awalan cache.

Contoh spesifik (dari file sesi)

Blok konteks besar muncul berulang-ulang di lokasi berikut:

sessions/570587c3-dc42-47e4-9dd4-985c2a50af86.jsonl:70

Log JSON gerbang besar (sekitar 37.000 karakter)

sessions/570587c3-dc42-47e4-9dd4-985c2a50af86.jsonl:134

Snapshot browser + enkapsulasi aman (sekitar 29.000 karakter)

sessions/570587c3-dc42-47e4-9dd4-985c2a50af86.jsonl:219

Daftar file besar yang dihasilkan (sekitar 41.000 karakter)

sessions/570587c3-dc42-47e4-9dd4-985c2a50af86.jsonl:311

session/status Snapshot status + struktur prompt besar (sekitar 30.000 karakter)

"Kemubaziran konten berulang" vs "Beban cache replay"

Saya juga mengukur proporsi konten berulang di dalam satu panggilan:

Persentase pengulangan sekitar: 1.72%

Memang ada, tetapi bukan masalah utama.

Masalah sebenarnya adalah: volume absolut dari prefiks cache terlalu besar

Struktur adalah: konteks historis yang sangat besar, membaca ulang setiap panggilan, dengan hanya menambahkan sedikit input baru di atasnya

Oleh karena itu, fokus optimasi bukan pada penghapusan duplikasi, tetapi pada desain struktur konteks.

Mengapa siklus Agent sangat rentan mengalami masalah ini?

Tiga mekanisme saling bertumpukan:

1. Sejumlah besar alat keluaran ditulis ke konteks historis

2. Alur alat akan menghasilkan banyak panggilan dengan interval singkat

3. Perubahan awalan sangat kecil → cache akan selalu dibaca ulang

Jika kompaksi konteks tidak terpicu secara stabil, masalah akan cepat membesar.

Strategi perbaikan paling penting (diurutkan berdasarkan dampak)

P0—Jangan memasukkan output alat besar ke dalam konteks jangka panjang

Untuk output alat super besar:

  • Simpan ringkasan + jalur/rujukan ID
  • Menulis payload asli ke file artifact
  • Jangan simpan seluruh teks asli di riwayat chat

Prioritaskan pembatasan kategori ini:

  • JSON besar
  • Daftar panjang
  • Full browser snapshot
  • Transkrip lengkap Sub Agent

P1—Pastikan mekanisme compaction benar-benar berfungsi

Dalam data ini, masalah kompatibilitas konfigurasi muncul beberapa kali: compaction key tidak valid

Ini akan secara diam-diam menutup mekanisme optimasi.

Yang benar: hanya gunakan konfigurasi yang kompatibel dengan versi

Kemudian verifikasi:

openclaw doctor --fix

Periksa log peluncuran untuk memastikan compaction diterima.

P1—Kurangi persistensi teks reasoning

Hindari teks penalaran panjang yang diputar ulang berulang-ulang

Di lingkungan produksi: simpan ringkasan singkat, bukan reasoning lengkap

P3—Perbaikan desain caching prompt

Tujuannya bukan memaksimalkan cacheRead. Tujuannya adalah menggunakan cache pada prefix yang ringkas, stabil, dan bernilai tinggi.

Saran:

  • Masukkan aturan stabil ke dalam system prompt
  • Jangan masukkan data yang tidak stabil ke dalam awalan stabil
  • Hindari menyuntikkan sejumlah besar data debug setiap putaran

Rencana stop-loss praktis (jika saya harus menanganinya besok)

1. Temukan sesi dengan persentase cacheRead tertinggi

2. Jalankan /compact pada sesi runaway

3. Tambahkan pemotongan + artefak ke output alat

4. Jalankan ulang statistik token setelah setiap perubahan

Pantau empat KPI utama:

cacheRead / totalTokens

toolUse avgTotal/call

Jumlah panggilan >=100k token

Persentase sesi maksimum

Sinyal sukses

Jika optimasi berfungsi, Anda seharusnya melihat:

Pemanggilan token 100k+ jelas berkurang

Persentase cacheRead menurun

Bobot pemanggilan toolUse turun

Tingkat dominasi dalam satu sesi menurun

Jika indikator-indikator ini tidak berubah, berarti strategi konteks Anda masih terlalu longgar.

Perintah eksperimen replikasi

python3 scripts/session_token_breakdown.py 'sessions' \

--include-deleted \

--20 teratas \

--outlier-threshold 120000 \

--json-out tmp/session_token_stats_v2.json \

> tmp/session_token_stats_v2.txt

python3 scripts/session_duplicate_waste_analysis.py 'sessions' \

--include-deleted \

--20 teratas \

--png-out tmp/session_duplicate_waste.png \

--json-out tmp/session_duplicate_waste.json \

> tmp/session_duplicate_waste.txt

Penutup

Jika sistem Agent Anda tampaknya berjalan normal, tetapi biaya terus meningkat, periksa terlebih dahulu masalah ini: apakah Anda membayar inferensi baru, atau sedang memutar ulang konteks lama dalam skala besar?

Dalam kasus saya, sebagian besar biaya sebenarnya berasal dari konteks replay.

Setelah Anda menyadari hal ini, solusinya menjadi jelas: kendalikan secara ketat data yang masuk ke konteks jangka panjang.

Link asli

Penafian: Informasi pada halaman ini mungkin telah diperoleh dari pihak ketiga dan tidak mencerminkan pandangan atau opini KuCoin. Konten ini disediakan hanya untuk tujuan informasi umum, tanpa representasi atau jaminan apa pun, dan tidak dapat ditafsirkan sebagai saran keuangan atau investasi. KuCoin tidak bertanggung jawab terhadap segala kesalahan atau kelalaian, atau hasil apa pun yang keluar dari penggunaan informasi ini. Berinvestasi di aset digital dapat berisiko. Harap mengevaluasi risiko produk dan toleransi risiko Anda secara cermat berdasarkan situasi keuangan Anda sendiri. Untuk informasi lebih lanjut, silakan lihat Ketentuan Penggunaan dan Pengungkapan Risiko.