Dua alat peningkatan efisiensi konteks Kode Claude direkomendasikan.

182.159.***.***
8

Saat menggunakan Claude Code, Anda mungkin pernah mengalami penurunan kualitas respons lanjutan karena hasil pemanggilan alat atau penelusuran kode oleh LLM memenuhi konteks. Itulah gejala "tadi berjalan baik, tiba-tiba memberikan jawaban aneh." Secara industri, masalah ini dikenal dengan istilah seperti lost-in-the-middle dan context rot.

Saya berbagi dua alat yang menyelesaikan masalah dari dua sisi berbeda.

Satu alat mencegah kontaminasi konteks setelah pemanggilan alat, dan satu lagi menghemat token saat memasukkan prompt. Keduanya tidak tumpang tindih sehingga dapat digunakan bersamaan.


1) Context Mode (mksglu/context-mode) - Pencegahan Kontaminasi Konteks

Tautan: https://github.com/mksglu/context-mode

Masalah yang diselesaikan:

Saat memanggil alat seperti Bash, Read, Grep, WebFetch, output mentah langsung masuk ke konteks. Satu kali git log bisa memakan puluhan ribu token, respons screenshot Playwright 56KB, bahkan hanya deskripsi alat MCP saja bisa menghabiskan lebih dari 50 ribu token per sesi. Jika ini terakumulasi, LLM tidak dapat fokus pada inti pertanyaan pengguna.

Cara kerja:

Hook PreToolUse mencegat pemanggilan alat dan mengirimkannya ke subprocess sandbox. Output mentah tetap di sandbox, dan yang masuk ke konteks hanya ringkasan + indeks yang dapat dicari bila diperlukan. Menyediakan 8 alat virtualisasi (ctx_execute, ctx_index, ctx_search, dll.).

Sekaligus menyelesaikan masalah kontinuitas sesi. Pengeditan file, operasi git, error, dan keputusan pengguna dilacak di SQLite, lalu dipulihkan sebagai snapshot tier prioritas (≤2KB) saat kompaksi terjadi. Alur kerja tidak terganggu meski konteks terkompresi.

Hasil pengukuran:

Playwright 56KB → 299B (penghematan 98%), konteks tetap ringan setelah pemanggilan alat sehingga dapat menggali lebih dalam dalam sesi yang sama.

3,1k stars, alat yang pernah ramai dibahas di Hacker News.

Instalasi:

npm install + pendaftaran MCP sekali saja. Dukungan beta untuk 5 platform (Claude Code, Gemini CLI, VS Code Copilot, dll.). Codex CLI tidak memiliki hook sehingga hanya berfungsi 60%.

Lisensi: ELv2 (distribusi ulang terbatas, penggunaan bebas).


2) tunaCtx (hang-in/tunaCtx, fork dari jaytoone/CTX) - Penghematan Token Konteks

Tautan: https://github.com/hang-in/tunaCtx

Masalah yang diselesaikan:

Saat pengguna memasukkan prompt, LLM memanggil alat seperti grep, glob, read secara berulang untuk menemukan kode yang relevan. Dalam proses ini, file yang tidak relevan pun masuk ke konteks sehingga membuang token, dan LLM sering kali salah menebak berdasarkan pencocokan teks saja tanpa melihat struktur dependensi kode yang ada.

Cara kerja:

Hook UserPromptSubmit menangkap prompt pengguna, lalu trigger classifier mengklasifikasikannya menjadi 4 kategori.

- EXPLICIT_SYMBOL: nama kelas/fungsi disebutkan → lookup langsung ke indeks simbol

- SEMANTIC_CONCEPT: pencarian konsep → kata kunci BM25

- IMPLICIT_CONTEXT: pencarian dependensi → traversal BFS pada import graph

- TEMPORAL_HISTORY: perubahan terkini → pelacakan sesi

Setiap trigger diarahkan ke retrieval yang berbeda dan hasilnya disuntikkan ke konteks. LLM tidak perlu menelusuri grep, karena file yang relevan sudah diterima sejak tahap prompt. Kuncinya adalah IMPLICIT_CONTEXT — import graph kode memiliki informasi struktur yang tidak terlihat oleh text RAG, sehingga pada kueri dependensi terdapat perbedaan BM25 R@5=0,4 vs CTX R@5=1,0.

Hasil pengukuran:

1,9 kali efisiensi token dibandingkan BM25 (berdasarkan TES), penggunaan token 5,2% (BM25 18,7%). Cepat karena tidak ada pemanggilan LLM. Latensi hook 40-270ms (tergantung ukuran proyek).

Versi aslinya adalah alat akademis yang akan dikirimkan ke EMNLP 2026. Namun karena perlu penyesuaian untuk digunakan di lingkungan produksi, saya melakukan fork.

Pekerjaan yang dilakukan pada fork ini:

- Memecah god module bm25-memory.py 1837 baris menjadi orchestrator 300 baris + 11 sub-modul

- Menyatukan tokenizer/scoring BM25 antara eval dan produksi (versi asli bercabang dua sehingga peningkatan di satu sisi tidak otomatis menyebar ke sisi lain)

- 82 unit test (settings.json patcher, hook fallback, cache invalidation, dll.)

- 26 fixture regression guard (perbandingan output hook deterministik di level byte)

- Penguatan keamanan (graceful fallback saat import sqlite_vec gagal, pengurutan deterministik, instalasi atomik dengan pembaruan berbasis hash). Algoritma retrieval tetap sama seperti aslinya. Hanya kesiapan produksi yang diperkuat.

Instalasi:

git clone + pip install -e . + ctx-install

ctx-install menangani ~/.claude/hooks/ dan settings.json secara idempoten (tidak ada penambahan duplikat saat dijalankan ulang) + pencadangan (menghasilkan backup_<TS>.py dengan timestamp) dengan aman.

Pemrosesan bahasa Korea pada versi asli memiliki kelemahan (tokenizer BM25 berbasis bahasa Inggris), namun pada fork ini telah disiapkan ruang untuk mengintegrasikan analizator morfologi bahasa Korea. Ini menjadi kandidat pekerjaan untuk siklus berikutnya.

Lisensi: MIT. Dicantumkan bersama copyright jaytoone/CTX asli.


Menggunakan keduanya bersama:

- Context Mode: pemanggilan alat → diisolasi ke sandbox (mencegah kontaminasi)

- tunaCtx: input prompt → injeksi otomatis kode yang relevan (penghematan token)

Event hook hampir tidak tumpang tindih (Context Mode menggunakan PreToolUse/PostToolUse/PreCompact/SessionStart, tunaCtx menggunakan UserPromptSubmit/PostToolUse hanya untuk Grep matcher) sehingga keduanya dapat didaftarkan bersamaan. PostToolUse adalah satu-satunya event yang tumpang tindih, namun tunaCtx hanya menggunakannya untuk Grep matcher sehingga hampir tidak ada konflik. Kombinasi ini mengurangi pemborosan token di sisi input, sekaligus mencegah hasil pemanggilan alat mengontaminasi konteks di sisi output. Efek kumulatifnya besar dalam alur kerja pengkodean dengan Sonnet/Opus.

로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
8.35 -0.01

2026.07.10 KEB 하나은행 고시회차 1080회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!