00:00:00Ralph Wiggum sedang sangat populer sekarang. Kami membuat video tentang ini tahun lalu dan sejak
00:00:04saat itu, semua orang di Twitter membicarakannya. Matt Pocock sudah membuat banyak video
00:00:09tentang ini, Ryan Carson telah menulis artikel yang sangat populer, dan Razmike mengembangkannya dengan
00:00:13skrip Ralphie Bash-nya. Tapi apakah semua orang salah melakukannya? Sang pencipta sudah mengatakan bahwa
00:00:19beberapa implementasinya tidak tepat.
00:00:21Jadi, bagaimana cara yang benar? Dan mengapa Ralph saat ini menjadi cara terbaik untuk membangun perangkat lunak
00:00:26dengan AI? Tekan tombol subscribe dan mari kita bahas.
00:00:30Ralph loop diciptakan oleh Jeff Huntley dan ditulis sejak bulan Juni tahun lalu.
00:00:35Pada dasarnya, ini adalah loop bash yang memberikan instruksi yang sama persis kepada agen AI secara berulang-
00:00:40ulang. Namun, ini jenius dalam banyak aspek karena membiarkan agen AI bekerja dalam mode terpintarnya,
00:00:46yaitu mode dengan konteks sesedikit mungkin. Coba lihat ini.
00:00:51Mari kita bayangkan ini adalah jendela konteks total untuk sebuah agen. Dari 0 hingga sekitar 30% adalah
00:00:57apa yang kita sebut sebagai zona pintar, yaitu tempat di mana agen bekerja paling maksimal. Dari sekitar
00:01:0130 hingga 60%, kinerjanya masih sangat baik. Dan dari 60% ke atas, jadi 60, 70, 80, 90, saat itulah
00:01:08kinerjanya mulai menurun. Kita sebut saja zona bodoh. Angka-angka ini tidaklah baku
00:01:12dan bisa berbeda di setiap model. Zona pintar untuk model tertentu bisa saja
00:01:1640 atau 50%, tetapi biasanya di atas 80% jendela konteks, penurunan kecerdasan mulai terjadi.
00:01:21Untuk Claude Sonnet atau Opus, token tipikal untuk jendela konteks adalah 200.000. Jadi bisa dibilang
00:01:2860 ribu pertama adalah zona pintar. 60 ribu berikutnya masih oke, tapi tidak sebagus 60 ribu
00:01:33token pertama. Dan 80 ribu terakhir, kinerjanya tampak kurang baik. Nah, ini adalah pengalaman
00:01:38pribadi saya dengan model ini. Anda mungkin punya pengalaman lain. Alasan untuk hal ini
00:01:43adalah karena model itu sendiri bersifat autoregresif, artinya ia harus melihat
00:01:47token sebelumnya untuk memprediksi token berikutnya. Jika Anda memiliki terlalu banyak token, ia harus
00:01:52memeriksa banyak sekali token untuk menemukan bagian penting yang relevan dengan tugas yang sedang dikerjakan.
00:01:56Sekarang mari kita fokus pada 30% pertama. Bahkan sebelum Anda menulis perintah pertama,
00:02:01ada beberapa hal yang ditambahkan ke jendela konteks secara otomatis. Pertama adalah perintah sistem,
00:02:06lalu peralatan sistem. Pada model Claude biasa, ini memakan 8,3% dan 1,4% konteks.
00:02:12Jadi hampir 10% dari 30% ini. Lalu jika Anda memiliki keahlian, itu bisa ditambahkan. Begitu juga
00:02:16jika Anda memiliki peralatan kustom MCP. Terakhir, jika Anda memiliki file agent.md, itu juga ditambahkan.
00:02:21Dan tentu saja, semakin besar hal-hal tersebut, seperti file MD yang besar, semakin banyak
00:02:25token yang akan terpakai. Semua ini terjadi bahkan sebelum Anda menambahkan perintah sendiri. Jadi
00:02:30secara umum, yang terbaik adalah menjaga bagian ini sekecil mungkin. Gunakan lebih sedikit alat,
00:02:35lebih sedikit keahlian, dan kurangi isi file agent.md Anda agar model bekerja pada konteks
00:02:40paling optimal. Sebagai gambaran seberapa besar 60 ribu token itu, jika kita mengambil seluruh
00:02:44naskah Star Wars: A New Hope, itu sekitar 54.000 token di GPT-5. Jadi kira-kira sebanyak itu.
00:02:51Sekarang Anda mungkin bertanya, bagaimana dengan pemadatan? Bisakah itu membantu proses ini? Kita
00:02:56akan membahasnya nanti. Tapi sekarang mari kita beralih ke bagaimana tepatnya Ralph bisa membantu
00:03:00dalam hal ini. Keunggulan Ralph adalah Anda fokus pada satu tujuan per jendela konteks. Jadi,
00:03:05seluruh jendela konteks 200 ribu itu bisa didedikasikan untuk satu tujuan atau satu tugas. Caranya
00:03:10adalah dengan menulis perintah yang pertama-tama akan memeriksa file plan.md. File ini berisi
00:03:15tugas-tugas yang harus dikerjakan. Contohnya seperti membuat frontend, membuat backend, mengerjakan database,
00:03:19dan sebagainya. Itu contoh tingkat tinggi saja. Tentu saja, Anda bisa membuatnya jauh lebih mendalam
00:03:23dan rinci jika menggunakan Ralph, tapi kita pakai contoh itu dulu. Jadi perintah ini
00:03:28akan memberitahu agen untuk memilih tugas paling penting, lalu melakukan perubahan tersebut. Setelah
00:03:33melakukan perubahan, jalankan dan bahkan push serta commit perubahan tersebut sekaligus melakukan pengujian.
00:03:38Setelah selesai dan pengujian berhasil, tandai tugas tersebut sebagai selesai di
00:03:42file plan.md dan lakukan lagi. Jadi agen akan terus mencari tugas terpenting
00:03:46yang harus dilakukan sampai semua tugas selesai. Sebenarnya, saya ralat sedikit karena
00:03:52Anda bisa membiarkan loop Ralph berjalan terus-menerus, bahkan jika semua tugas sudah selesai.
00:03:57Keuntungannya adalah ia mungkin menemukan hal-hal untuk diperbaiki atau fitur baru untuk
00:04:02ditambahkan yang tidak ada di plan.md. Tapi jika ia mulai melenceng, keuntungan
00:04:08menggunakan Ralph adalah Anda bisa menghentikan prosesnya kapan saja, menyesuaikan file prompt
00:04:12MD, lalu menjalankan seluruh prosesnya lagi. Ralph membuat ini sangat sederhana karena
00:04:16seluruh proses ini dijalankan dalam satu loop while bash tunggal. Di sini ia hanya melakukan 'cat' pada file prompt
00:04:22MD, yaitu menampilkannya ke agen, lalu menjalankan Claude dalam mode YOLO. Tentu saja, flag-nya
00:04:26bukan YOLO. Itu adalah 'dangerously skip permissions', tapi demi menghemat tempat, saya singkat saja.
00:04:31Yang membuat Ralph istimewa adalah ia berada di luar kendali model. Jadi model
00:04:36tidak bisa menentukan kapan harus menghentikan Ralph. Ia akan terus berjalan. Dengan begitu, Anda bisa memastikan
00:04:41bahwa saat tugas baru berjalan atau saat perintah baru dipicu, konteksnya—di sini adalah saat
00:04:46Anda pertama kali membuka agen. Jadi ini masih segar. Tidak ada pemadatan.
00:04:50Tidak ada tambahan apa pun. Jadi setiap tugas baru mendapatkan jumlah konteks terbanyak dan menggunakan
00:04:55model dalam keadaan jendela konteks yang paling cerdas atau paling optimal. Pada dasarnya, pemadatan
00:05:01adalah saat agen akan melihat semua token yang telah ditulis dalam jendela konteks
00:05:05dan memilih bagian-bagian terpenting untuk perintah berikutnya. Ia akan memilih apa yang
00:05:11dianggap paling penting, tapi ia tidak tahu apa yang sebenarnya paling penting. Oleh karena itu, pemadatan
00:05:16mungkin menghilangkan informasi krusial dan membuat proyek Anda tidak berjalan sesuai harapan. Baiklah,
00:05:21sekarang kita sudah melihat implementasi kanonik loop Ralph dari penciptanya, ini membantu
00:05:27kita melihat mengapa implementasi lain berbeda. Mari kita lihat implementasi Anthropic,
00:05:33yang menggunakan perintah slash untuk menjalankan Ralph di dalam kode Claude, memiliki iterasi maksimal dan
00:05:38janji penyelesaian. Masalah dengan plugin Ralph Wiggum khusus ini adalah kenyataan bahwa
00:05:43ia memadatkan informasi saat beralih ke tugas berikutnya. Jadi jika satu tugas selesai
00:05:48dan menjalankan ulang perintahnya, bukannya mereset total jendela konteks, ia memadatkan apa
00:05:54yang sebelumnya dilakukan, sehingga bisa kehilangan informasi vital. Ada juga sedikit
00:05:59masalah dengan iterasi maksimal dan janji penyelesaian karena terkadang asyik untuk
00:06:04membiarkan Ralph terus berjalan. Ia bisa menemukan hal menarik untuk diperbaiki yang tidak terpikirkan
00:06:08sebelumnya. Dan jika Anda memantaunya, sebagai manusia dalam loop, Anda mungkin melihat pola baik atau buruk
00:06:14dari model tertentu yang bisa Anda sesuaikan dan tingkatkan dalam perintah asli Anda. Jika kita
00:06:19melihat pendekatan Ryan Carson terhadap loop Ralph, kita bisa melihat bahwa ini tidak sepenuhnya
00:06:24kanonik hanya karena di setiap loop, ada kemungkinan untuk menyesuaikan atau menambah
00:06:29isi file agents.md. Nah, tergantung pada perintah sistem atau perintah pengguna yang
00:06:33Anda tambahkan ke model, dalam pengalaman saya, secara default, model bisa sangat bertele-tele. Jadi jika pada
00:06:39setiap iterasi Anda menambahkan ke file agents.md, yang kemudian ditambahkan ke konteks di
00:06:44awal setiap perintah pengguna, maka Anda hanya akan menambah lebih banyak token ke dalam jendela konteks,
00:06:48mendorong model ke tempat di mana ia berpotensi memberikan hasil yang buruk. Tapi
00:06:53fakta bahwa orang-orang membuat skrip mereka sendiri dari skrip bash loop Ralph dasar adalah
00:06:57bukti betapa sederhana dan mudahnya ini dipahami. Meskipun ada cara kanonik dalam melakukan
00:07:03Ralph, menurut saya sah-sah saja bagi pengembang, tim, dan perusahaan untuk menyesuaikannya dengan kasus
00:07:08penggunaan spesifik mereka. Contohnya, saya suka fakta bahwa dalam skrip Ralphie milik Raz Mike, ada cara
00:07:13untuk menjalankan Ralph secara paralel dan juga fakta bahwa Anda bisa menggunakan alat browser agen dari
00:07:18sel untuk melakukan pengujian browser. Saya juga suka fakta bahwa dalam versi Ralph Matt Pocock,
00:07:23ia menambahkan tugas atau hal yang harus dilakukan sebagai GitHub issues dan loop Ralph akan memilih yang
00:07:28paling penting, mengerjakannya, dan menandainya selesai saat tuntas sebelum lanjut ke tugas berikutnya, yang
00:07:32menurut saya sangat cerdas. Saya rasa kekuatan dan kesederhanaan Ralph berarti ini akan
00:07:37bertahan untuk waktu yang lama. Dan Anda juga mungkin akan melihat banyak iterasi dan peningkatan
00:07:42dari sini. Saya sangat suka cara Jeffrey mengembangkan ini dengan proyek Loom and Weaver-nya di mana
00:07:47ia ingin menciptakan cara untuk membuat perangkat lunak secara otonom dan benar. Tapi dengan semua
00:07:52Ralph ini yang secara otonom membuat perangkat lunak baru, Anda butuh cara untuk mencari kesalahan dan memastikan
00:07:56kesalahan tersebut diperbaiki. Di sinilah Better Stack berperan karena ia tidak hanya bisa menyerap log
00:08:01dan menyaring kesalahan darinya, tapi juga bisa menangani pelacakan kesalahan di frontend.
00:08:06Jadi dengan server MCP ini, Anda bisa meminta agen untuk secara khusus memilih kesalahan dari
00:08:11frontend atau backend daripada membaca seluruh log, yang pada gilirannya mengurangi beban jendela
00:08:16konteks.
00:08:17Jadi silakan cek Better Flux, dan beri tahu pendapat Anda di kolom komentar.