Maskot irit: kepala moai batu memakai peci hitam

Agent kamu kebanyakan ngomong.

irit memangkas basa-basinya. Kode, perintah, dan pesan error tetap utuh.

npx caveman-indonesia

Sebelum menjawab, agent menyapa.

Sesudah menjawab, agent mendoakan.

Semuanya ditagih per token.

Pertanyaan Kenapa komponen React saya re-render terus?

160token

Jawaban biasa, apa adanya.

Tentu, saya akan membantu menjelaskan masalah ini! Komponen React Anda kemungkinan besar melakukan re-render terus-menerus karena Anda membuat sebuah object baru sebagai prop di setiap proses render. Ketika Anda menuliskan object secara inline, misalnya `style={{ color: 'red' }}`, React akan menganggap bahwa object tersebut adalah reference yang baru setiap kali komponen parent melakukan render. Akibatnya, komponen child juga akan ikut melakukan re-render walaupun sebenarnya datanya tidak berubah sama sekali. Untuk mengatasi masalah ini, Anda dapat membungkus object tersebut dengan menggunakan hook `useMemo`, sehingga reference-nya akan tetap sama selama dependency-nya tidak berubah. Semoga penjelasan ini membantu, dan jangan ragu untuk bertanya jika ada hal lain yang ingin Anda ketahui!

Object prop inline (`style={{ color: 'red' }}`) bikin reference baru tiap render parent, jadi child ikut re-render walau data sama. Bungkus pakai `useMemo` biar reference tetap selama dependency ga berubah.

Tiap kotak satu token o200k_base. Jawaban irit adalah sampel mode singkat dari benchmark.

Singkat belum tentu hemat.

Tokenizer hafal kata utuh. Singkatan malah dipotong jadi dua.

Jumlah token kata utuh dibanding singkatannya, o200k_base, dengan spasi di depan
Kata utuhTokenSingkatanToken
tidak1tdk2
sudah1udh2
dengan1dgn2
karena1krn2
juga1jg2

Jadi irit menulis kata utuh, lalu membuang basa-basinya.

Satu jawaban, tiga logat.

Ganti kapan saja dengan /irit, /irit jaksel, atau /irit sunda. Balik normal dengan /irit off. Kalau kamu menulis dalam bahasa Inggris, irit menjawab dalam bahasa Inggris yang ringkas, tanpa logat.

singkat

Padat, tanpa hiasan.

Object prop inline (style={{ color: 'red' }}) bikin reference baru tiap render parent, jadi child ikut re-render walau data sama. Bungkus pakai useMemo biar reference tetap selama dependency ga berubah.

/irit48 token

jaksel

Tata bahasa Indonesia, kosakata Inggris diselipkan.

Basically, object prop inline (style={{ color: 'red' }}) itu bikin reference baru tiap parent render, so child ikut ke-trigger re-render even kalau datanya sama. Wrap pakai useMemo aja, reference-nya stay selama dependency ga berubah.

/irit jaksel55 token

sunda

Sunda loma ala Bandung, bukan sekadar ditempeli teh.

Object prop inline (style={{ color: 'red' }}) teh jadi reference anyar unggal render parent, matak child ikut re-render sanajan datana teu robah. Bungkus ku useMemo atuh, ngarah reference-na tetep salila dependency teu robah.

/irit sunda59 token

Angkanya dari benchmark. Kamu bisa mengulangnya.

Enam pertanyaan, masing-masing dijawab dengan empat cara, lalu dihitung dengan tiktoken o200k_base. Jalankan python benchmarks/run.py di repo untuk angka yang sama.

Total token enam sampel per mode, dan persen hemat dibanding jawaban biasa
ModeTokenPanjang relatifHemat
biasa868 
singkat30764,6%
jaksel34060,8%
sunda35059,7%

Sampelnya ditulis tangan untuk menunjukkan bentuk tiap mode, bukan keluaran model langsung. Hasil nyata tergantung seberapa patuh model kamu. Skill ini sendiri memakan sekitar 1.028 token setiap dimuat, jadi hematnya baru terasa setelah beberapa jawaban.

Kalau urusannya berisiko, irit berhenti irit.

Peringatan keamanan, hapus data, force push, dan langkah yang urutannya penting ditulis lengkap. Setelah itu, irit lanjut ringkas.

Peringatan: Perintah ini menghapus permanen semua baris di tabel users dan tidak bisa dibatalkan. Pastikan backup sudah ada.

Pasang dalam satu baris.

npx caveman-indonesia
Claude Code
/plugin marketplace add Leon24k/caveman-indonesia
/plugin install irit@caveman-indonesia
skills CLI
npx skills add Leon24k/caveman-indonesia

Hemat token, bukan hemat makna.