Plugin Claude Code Ini Menulis Kode 94% Lebih Sedikit (ponytail)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업경영/리더십

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.

Key Takeaway

Plugin Ponytail meningkatkan efisiensi agen coding AI dengan memaksa penerapan prinsip YAGNI, yang menghasilkan kode lebih ringkas, biaya API hingga 77% lebih murah, dan fungsionalitas yang tetap akurat.

Highlights

  • Ponytail menerapkan prinsip rekayasa perangkat lunak YAGNI (You Ain't Gonna Need It) untuk meminimalkan penambahan pustaka, kelas, dan abstraksi yang tidak perlu.

  • Agen AI yang menggunakan Ponytail mencapai pengurangan biaya penggunaan API sebesar 47% hingga 77% dibandingkan metode standar.

  • Pengujian aplikasi dasbor cuaca menunjukkan Ponytail menyelesaikan tugas dalam waktu di bawah 1 menit dengan satu file HTML, sementara versi tanpa plugin membutuhkan 2 menit 30 detik dengan tiga file terpisah.

  • Ponytail mengutamakan penggunaan fitur bawaan peramban, seperti elemen dialog, untuk menggantikan pustaka pihak ketiga yang kompleks.

  • Hasil pengujian menunjukkan bahwa output dari agen dengan Ponytail memiliki fungsionalitas yang lebih tepat sasaran meskipun struktur kodenya lebih ramping.

Timeline

Filosofi Desain Ponytail

  • Ponytail dirancang agar agen AI bertindak seperti pengembang senior yang minimalis.
  • Setiap penambahan kode harus melalui tangga keputusan ketat terkait kebutuhan fitur.
  • Prinsip YAGNI menolak penambahan pustaka atau abstraksi jika masalah dapat diselesaikan dengan pustaka standar.

Tujuan utama Ponytail adalah menghilangkan bloat pada kode yang dihasilkan AI. Agen diminta mempertimbangkan apakah masalah dapat diselesaikan dengan dependensi yang sudah ada atau bahkan satu baris kode sebelum menulis kode baru. Metode ini meminimalkan penggunaan token dan menjaga basis kode tetap bersih dari dependensi yang tidak perlu.

Efisiensi Kode dan Pengurangan Biaya

  • Implementasi dialog modal menggunakan elemen asli peramban mengurangi 30 baris kode menjadi delapan baris tanpa dependensi.
  • Tolok ukur menunjukkan efisiensi biaya sebesar 47% hingga 77% bagi pengguna.
  • Keuntungan biaya sebenarnya lebih besar karena biaya injeksi prompt skill diamortisasi selama sesi kerja.

Contoh konkret penggunaan dialog modal memperlihatkan bagaimana Ponytail mengganti paket NPM yang berat dengan elemen dialog bawaan peramban yang didukung sejak 2022. Meskipun terdapat kritik bahwa prinsip YAGNI dapat diterapkan hanya melalui instruksi prompt, Ponytail memberikan keunggulan berupa fitur audit otomatis dan manajemen alat yang terintegrasi.

Uji Performa Aplikasi Dasbor Cuaca

  • Versi Ponytail menyelesaikan aplikasi dalam 1 menit, sedangkan versi default membutuhkan 2 menit 30 detik.
  • Versi Ponytail menggunakan satu file HTML tunggal, sementara versi default menghasilkan tiga file terpisah dengan server Python.
  • Agen dengan Ponytail berhasil mengeksekusi permintaan deteksi lokasi pengguna secara tepat, berbeda dengan versi default.

Pengujian membandingkan instans Claude Code dengan dan tanpa Ponytail untuk membangun aplikasi cuaca. Hasilnya membuktikan bahwa kode yang lebih ramping dari Ponytail tidak mengorbankan fungsionalitas, bahkan menghasilkan eksekusi yang lebih akurat sesuai instruksi awal. Kombinasi dengan plugin lain seperti Caveman tidak memberikan peningkatan signifikan tambahan.

Community Posts

View all posts