Langsung ke konten utama
Claude Code adalah lingkungan pengkodean yang bersifat agentic. Tidak seperti chatbot yang menjawab pertanyaan dan menunggu, Claude Code dapat membaca file Anda, menjalankan perintah, membuat perubahan, dan bekerja secara mandiri melalui masalah sambil Anda menonton, mengarahkan, atau sepenuhnya menjauh. Ini mengubah cara Anda bekerja. Alih-alih menulis kode sendiri dan meminta Claude untuk meninjau, Anda menjelaskan apa yang Anda inginkan dan Claude mengetahui cara membangunnya. Claude mengeksplorasi, merencanakan, dan mengimplementasikan. Namun otonomi ini masih datang dengan kurva pembelajaran. Claude bekerja dalam batasan tertentu yang perlu Anda pahami. Panduan ini mencakup pola yang telah terbukti efektif di seluruh tim internal Anthropic dan untuk insinyur yang menggunakan Claude Code di berbagai basis kode, bahasa, dan lingkungan. Untuk cara loop agentic bekerja di balik layar, lihat Cara Claude Code Bekerja.
Sebagian besar praktik terbaik didasarkan pada satu batasan: jendela konteks Claude terisi dengan cepat, dan kinerja menurun saat terisi. Jendela konteks Claude menyimpan seluruh percakapan Anda, termasuk setiap pesan, setiap file yang dibaca Claude, dan setiap output perintah. Namun, ini dapat terisi dengan cepat. Sesi debugging tunggal atau eksplorasi basis kode mungkin menghasilkan dan mengonsumsi puluhan ribu token. Ini penting karena kinerja LLM menurun saat konteks terisi. Ketika jendela konteks hampir penuh, Claude mungkin mulai “lupa” instruksi sebelumnya atau membuat lebih banyak kesalahan. Jendela konteks adalah sumber daya paling penting untuk dikelola. Lacak penggunaan konteks secara berkelanjutan dengan baris status khusus, dan lihat Kurangi penggunaan token untuk strategi mengurangi penggunaan token.

Berikan Claude cara untuk memverifikasi pekerjaannya

Sertakan tes, tangkapan layar, atau output yang diharapkan sehingga Claude dapat memeriksa dirinya sendiri. Ini adalah hal dengan leverage tertinggi yang dapat Anda lakukan.
Claude berkinerja jauh lebih baik ketika dapat memverifikasi pekerjaannya sendiri, seperti menjalankan tes, membandingkan tangkapan layar, dan memvalidasi output. Tanpa kriteria kesuksesan yang jelas, mungkin menghasilkan sesuatu yang terlihat benar tetapi sebenarnya tidak berfungsi. Anda menjadi satu-satunya loop umpan balik, dan setiap kesalahan memerlukan perhatian Anda.
StrategiSebelumSesudah
Berikan kriteria verifikasi”implementasikan fungsi yang memvalidasi alamat email""tulis fungsi validateEmail. contoh kasus uji: [email protected] adalah true, invalid adalah false, [email protected] adalah false. jalankan tes setelah mengimplementasikan”
Verifikasi perubahan UI secara visual”buat dashboard terlihat lebih baik""[tempel tangkapan layar] implementasikan desain ini. ambil tangkapan layar hasilnya dan bandingkan dengan yang asli. daftar perbedaan dan perbaiki”
Tangani penyebab akar, bukan gejala”build gagal""build gagal dengan kesalahan ini: [tempel kesalahan]. perbaiki dan verifikasi build berhasil. tangani penyebab akar, jangan tekan kesalahan”
Perubahan UI dapat diverifikasi menggunakan ekstensi Claude di Chrome. Ini membuka tab baru di browser Anda, menguji UI, dan melakukan iterasi hingga kode berfungsi. Verifikasi Anda juga dapat berupa rangkaian tes, linter, atau perintah Bash yang memeriksa output. Investasikan dalam membuat verifikasi Anda sangat solid.

Jelajahi terlebih dahulu, kemudian rencanakan, kemudian kode

Pisahkan penelitian dan perencanaan dari implementasi untuk menghindari menyelesaikan masalah yang salah.
Membiarkan Claude langsung melompat ke pengkodean dapat menghasilkan kode yang menyelesaikan masalah yang salah. Gunakan Plan Mode untuk memisahkan eksplorasi dari eksekusi. Alur kerja yang direkomendasikan memiliki empat fase:
1

