Saya Berhenti Menggunakan Grep dan Agen Saya Menjadi 10x Lebih Cepat
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Jadi, ada plugin MCP bernama Claude Context yang mengindeks seluruh basis kode Anda
00:00:06ke dalam basis data vektor, yang berarti agen coding Anda bisa mendapatkan kode yang tepat dengan cepat
00:00:11tanpa perlu menebak menggunakan grep atau glob dan berharap menemukan file yang tepat.
00:00:15Plugin ini bahkan memproses kode Anda dengan AST dan menggunakan pendekatan pencarian hibrida, menggabungkan
00:00:20vektor semantik dengan pencocokan kata kunci, yang pada akhirnya menggunakan 40% lebih sedikit konteks.
00:00:24Tapi ini memerlukan akun cloud Zilliz dan kunci OpenAI untuk embedding, bahkan jika Anda menggunakan kode Claude.
00:00:30Jadi, apakah usaha dan biaya ekstra tersebut sepadan dengan penghematan token?
00:00:34Klik subscribe dan mari kita cari tahu.
00:00:35Oke, jadi Claude Context, saya tidak begitu yakin dengan namanya, dibuat oleh Zilliz, yaitu perusahaan
00:00:43yang didirikan oleh para pencipta Milvus, sebuah basis data vektor yang sangat performa.
00:00:47Plugin ini terhubung ke agen Anda melalui MCP, jadi ini berarti bisa bekerja dengan harness agen apa pun dan
00:00:52bukan hanya Claude Code.
00:00:54Namun, ia melakukan tiga hal yang cukup kompleks agar kode Anda mudah ditemukan.
00:00:58Pertama, ia menggunakan TreeSitter untuk menelusuri semua kode, membuat potongan fungsi
00:01:03dan kelas, dan ini mendukung sembilan bahasa termasuk TypeScript, Python, Rust, dan Go.
00:01:08Lalu ia menggunakan Merkle DAG khusus untuk men-hash setiap file dengan snapshot JSON, yang berarti ia hanya mengindeks ulang
00:01:15file yang telah berubah dan bukan keseluruhan basis kode.
00:01:18Dan kemudian saat Anda benar-benar ingin mencari melalui kode, ia melakukan dua jenis pencarian
00:01:22pada saat yang sama, pencarian vektor untuk menemukan makna semantik dari kode, dan indeks BM25
00:01:29untuk pencocokan kata kunci yang tepat.
00:01:31Semua ini menghasilkan pengurangan konteks hingga 40%, yang sangat besar untuk basis kode yang besar.
00:01:37Faktanya, mari kita lihat aksinya dengan mengujinya terhadap basis kode VS Code, yang memiliki
00:01:42sekitar 1,5 juta baris kode.
00:01:44Jadi di dalam repo VS Code yang dikloning, saya akan menggunakan OpenCode dengan GLM5 Turbo karena
00:01:50saya tidak ingin menghabiskan batas mingguan Claude Pro saya.
00:01:53Dan untuk mengatur server MCP, yang bisa Anda lihat di sini, saya sudah menambahkan
00:01:58informasi yang relevan ke file JSON OpenCode saya.
00:02:01Dan untuk informasi ini, Anda bisa menjalankan Milvus secara lokal, tetapi saya menggunakan Zilliz Cloud.
00:02:06Jadi saya mendapatkan kunci API dari sini, dan saya membuat kluster.
00:02:10Ini adalah kluster AWS dan saya mendapatkan titik akhir publik dari sini.
00:02:14Sekarang saat kita membahas kluster, saya mencoba menggunakan yang gratis terlebih dahulu, tetapi saya terus mendapatkan
00:02:19masalah waktu habis (timeout).
00:02:20Jadi saya harus mendapatkan yang serverless, yang memang berbayar, tetapi bekerja jauh lebih baik.
00:02:25Sekarang setelah Anda mengatur server MCP, pastikan Anda menjalankan versi node di bawah
00:02:2824, tetapi di atas atau sama dengan 20.
00:02:31Saya saat ini menggunakan versi 22 untuk proyek ini.
00:02:34Dan itu akan memberi Anda akses ke empat alat MCP: index code, search code, clear index, dan get
00:02:39index status.
00:02:40Sekarang hal pertama yang harus Anda lakukan adalah mengindeks basis kode dan kita bisa melakukannya dengan perintah ini.
00:02:44Tapi sebelum kita menekan enter, mari kita lihat berapa banyak uang yang sudah kita habiskan untuk embedding
00:02:48dari OpenAI, yang hanya satu sen dan itu untuk saya menguji basis kode 23.000 baris.
00:02:53Kita juga bisa melihat di kluster kita bahwa kita sudah memiliki informasi dari basis kode yang diindeks.
00:02:58Jadi sekarang jika kita mengindeks basis kode ini, memang butuh waktu dan memulai pengindeksan di
00:03:02latar belakang.
00:03:03Pada titik ini, saya tidak menyarankan untuk melakukan pencarian apa pun.
00:03:05Sekarang karena ini basis kode yang besar, akan butuh waktu lama untuk mengindeks.
00:03:09Jadi saya akan kembali nanti saat pengindeksan selesai.
00:03:11Dan setelah sekitar 50 menit, pengindeksan selesai dan kita bisa melihat kita memiliki potongan baru
00:03:16di kluster kita dengan lebih dari 223.000 entri yang dimuat.
00:03:21Dan sebagai referensi, kode yang saya uji sebelumnya yang memiliki 23.000 baris kode memiliki sekitar
00:03:271.000 baris entri dan butuh waktu kurang dari satu menit untuk mengindeks.
00:03:32Dan dengan penggunaan OpenAI kita, kita naik dari satu sen menjadi $1,06, yang lumayan banyak, tapi saya tidak
00:03:38membayangkan orang akan sering menelusuri 1,5 juta baris kode secara rutin.
00:03:42Oke, mari kita lihat seberapa cepat melakukan pencarian.
00:03:45Di sini kita memiliki satu contoh OpenCode yang menggunakan server MCP Claude Context, dan di sini
00:03:49kita memiliki satu tanpa server MCP.
00:03:52Jadi ia akan menggunakan alat grep dan glob biasa untuk mencari melalui kode.
00:03:56Dan kita akan memberinya perintah: "Gunakan Claude Context untuk menemukan titik masuk saat proyek ini
00:04:00mulai dijalankan."
00:04:01Mari kita lihat berapa lama ini berlangsung.
00:04:02Oke, jadi ia menggunakan alat index dan sekarang ia menggunakan alat search.
00:04:06Dan keseluruhan proses memakan waktu sekitar 19 detik untuk mencari melalui seluruh proyek ini dan menemukan
00:04:10file main .ts.
00:04:11Dan sekarang kita akan memberikan OpenCode ini perintah serupa dan ia menemukan responsnya
00:04:15dalam 14 detik.
00:04:16Jadi untuk kueri ini, menggunakan GLM biasa ternyata jauh lebih cepat.
00:04:20Mari kita mulai sesi baru.
00:04:21Dan kemudian saya akan memberinya perintah baru: "Fungsi apa yang membuka dokumen baru yang belum berjudul?"
00:04:26Yang ini butuh waktu sedikit lebih lama yaitu 40 detik dan menemukan fungsi utamanya dengan nomor baris
00:04:30dan menggunakan sekitar 23K token.
00:04:32Dan contoh lainnya melakukannya dalam 12 detik dan menggunakan 18K token, tetapi sepertinya ia menemukan
00:04:37file yang berbeda.
00:04:38Faktanya, Claude Context memberikan jauh lebih banyak informasi dengan menunjukkan kode dan file lain yang terkait dengan
00:04:44membuka editor.
00:04:45Jadi saya akan meminta keduanya untuk menunjukkan kode yang tepat.
00:04:48Dan pada titik ini, Claude Context merespons dalam 23 detik dengan kodenya dan OpenCode
00:04:52tanpa Claude Context merespons dalam 49 detik, hampir dua kali lipat waktunya.
00:04:56Dan ia sampai pada kode yang persis sama seperti Claude Context, yang memberi saya ide.
00:05:00Saya akan memberinya perintah yang lebih luas dan umum: "Lihat melalui kode ini dan beri tahu saya
00:05:04bagaimana proyek ini bekerja."
00:05:06Claude Context selesai dalam 49 detik menggunakan 41K token, dan contoh lainnya selesai
00:05:11lebih cepat dan menggunakan lebih sedikit token.
00:05:13Tetapi jika kita melihat output yang dihasilkan, kita bisa melihat ada jauh lebih banyak detail dari Claude
00:05:17Context yang memberikan arsitektur berlapis dan bahkan beberapa informasi tentang aplikasi Electron
00:05:22dan proses yang digunakannya.
00:05:23Dan pilihan tanpa Claude Context juga memberikan beberapa informasi arsitektur, tetapi tidak
00:05:28sedetail yang satu lagi.
00:05:30Faktanya, saya tahu tidak terlihat seperti itu, tetapi saya akan mengatakan Claude Context sangat bagus dalam
00:05:34mendapatkan informasi kode di awal dengan cepat dan sangat detail.
00:05:37Maksud saya, lihat ini.
00:05:38Jadi dari perintah ini, saya menanyakan perintah tindak lanjut untuk memberi saya informasi lebih lanjut tentang proses utama
00:05:43di aplikasi Electron, yang telah disebutkan di atas.
00:05:47Jadi setelah saya memberikan perintah ini, butuh waktu sekitar 1 menit 47 detik, tetapi lihat semua detail itu.
00:05:52Ya, detail itu sangat banyak.
00:05:53Jadi ia memulainya dengan urutan boot lalu fase satu, yaitu pembuatan layanan dan
00:05:58inisialisasi layanan.
00:05:59Dan kita mendapatkan begitu banyak lagi dari fase dua, aplikasi kode dengan semua referensi
00:06:04ke file yang relevan.
00:06:05Jadi kita punya app TS baris 185, dan kita bisa terus lanjut.
00:06:10Sedangkan tanpa Claude Context, OpenCode masih terus memeriksa semua file menggunakan beberapa
00:06:15sub-agen.
00:06:16Dan ini agak menipu karena kita tidak bisa melihat dengan tepat berapa banyak token yang digunakan setiap sub-agen.
00:06:21itu gunakan.
00:06:22Tetapi jika kita menunggu sebentar dan kembali, kita bisa melihat setelah sekitar lima menit, OpenCode
00:06:26merespons dengan banyak informasi tentang proses Electron, tetapi ini tidak sebanyak
00:06:31yang disediakan Claude Context, dan ia memakan waktu lima kali lebih lama.
00:06:34Sekarang, ya, mungkin jika saya menggunakan model yang lebih cerdas seperti Opus 4.7 dengan upaya tinggi, ia akan mendapatkan
00:06:40lebih banyak informasi, tetapi tetap akan memakan waktu lama dan menggunakan banyak token.
00:06:44Dan ini adalah jenis perbedaan, yaitu lima menit dan satu menit yang saya lihat ketika
00:06:48saya menguji sebelum merekam dengan basis kode 23K baris.
00:06:51Jadi pada akhirnya, sulit untuk mengatakan siapa pemenang yang jelas.
00:06:54Maksud saya, Claude Context memang selalu memberikan lebih banyak detail, tetapi tidak selalu yang tercepat dan
00:07:00paling efisien dalam penggunaan token.
00:07:01Dan untuk basis kode yang besar, ia membutuhkan waktu yang sangat lama untuk mengindeks.
00:07:05Namun, untuk basis kode berukuran rata-rata, yaitu 20 hingga 30.000 baris kode, waktu pengindeksan
00:07:10benar-benar cepat.
00:07:11Dan perbedaan detail dalam hasil sangat terlihat.
00:07:14Faktanya, saya akan mengatakan saya jauh lebih memilih menggunakan Claude Context untuk basis kode berukuran rata-rata
00:07:20daripada menggunakannya pada basis kode besar.
00:07:22Jadi itu sesuatu yang perlu dipertimbangkan.
00:07:23Tetapi jujur saja, ini lebih merupakan alat penjualan yang hebat bagi Zilliz karena sebelum menggunakan Claude
00:07:27Context, saya belum pernah mendengar tentang mereka dan sekarang mereka punya pelanggan baru yang membayar.
00:07:31Tetapi meskipun butuh waktu untuk mengatur dan mengindeks basis kode besar membutuhkan waktu yang sangat
00:07:36lama.
00:07:37Sebagai seseorang yang sering memeriksa basis kode open source dan mengajukan pertanyaan, menurut saya
00:07:42ini adalah alat yang akan saya gunakan lebih sering.
00:07:44Maksud saya untuk basis kode berukuran rata-rata, paket serverless tidak terlalu mahal karena
00:07:49biaya embedding OpenAI juga tidak terlalu besar.
00:07:52Jadi saya senang menanggung biayanya.
00:07:53Berbicara tentang pengambilan data dan AI.
00:07:55Jika Anda ingin belajar cara membangun sistem RAG yang sangat baik dari awal yang benar-benar
00:07:59berfungsi, maka tonton video dari Andris ini.
00:08:02Dan jika Anda penggemar Star Wars, Anda akan sangat menyukai video ini.