Pengaturan Claude.md Kamu Justru Bikin Coding Pakai AI Jadi 99% Lebih Lambat
AAI LABS
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00Satu file tunggal menentukan apakah produk yang Anda dapatkan
00:00:04adalah implementasi yang tepat yang Anda butuhkan.
00:00:05Untuk pengguna Claude Code, itu adalah claud.md, dan yang lain punya file sendiri, tetapi paling umum
00:00:10mereka menggunakan agents.md.
00:00:11Namun, apa pun yang Anda gunakan, kecuali jika Anda mengaturnya dengan benar, Anda akan terus berjuang melawan
00:00:15agen Anda di setiap tugas.
00:00:17Dan jika Anda berpikir bahwa menjalankan perintah inisialisasi sederhana sudah cukup untuk Anda, Anda sebenarnya
00:00:20salah di sini.
00:00:21Anda perlu mengikuti pola terstruktur yang disesuaikan dengan proyek yang benar-benar membuat agen Anda
00:00:26berkinerja lebih baik.
00:00:27Untuk alasan itu, kami telah menyusun praktik terbaik yang perlu Anda ikuti dari sumber terpercaya lainnya
00:00:31serta dari kami yang menghabiskan waktu berjam-jam dengan Claude Code agar Anda dapat langsung menerapkannya ke dalam
00:00:35alur kerja Anda.
00:00:36Dan poin terakhir itu penting karena itu menentukan bagaimana agen Anda benar-benar mengikuti instruksi Anda
00:00:41dan jika tidak diikuti, instruksi lainnya dalam file Anda tidak akan terlalu berdampak.
00:00:45Hal pertama yang perlu Anda tambahkan ke file claud.md Anda adalah sesuatu yang datang langsung
00:00:49dari repo keterampilan Andrej Karpathy yang berisi pola claud.md terbaik yang ia bicarakan.
00:00:54Anda perlu menambahkan instruksi eksplisit agar Claude berpikir sebelum melakukan pengodean.
00:00:58Ini membuat Claude menyatakan asumsi secara eksplisit.
00:01:01Jika ada beberapa interpretasi, ia harus menyajikan semuanya agar kita dapat memilih dari
00:01:05rangkaian implementasi tersebut.
00:01:07Ini mendorong Claude untuk berpikir dari perspektif yang berbeda sebelum benar-benar menyelami
00:01:11solusinya.
00:01:12Ini memastikan solusi yang ia implementasikan selaras dengan apa yang Anda inginkan.
00:01:15Baris ini memangkas banyak koreksi arah dari alur kerja kami, itulah sebabnya kami merasa ini
00:01:20sangat membantu.
00:01:21Dengan instruksi ini ditambahkan, kapan pun Anda meminta Claude untuk mengimplementasikan fitur, ia pada dasarnya
00:01:25akan mengajukan serangkaian pertanyaan terkait tugas yang Anda berikan agar jawaban Anda memandunya
00:01:29tentang cara melakukan tugas tersebut.
00:01:31Bagian ini secara khusus akan sangat membantu karena sekarang Claude tidak akan menebak-nebak implementasi
00:01:35dan langsung menyelam dari pola yang telah ia hafal dari data pelatihan.
00:01:39Ia akan berpikir matang-matang tentang apa implementasi yang tepat dan mengonfirmasi dengan Anda apakah itu
00:01:43implementasi yang dimaksud, lalu benar-benar mengerjakan fitur tersebut daripada hanya secara liar
00:01:48menebaknya dan Anda menginterupsi Claude karena tidak mengikuti implementasi yang benar
00:01:52yang Anda pikirkan, yang sering terjadi dan mengharuskan Anda untuk sering melakukan
00:01:56koreksi arah.
00:01:57Aturan berikutnya adalah memilih kesederhanaan terlebih dahulu.
00:01:59Ini sesuatu yang sangat sederhana namun tetap perlu secara khusus dinyatakan dalam claud.md agar
00:02:04agen diingatkan dengan benar akan prinsip ini.
00:02:07Claude atau agen mana pun cenderung menulis solusi besar untuk masalah yang bisa diselesaikan dengan
00:02:11solusi sederhana.
00:02:12Namun, ini tidak hanya bermasalah karena menyebabkan penundaan.
00:02:15Ini juga membuat kode sulit untuk difaktorkan ulang nanti dan bahkan lebih sulit untuk menambahkan fitur karena
00:02:19implementasinya sangat bertele-tele sehingga menghabiskan banyak token untuk mengimplementasikan hal-hal sederhana.
00:02:24Jadi baris ini benar-benar mendorong Claude untuk beriterasi menuju kesederhanaan.
00:02:27Kami juga menambahkan ini pada setiap proyek dan terutama saat mengerjakan aplikasi skala besar karena
00:02:32pada skala itu, melakukan ini menjadi lebih penting.
00:02:35Ini secara khusus memberi tahu Claude untuk tidak menambahkan fitur apa pun di luar yang diminta dan untuk memastikan
00:02:39penanganan kesalahan yang tepat untuk implementasi tersebut.
00:02:41Kerangka kerja disiplin di sekitarnya pada dasarnya adalah ambang batas yang keras.
00:02:44Jika solusi untuk masalah apa pun yang Anda minta dapat ditangani dalam 200 baris dan dapat difaktorkan ulang
00:02:49menjadi 50, maka Claude perlu menulis ulang solusinya karena pendekatannya salah.
00:02:54Ini sebenarnya akan mencegah Claude menulis banyak kode overhead yang tidak berguna dengan hal-hal
00:02:58yang bahkan tidak dapat diimplementasikan dan mencerminkan arah yang salah yang dipilih Claude.
00:03:03Bagian ketiga dari claud.md adalah mengimplementasikan perubahan bedah atau dengan kata sederhana, menyentuh
00:03:08hanya bagian-bagian yang harus disentuh oleh agen.
00:03:11Ini mengatasi sesuatu yang sering kami hadapi ketika Claude menulis sejumlah besar kode sekaligus
00:03:15dan perbaikan perlu dinyatakan secara eksplisit dalam file claud.md.
00:03:19Claude atau agen secara umum ketika diminta untuk melakukan satu tugas cenderung mencoba memperbaiki hal-hal
00:03:24di sekitar tugas itu juga.
00:03:25Perbaikan ini mungkin terlihat seperti perubahan kode yang berdekatan atau memformat basis kode yang
00:03:29sebenarnya tidak ingin kami fokuskan pada saat ini.
00:03:32Namun, ini mengganggu karena perhatian Claude terbagi di antara banyak hal yang ia coba
00:03:36implementasikan sekaligus.
00:03:37Mengatur jenis perubahan seperti ini tidak baik karena Claude pada dasarnya menyertakan hal-hal
00:03:41yang tidak ingin kami lakukan saat ini.
00:03:43Jadi kami perlu menyatakan instruksi secara eksplisit di claud.md untuk tidak melakukannya.
00:03:47Jika agen melihat kode mati yang tidak terkait, ia harus menyebutkannya alih-alih memperbaikinya sendiri.
00:03:52Terkadang hal-hal seperti ini ada karena alasan khusus yang harus ditangani nanti,
00:03:56bukan pada tahap aplikasi saat ini.
00:03:58Kerangka mental yang memungkinkan Claude memutuskan cara bertindak dengan benar adalah dengan memeriksa setiap perubahan
00:04:03dan melihat apakah itu benar-benar mengarah kembali ke apa yang diminta pengguna.
00:04:06Jika ya, maka ia harus membuat perubahan itu.
00:04:08Jika tidak, ia tidak boleh menyentuh fitur tersebut.
00:04:10Jika baris ini ditambahkan, maka setiap kali Claude memiliki masalah dalam implementasi, ia pada dasarnya
00:04:14hanya akan mengubah hal yang diminta pengguna untuk diperbaiki.
00:04:17Oleh karena itu, ia akan memberi tahu Anda semua masalah lain yang ia temukan dalam file yang sama dan Anda dapat memutuskan
00:04:21dari sana apakah Anda benar-benar ingin ia memperbaikinya atau tidak.
00:04:24Pola terakhir yang diekstraksi dari Andrej Karpathy adalah eksekusi berbasis tujuan.
00:04:29Agen tidak tahu seperti apa output yang benar, yang merupakan masalah inti.
00:04:33Mereka akan bekerja jauh lebih efektif jika mereka tahu, dan itulah yang diperbaiki oleh aturan ini.
00:04:36Dalam file claud.md, kita perlu secara eksplisit menyatakan agar Claude menentukan kriteria keberhasilan
00:04:41untuk setiap tugas yang kita berikan kepadanya.
00:04:43Oleh karena itu, untuk tugas apa pun yang kita serahkan, Claude perlu mengubahnya menjadi tujuan yang dapat diverifikasi.
00:04:47Sebagai contoh, jika Anda memberikan tugas untuk menambahkan validasi, ia akan menulis tes untuk input yang tidak valid
00:04:52dan memastikan kasus tes tersebut benar-benar lolos dengan nilai pengembalian yang tepat untuk input yang tepat.
00:04:57Jadi keseluruhan idenya adalah agar agen mengimplementasikan kasus tes dan kemudian beriterasi sampai semua kasus tes
00:05:01lolos dan pada akhirnya, proyek memiliki perilaku yang sama yang sebenarnya kita butuhkan darinya.
00:05:06Jika Anda memberikan prompt pada suatu tugas, ia akan menetapkan tujuan yang dapat diverifikasi dan merencanakan implementasi.
00:05:11Kemudian ia akan memverifikasi pekerjaan tersebut untuk Anda dengan menambahkan semua kasus tes dan menunjukkan bagaimana ia akan
00:05:15menangani seluruh aplikasi pada dasarnya.
00:05:17Sekarang ini mungkin berhasil untuk penalaran logis, tetapi jika Anda ingin agen memverifikasi bagaimana tampilan UI Anda,
00:05:21agen tidak dapat menulis kasus tes untuk itu.
00:05:23Jadi untuk itu Anda dapat menambahkan ekstensi Claude Chrome atau MCP Puppeteer agar dapat memverifikasi
00:05:28bagaimana tampilan UI menggunakan alat-alat tersebut.
00:05:30Ini membantu karena perubahan UI sulit dinilai hanya dengan melihat kodenya sendiri dan memberi
00:05:35agen cara yang dapat diverifikasi untuk membiarkannya melihat visual aplikasi saat ini dan kemudian menggunakannya untuk memperbaiki
00:05:40masalahnya.
00:05:41Oleh karena itu, Anda dapat menambahkan baris secara eksplisit agar ia tahu bahwa setelah implementasi UI,
00:05:45ia juga perlu memverifikasi hasilnya melalui MCP.
00:05:48Jika Anda telah membuat file claud.md menggunakan perintah inisialisasi Claude Code sendiri, Anda akan melihat bahwa
00:05:53ia menambahkan perintah untuk menjalankan server dev dan server build.
00:05:57Tetapi hal-hal tersebut sudah ada dalam data pelatihannya dan Claude sudah mengetahui perintah-perintah itu dan
00:06:01kita tidak perlu membuang baris di claud.md untuk memberitahunya apa yang sudah ia ketahui.
00:06:05Jadi dalam file Anda, Anda hanya perlu menyebutkan alat yang Anda ingin Claude gunakan alih-alih
00:06:09alat default yang digunakannya.
00:06:11Ada alat CLI tertentu yang membuat alur kerja lebih cepat tetapi tidak ada dalam data pelatihan default Claude
00:06:16atau pola yang sudah diandalkannya.
00:06:18Oleh karena itu, Anda harus menambahkannya secara eksplisit agar Claude tahu bahwa alat tersebut diinstal
00:06:22dan tidak kembali ke apa pun yang digunakannya sendiri sepanjang waktu.
00:06:26Sebagai contoh, jika Anda telah menginstal GitHub CLI alih-alih menggunakan git untuk bekerja, Anda dapat
00:06:30menambahkan instruksi di claud.md untuk menggunakan CLI-nya alih-alih perintah git default untuk semua
00:06:36operasi.
00:06:37Demikian pula Anda dapat menambahkan lebih banyak perintah yang bukan perintah default.
00:06:41Anda juga perlu menambahkan instruksi menjalankan proyek di file ini jika berbeda
00:06:45dari instruksi biasanya.
00:06:46Sebagai contoh, sebagian besar proyek dalam pengaturan default dijalankan oleh npm dan jika proyek Anda dijalankan dengan
00:06:51pnpm, Anda perlu menambahkan informasi ini agar agen tahu perintah apa yang sebenarnya dimaksudkan
00:06:56untuk dijalankan.
00:06:57Apa pun di luar perintah yang sudah diketahui Claude tidak boleh dimasukkan ke dalam file claud.md
00:07:01Anda.
00:07:02Penyebutan berikutnya di claud.md terinspirasi oleh pencipta Claude Code dan alur kerja
00:07:07yang ia ungkapkan.
00:07:08Ia berbicara tentang bagaimana claud.md bukanlah file tulis-sekali-dan-gunakan-selamanya.
00:07:12Ini adalah sesuatu yang terus-menerus perlu diubah, diperbarui, dan ditingkatkan selama proses
00:07:16membangun sebagai proses berkelanjutan yang perlu diiterasi lagi dan lagi.
00:07:20Jadi Anda perlu menambahkan instruksi bahwa jika Claude harus diberitahu oleh pengguna bahwa implementasinya
00:07:25tidak benar, ia harus terlebih dahulu menerapkan koreksi seperti yang ditunjukkan oleh pengguna.
00:07:29Setelah Claude menerapkan koreksi tersebut, ia juga harus menambahkan pembelajaran tersebut ke file khusus
00:07:33agar Claude dapat secara bertahap membangun basis pengetahuan tentang apa yang tidak boleh ia lakukan dan apa
00:07:38cara yang benar dalam melakukan sesuatu, yang dapat ia referensikan nanti sesuai kebutuhan.
00:07:42Namun sebelum kita bergerak maju, mari kita dengarkan pesan dari sponsor kita.
00:07:45Klaus, Anda mungkin pernah mendengar tentang agen AI.
00:07:47Mungkin Anda sudah mencoba menyiapkannya sendiri, 15 menit kemudian Anda menatap terminal,
00:07:51menempelkan kunci API ke file konfigurasi, bertanya-tanya apakah Anda baru saja membocorkan sesuatu yang penting.
00:07:56Klaus melewatkan semua itu.
00:07:57Klaus menjalankan OpenClaw, agen AI sumber terbuka di cloud.
00:08:00Anda mendaftar, Anda mendapatkan kredit OpenRouter $15, dan Anda mulai memberikan prompt.
00:08:04Tidak ada terminal, tidak ada docker, tidak ada perburuan kunci API.
00:08:07Saya mengujinya dengan meminta Klaus untuk mengikis direktori startup, mengatur hasilnya ke dalam tabel,
00:08:12dan mengirimkannya melalui email kepada saya.
00:08:13Satu prompt di jendela obrolan, selesai.
00:08:15Tidak ada kode, tidak ada ekstensi browser.
00:08:17Ia dilengkapi dengan alat bawaan seperti Exa dan Apollo serta terhubung ke Slack, WhatsApp, bahkan
00:08:21iMessage.
00:08:22Semuanya berjalan di mesin yang dilindungi firewall, sepenuhnya terisolasi dari akun pribadi Anda.
00:08:27Jika ada sesuatu yang rusak, agen perbaikan otomatis mereka, Clawbert, menambalnya tanpa Anda menyentuh apa pun.
00:08:31Klik tautan di komentar yang disematkan dan coba Klaus secara gratis.
00:08:35Karena sebagian besar proyek pengodean dikelola oleh Git, Anda perlu menambahkan instruksi secara eksplisit
00:08:39di claud.md agar Claude tidak menjalankan perintah yang tidak dapat dibatalkan tanpa konfirmasi.
00:08:44Dan jika ada kebutuhan untuk menjalankan perintah semacam itu, agen harus meminta izin terlebih dahulu.
00:08:48Perintah-perintah ini berbahaya karena begitu dijalankan, konsekuensinya tidak dapat dibatalkan
00:08:53dan dapat menyebabkan kerusakan pada produksi.
00:08:55Hal-hal seperti force pushing, mereset head, menggabungkan cabang, atau menjalankan perintah remove dengan paksa.
00:09:00Anda juga perlu menambahkan instruksi bahwa jika Claude tidak yakin apakah suatu perintah bersifat merusak
00:09:01atau tidak, ia harus bertanya alih-alih berasumsi.
00:09:04Ini akan menyelamatkan Anda dari banyak masalah.
00:09:07Sebagai contoh, jika Claude secara tidak sengaja mencoba menggabungkan cabang yang tidak Anda inginkan,
00:09:08ia akan meminta izin sebelum melakukannya dan Anda dapat menolaknya agar pekerjaan Anda
00:09:12tetap aman.
00:09:16Tidak perlu memasukkan semua aspek informasi ke dalam satu file claud.md karena itu akan
00:09:17hanya menggelembungkannya tanpa perlu dan mengalihkan perhatian agen dari apa yang sebenarnya perlu ia lakukan.
00:09:22Jadi Anda perlu membuat file aturan cakupan jalur yang menyatakan cakupannya pada baris pertama
00:09:27dan berisi instruksi yang disesuaikan dengan file-file tepat tersebut.
00:09:31Anda juga perlu menyebutkan lokasi file-file ini di claud.md agar Claude tahu bahwa file-file itu ada.
00:09:34Sebagai contoh, jika Anda ingin Claude mengikuti instruksi spesifik tertentu saat menulis API, Anda
00:09:40dapat menambahkannya dalam file aturan untuk mereka sehingga ketika Claude mengerjakannya, ia dapat memuat
00:09:44instruksi tersebut dan menggunakannya secara langsung.
00:09:48Namun yang sama pentingnya, ini juga memastikan bahwa instruksi terkait API tidak mengganggu
00:09:50ketika Claude tidak sedang mengerjakannya.
00:09:55Anda dapat memiliki beberapa file aturan untuk bagian proyek yang berbeda, masing-masing berisi instruksi
00:09:56yang disesuaikan dengan area spesifik itu.
00:10:00Dengan cara ini, Claude hanya memuat instruksi yang relevan saat ia mengerjakannya.
00:10:02Oleh karena itu, ini mencegah pembengkakan konteks dan menjaga agen tetap fokus pada tugasnya saat ini alih-alih
00:10:06terganggu oleh aturan yang tidak terkait.
00:10:11Sebagian besar aplikasi skala besar berada dalam mono repo, yang merupakan repositori besar tunggal tempat
00:10:13semua komponen yang berbeda disimpan bersama dengan masing-masing folder bertindak sebagai bagian terpisah
00:10:18miliknya sendiri dan masing-masing bagian dikelola secara independen sambil berkontribusi pada aspek yang berbeda
00:10:22dari aplikasi utama.
00:10:27Jadi jika Anda menjalankan proyek dari mono repo, Anda perlu memastikan bahwa setiap sub
00:10:28repo berisi file claud.md miliknya sendiri sehingga benar-benar berisi instruksi khusus
00:10:32untuk itu dan tidak harus hanya mengandalkan instruksi dari claud.md global.
00:10:37File global hanya boleh terdiri dari instruksi yang dapat diterapkan secara luas ke semua bagian
00:10:42sistem.
00:10:47Namun, file claud.md cakupan bekerja lebih baik karena dapat berisi instruksi yang spesifik
00:10:48untuk aplikasi atau modul tertentu itu.
00:10:52Ini memungkinkan agen berkinerja lebih baik karena akan memiliki panduan yang lebih terfokus.
00:10:54Oleh karena itu, menempatkan semua instruksi proyek besar di file utama adalah langkah yang salah.
00:10:58Itu akan membuat file membengkak dengan informasi dan ketika Claude melewati area dengan instruksi
00:11:02yang tidak menyangkut tugas saat ini, itu dapat menyebabkan perhatiannya menyimpang dari apa yang
00:11:07sebenarnya perlu ia lakukan.
00:11:11Juga jika Anda menikmati konten kami, pertimbangkan untuk menekan tombol hype karena itu membantu kami
00:11:12membuat lebih banyak konten seperti ini dan menjangkau lebih banyak orang.
00:11:16Anda juga perlu menambahkan deskripsi proyek di file claud.md Anda dan memastikan bahwa instruksi ini
00:11:19ditempatkan di bagian paling awal, tidak terkubur di dalam instruksi lainnya.
00:11:24Karena agen mendapatkan inti dari apa keseluruhan aplikasi itu dengan membacanya terlebih dahulu.
00:11:29Jadi ia memahami konteks bagaimana aplikasi disusun, apa fungsinya secara umum, apa
00:11:30layanan dan dependensi yang berbeda, dan bagaimana aplikasi berjalan.
00:11:33Dengan cara ini, ia tahu sejak awal, alih-alih melihat kode untuk menyimpulkan apa yang
00:11:38dilakukan aplikasi.
00:11:41Bagian lain yang perlu kita tambahkan dalam file claud.md Anda adalah bahwa Claude perlu memverifikasi
00:11:45tidak hanya bahwa fitur tersebut ada tetapi juga bahwa fitur tersebut berfungsi dengan benar sebagaimana mestinya sebelum melaporkan
00:11:46tugas apa pun sebagai selesai.
00:11:50Ia harus menggunakan semua mekanisme verifikasi yang tersedia untuk mengonfirmasi bahwa build dan tes berjalan dengan benar,
00:11:55tetapi poin dari bagian ini adalah memastikan tugas benar-benar selesai dengan menggunakan langkah-langkah verifikasi nyata,
00:11:57bukan hanya dengan memeriksa bahwa kode untuk fitur tersebut ada.
00:12:02Oleh karena itu, instruksi ini mendorong Claude untuk melaporkan dengan lebih jujur dan menggunakan banyak
00:12:07jenis pemeriksaan seperti unit test, linting, dan pemeriksaan tipe untuk memastikan bahwa aplikasi diimplementasikan
00:12:11dengan benar dan berfungsi sebagaimana mestinya.
00:12:15Terakhir namun tidak kalah penting, cara Anda mengurutkan instruksi di file claud.md juga
00:12:20sangat penting untuk memastikan kinerja agen yang tinggi.
00:12:23Anda harus mengurutkannya berdasarkan prioritas.
00:12:27Instruksi pertama harus berupa aturan keras, artinya selalu tidak dapat dinegosiasikan, tanpa pengecualian
00:12:29apa pun.
00:12:31Aturan keras ini harus selalu didahulukan, sebelum aturan lainnya.
00:12:36Kemudian muncul aturan prioritas menengah yang tidak seketat yang sebelumnya.
00:12:37Aturan tersebut agak dapat dinegosiasikan tetapi tetap penting dan tidak boleh dilanggar.
00:12:40Setelah itu muncul instruksi prioritas rendah yang terutama mencakup referensi dan kenyamanan,
00:12:44sehingga agen tidak perlu kembali dan menggunakan bagian ini sebagai sumber keputusan inti.
00:12:48Satu hal penting lagi adalah Anda perlu memastikan file claud.md tetap pendek.
00:12:52Praktik terbaiknya adalah tetap di bawah batas ketat 300 baris, yang dianggap optimal
00:12:57untuk kinerja agen.
00:13:01Tetapi begitu lebih panjang dari itu, kinerja mulai menurun.
00:13:06File claud.md yang dibahas di sini dan semua sumber daya lain yang disebutkan di sini tersedia
00:13:07di AI Labs Pro untuk video ini dan untuk semua video kami sebelumnya dari mana Anda dapat mengunduh
00:13:10dan menggunakannya untuk proyek Anda sendiri.
00:13:15Jika Anda menemukan nilai dalam apa yang kami lakukan dan ingin mendukung saluran ini, ini adalah cara terbaik
00:13:20untuk melakukannya.
00:13:21Tautannya ada di deskripsi.
00:13:25Itu membawa kita ke akhir video ini.
00:13:26Jika Anda ingin mendukung saluran ini dan membantu kami terus membuat video seperti ini, Anda dapat melakukannya
00:13:27dengan menggunakan tombol super thanks di bawah.
00:13:29Seperti biasa, terima kasih telah menonton dan saya akan melihat Anda di video berikutnya.