Jelajahi

Masukkan Plan Mode. Claude membaca file dan menjawab pertanyaan tanpa membuat perubahan.
claude (Plan Mode)
read /src/auth and understand how we handle sessions and login.
also look at how we manage environment variables for secrets.
2

Rencanakan

Minta Claude untuk membuat rencana implementasi terperinci.
claude (Plan Mode)
I want to add Google OAuth. What files need to change?
What's the session flow? Create a plan.
Tekan Ctrl+G untuk membuka rencana di editor teks Anda untuk pengeditan langsung sebelum Claude melanjutkan.
3

Implementasikan

Beralih kembali ke Normal Mode dan biarkan Claude kode, memverifikasi terhadap rencananya.
claude (Normal Mode)
implement the OAuth flow from your plan. write tests for the
callback handler, run the test suite and fix any failures.
4

Komit

Minta Claude untuk melakukan komit dengan pesan deskriptif dan membuat PR.
claude (Normal Mode)
commit with a descriptive message and open a PR
Plan Mode berguna, tetapi juga menambah overhead.Untuk tugas di mana cakupannya jelas dan perbaikannya kecil (seperti memperbaiki typo, menambahkan baris log, atau mengganti nama variabel) minta Claude untuk melakukannya secara langsung.Perencanaan paling berguna ketika Anda tidak yakin tentang pendekatannya, ketika perubahan memodifikasi beberapa file, atau ketika Anda tidak terbiasa dengan kode yang dimodifikasi. Jika Anda dapat menjelaskan diff dalam satu kalimat, lewati rencana.

Berikan konteks spesifik dalam prompt Anda

Semakin tepat instruksi Anda, semakin sedikit koreksi yang Anda butuhkan.
Claude dapat menyimpulkan niat, tetapi tidak dapat membaca pikiran Anda. Referensikan file spesifik, sebutkan batasan, dan tunjukkan pola contoh.
StrategiSebelumSesudah
Batasi tugas. Tentukan file mana, skenario apa, dan preferensi pengujian.”tambahkan tes untuk foo.py""tulis tes untuk foo.py yang mencakup kasus tepi di mana pengguna logout. hindari mock.”
Tunjukkan sumber. Arahkan Claude ke sumber yang dapat menjawab pertanyaan.”mengapa ExecutionFactory memiliki api yang aneh?""lihat melalui riwayat git ExecutionFactory dan ringkas bagaimana api-nya menjadi seperti ini”
Referensikan pola yang ada. Tunjukkan Claude pola dalam basis kode Anda.”tambahkan widget kalender""lihat bagaimana widget yang ada diimplementasikan di halaman beranda untuk memahami pola. HotDogWidget.php adalah contoh yang baik. ikuti pola untuk mengimplementasikan widget kalender baru yang memungkinkan pengguna memilih bulan dan paginate maju/mundur untuk memilih tahun. bangun dari awal tanpa perpustakaan selain yang sudah digunakan dalam basis kode.”
Jelaskan gejala. Berikan gejala, lokasi yang mungkin, dan apa “diperbaiki” terlihat seperti.”perbaiki bug login""pengguna melaporkan bahwa login gagal setelah timeout sesi. periksa alur auth di src/auth/, terutama penyegaran token. tulis tes yang gagal yang mereproduksi masalah, kemudian perbaiki”
Prompt yang samar dapat berguna ketika Anda mengeksplorasi dan dapat mengubah arah. Prompt seperti "apa yang akan Anda tingkatkan dalam file ini?" dapat mengungkap hal-hal yang tidak akan Anda pikirkan untuk ditanyakan.

Berikan konten kaya

Gunakan @ untuk mereferensikan file, tempel tangkapan layar/gambar, atau pipa data secara langsung.
Anda dapat memberikan data kaya kepada Claude dalam beberapa cara:
  • Referensikan file dengan @ alih-alih menjelaskan di mana kode berada. Claude membaca file sebelum merespons.
  • Tempel gambar secara langsung. Salin/tempel atau seret dan lepas gambar ke dalam prompt.
  • Berikan URL untuk dokumentasi dan referensi API. Gunakan /permissions untuk allowlist domain yang sering digunakan.
  • Pipa data dengan menjalankan cat error.log | claude untuk mengirim konten file secara langsung.
  • Biarkan Claude mengambil apa yang dibutuhkan. Beri tahu Claude untuk menarik konteks sendiri menggunakan perintah Bash, alat MCP, atau dengan membaca file.

