Plugin Claude Code Ini Menulis Kode 94% Lebih Sedikit (ponytail)
BBetter Stack
Computing/SoftwareSmall Business/StartupsManagement
Transcript
00:00:00Anda mengenalnya. Kuncir kuda panjang, kacamata oval, sudah bekerja di perusahaan lebih lama daripada version control.
00:00:06Anda tunjukkan 50 baris kode, dia melihatnya, tidak berkata apa-apa, lalu menggantinya dengan satu baris.
00:00:11Itulah deskripsi epik tentang pustaka baru bernama Ponytail, yang menurut saya cukup
00:00:17relatable. Kita semua tahu pengembang 10x yang sangat cocok dengan deskripsi itu. Tapi Ponytail
00:00:23sebenarnya adalah alat yang sangat keren. Ia membuat agen coding AI Anda berpikir seperti senior dev paling malas
00:00:29di ruangan. Dan itu sebenarnya pujian. Jadi di video ini, kita akan melihat Ponytail,
00:00:35melihat cara kerjanya, dan menjalankan beberapa demo seru untuk mencari tahu apakah dia benar-benar sehebat itu.
00:00:41Akan sangat menyenangkan, jadi mari kita mulai.
00:00:48Jadi misi Ponytail sederhana. Buat semuanya tetap ringkas, hilangkan bloat yang biasanya dihasilkan agen AI,
00:00:55dan coba temukan solusi paling ramping untuk suatu masalah yang bisa ditemukannya.
00:01:00Ini agak mirip dengan Caveman, pustaka yang membuat agen coding AI lebih sedikit bicara,
00:01:06sehingga menghabiskan lebih sedikit token, yang mana James juga membuat video bagus tentangnya di sini. Jadi ide utama
00:01:12di baliknya adalah menerapkan prinsip YAGNI, yang merupakan singkatan dari “you ain't gonna need it” (kamu tidak akan membutuhkannya). Ini sebenarnya
00:01:18ide rekayasa perangkat lunak dari tahun 90-an. Dan ide intinya adalah jangan membangun sesuatu sampai Anda
00:01:25benar-benar membutuhkannya. Jangan tambahkan lapisan abstraksi, jangan instal pustaka, jangan tulis kelas.
00:01:31Jika masalah bisa diselesaikan tanpanya, maka selesaikanlah tanpanya. Dan Ponytail menanamkan hal itu langsung
00:01:37ke dalam agen Anda dengan memberikan tangga keputusan yang harus dipanjat sebelum menulis apa pun. Apakah ini perlu
00:01:43ada sama sekali? Bisakah pustaka standar menanganinya? Apakah ada fitur platform asli untuk ini? Apakah ada
00:01:50dependensi yang sudah terinstal yang bisa melakukannya? Bisakah ini menjadi satu baris kode? Hanya jika setiap
00:01:57jawaban adalah tidak, barulah ia menulis kode baru. Dan itu pun, ia tetap menjaganya seminimal mungkin
00:02:04agar bisa berfungsi.
00:02:05Dan jika kita melihat beberapa contoh mereka, terutama contoh dialog modal, kita mendapatkan gambaran jelas tentang
00:02:11metodologi ini. Agen normal, ketika diminta untuk menambahkan dialog modal untuk konfirmasi hapus,
00:02:18akan segera menginstal pustaka Radix UI seperti React dialogue dan memberi Anda
00:02:25dependensi dan portal, overlay, root, pemicu, wrapper konten, hanya untuk menampilkan kotak dengan dua
00:02:34tombol. Tapi Ponytail melihat ini dan berkata, hei, peramban sudah memiliki elemen dialog. Ia menjebak
00:02:41fokus secara otomatis. Dan ia menutup saat menekan tombol escape, merender latar belakang dengan satu pemilih CSS,
00:02:49dan didukung di semua peramban utama sejak 2022. Jadi alih-alih 30 baris kode dalam paket NPM,
00:02:58Anda mendapatkan delapan baris kode dan nol dependensi. Dan komentar kecil Ponytail di sini
00:03:04memberi tahu Anda dengan tepat apa yang dilewatkannya dan mengapa ia melakukannya. Jadi jika suatu hari Anda memutuskan untuk meningkatkan
00:03:11ke versi Radix atau sesuatu yang lebih canggih, Anda tahu ke mana harus mencari dan di mana hal itu ditunda.
00:03:16Jadi ia malas, tapi tidak tidak bertanggung jawab. Dan dengan menerapkan kemalasan ini, Ponytail mengklaim mampu
00:03:22mengurangi biaya Anda sebesar 47 hingga 77%. Dan mereka sebenarnya memberikan tolok ukur di balik klaim ini. Mari
00:03:29kita lihat sejenak. Kita punya tiga metode di sini: menggunakan tanpa skill, menggunakan caveman, dan menggunakan Ponytail.
00:03:36Dan tiga model dan lima tugas sehari-hari. Sepuluh kali percobaan per sel dan untuk masing-masingnya adalah hasil median. Dan
00:03:43yang penting, mereka juga memeriksa kebenaran. Satu baris kode yang rusak yang mendapatkan skor bagus pada jumlah baris kode akan gagal pada
00:03:50kebenaran. Jadi ini bukan sekadar menulis lebih sedikit hal, kodenya harus benar-benar berfungsi. Dan ada juga catatan menarik
00:03:56yang perlu diperhatikan. Biaya mencerminkan panggilan sekali pakai yang mengirim ulang skill setiap saat. Dengan kata lain,
00:04:03tolok ukur bekerja dengan mengirimkan panggilan API baru untuk setiap pengujian. Dan setiap kali melakukannya, ia menyertakan
00:04:10kumpulan aturan lengkap Ponytail dalam prompt. Jadi dalam tolok ukur, Ponytail dihukum karena biaya
00:04:16instruksinya sendiri pada setiap pengujian. Dalam kehidupan nyata, Anda membayar instruksi tersebut kira-kira sekali
00:04:22per sesi. Dan setelah itu, mereka di-cache. Itu berarti angka 47 hingga 77% lebih murah sebenarnya
00:04:29kurang dari yang sebenarnya. Dalam sesi kerja nyata yang tersebar di banyak prompt, keuntungan biaya bahkan lebih besar
00:04:36karena biaya injeksi skill itu diamortisasi di seluruh percakapan. Meskipun demikian, ada
00:04:42kritik sah yang perlu disebutkan. Posting blog yang baru diterbitkan oleh Colin Eberhardt
00:04:48menunjukkan bahwa jika Anda benar-benar mengganti Ponytail dengan tiga kata sederhana, ikuti prinsip Yagni, hasilnya
00:04:55hampir sempurna menyamai skor tolok ukur Ponytail. Dan ketika diuraikan menjadi tujuh kata, ikuti prinsip Yagni
00:05:03dan solusi satu baris, itu justru mengalahkan tolok ukur. Jadi apakah Ponytail sihir atau hanya prompt yang dikemas dengan baik?
00:05:11Yah, jujur saja, itu pertanyaan yang adil. Tapi saya berpendapat bahwa pengemasan adalah produknya. Anda mendapatkan aturan yang tepat
00:05:18diinjeksikan secara otomatis di berbagai agen dengan perintah, alat audit, dan buku besar kedalaman di atasnya. Selain itu,
00:05:25Ponytail memiliki fitur keren lainnya. Ikuti Yagni di prompt sistem Anda tidak memberi Anda
00:05:31fitur audit Ponytail atau fitur tinjauan Ponytail. Tapi sekarang mari kita uji dengan contoh sederhana.
00:05:37Jadi di sini saya memiliki dua instans Cloud Code terbuka dan pada salah satunya, saya akan menginstal plugin Ponytail
00:05:44hanya untuk cakupan lokal. Dan yang lainnya akan menjadi instans Cloud Code default sederhana tanpa
00:05:49plugin yang diaktifkan. Saya akan memberi mereka berdua prompt yang sama untuk membuat aplikasi dasbor cuaca yang mendeteksi lokasi pengguna
00:05:56dan menunjukkan kondisi cuaca saat ini bersama dengan beberapa fitur lainnya. Dan saya akan menjalankan prompt yang sama
00:06:02di kedua instans, dengan pengecualian bahwa pada instans Ponytail, saya juga akan memintanya
00:06:08untuk menggunakan skill Ponytail karena terkadang ia tidak secara otomatis mengambilnya. Jadi setelah beberapa
00:06:12saat, kita melihat bahwa versi Ponytail telah menyelesaikan tugas dalam waktu kurang dari satu menit, sementara versi
00:06:18default masih memproses. Dan juga kita melihat gambaran singkat tentang apa yang dibangunnya dan apa yang Ponytail
00:06:25pilih untuk tidak dilakukan demi efisiensi maksimal. Dan seperti yang bisa kita lihat di sini, ia memilih untuk memiliki semuanya dalam satu file HTML.
00:06:34Sementara itu, pada jendela default, tugas selesai dalam dua menit 30 detik. Dan kita sudah bisa melihat bahwa versi
00:06:41ini jauh lebih bloat. Kita memiliki tiga file terpisah dan versi ini dijalankan menggunakan server Python.
00:06:48Jadi meskipun ini sama sekali bukan hasil yang buruk, ini jauh lebih over-engineered daripada versi pertama.
00:06:54Tapi mari kita lihat bagaimana mereka beroperasi. Jadi pertama, ini adalah versi tanpa Ponytail.
00:07:00Dan meskipun aplikasinya terlihat hebat dan UI-nya indah serta API mengambil informasi seperti yang diharapkan,
00:07:07saya cukup kecewa karena tidak mengambil lokasi saya secara otomatis seperti yang saya minta.
00:07:12Dan sebaliknya, itu menunjukkan London sebagai hasil default pertama. Tapi sekarang jika kita beralih ke versi Ponytail,
00:07:19di sini kita bisa dengan jelas melihat bahwa saat dibuka, ia meminta untuk mendapatkan lokasi saya saat ini dan kemudian menampilkan cuaca
00:07:25yang sesuai dengan lokasi tersebut. Jadi meskipun UI-nya mungkin tidak semewah itu dan aplikasinya mungkin lebih sederhana,
00:07:33ia mengikuti instruksi dengan lebih tepat daripada versi default, yang cukup mengejutkan, jujur saja.
00:07:39Dan terakhir, mari kita lihat penggunaannya. Dan di sini kita bisa melihat bahwa ya, memang, versi dengan Ponytail
00:07:45akhirnya 50% lebih murah daripada versi default. Dan itu juga menghasilkan jauh lebih sedikit baris kode.
00:07:52Dan seperti yang baru saja kita lihat, itu bahkan lebih baik dalam hal fungsionalitas daripada versi default.
00:07:58Jadi ini membuktikan bahwa Ponytail memang berfungsi seperti yang diharapkan, dan memang menghasilkan kode yang lebih ramping.
00:08:04Jadi karena pengujian ini sangat sukses, saya memutuskan untuk melakukan sesuatu yang lebih menarik.
00:08:09Bagaimana jika saya menggabungkan Caveman dan Ponytail bersama untuk efisiensi maksimal? Apa yang akan kita dapatkan?
00:08:17Jadi kali ini saya mengaktifkan kedua plugin di direktori baru dan menjalankan prompt yang sama lagi.
00:08:22Dan sekali lagi, tugas selesai di bawah satu menit dan hasilnya cukup mirip.
00:08:28Dan saya memiliki semua fungsionalitas yang sama. Jadi itu berfungsi seperti yang diharapkan.
00:08:32Tapi jika kita melihat hasilnya, itu tidak terlalu berbeda dari versi Ponytail dan kombinasi Caveman
00:08:37plus Ponytail akhirnya sedikit lebih mahal daripada versi Ponytail mandiri.
00:08:44Jadi ini menunjukkan bahwa menggabungkan mereka tidak benar-benar memberi Anda peningkatan yang besar.
00:08:49Jadi Anda bisa tetap menggunakan hanya Caveman atau lebih baik lagi memilih untuk menggunakan Ponytail.
00:08:54Jika kita bisa percaya tolok ukur mereka bahwa itu memang lebih baik daripada Caveman.
00:08:58Jadi begitulah, kawan-kawan. Itulah Ponytail secara singkat.
00:09:02Saya benar-benar terkesan dengan output positif yang mampu dihasilkan Claude
00:09:07dengan skill Ponytail sambil memotong bloat dan menjaga kualitas pada saat yang sama.
00:09:13Saya rasa ini hanya menunjukkan bahwa banyak solusi coding kita mungkin terlalu direkayasa (over-engineered)
00:09:19dan terkadang lebih sedikit memang lebih baik jika Anda menggunakannya dengan cara yang benar.
00:09:23Jadi saya pasti akan menyimpan Ponytail sebagai plugin di pengaturan Claude code saya
00:09:29dan mungkin menggunakannya untuk proyek masa depan.
00:09:31Tapi apa pendapat Anda tentang Ponytail? Apakah Anda sudah mencobanya?
00:09:34Apakah Anda akan menggunakannya? Beri tahu kami di kolom komentar di bawah.
00:09:37Dan kawan-kawan, jika Anda menyukai jenis analisis teknis seperti ini,
00:09:40tolong beri tahu saya dengan menekan tombol suka di bawah video ini.
00:09:44Dan juga jangan lupa untuk berlangganan saluran kami.
00:09:47Ini adalah Andrus dari BetterStack dan saya akan melihat Anda di video berikutnya.