- Claude Code digunakan secara luas untuk proyek pribadi maupun lingkungan monorepo perusahaan, dengan rangkuman tentang komponen inti dan cara nyata menggunakan fitur-fitur lanjutannya
- Kunci pengoperasian agen yang efektif ada pada kualitas PR akhir, bukan gaya output atau UI, dengan tujuan delegasi bergaya "setel lalu tinggalkan (shoot and forget)"
- Pusat dari codebase adalah file
CLAUDE.md, yang berperan sebagai “konstitusi” untuk mendefinisikan aturan perilaku agen dan cara penggunaan alat
- Tingkat kolaborasi dan otomatisasi ditingkatkan melalui berbagai fitur seperti manajemen konteks, perintah slash, subagen, Hooks, dan GitHub Action (GHA)
- Hubungan antara Skills dan MCP (Model Context Protocol) dibedakan dengan jelas, sambil menekankan struktur agen yang fleksibel dan berfokus pada scripting
- Menyediakan panduan praktis untuk memperluas Claude Code dari sekadar alat CLI menjadi infrastruktur pengembangan AI kelas enterprise
- Sangat sering menggunakan Claude Code
- Untuk proyek hobi, dijalankan di VM beberapa kali seminggu, memakai
--dangerously-skip-permissions agar ide yang muncul bisa langsung diwujudkan menjadi kode
- Untuk pekerjaan, tim membangun aturan dan alat AI-IDE, dan tim engineering kami menghabiskan puluhan miliar token per bulan hanya untuk pembuatan kode
- Pasar agen CLI ramai dengan Claude Code, Gemini CLI, Cursor, dan Codex CLI, tetapi persaingan yang nyata pada dasarnya hanya antara Anthropic dan OpenAI
- Namun jika berbicara dengan para developer, pemilihan alat sering bergantung pada faktor permukaan
- Seperti implementasi fitur yang "beruntung" atau "vibe" dari system prompt yang disukai
- Pada titik ini, semua alat tersebut sebenarnya sudah cukup bagus
- Sebagian orang terlalu berfokus pada gaya output atau UI
- Sanjungan seperti "you're absolutely right!" bukan bug yang benar-benar penting
- Justru itu tanda bahwa pengguna terlalu terlibat dalam loop
- Filsafat penggunaan inti saya adalah "Shoot and Forget"
- Prosesnya berjalan dalam urutan delegasi, penyiapan konteks, pelaksanaan tugas
- Alat dinilai dari PR akhirnya, dievaluasi berdasarkan hasil, bukan proses menuju ke sana
- Tulisan ini adalah refleksi atas seluruh ekosistem berdasarkan pengalaman beberapa bulan menggunakan Claude Code
- Hampir semua fitur yang saya gunakan (dan yang tidak saya gunakan)
- File
CLAUDE.md dasar
- Perintah slash kustom
- Dunia Subagent, Hook, dan GitHub Actions yang kuat
- Karena artikelnya cukup panjang, lebih disarankan dipakai sebagai referensi daripada dibaca seluruhnya
CLAUDE.md: konstitusi agen
Compact, Context, Clear: manajemen context window
- Gunakan perintah
/context untuk memeriksa penggunaan context window 200k token
- Bahkan di Sonnet-1M pun belum jelas apakah seluruh context window benar-benar dimanfaatkan secara efektif
- Sesi baru monorepo secara default menghabiskan sekitar 20k token (10%), dan sisa 180k dipakai untuk pekerjaan perubahan (cepat habis)
- Tiga workflow utama
/compact (dihindari): kompresi otomatis kurang transparan, bisa menimbulkan kesalahan, dan kurang optimal, jadi sebisa mungkin dihindari
/clear + /catchup (restart sederhana): cara reboot default, hapus status dengan /clear lalu gunakan /catchup kustom untuk membaca semua file yang berubah di branch git
- "Document & Clear" (restart kompleks): untuk pekerjaan besar, Claude membuang rencana dan progres ke
.md → /clear → di sesi baru baca .md lalu lanjutkan
Perintah slash kustom
- Perintah slash hanyalah shortcut sederhana untuk prompt yang sering dipakai, tidak lebih dan tidak kurang
- Konfigurasi minimum
/catchup: prompt untuk membaca semua file yang berubah di branch git
/pr: helper untuk merapikan kode, staging, dan menyiapkan PR
- Daftar panjang perintah kustom yang rumit adalah antipola
- Kekuatan inti agen seperti Claude: mampu menghasilkan hasil yang berguna dan bisa digabungkan dari hampir semua input bahasa alami
- Memaksa engineer (atau non-engineer) mempelajari daftar wajib "perintah ajaib" untuk menyelesaikan pekerjaan = gagal
- Tujuannya adalah membangun agen dengan
CLAUDE.md yang lebih intuitif dan alat yang lebih baik
Subagent Kustom
- Secara teori, fitur manajemen konteks yang kuat
- Tugas kompleks: konteks input
X token + konteks kerja Y token + jawaban Z token
N tugas = (X + Y + Z) * N token di jendela utama
- Solusi Subagent: delegasikan tugas
(X + Y) * N ke agen khusus, lalu hanya kembalikan jawaban akhir Z token
- Dalam praktiknya, Subagent kustom menciptakan dua masalah baru
- Context gatekeeping: saat membuat Subagent
PythonTests, semua konteks pengujian disembunyikan dari agen utama → penalaran menyeluruh jadi tidak mungkin → terpaksa memanggil Subagent hanya untuk mengetahui cara memverifikasi kodenya sendiri
- Memaksakan workflow manusia: memaksa Claude mengikuti workflow kaku yang didefinisikan manusia → memberi instruksi cara mendelegasikan = justru masalah yang seharusnya diselesaikan agen itu sendiri
-
Secara pribadi saya lebih menyukai fitur Task(...)
- Buat klon agen serbaguna dengan fitur bawaan
Task(...) milik Claude
- Tempatkan semua konteks inti di
CLAUDE.md
- Agen utama menentukan kapan dan bagaimana mendelegasikan tugas ke salinannya sendiri
- Tetap mempertahankan manfaat penghematan konteks dari Subagent sambil menghilangkan kekurangannya
- Agen mengelola orkestrasi dirinya sendiri secara dinamis
- Disebut arsitektur "Master-Clone" dalam "Building Multi-Agent Systems (Part 2)"
- Jauh lebih disukai dibanding model "Lead-Specialist" yang didorong oleh Subagent kustom
Resume, Continue, History
- Penggunaan dasar
- Sering menggunakan
claude --resume dan claude --continue
- Restart terminal yang bug atau reboot cepat sesi lama
- Menjalankan
claude --resume pada sesi beberapa hari lalu untuk merangkum cara mengatasi error tertentu → memperbaiki CLAUDE.md dan alat internal
- Penggunaan lanjutan
- Claude Code menyimpan seluruh riwayat sesi di
~/.claude/projects/
- Memiliki skrip yang memanfaatkan data sesi riwayat mentah
- Menjalankan meta-analisis pada log: mencari exception umum, permintaan izin, pola error → meningkatkan konteks yang ditargetkan untuk agen
Hooks
- Sangat penting di repo enterprise: tidak dipakai pada proyek hobi
- Aturan "must-do" deterministik yang melengkapi saran "should-do" di
CLAUDE.md
- Dua jenis
- Hook pemblokiran tahap commit (Block-at-Submit): strategi utama
- Membungkus semua perintah
Bash(git commit) dengan Hook PreToolUse
- Memeriksa file
/tmp/agent-pre-commit-pass (dibuat hanya jika skrip test meloloskan semua test)
- Jika file tidak ada, commit diblokir → memaksa Claude masuk ke loop "test-fix" sampai build berhasil
- Hook petunjuk: Hook non-pemblokiran sederhana yang memberi umpan balik "fire-and-forget" saat agen melakukan opsi terbaik kedua
- Sengaja tidak memakai Hook pemblokiran tahap penulisan (saat
Edit atau Write)
- Memblokir agen di tengah rencana dapat menimbulkan kebingungan atau "frustrasi"
- Jauh lebih efektif memverifikasi hasil akhir yang sudah selesai pada tahap commit setelah pekerjaan selesai
Mode perencanaan
- Saat melakukan perubahan fitur "besar" dengan AI IDE, perencanaan itu wajib
- Proyek hobi: hanya memakai mode perencanaan bawaan
- Menyelaraskan pendekatan sebelum memulai Claude
- Mendefinisikan cara build serta "checkpoint pemeriksaan" saat pekerjaan harus dihentikan dan hasil ditampilkan
- Pemakaian rutin membangun intuisi yang kuat tentang konteks minimum yang dibutuhkan agar Claude menghasilkan rencana yang baik tanpa merusak implementasi
- Monorepo enterprise: mulai meluncurkan alat perencanaan kustom berbasis Claude Code SDK
- Mirip mode plan native, tetapi dengan prompt yang difokuskan agar output selaras dengan format desain teknis yang sudah ada
- Menegakkan praktik terbaik internal secara bawaan (mulai dari struktur kode hingga privasi data dan keamanan)
- Memungkinkan engineer membuat "vibe plan" fitur baru layaknya arsitek senior (setidaknya itu idenya)
Skills
- Setuju dengan pendapat Simon Willison: Skills (mungkin) adalah hal yang lebih besar daripada MCP
- Evolusi 3 tahap model mental otonomi agen
- Single Prompt: memberikan semua konteks kepada agen dalam satu prompt raksasa (rapuh, tidak bisa diskalakan)
- Tool Calling: model agen "klasik", membuat tool secara manual dan abstraksi realitas untuk agen (membaik, tetapi menciptakan abstraksi baru dan bottleneck konteks)
- Scripting: memberi agen akses ke lingkungan mentah (binary, script, dokumentasi) → agen menulis kode secara langsung untuk berinteraksi
- Agent Skills adalah fitur berikutnya yang jelas: produk resmi dari lapisan "Scripting"
- Jika lebih memilih CLI daripada MCP, berarti Anda sudah secara implisit mendapatkan manfaat Skills
- File
SKILL.md adalah cara yang lebih terorganisasi, bisa dibagikan, dan mudah ditemukan untuk mendokumentasikan CLI dan script ini lalu mengeksposnya ke agen
- Skills adalah abstraksi yang tepat: meresmikan model agen berbasis "scripting" yang lebih tangguh dan fleksibel dibanding model kaku mirip API yang direpresentasikan MCP
MCP (Model Context Protocol)
- Adanya Skills tidak berarti MCP mati (lihat "Everything Wrong with MCP")
- Masalah sebelumnya: banyak orang membangun MCP yang buruk dan berat konteks dengan puluhan tool yang mencerminkan REST API (
read_thing_a(), read_thing_b(), update_thing_c())
- Model "Scripting" (yang diresmikan lewat Skills) adalah pendekatan yang lebih baik, tetapi tetap membutuhkan cara aman untuk mengakses lingkungan → di sinilah peran baru MCP
-
Peran baru MCP: gateway data
- Alih-alih API yang gemuk, berikan beberapa tool tingkat tinggi yang kuat dalam bentuk gateway yang sederhana dan aman
download_raw_data(filters…)
take_sensitive_gated_action(args…)
execute_code_in_environment_with_state(code…)
- Peran MCP: mengelola autentikasi, jaringan, dan batas keamanan, bukan menjadi abstraksi realitas untuk agen, lalu tidak ikut campur lebih jauh
- Menyediakan titik masuk bagi agen → agen melakukan pekerjaan sebenarnya dengan scripting dan konteks
markdown
- Satu-satunya MCP yang saat ini dipakai: Playwright (masuk akal karena lingkungannya kompleks dan stateful)
- Semua tool stateless (Jira, AWS, GitHub) dimigrasikan ke CLI sederhana
Claude Code SDK
- Claude Code bukan hanya CLI interaktif, tetapi juga SDK yang sangat kuat untuk membangun agen yang benar-benar baru, baik untuk tugas coding maupun non-coding
- Pada sebagian besar proyek hobi baru, mulai digunakan sebagai framework agen default alih-alih alat seperti LangChain/CrewAI
- Tiga cara penggunaan utama
- Scripting paralel berskala besar: saat refactoring besar-besaran, perbaikan bug, atau migrasi, tanpa memakai chat interaktif
- Tulis skrip bash sederhana yang memanggil
claude -p "in /pathA change all refs from foo to bar" secara paralel
- Jauh lebih skalabel dan mudah dikendalikan dibanding membuat agen utama mengelola puluhan tugas subagent
- Membangun alat chat internal: sempurna untuk membungkus proses kompleks dalam antarmuka chat sederhana bagi pengguna nonteknis
- Contoh: installer yang saat terjadi error melakukan fallback ke Claude Code SDK untuk menyelesaikan masalah pengguna
- Contoh: alat internal "v0-at-home" yang memungkinkan tim desain melakukan vibe-code frontend mockup dengan framework UI internal perusahaan (menjamin fidelitas ide yang tinggi dan bisa digunakan lebih langsung dalam kode frontend production)
- Prototyping agen cepat: kasus penggunaan paling umum, tidak terbatas untuk coding
- Saat ada ide pekerjaan agen (misalnya "agen investigasi ancaman" yang memakai CLI kustom atau MCP)
- Bangun dan uji prototipe dengan cepat memakai Claude Code SDK sebelum commit scaffolding deployment penuh
Claude Code GitHub Action (GHA)
- Salah satu fitur favorit dan paling diremehkan: konsepnya sederhana (menjalankan Claude Code di GHA), tetapi justru kesederhanaan ini yang menjadi sumber kekuatannya
- Mirip dengan background agent Cursor atau UI web terkelola Codex, tetapi jauh lebih bisa dikustomisasi
- Kontrol penuh atas container dan environment → akses data lebih baik
- Kontrol sandboxing dan audit yang jauh lebih kuat dibanding produk lain
- Mendukung semua fitur lanjutan seperti Hook dan MCP
-
Kasus penggunaan
- Membangun alat "PR dari mana saja" kustom
- Bisa memicu PR dari Slack, Jira, bahkan notifikasi CloudWatch
- GHA mengembalikan PR yang sudah diuji sepenuhnya setelah memperbaiki bug atau menambahkan fitur
- Flywheel berbasis data
- Log GHA = log agen lengkap
- Tinjau log secara rutin di tingkat perusahaan: temukan kesalahan umum, error bash, dan praktik engineering yang belum selaras
- Flywheel: bug → perbaikan CLAUDE.md/CLI → agen yang lebih baik
$ query-claude-gha-logs --since 5d | claude -p "see what the other claudes were getting stuck on and fix it, then put up a PR"
settings.json
- Konfigurasi tertentu yang penting untuk pekerjaan hobi maupun kerja
HTTPS_PROXY/HTTP_PROXY: untuk debugging
- Periksa traffic mentah untuk melihat prompt persis yang dikirim Claude
- Untuk background agent, ini alat yang kuat untuk sandboxing jaringan yang rinci
MCP_TOOL_TIMEOUT/BASH_MAX_TIMEOUT_MS: naikkan nilainya
- Lebih suka menjalankan perintah yang panjang dan kompleks, dan timeout default sering terlalu konservatif
- Tidak yakin apakah masih diperlukan setelah tugas background bash, tetapi tetap dipertahankan untuk berjaga-jaga
ANTHROPIC_API_KEY: di tempat kerja gunakan enterprise API key (apiKeyHelper)
- Beralih dari lisensi "per kursi" ke harga "berbasis penggunaan" (model yang jauh lebih baik untuk cara kerja ini)
- Mengingat perbedaan penggunaan developer yang sangat besar (terlihat perbedaan 1:100 antar engineer)
- Engineer dapat bereksperimen dengan skrip LLM non-Claude-Code memakai satu akun enterprise yang sama
"permissions": audit mandiri secara berkala daftar perintah yang diizinkan Claude untuk dijalankan otomatis
Penutup
- Isinya memang banyak, tetapi semoga berguna
- Jika belum memakai agen berbasis CLI seperti Claude Code atau Codex CLI, Anda sebaiknya mulai menggunakannya
- Hampir tidak ada panduan bagus untuk fitur-fitur lanjutan ini, dan satu-satunya cara belajar adalah langsung terjun mencobanya
Belum ada komentar.