Konfigurasi lingkungan Anda

Beberapa langkah setup membuat Claude Code jauh lebih efektif di semua sesi Anda. Untuk gambaran lengkap fitur ekstensi dan kapan menggunakan masing-masing, lihat Perluas Claude Code.

Tulis CLAUDE.md yang efektif

Jalankan /init untuk menghasilkan file CLAUDE.md pemula berdasarkan struktur proyek Anda saat ini, kemudian perbaiki seiring waktu.
CLAUDE.md adalah file khusus yang dibaca Claude di awal setiap percakapan. Sertakan perintah Bash, gaya kode, dan aturan alur kerja. Ini memberikan Claude konteks persisten yang tidak dapat disimpulkan dari kode saja. Perintah /init menganalisis basis kode Anda untuk mendeteksi sistem build, kerangka kerja tes, dan pola kode, memberikan Anda fondasi solid untuk disempurnakan. Tidak ada format yang diperlukan untuk file CLAUDE.md, tetapi tetap singkat dan mudah dibaca manusia. Sebagai contoh:
CLAUDE.md
# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')

# Workflow
- Be sure to typecheck when you're done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance
CLAUDE.md dimuat setiap sesi, jadi hanya sertakan hal-hal yang berlaku secara luas. Untuk pengetahuan domain atau alur kerja yang hanya relevan kadang-kadang, gunakan skills sebagai gantinya. Claude memuat mereka sesuai permintaan tanpa membengkak setiap percakapan. Tetap ringkas. Untuk setiap baris, tanyakan: “Apakah menghapus ini akan menyebabkan Claude membuat kesalahan?” Jika tidak, potong. File CLAUDE.md yang membengkak menyebabkan Claude mengabaikan instruksi aktual Anda!
✅ Sertakan❌ Kecualikan
Perintah Bash yang tidak dapat ditebak ClaudeApa pun yang dapat diketahui Claude dengan membaca kode
Aturan gaya kode yang berbeda dari defaultKonvensi bahasa standar yang sudah diketahui Claude
Instruksi pengujian dan test runner pilihanDokumentasi API terperinci (tautkan ke dokumen sebagai gantinya)
Etiket repositori (penamaan cabang, konvensi PR)Informasi yang berubah sering
Keputusan arsitektur khusus untuk proyek AndaPenjelasan panjang atau tutorial
Keanehan lingkungan pengembang (variabel env yang diperlukan)Praktik yang jelas sendiri seperti “tulis kode yang bersih”
Gotcha umum atau perilaku yang tidak jelasDeskripsi file demi file dari basis kode
Jika Claude terus melakukan sesuatu yang tidak Anda inginkan meskipun memiliki aturan melawannya, file mungkin terlalu panjang dan aturan hilang. Jika Claude mengajukan pertanyaan yang dijawab di CLAUDE.md, frasenya mungkin ambigu. Perlakukan CLAUDE.md seperti kode: tinjau saat ada yang salah, pangkas secara teratur, dan uji perubahan dengan mengamati apakah perilaku Claude benar-benar bergeser. Anda dapat menyesuaikan instruksi dengan menambahkan penekanan (misalnya, “PENTING” atau “ANDA HARUS”) untuk meningkatkan kepatuhan. Periksa CLAUDE.md ke dalam git sehingga tim Anda dapat berkontribusi. File ini meningkat nilainya seiring waktu. File CLAUDE.md dapat mengimpor file tambahan menggunakan sintaks @path/to/import:
CLAUDE.md
See @README.md for project overview and @package.json for available npm commands.

# Additional Instructions
- Git workflow: @docs/git-instructions.md
- Personal overrides: @~/.claude/my-project-instructions.md
Anda dapat menempatkan file CLAUDE.md di beberapa lokasi:
  • Folder home (~/.claude/CLAUDE.md): berlaku untuk semua sesi Claude
  • Root proyek (./CLAUDE.md): periksa ke dalam git untuk dibagikan dengan tim Anda
  • Direktori induk: berguna untuk monorepo di mana root/CLAUDE.md dan root/foo/CLAUDE.md ditarik secara otomatis
  • Direktori anak: Claude menarik file CLAUDE.md anak sesuai permintaan saat bekerja dengan file di direktori tersebut

Konfigurasi izin

Gunakan auto mode untuk membiarkan classifier menangani persetujuan, /permissions untuk allowlist perintah spesifik, atau /sandbox untuk isolasi tingkat OS. Masing-masing mengurangi gangguan sambil membuat Anda tetap mengendalikan.
Secara default, Claude Code meminta izin untuk tindakan yang mungkin memodifikasi sistem Anda: penulisan file, perintah Bash, alat MCP, dll. Ini aman tetapi membosankan. Setelah persetujuan kesepuluh Anda tidak benar-benar meninjau lagi, Anda hanya mengklik. Ada tiga cara untuk mengurangi gangguan ini:
  • Auto mode: model classifier terpisah meninjau perintah dan memblokir hanya apa yang terlihat berisiko: eskalasi cakupan, infrastruktur yang tidak dikenal, atau tindakan yang didorong konten bermusuhan. Terbaik ketika Anda mempercayai arah umum tugas tetapi tidak ingin mengklik setiap langkah
  • Allowlist izin: izinkan alat spesifik yang Anda tahu aman, seperti npm run lint atau git commit
  • Sandboxing: aktifkan isolasi tingkat OS yang membatasi akses sistem file dan jaringan, memungkinkan Claude bekerja lebih bebas dalam batas yang ditentukan
Baca lebih lanjut tentang permission modes, permission rules, dan sandboxing.

Gunakan alat CLI

Beri tahu Claude Code untuk menggunakan alat CLI seperti gh, aws, gcloud, dan sentry-cli saat berinteraksi dengan layanan eksternal.
Alat CLI adalah cara paling efisien konteks untuk berinteraksi dengan layanan eksternal. Jika Anda menggunakan GitHub, instal CLI gh. Claude tahu cara menggunakannya untuk membuat masalah, membuka pull request, dan membaca komentar. Tanpa gh, Claude masih dapat menggunakan GitHub API, tetapi permintaan yang tidak diautentikasi sering kali mencapai batas laju. Claude juga efektif dalam mempelajari alat CLI yang tidak diketahuinya. Coba prompt seperti Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.

Hubungkan server MCP

Jalankan claude mcp add untuk menghubungkan alat eksternal seperti Notion, Figma, atau database Anda.
Dengan server MCP, Anda dapat meminta Claude untuk mengimplementasikan fitur dari pelacak masalah, query database, menganalisis data pemantauan, mengintegrasikan desain dari Figma, dan mengotomatisasi alur kerja.

Atur hooks

Gunakan hooks untuk tindakan yang harus terjadi setiap kali tanpa pengecualian.
Hooks menjalankan skrip secara otomatis pada titik tertentu dalam alur kerja Claude. Tidak seperti instruksi CLAUDE.md yang bersifat penasihat, hooks bersifat deterministik dan menjamin tindakan terjadi. Claude dapat menulis hooks untuk Anda. Coba prompt seperti “Tulis hook yang menjalankan eslint setelah setiap pengeditan file” atau “Tulis hook yang memblokir penulisan ke folder migrasi.” Edit .claude/settings.json secara langsung untuk mengonfigurasi hooks dengan tangan, dan jalankan /hooks untuk menjelajahi apa yang dikonfigurasi.

Buat skills

Buat file SKILL.md di .claude/skills/ untuk memberikan Claude pengetahuan domain dan alur kerja yang dapat digunakan kembali.
Skills memperluas pengetahuan Claude dengan informasi khusus untuk proyek, tim, atau domain Anda. Claude menerapkannya secara otomatis saat relevan, atau Anda dapat menginvokannya secara langsung dengan /skill-name. Buat skill dengan menambahkan direktori dengan SKILL.md ke .claude/skills/:
.claude/skills/api-conventions/SKILL.md
---
name: api-conventions
description: REST API design conventions for our services
---
# API Conventions
- Use kebab-case for URL paths
- Use camelCase for JSON properties
- Always include pagination for list endpoints
- Version APIs in the URL path (/v1/, /v2/)
Skills juga dapat mendefinisikan alur kerja yang dapat digunakan kembali yang Anda panggil secara langsung:
.claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Analyze and fix the GitHub issue: $ARGUMENTS.

1. Use `gh issue view` to get the issue details
2. Understand the problem described in the issue
3. Search the codebase for relevant files
4. Implement the necessary changes to fix the issue
5. Write and run tests to verify the fix
6. Ensure code passes linting and type checking
7. Create a descriptive commit message
8. Push and create a PR
Jalankan /fix-issue 1234 untuk menginvokannya. Gunakan disable-model-invocation: true untuk alur kerja dengan efek samping yang ingin Anda picu secara manual.

Buat subagent khusus

Tentukan asisten khusus di .claude/agents/ yang dapat didelegasikan Claude untuk tugas terisolasi.
Subagents berjalan dalam konteks mereka sendiri dengan set alat yang diizinkan mereka sendiri. Mereka berguna untuk tugas yang membaca banyak file atau memerlukan fokus khusus tanpa mengacaukan percakapan utama Anda.
.claude/agents/security-reviewer.md
---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob, Bash
model: opus
---
You are a senior security engineer. Review code for:
- Injection vulnerabilities (SQL, XSS, command injection)
- Authentication and authorization flaws
- Secrets or credentials in code
- Insecure data handling

Provide specific line references and suggested fixes.
Beri tahu Claude untuk menggunakan subagent secara eksplisit: “Gunakan subagent untuk meninjau kode ini untuk masalah keamanan.”

Instal plugins

Jalankan /plugin untuk menjelajahi marketplace. Plugins menambahkan skills, alat, dan integrasi tanpa konfigurasi.
Plugins menggabungkan skills, hooks, subagent, dan server MCP menjadi satu unit yang dapat diinstal dari komunitas dan Anthropic. Jika Anda bekerja dengan bahasa yang diketik, instal plugin code intelligence untuk memberikan Claude navigasi simbol presisi dan deteksi kesalahan otomatis setelah pengeditan. Untuk panduan memilih antara skills, subagent, hooks, dan MCP, lihat Perluas Claude Code.

Berkomunikasi secara efektif

Cara Anda berkomunikasi dengan Claude Code secara signifikan mempengaruhi kualitas hasil.

Tanyakan pertanyaan basis kode

Tanyakan Claude pertanyaan yang akan Anda tanyakan kepada insinyur senior.
Saat onboarding ke basis kode baru, gunakan Claude Code untuk pembelajaran dan eksplorasi. Anda dapat mengajukan Claude pertanyaan yang sama seperti yang Anda tanyakan kepada insinyur lain:
  • Bagaimana cara logging bekerja?
  • Bagaimana cara membuat endpoint API baru?
  • Apa yang dilakukan async move { ... } pada baris 134 dari foo.rs?
  • Kasus tepi apa yang ditangani CustomerOnboardingFlowImpl?
  • Mengapa kode ini memanggil foo() alih-alih bar() pada baris 333?
Menggunakan Claude Code dengan cara ini adalah alur kerja onboarding yang efektif, meningkatkan waktu ramp-up dan mengurangi beban pada insinyur lain. Tidak ada prompt khusus yang diperlukan: tanyakan pertanyaan secara langsung.

Biarkan Claude mewawancarai Anda

Untuk fitur yang lebih besar, biarkan Claude mewawancarai Anda terlebih dahulu. Mulai dengan prompt minimal dan minta Claude untuk mewawancarai Anda menggunakan alat AskUserQuestion.
Claude menanyakan tentang hal-hal yang mungkin belum Anda pertimbangkan, termasuk implementasi teknis, UI/UX, kasus tepi, dan trade-off.
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.

Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.

Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.
Setelah spesifikasi selesai, mulai sesi segar untuk menjalankannya. Sesi baru memiliki konteks bersih yang fokus sepenuhnya pada implementasi, dan Anda memiliki spesifikasi tertulis untuk direferensikan.

Kelola sesi Anda

Percakapan bersifat persisten dan dapat dibalik. Gunakan ini untuk keuntungan Anda!

Perbaiki arah dengan cepat dan sering

Perbaiki Claude segera setelah Anda melihatnya keluar jalur.
Hasil terbaik datang dari loop umpan balik yang ketat. Meskipun Claude kadang-kadang menyelesaikan masalah dengan sempurna pada upaya pertama, memperbaikinya dengan cepat umumnya menghasilkan solusi yang lebih baik lebih cepat.
  • Esc: hentikan Claude di tengah-tindakan dengan tombol Esc. Konteks dipertahankan, jadi Anda dapat mengarahkan kembali.
  • Esc + Esc atau /rewind: tekan Esc dua kali atau jalankan /rewind untuk membuka menu rewind dan mengembalikan percakapan dan status kode sebelumnya, atau ringkas dari pesan yang dipilih.
  • "Undo that": biarkan Claude mengembalikan perubahannya.
  • /clear: atur ulang konteks antara tugas yang tidak terkait. Sesi panjang dengan konteks yang tidak relevan dapat mengurangi kinerja.
Jika Anda telah memperbaiki Claude lebih dari dua kali pada masalah yang sama dalam satu sesi, konteks penuh dengan pendekatan yang gagal. Jalankan /clear dan mulai segar dengan prompt yang lebih spesifik yang menggabungkan apa yang Anda pelajari. Sesi bersih dengan prompt yang lebih baik hampir selalu mengungguli sesi panjang dengan koreksi terakumulasi.

Kelola konteks secara agresif

Jalankan /clear antara tugas yang tidak terkait untuk mengatur ulang konteks.
Claude Code secara otomatis mengompaksi riwayat percakapan saat Anda mendekati batas konteks, yang mempertahankan kode dan keputusan penting sambil membebaskan ruang. Selama sesi panjang, jendela konteks Claude dapat terisi dengan percakapan yang tidak relevan, konten file, dan perintah. Ini dapat mengurangi kinerja dan kadang-kadang mengalihkan Claude.
  • Gunakan /clear sering antara tugas untuk mengatur ulang jendela konteks sepenuhnya
  • Ketika auto compaction dipicu, Claude meringkas apa yang paling penting, termasuk pola kode, status file, dan keputusan kunci
  • Untuk kontrol lebih, jalankan /compact <instructions>, seperti /compact Focus on the API changes
  • Untuk mengompaksi hanya bagian dari percakapan, gunakan Esc + Esc atau /rewind, pilih checkpoint pesan, dan pilih Summarize from here. Ini mengondensasi pesan dari titik itu maju sambil menjaga konteks awal tetap utuh.
  • Sesuaikan perilaku compaction di CLAUDE.md dengan instruksi seperti "When compacting, always preserve the full list of modified files and any test commands" untuk memastikan konteks kritis bertahan dari ringkasan
  • Untuk pertanyaan cepat yang tidak perlu tetap dalam konteks, gunakan /btw. Jawabannya muncul dalam overlay yang dapat ditutup dan tidak pernah memasuki riwayat percakapan, jadi Anda dapat memeriksa detail tanpa menumbuhkan konteks.

Gunakan subagent untuk investigasi

Delegasikan penelitian dengan "use subagents to investigate X". Mereka mengeksplorasi dalam konteks terpisah, menjaga percakapan utama Anda bersih untuk implementasi.
Karena konteks adalah batasan fundamental Anda, subagent adalah salah satu alat paling kuat yang tersedia. Ketika Claude meneliti basis kode, ia membaca banyak file, semuanya mengonsumsi konteks Anda. Subagent berjalan dalam jendela konteks terpisah dan melaporkan kembali ringkasan:
Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.
Subagent mengeksplorasi basis kode, membaca file yang relevan, dan melaporkan kembali dengan temuan, semuanya tanpa mengacaukan percakapan utama Anda. Anda juga dapat menggunakan subagent untuk verifikasi setelah Claude mengimplementasikan sesuatu:
use a subagent to review this code for edge cases

Rewind dengan checkpoint

Setiap tindakan yang dilakukan Claude membuat checkpoint. Anda dapat mengembalikan percakapan, kode, atau keduanya ke checkpoint sebelumnya.
Claude secara otomatis membuat checkpoint sebelum perubahan. Tekan Escape dua kali atau jalankan /rewind untuk membuka menu rewind. Anda dapat mengembalikan percakapan saja, mengembalikan kode saja, mengembalikan keduanya, atau meringkas dari pesan yang dipilih. Lihat Checkpointing untuk detail. Alih-alih merencanakan setiap langkah dengan hati-hati, Anda dapat memberi tahu Claude untuk mencoba sesuatu yang berisiko. Jika tidak berhasil, rewind dan coba pendekatan berbeda. Checkpoint bertahan di seluruh sesi, jadi Anda dapat menutup terminal dan masih rewind nanti.
Checkpoint hanya melacak perubahan yang dibuat oleh Claude, bukan proses eksternal. Ini bukan pengganti git.

Lanjutkan percakapan

Jalankan claude --continue untuk melanjutkan dari mana Anda tinggalkan, atau --resume untuk memilih dari sesi terbaru.
Claude Code menyimpan percakapan secara lokal. Ketika tugas mencakup beberapa sesi, Anda tidak harus menjelaskan ulang konteksnya:
claude --continue    # Resume the most recent conversation
claude --resume      # Select from recent conversations
Gunakan /rename untuk memberikan sesi nama deskriptif seperti "oauth-migration" atau "debugging-memory-leak" sehingga Anda dapat menemukannya nanti. Perlakukan sesi seperti cabang: alur kerja yang berbeda dapat memiliki konteks terpisah dan persisten.

Otomatisasi dan skalakan

Setelah Anda efektif dengan satu Claude, kalikan output Anda dengan sesi paralel, mode non-interaktif, dan pola fan-out. Semuanya sejauh ini mengasumsikan satu manusia, satu Claude, dan satu percakapan. Tetapi Claude Code skalakan secara horizontal. Teknik di bagian ini menunjukkan bagaimana Anda dapat melakukan lebih banyak.

Jalankan mode non-interaktif

Gunakan claude -p "prompt" di CI, pre-commit hooks, atau skrip. Tambahkan --output-format stream-json untuk output JSON streaming.
Dengan claude -p "your prompt", Anda dapat menjalankan Claude secara non-interaktif, tanpa sesi. Mode non-interaktif adalah cara Anda mengintegrasikan Claude ke dalam pipeline CI, pre-commit hooks, atau alur kerja otomatis apa pun. Format output memungkinkan Anda mengurai hasil secara terprogram: teks biasa, JSON, atau JSON streaming.
# One-off queries
claude -p "Explain what this project does"

# Structured output for scripts
claude -p "List all API endpoints" --output-format json

# Streaming for real-time processing
claude -p "Analyze this log file" --output-format stream-json

Jalankan beberapa sesi Claude

Jalankan beberapa sesi Claude secara paralel untuk mempercepat pengembangan, menjalankan eksperimen terisolasi, atau memulai alur kerja kompleks.
Ada tiga cara utama untuk menjalankan sesi paralel:
  • Aplikasi desktop Claude Code: Kelola beberapa sesi lokal secara visual. Setiap sesi mendapat worktree terisolasi sendiri.
  • Claude Code di web: Jalankan di infrastruktur cloud aman Anthropic dalam VM terisolasi.
  • Tim agen: Koordinasi otomatis dari beberapa sesi dengan tugas bersama, pesan, dan pemimpin tim.
Selain paralelisasi pekerjaan, beberapa sesi memungkinkan alur kerja yang berfokus pada kualitas. Konteks segar meningkatkan tinjauan kode karena Claude tidak akan bias terhadap kode yang baru saja ditulisnya. Sebagai contoh, gunakan pola Writer/Reviewer:
Sesi A (Penulis)Sesi B (Peninjau)
Implementasikan rate limiter untuk endpoint API kami
Tinjau implementasi rate limiter di @src/middleware/rateLimiter.ts. Cari kasus tepi, kondisi race, dan konsistensi dengan pola middleware yang ada.
Berikut adalah umpan balik tinjauan: [output Sesi B]. Tangani masalah ini.
Anda dapat melakukan sesuatu yang serupa dengan tes: biarkan satu Claude menulis tes, kemudian yang lain menulis kode untuk lulus.

Fan out di seluruh file

Loop melalui tugas memanggil claude -p untuk masing-masing. Gunakan --allowedTools untuk cakupan izin untuk operasi batch.
Untuk migrasi besar atau analisis, Anda dapat mendistribusikan pekerjaan di seluruh banyak invokasi Claude paralel:
1

Hasilkan daftar tugas

Biarkan Claude membuat daftar semua file yang perlu dimigrasikan (misalnya, list all 2,000 Python files that need migrating)
2

Tulis skrip untuk loop melalui daftar

for file in $(cat files.txt); do
  claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
    --allowedTools "Edit,Bash(git commit *)"
done
3

Uji pada beberapa file, kemudian jalankan dalam skala

Perbaiki prompt Anda berdasarkan apa yang salah dengan 2-3 file pertama, kemudian jalankan pada set lengkap. Bendera --allowedTools membatasi apa yang dapat dilakukan Claude, yang penting ketika Anda menjalankan tanpa pengawasan.
Anda juga dapat mengintegrasikan Claude ke dalam pipeline pemrosesan/data yang ada:
claude -p "<your prompt>" --output-format json | your_command
Gunakan --verbose untuk debugging selama pengembangan, dan matikan dalam produksi.

Jalankan secara otonom dengan auto mode

Untuk eksekusi tanpa gangguan dengan pemeriksaan keamanan latar belakang, gunakan auto mode. Model classifier meninjau perintah sebelum dijalankan, memblokir eskalasi cakupan, infrastruktur yang tidak dikenal, dan tindakan yang didorong konten bermusuhan sambil membiarkan pekerjaan rutin berjalan tanpa prompt.
claude --permission-mode auto -p "fix all lint errors"
Untuk run non-interaktif dengan bendera -p, auto mode membatalkan jika classifier secara berulang memblokir tindakan, karena tidak ada pengguna untuk kembali. Lihat kapan auto mode kembali untuk ambang batas.

Hindari pola kegagalan umum

Ini adalah kesalahan umum. Mengenalinya lebih awal menghemat waktu:
  • Sesi kitchen sink. Anda mulai dengan satu tugas, kemudian meminta Claude sesuatu yang tidak terkait, kemudian kembali ke tugas pertama. Konteks penuh dengan informasi yang tidak relevan.
    Perbaikan: /clear antara tugas yang tidak terkait.
  • Mengoreksi berulang kali. Claude melakukan sesuatu yang salah, Anda memperbaikinya, masih salah, Anda memperbaiki lagi. Konteks tercemar dengan pendekatan yang gagal.
    Perbaikan: Setelah dua koreksi yang gagal, /clear dan tulis prompt awal yang lebih baik menggabungkan apa yang Anda pelajari.
  • CLAUDE.md yang terlalu spesifik. Jika CLAUDE.md Anda terlalu panjang, Claude mengabaikan setengahnya karena aturan penting hilang dalam kebisingan.
    Perbaikan: Pangkas tanpa ampun. Jika Claude sudah melakukan sesuatu dengan benar tanpa instruksi, hapus atau ubah menjadi hook.
  • Kesenjangan kepercayaan-kemudian-verifikasi. Claude menghasilkan implementasi yang terlihat masuk akal tetapi tidak menangani kasus tepi.
    Perbaikan: Selalu berikan verifikasi (tes, skrip, tangkapan layar). Jika Anda tidak dapat memverifikasinya, jangan kirimkan.
  • Eksplorasi tak terbatas. Anda meminta Claude untuk “menyelidiki” sesuatu tanpa membatasinya. Claude membaca ratusan file, mengisi konteks.
    Perbaikan: Batasi investigasi secara sempit atau gunakan subagent sehingga eksplorasi tidak mengonsumsi konteks utama Anda.

Kembangkan intuisi Anda

Pola dalam panduan ini bukan batu loncatan. Mereka adalah titik awal yang bekerja dengan baik secara umum, tetapi mungkin tidak optimal untuk setiap situasi. Kadang-kadang Anda harus membiarkan konteks terakumulasi karena Anda mendalam dalam satu masalah kompleks dan riwayat berharga. Kadang-kadang Anda harus melewati perencanaan dan membiarkan Claude mengetahuinya karena tugas bersifat eksplorasi. Kadang-kadang prompt yang samar adalah tepat karena Anda ingin melihat bagaimana Claude menafsirkan masalah sebelum membatasinya. Perhatikan apa yang berhasil. Ketika Claude menghasilkan output yang hebat, perhatikan apa yang Anda lakukan: struktur prompt, konteks yang Anda berikan, mode yang Anda gunakan. Ketika Claude berjuang, tanyakan mengapa. Apakah konteksnya terlalu bising? Prompt terlalu samar? Tugas terlalu besar untuk satu pass? Seiring waktu, Anda akan mengembangkan intuisi yang tidak dapat ditangkap oleh panduan apa pun. Anda akan tahu kapan harus spesifik dan kapan harus terbuka, kapan harus merencanakan dan kapan harus mengeksplorasi, kapan harus menghapus konteks dan kapan harus membiarkannya terakumulasi.

Sumber daya terkait