Saya Benci Semua Coding Agent, Jadi Saya Buat Sendiri — Mario Zechner (Pi)

MMastra
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00[MUSIK BERMAIN]
00:00:02Halo, nama saya Mario.
00:00:04Saya berasal dari tanah kelahiran Arnold Schwarzenegger,
00:00:06yang mungkin belum Anda sadari
00:00:09berdasarkan kemampuan bahasa Inggris saya yang sangat baik.
00:00:12Saya ingin mengawali ini dengan mengatakan bahwa kami
00:00:13telah berlarian bersama anak kami yang berusia empat tahun sepanjang hari
00:00:16di seluruh London.
00:00:17Jadi kami melihat dinosaurus, mumi, ke Nandos, tentu saja,
00:00:24dan hal-hal lain yang sudah saya lupakan.
00:00:26Saya sangat, sangat lelah.
00:00:28Dan jika Anda tidak mengerti apa pun yang saya katakan,
00:00:31angkat saja tangan Anda dan katakan, kakek, bangunlah.
00:00:36Alasan saya di sini sebenarnya adalah karena orang lain,
00:00:39yang juga ada di Cockneyville hari ini.
00:00:40Mari kita panggil dia Shteter Pineburger.
00:00:44Kembali ke tahun 2025, saya rasa sekitar bulan April,
00:00:53dia memberi tahu saya dan Armin Ronecha, yang mungkin juga Anda kenal
00:00:58lewat ketenaran Flask dan Sentry, bung, agen pengkodean itu,
00:01:02mereka benar-benar berfungsi sekarang.
00:01:04Dan saya seperti, oh, diamlah.
00:01:06Maaf, saya juga menggunakan kata-kata umpatan.
00:01:09Sama sekali tidak.
00:01:10Dan sebulan kemudian, kami bekerja sama di apartemen ini selama 24 jam
00:01:13semalaman dan membiarkan diri kami tenggelam oleh para clanker,
00:01:19oleh kode vibe, dan oleh vibe slop.
00:01:21Dan sejak saat itu, tidak ada satu pun dari kami yang benar-benar--
00:01:23kami tidak tidur lagi, pada dasarnya.
00:01:27Jadi kami membangun banyak hal, sangat banyak,
00:01:32yang sebagian besar sebenarnya tidak pernah kami gunakan, karena itulah hal baru di tahun 2025,
00:01:362026.
00:01:37Kami membangun banyak hal, tetapi kami tidak membangun banyak hal
00:01:39yang sebenarnya kami gunakan.
00:01:40Kami menulis banyak hal.
00:01:42Dan akhirnya, itu berpuncak pada pemikiran saya,
00:01:46hei, saya benci semua agen pengkodean atau harness yang ada.
00:01:50Seberapa sulitkah untuk menulisnya sendiri?
00:01:53Dan Peter seperti, oh, saya hanya ingin melakukan sesuatu.
00:01:56Mungkin tidak akan ada orang yang mendengarnya.
00:01:58Dan itu akan menjadi asisten pribadi,
00:02:01karena itulah yang selalu ingin saya miliki.
00:02:03Kebanyakan dari Anda mungkin tahu bagaimana ceritanya berlanjut.
00:02:05Jadi hari ini, saya akan menceritakan kisah saya yang jauh kurang mengesankan.
00:02:08Tapi saya harap saya bisa menyampaikan beberapa pembelajaran,
00:02:11seperti yang kita lihat di industri, yang berhasil saya kumpulkan
00:02:16dalam beberapa bulan terakhir.
00:02:17Jadi Pi.
00:02:19Pada awalnya, ada Cloud Code.
00:02:21Sebenarnya, ada aktivitas salin dan tempel dari JetGPT.
00:02:25Kita semua melakukannya di awal, tahun 2023.
00:02:27Lalu ada-- siapa yang ingat GitHub copilot yang asli?
00:02:32Ya, sebenarnya, berapa banyak dari Anda yang merupakan insinyur?
00:02:35Berapa banyak dari Anda yang menggunakan agen pengkodean,
00:02:37seperti Cursor, Cloud Code?
00:02:39Oke.
00:02:40Kontes popularitas, Cloud Code?
00:02:43Codex CLI?
00:02:45Cursor?
00:02:48Open--
00:02:48[TIDAK TERDENGAR]
00:02:49Ya.
00:02:50Open code?
00:02:50Anti-gravitasi.
00:02:51Oh, itu tidak banyak.
00:02:52Ada yang menggunakan ini?
00:02:55Saya suka Anda.
00:02:56Kita akan minum bir nanti.
00:02:58Bagaimanapun, jadi inilah yang sebenarnya terjadi pada tahun 2025
00:03:03dan sebelumnya.
00:03:04Dimulai dengan salin dan tempel dari JetGPT.
00:03:06Semuanya sebagian besar rusak.
00:03:07Kebanyakan hanya fungsi tunggal, hal-hal yang tidak ingin Anda tulis.
00:03:10Lalu Anda mendapatkan GitHub copilot di dalam Visual Studio
00:03:13Code Anda, di mana Anda tinggal klik, klik, klik menuju kebahagiaan,
00:03:15yang terkadang berhasil, namun sering kali tidak.
00:03:17Terkadang ia juga hanya akan [TIDAK TERDENGAR] membacakan kode GPL,
00:03:22seperti akar kuadrat terbalik John Carmack
00:03:25dan hal-hal seperti itu, yang sangat menyenangkan.
00:03:29Lalu ada Adir.
00:03:30Ada yang ingat Adir?
00:03:31Ya.
00:03:32Orang-orang tua.
00:03:33Halo.
00:03:33Ya.
00:03:37Rambut Anda beruban.
00:03:37Anda jelas tahu Adir.
00:03:41Ada juga AutoGPT.
00:03:43Mungkin tidak banyak.
00:03:44Ya, oke.
00:03:45Dia tahu segalanya.
00:03:48Dan akhirnya ada Cloud Code.
00:03:51Saya rasa mereka merilisnya di bulan November,
00:03:52sebenarnya, sebagai versi beta di tahun 2024.
00:03:55Tetapi itu benar-benar baru mulai lebih banyak digunakan, katakan lagi?
00:03:59Hanya di bulan Februari.
00:04:01Ya, Februari, Maret, kira-kira seperti itu, tahun 2025.
00:04:03Dan saya merasa, saya menyukainya.
00:04:05Ini luar biasa.
00:04:06Tim Cloud juga luar biasa.
00:04:07Mereka ada di media sosial.
00:04:08Dan mereka semua orang-orang yang sangat baik dan sangat berbakat.
00:04:13Dan mereka pada dasarnya menciptakan seluruh genre ini.
00:04:15Saya tahu ada pendahulu seperti Adir dan AutoGPT,
00:04:18tetapi tidak ada yang melakukan ini.
00:04:20Dan ini pada dasarnya adalah seluruh hal pencarian agen.
00:04:22Jadi daripada seperti cursor yang masuk ke basis kode Anda,
00:04:25mengindeks berbagai hal, menyusun AST, dan mengindeks itu juga.
00:04:29Dan itu agak tidak benar-benar berfungsi.
00:04:31Mereka hanya berkata, eh.
00:04:33Kami melatih model kami dengan penguatan
00:04:35untuk hanya menggunakan alat file, alat bash,
00:04:37untuk menjelajahi basis kode Anda secara ad hoc dan menemukan tempat-tempat yang
00:04:41perlu ditemukan untuk memahami kode tersebut dan kemudian memodifikasinya.
00:04:44Dan ini bekerja sangat baik sehingga, ya, kami
00:04:46berhenti tidur karena tiba-tiba
00:04:48kami bisa menghasilkan jauh lebih banyak kode daripada yang bisa kami lakukan sebelumnya secara manual.
00:04:52Saat itu, semuanya sederhana dan dapat diprediksi
00:04:54dan benar-benar sesuai dengan alur kerja saya dengan sempurna.
00:04:57Baiklah.
00:04:58Tapi kemudian mereka terjebak dalam perangkap yang mana sebagian besar dari kita
00:05:05mungkin juga akan mengalaminya.
00:05:06Para clanker bisa menulis begitu banyak kode.
00:05:08Kenapa tidak biarkan saja ia menulis semua fitur yang bisa Anda
00:05:11bayangkan, kan?
00:05:11Bukankah itu hebat?
00:05:12Mari tambahkan fitur ini, dan fitur itu,
00:05:14dan fitur ini, dan fitur itu.
00:05:15Dan akhirnya, Anda berakhir dengan milik Homer Simpson--
00:05:18Saya bahkan tidak tahu apa namanya.
00:05:20Saya menyebutnya pesawat luar angkasa.
00:05:21Dan Cloud Code sekarang menjadi pesawat luar angkasa.
00:05:23Ia melakukan begitu banyak hal yang mungkin sebenarnya hanya
00:05:26Anda gunakan sekitar 5% dari apa yang ditawarkannya.
00:05:28Anda hanya tahu sekitar 10% secara total.
00:05:30Dan sisanya, 90% yang tersisa,
00:05:33itu semacam materi gelap AI dan agen.
00:05:36Tidak ada yang tahu apa yang sebenarnya ia lakukan.
00:05:37Dan saya pribadi menganggap ini tidak sangat membantu
00:05:40karena saya masih berpikir bahwa Anda perlu
00:05:43tahu apa yang sedang dilakukan oleh agen tersebut.
00:05:45Orang ini mungkin tidak setuju sampai tingkat tertentu.
00:05:49Dan kita di sini di TESOL, dan mereka juga
00:05:51menyukai manajemen konteks atau rekayasa konteks,
00:05:54seperti yang kita sebut.
00:05:55Dan saya akhirnya menemukan bahwa Cloud Code bukanlah
00:05:58alat yang baik dalam hal observabilitas
00:06:01dan benar-benar mengelola konteks Anda.
00:06:04Lalu ada juga ini.
00:06:06Siapa yang suka ini tentang Cloud Code, seperti jumlah
00:06:09kedipan yang sangat banyak dan tidak bisa dijelaskan?
00:06:10Yah, sebenarnya, saya tahu cara menjelaskannya dan mengapa itu terjadi,
00:06:13tetapi mereka masih belum memperbaikinya.
00:06:15Ini Tarik.
00:06:16Dia benar-benar hebat.
00:06:16Saya suka dia.
00:06:17Dia adalah orang DevRel mereka, sebagian besar di Twitter, dan dia luar biasa.
00:06:21Tetapi terkadang dia juga mengatakan hal-hal yang patut dipertanyakan
00:06:24seperti, antarmuka pengguna terminal kami sekarang adalah mesin game.
00:06:27Nah, perlu Anda ketahui saya memiliki latar belakang pengembangan game.
00:06:30Dari situlah asal saya.
00:06:31Dan jika saya membaca sesuatu seperti ini,
00:06:32maka itu agak sedikit menyakiti saya
00:06:34karena itu hanyalah antarmuka pengguna terminal biasa, bung.
00:06:37Itu bukan mesin game.
00:06:38Percayalah padaku.
00:06:39Satu-satunya alasan Anda menganggapnya mesin game
00:06:41adalah karena Anda menggunakan React di antarmuka terminal Anda,
00:06:44dan butuh waktu sekitar 12 milidetik
00:06:45untuk menata ulang seluruh grafik antarmuka pengguna Anda.
00:06:49Jangan lakukan itu, kawan.
00:06:51Itu bukan mesin game, kan?
00:06:54Dan kemudian Mitchell, yang sedang menulis Ghosty,
00:06:56seperti, bung, itu menyinggung, kawan.
00:06:59Maksudnya, jangan salahkan Ghosty atau terminal lainnya.
00:07:02Kode Anda adalah sampah.
00:07:04Terminal dapat merender pada kecepatan sekitar ratusan
00:07:05bingkai per detik, sub-milidetik per bingkai.
00:07:09Jadi jangan lakukan itu, kan?
00:07:12Dan mereka akhirnya memperbaiki masalah kedipan tersebut.
00:07:15Tetapi kemudian hal-hal lain terjadi.
00:07:16Jadi seolah-olah mereka sepenuhnya menyerah pada pengkodean vibe.
00:07:20Dan Anda bisa merasakannya setiap hari saat menggunakan Cloud Code.
00:07:23Sekali lagi, saya tidak ingin mengecilkan upaya
00:07:27dan hasil kerja mereka.
00:07:28Cloud Code masih merupakan pemimpin kategori untuk alasan yang baik.
00:07:30Mereka menemukan hal ini, dan mereka melakukan pekerjaan yang hebat.
00:07:32Saya secara pribadi hanyalah orang tua
00:07:34yang menyukai alat-alat sederhana yang dapat diprediksi.
00:07:37Dan ini tidak sesuai lagi dengan alur kerja dan kebutuhan saya.
00:07:41Jadi ya.
00:07:42Selain itu, mereka melakukan banyak hal di latar belakang,
00:07:44memanipulasi konteks Anda.
00:07:46Saya membuat sekumpulan alat di musim panas 2025
00:07:50yang memungkinkan saya untuk mencegat permintaan yang dibuat
00:07:52ke backend mereka dari Cloud Code dan mencari tahu
00:07:55teks tambahan kecil seperti apa
00:07:58yang disuntikkan ke dalam kontak Anda di belakang layar.
00:08:00Dan semua itu sangat merugikan
00:08:01dan juga berubah setiap saat.
00:08:04Seperti setiap hari atau dua hari sekali, akan
00:08:06akan ada rilis baru di mana hal ini mengubah apa
00:08:08yang disisipkan pada titik tertentu, yang pada dasarnya mengacaukan
00:08:11alur kerja Anda yang sudah ada.
00:08:13Itu bukanlah alat yang stabil.
00:08:14Dan sekarang saya memahaminya dari perspektif mereka.
00:08:16Mereka perlu bereksperimen.
00:08:17Dan mereka memiliki basis pengguna yang besar.
00:08:18Sangat sulit untuk bereksperimen
00:08:19ketika Anda memiliki basis pengguna yang besar.
00:08:21Tapi mereka tidak peduli.
00:08:23Jadi kita semua harus menderita.
00:08:25Anda bekerja dengan alat baru ini.
00:08:27Anda mencoba membuat alur kerja yang dapat diprediksi.
00:08:31Lalu vendor alat tersebut mengubah satu hal kecil
00:08:35di balik layar yang membuat LLM menjadi
00:08:36kacau dengan alur kerja Anda yang sudah ada.
00:08:38Itu benar-benar tidak berkelanjutan.
00:08:39Saya butuh kendali atas hal itu.
00:08:40Saya tidak bisa mengandalkan mereka untuk menyediakan sesuatu yang stabil.
00:08:46Jadi saya yakin, sebagai konsekuensi dari desain UI,
00:08:52mereka perlu mengurangi jumlah visibilitas yang Anda miliki.
00:08:54Saya pribadi tidak terlalu menyukai hal itu.
00:08:56Tapi itu hanya preferensi pribadi.
00:08:57Saya mengerti bahwa kebanyakan orang akan
00:08:58puas dengan jumlah informasi
00:09:00yang akan disajikan oleh Cloud Code kepada Anda.
00:09:03Tidak ada pilihan model sama sekali, tentu saja,
00:09:06karena ini bisa dibilang alat asli dari Anthropic.
00:09:09Itu bukan sisi negatifnya, karena model Claude—
00:09:12Saya menyukainya.
00:09:13Model-model itu sangat bagus.
00:09:15Dan hampir tidak ada ekstensibilitas sama sekali.
00:09:17Dan Anda mungkin merasa ini agak lucu, karena mereka
00:09:19memiliki seluruh sistem hook dan semacamnya.
00:09:21Tetapi jika Anda membandingkannya dengan apa yang dimungkinkan oleh Pi,
00:09:25integrasinya tidak sedalam itu.
00:09:28Ini juga pada dasarnya berbasis pada menjalankan proses ketika
00:09:32peristiwa hook dimulai, yang mana sangat mahal jika Anda
00:09:36harus memulai proses tersebut berulang kali.
00:09:40Jadi akhirnya, saya mulai tidak menyukai Cloud Code,
00:09:42bukan karena alat itu buruk.
00:09:44Hanya saja alat itu tidak lagi cocok untuk saya.
00:09:47Alat itu menjadi cocok untuk lebih banyak orang selama periode tersebut.
00:09:50Jadi jelas, mereka melakukan hal yang benar, tapi bukan untuk saya,
00:09:54karena saya sudah tua.
00:09:56Lalu saya mulai mencari opsi lain.
00:09:59Dan ada Codex CLI, yang sangat tidak saya sukai.
00:10:01Awalnya, baik antarmuka pengguna maupun modelnya,
00:10:05itu telah berubah, setidaknya dalam hal modelnya.
00:10:08Codex sekarang sudah cukup bagus.
00:10:10Lalu ada AMP.
00:10:12Tim di baliknya dulu bekerja di Sourcegraph.
00:10:15Mereka memisahkan diri dari Sourcegraph.
00:10:20Dan mereka adalah insinyur yang sangat hebat.
00:10:21Mereka berhasil membangun kerangka pengodean komersial di mana
00:10:25mereka menghapus fitur alih-alih menambahkannya.
00:10:28Dan sebagian besar pilihan mereka sangat masuk akal bagi saya.
00:10:33Jadi ya, jika Anda mencari kerangka pengodean komersial,
00:10:36saya sangat merekomendasikan AMP kepada Anda, karena itu sangat bagus.
00:10:39Factory Troye, kurang lebih serupa, juga sangat bagus,
00:10:44meskipun mereka tidak se-eksperimental AMP.
00:10:47Dan kemudian ada OpenCode, yang merupakan kerangka
00:10:50pengodean sumber terbuka yang banyak digunakan orang.
00:10:53Jadi saya punya riwayat di dunia sumber terbuka.
00:10:55Saya sudah berkecimpung di sumber terbuka selama, ya, 17 tahun.
00:11:00Saya telah mengelola proyek sumber terbuka besar dan kecil.
00:11:04Jadi hal itu sangat berarti bagi saya.
00:11:05Maka saya pikir, saya akan mencoba OpenCode,
00:11:08karena itu terasa dekat dengan saya.
00:11:12Dan selain AMP, mereka memiliki salah satu tim yang paling
00:11:15membumi atau pragmatis di bidang ini.
00:11:16Mereka tidak membesar-besarkan fitur
00:11:18yang mungkin tidak akan pernah Anda gunakan.
00:11:20Mereka mencoba mempertahankan jalur utama yang
00:11:23sangat stabil.
00:11:26Dan mereka juga memiliki pemikiran yang cukup bagus
00:11:27tentang apa arti agen pengodean bagi kita
00:11:29sebagai sebuah profesi, yang secara pribadi bisa saya pahami.
00:11:32Masalah dengan OpenCode adalah alat ini juga tidak terlalu bagus
00:11:37dalam mengelola konteks Anda.
00:11:38Misalnya, pada setiap giliran, ia memanggil sessionCompaction.prune,
00:11:44yang melakukan hal berikut.
00:11:46Ia memangkas semua hasil sebelum 40.000 token terakhir.
00:11:52Nah, siapa di sini yang tahu apa itu prompt caching?
00:11:56Apa dampaknya terhadap prompt cache Anda?
00:11:58Jadi OpenCode dan Anthropic memiliki sejarah yang menarik.
00:12:05Dan akhirnya, Anthropic, menurut pendapat saya, dan memang benar,
00:12:11mengatakan, kawan, itu tidak akan terjadi.
00:12:14Dan tidak pernah ada pernyataan publik tentang hal ini.
00:12:17Tapi Tarek menjelaskannya di sini.
00:12:19Jika Anda datang ke gym dan tidak berperilaku baik serta menyalahgunakan
00:12:22infrastrukturnya, bisa dikatakan, Anda akan dilarang.
00:12:25Dan saya pikir—
00:12:27Saya tidak punya bukti untuk itu,
00:12:28tapi saya pikir itulah alasan mengapa
00:12:30ada permusuhan antara Anthropic dan OpenCode.
00:12:33Dan saya sangat setuju, atau setidaknya saya
00:12:36pikir Anthropic jelas berada di pihak yang benar di sini.
00:12:39Jangan mengacaukan infrastruktur.
00:12:42Lalu ada juga hal lain, seperti OpenCode
00:12:44yang hadir dengan dukungan LSP, Language Server Protocol,
00:12:46secara langsung.
00:12:48Kembali ke rekayasa konteks,
00:12:51katakanlah Anda memberikan tugas kepada agen Anda
00:12:53untuk memodifikasi sejumlah file.
00:12:55Apa artinya itu dalam praktiknya?
00:12:57Ia akan melakukan serangkaian pengeditan, satu demi satu,
00:13:02pada sejumlah file.
00:13:03Seberapa besar kemungkinannya setelah pengeditan pertama, dari 10 pengeditan,
00:13:09bisa dikatakan, kodenya akan bisa dikompilasi?
00:13:12Apa yang terjadi jika Anda memodifikasi kode Anda baris demi baris?
00:13:15Berapa lama waktu yang dibutuhkan untuk menjadi stabil lagi
00:13:17dan bisa dikompilasi dengan bersih?
00:13:19Tidak akan.
00:13:20Itu tidak akan terkompilasi setelah pengeditan pertama, mungkin tidak juga
00:13:22setelah pengeditan kedua, dan seterusnya.
00:13:24Jadi jika Anda kemudian berbalik dan berkata, hei, server LSP sayang,
00:13:28saya baru saja mengedit satu baris di file ini.
00:13:30Apakah ini rusak?
00:13:31Maka server LSP akan berkata, ya, ini benar-benar rusak.
00:13:34Dan apa yang dilakukan fitur ini adalah ia kemudian
00:13:36menyuntikkan kesalahan ini langsung setelah pemanggilan
00:13:39alat sebagai semacam umpan balik ke model.
00:13:43Oh, apa yang baru saja Anda lakukan itu salah.
00:13:45Dan modelnya akan seperti, apa-apaan ini?
00:13:47Saya belum selesai mengedit segalanya.
00:13:49Mengapa Anda memberi tahu saya hal ini?
00:13:50Jelas, ini tidak salah.
00:13:51Tetapi jika Anda melakukan ini cukup sering, model tersebut akan menyerah begitu saja.
00:13:54Dan itu menyebabkan hasil yang sangat buruk.
00:13:58Jadi saya bukan penggemar LSP.
00:13:59Saya pikir mengaktifkan hal itu adalah ide yang sangat buruk.
00:14:02Ada titik sinkronisasi alami
00:14:03di mana Anda ingin melakukan linting dan pemeriksaan tipe
00:14:06dan sebagainya.
00:14:07Dan itu adalah ketika agen menganggap pekerjaannya selesai, hanya pada saat itu.
00:14:10Ini telah berubah baru-baru ini.
00:14:14Ini adalah satu sesi OpenCode, di mana setiap pesan
00:14:20menjadi file JSON-nya sendiri.
00:14:22Setiap pesan tunggal menjadi file JSON-nya sendiri di disk.
00:14:26Itu menunjukkan kepada saya bahwa tidak banyak pemikiran yang diberikan
00:14:29ke dalam arsitektur dari keseluruhan hal tersebut.
00:14:31Dan jika saya kehilangan kepercayaan pada hal itu, saya tidak
00:14:33ingin menggunakan alat itu lagi.
00:14:35Sekali lagi, saya pikir timnya sebenarnya sangat bagus.
00:14:37Saya pikir mereka beriterasi dengan sangat cepat
00:14:39dan membangun sesuatu yang sangat berguna bagi banyak orang, tentu saja.
00:14:42Hanya saja, sekali lagi, keputusan-keputusan yang tidak akan saya ambil itulah yang
00:14:43membuat saya memutuskan untuk membangun milik saya sendiri.
00:14:46Lalu ada juga hal ini.
00:14:50OpenCode hadir dengan server secara default.
00:14:51Jadi arsitektur intinya berbasis pada server.
00:14:54Dan klien terhubung ke server tersebut.
00:14:56Dan antarmuka pengguna terminal adalah salah satu kliennya.
00:14:57Ada juga antarmuka desktop.
00:15:00Dan entahlah.
00:15:01Itu ternyata menjadi kerentanan keamanan
00:15:03dengan eksekusi kode jarak jauh yang tertanam secara default.
00:15:05Dan itu juga—jika Anda sangat bangga dengan
00:15:09infrastruktur server atau arsitektur server Anda,
00:15:12maka saya akan berasumsi Anda adalah insinyur dewasa yang
00:15:15memikirkan tentang keamanan juga.
00:15:18Dan rupanya, itu tidak terjadi.
00:15:20Dan ini sudah terbuka untuk waktu yang lama.
00:15:21Dan sekali lagi, saya tidak menyalahkan siapa pun di sini.
00:15:23Ini adalah hal-hal yang biasa terjadi jika Anda
00:15:25bekerja di industri yang beroperasi dengan kecepatan luar biasa
00:15:27yang belum pernah kita lihat sebelumnya.
00:15:31Hanya saja saya tidak ingin menggunakan alat itu jika hal tersebut ada.
00:15:33Jadi ini adalah pengamatan saya terkait pengodean
00:15:36yang ada saat ini.
00:15:42AMP dan Droid mungkin bisa saja saya gunakan.
00:15:42Tapi sekali lagi, tidak ada kendali.
00:15:45Dalam kasus AMP, mereka bahkan memutuskan model apa yang bisa Anda gunakan.
00:15:47Dan itu hanya model tunggal untuk satu jenis tugas.
00:15:50Dan itu bukan saya.
00:15:53Dalam hal Droid, saya pikir itu sedikit lebih terbuka.
00:15:55Tetapi pada saat saya mencobanya,
00:15:58itu tidak—
00:16:00Saya tidak melihat keuntungan besar dibandingkan Cloud Code.
00:16:02Lalu saya melihat tolok ukur untuk alasan yang sama sekali berbeda
00:16:07dan menemukan Terminal Bench.
00:16:10Siapa yang tahu apa itu Terminal Bench?
00:16:12Oke, pada dasarnya, ini adalah pengodean atau kerangka
00:16:15evaluasi agen, yang memiliki sejumlah penggunaan komputer dan tugas
00:16:20terkait pemrograman—
00:16:24maaf, sudah tua dan lelah karena anak umur 4 tahun.
00:16:24Ini memiliki sejumlah tugas penggunaan komputer dan pengodean
00:16:31yang harus dipenuhi oleh sebuah agen atau LLM
00:16:35di dalam kerangka agen.
00:16:39Saya rasa jumlahnya sekitar 82 atau lebih.
00:16:40Dan mereka sangat beragam.
00:16:43Mulai dari memperbaiki pengaturan jendela hingga mengodekan
00:16:44simulasi Monte Carlo atau semacamnya.
00:16:48Dan mereka memiliki papan peringkat.
00:16:51Dan di papan peringkat itu, Anda melihat kombinasi
00:16:52antara kerangka agen pengodean dan modelnya.
00:16:54Dan mereka memiliki agen pengodean sendiri yang disebut Terminus.
00:16:57Dan saya rasa itu brilian karena ini adalah
00:17:03salah satu kerangka dengan performa terbaik dalam tolok ukur tersebut.
00:17:06salah satu harness dengan performa terbaik dalam tolok ukur tersebut.
00:17:09Kita akan melihatnya nanti.
00:17:11Apa sebenarnya yang dilakukannya?
00:17:12Yah, yang didapatkan model hanyalah sesi TMUX.
00:17:17Dan yang bisa dilakukannya hanyalah mengirim ketukan tombol ke sana
00:17:19dan membaca kembali urutan kode VT yang dipancarkan.
00:17:23Jadi ini seperti antarmuka terkecil dan paling minimal
00:17:27yang bisa dimiliki sebuah model terhadap komputer Anda.
00:17:31Dan ini memberikan performa papan atas di seluruh papan peringkat.
00:17:36Jadi apa yang hal ini beritahukan kepada kita tentang harness agen pengodean yang ada?
00:17:39Apakah kita membutuhkan semua fitur ini agar model-model tersebut
00:17:41benar-benar bisa berperforma?
00:17:43Bagi saya pribadi, ini bukan hanya tentang model yang
00:17:48sebenarnya bagus.
00:17:49Ini juga tentang saya sebagai pengguna, manusia,
00:17:51memiliki cara untuk berinteraksi dengan agen saya, dengan model tersebut.
00:17:54Dan Terminus jelas bukan pengalaman pengguna atau pengalaman pengembang
00:17:58yang saya inginkan.
00:18:00Tapi itu memberi tahu kita bahwa semua fitur ini, semua harness pengodean
00:18:03mungkin tidak diperlukan untuk mendapatkan
00:18:08hasil yang baik dari para agen.
00:18:10Jadi tidak ada alat file, tidak ada sub-agen, tidak ada pencarian web, tidak ada apa-apa.
00:18:13Dua tesis didasarkan pada semua temuan ini.
00:18:16Kita berada dalam tahap mencoba-coba dan mencari tahu.
00:18:18Dan tidak ada yang tahu seperti apa agen pengodean yang sempurna
00:18:21atau seperti apa harness pengodean yang sempurna nantinya.
00:18:23Kita mencoba minimalisme sekaligus mencoba kawanan kapal ruang angkasa penuh,”
00:18:27tim agen, tanpa kendali, otonomi penuh,
00:18:30dan apa pun itu.
00:18:31Saya rasa itu belum selesai.
00:18:33Kita belum menjawab pertanyaan seperti apa ini
00:18:35seharusnya secara ideal dan apa yang akan menjadi standar
00:18:37industri.
00:18:38Dan hal kedua adalah kita butuh cara yang lebih baik
00:18:40untuk mencoba-coba dengan agen pengodean.
00:18:42Yaitu, kita membutuhkan mereka untuk bisa memodifikasi diri mereka sendiri
00:18:47dan menjadi lentur.
00:18:48Sehingga kita bisa bereksperimen dengan cepat dengan ide-ide
00:18:50dan melihat apakah ini sesuatu yang bisa kita jadikan seperti standar
00:18:53industri, alur kerja baru yang mungkin akan kita semua adaptasi.
00:18:58Jadi ide dasarnya adalah—
00:18:59dan ini sangat sederhana, bukan sains roket—
00:19:01hilangkan segalanya dan bangun inti minimal yang dapat diperluas.
00:19:05Ada beberapa kenyamanan makhluk hidup.
00:19:06Ini bukan papan yang kosong.
00:19:09Jadi itu adalah Pi.
00:19:10Dan moto umumnya adalah adaptasikan agen pengodean Anda
00:19:13dengan kebutuhan Anda, bukan sebaliknya.
00:19:16Ini dilengkapi dengan empat paket, sebuah paket AI, yang pada dasarnya
00:19:21hanyalah abstraksi sederhana atas berbagai penyedia, yang
00:19:24semuanya berbicara dengan protokol transportasi yang berbeda.
00:19:27Jadi sangat mudah untuk berbicara dengan semua penyedia
00:19:29dan berpindah-pindah di antara mereka dalam konteks atau sesi yang sama.
00:19:34Inti agen, yang hanyalah sebuah loop agen umum
00:19:36dengan lokasi perkakas, verifikasi,
00:19:38dan seterusnya.
00:19:39Dan streaming, antarmuka pengguna terminal
00:19:42yang berisi sekitar 600 baris kode dan bekerja dengan sangat baik,
00:19:47secara mengejutkan, karena ini tidak ditulis oleh clanker.
00:19:51Dan agen pengodean itu sendiri, yang merupakan SDK
00:19:54yang bisa Anda gunakan dalam mode headless
00:19:57atau agen pengodean antarmuka pengguna terminal penuh.
00:20:02Ini adalah seluruh petunjuk sistemnya.
00:20:05Tidak ada lagi yang lain di sana dibandingkan dengan petunjuk sistem
00:20:08[TIDAK TERDENGAR] pengodean lainnya.
00:20:10Itu dalam bentuk token.
00:20:13Ternyata model-model mutakhir dilatih RL secara intensif untuk mengetahui
00:20:16apa itu agen pengodean.
00:20:18Jadi mengapa Anda terus memberi tahu mereka bahwa mereka adalah agen pengodean
00:20:21dan bagaimana mereka harus melakukan tugas pengodean, kan?
00:20:27YOLO secara default, mengapa begitu?
00:20:30Kebanyakan harness agen pengodean saat ini memiliki dua mode.
00:20:33Entah agen bisa melakukan apa pun yang diinginkannya
00:20:36atau agen harus bertanya kepada Anda, apakah Anda benar-benar
00:20:40ingin menghapus file ini?
00:20:41Apakah Anda benar-benar ingin mencantumkan file di direktori ini,
00:20:44dan seterusnya?
00:20:44Dan ada berbagai nuansa di sini.
00:20:47Tapi pada akhirnya, ini bermuara pada pengguna
00:20:49perlu menyetujui tindakan oleh agen tersebut.
00:20:52Dan barulah kita aman.
00:20:53Dan saya rasa itu salah karena itu menyebabkan kelelahan.
00:20:55Dan orang-orang akan mematikannya sama sekali, mode YOLO,
00:20:58atau hanya duduk di sana dan menekan enter tanpa membaca apa pun.
00:21:01Jadi saya rasa itu bukan solusinya.
00:21:02Kontainerisasi juga bukan solusi
00:21:04jika Anda khawatir tentang pencurian data
00:21:06dan injeksi perintah.
00:21:07Tapi saya rasa itulah satu-satunya hal yang Anda—
00:21:10Saya rasa itu adalah dasar terbaik dibandingkan dengan pagar pembatas
00:21:14seperti persetujuan atau dialog.
00:21:17Ini hanya memiliki empat alat: baca file, tulis file,
00:21:19edit file di Bash.
00:21:21Bash adalah semua yang Anda butuhkan.
00:21:22Apa yang tidak ada di sana?
00:21:23Tidak ada MCP, tidak ada sub-agen, tidak ada rencana, tidak ada latar belakang,
00:21:25Bash, tidak ada daftar tugas bawaan.
00:21:26Inilah yang bisa Anda lakukan sebagai gantinya.
00:21:28Untuk MCP, gunakan alat CLI ditambah keterampilan,
00:21:30atau buat sebuah ekstensi, yang akan kita lihat sebentar lagi.
00:21:34Kenapa tidak ada sub-agen?
00:21:35Karena mereka tidak dapat diamati.
00:21:36Sebaliknya, gunakan tmux dan jalankan agennya lagi.
00:21:41Anda memiliki kendali penuh atas output dan input agen
00:21:44dan bisa melihat semua yang terjadi di sub-agen tersebut.
00:21:48Cukup menarik, spawn kode—
00:21:50mode tim sekarang juga melakukan hal yang persis seperti ini.
00:21:55Tidak ada mode rencana, tulis saja file plan.md.
00:21:57Anda memiliki artefak yang persisten alih-alih
00:21:59beberapa UI yang tidak rapi yang tidak benar-benar
00:22:02cocok dengan viewport terminal Anda.
00:22:04Dan Anda bisa menggunakannya kembali di beberapa sesi.
00:22:07Tidak perlu Bash latar belakang, kita punya tmux.
00:22:09Itu adalah hal yang sama.
00:22:11Dan tidak ada daftar tugas bawaan, tulis saja todo.md.
00:22:13Hal yang sama.
00:22:14Atau bangun semua ini sendiri sesuai keinginan Anda.
00:22:17Dan inilah yang dimungkinkan oleh Py, dengan menjadi sangat mudah diperluas.
00:22:21Jadi Anda bisa memperluas alat, secara kustom.
00:22:22Anda bisa memberi LLM alat yang Anda tentukan sendiri.
00:22:26Saya rasa tidak ada harness agen pengodean lain
00:22:28yang menawarkannya saat ini, kecuali jika Anda melakukan fork open code.
00:22:31Anda tidak perlu melakukannya di sini.
00:22:32Anda cukup menulis file TypeScript sederhana,
00:22:34dan itu akan dimuat secara otomatis.
00:22:37Anda juga bisa menulis UI kustom.
00:22:39Keterampilan jelas ada dalam templat perintah mereka, tema.
00:22:43Dan Anda bisa membungkus semua itu, menaruhnya di NPM atau Git,
00:22:46dan menginstalnya dengan satu perintah, yang sangat bagus.
00:22:49Dan semuanya dimuat ulang secara otomatis.
00:22:51Jadi saya mengembangkan ekstensi saya sendiri yang
00:22:53spesifik untuk proyek atau tugas di Py di dalam proyek tersebut.
00:22:59Dan saat agen memodifikasi ekstensi tersebut, saya tinggal memuat ulang.
00:23:05Dan itu segera memperbarui semua kode yang sedang berjalan,
00:23:10yang mana sangat menyenangkan.
00:23:11Dan dalam praktiknya, itu berarti Anda bisa melakukan pemadatan kustom.
00:23:14Saya rasa itu salah satu hal yang harus lebih banyak dieksperimen
00:23:16oleh orang-orang, karena semua implementasi pemadatan
00:23:19saat ini tidak bagus.
00:23:21Gerbang izin, Anda bisa dengan mudah mengimplementasikannya
00:23:23dalam 50 baris kode, dan mencakup
00:23:24apa yang dilakukan harness agen lainnya jika Anda menginginkannya.
00:23:27Penyedia kustom, daftarkan proksi dari model yang dihosting sendiri.
00:23:31Saya tidak peduli.
00:23:32Anda tidak perlu saya untuk melakukan ini untuk Anda.
00:23:33Anda bisa melakukannya, dan sebenarnya, clanger Anda bisa melakukannya untuk Anda.
00:23:37Atau timpa alat bawaan apa pun.
00:23:38Modifikasi cara kerja baca, tulis, edit, dan bash.
00:23:41Saya tidak peduli.
00:23:42Saya punya versi baca, tulis, edit, dan bash
00:23:43yang bekerja melalui SSH pada mesin jarak jauh.
00:23:47Bagi saya, itu butuh lima menit untuk diimplementasikan, tapi itu berhasil.
00:23:51Dan Anda punya akses TUI penuh, jadi Anda sebenarnya bisa
00:23:54menulis UI yang sepenuhnya kustom di agen pengodean.
00:23:58Cloud Code Shipped/Ngomong-ngomong, butuh lima menit bagi seseorang
00:24:02untuk mereplikasi itu di Py dengan fitur lebih banyak.
00:24:05PyMessenger, saya tidak tahu apa yang dilakukannya,
00:24:07tapi sepertinya, itu seperti ruang obrolan untuk beberapa agen Py
00:24:10yang kemudian berkomunikasi, yang kemudian memiliki UI kustom.
00:24:13Kita bisa melihat apa yang mereka lakukan, dan ya, itu berhasil saja.
00:24:18Atau PyMess, kalau Anda bosan, mainkan saja game
00:24:23selagi agennya sedang berjalan, kan?
00:24:24Anda bisa melakukannya.
00:24:25Atau PyAnnotate, buka situs webnya
00:24:28yang sedang Anda kerjakan saat ini, dan beri anotasi di front end,
00:24:31dan berikan umpan balik kepada agen secara langsung.
00:24:35Masukkan kembali ke dalam konteks, biarkan dia memodifikasi hal tersebut.
00:24:39Atau sesuatu yang saya gunakan adalah File Switch It.
00:24:42Saya tidak ingin beralih ke IDE atau editor.
00:24:43Saya hanya ingin melihat sekilas file yang telah dimodifikasi.
00:24:46Jadi semua ini adalah ekstensi.
00:24:48Tidak ada satu pun dari ini yang bawaan, dan orang-orang biasanya butuh
00:24:50beberapa menit hingga sore hari
00:24:52untuk membangun semua ini sesuai keinginan mereka.
00:24:56PyWavic bilang, juga tidak tahu apa yang dilakukannya.
00:25:00Py juga dilengkapi dengan struktur pohon.
00:25:01Saya tidak akan menjelaskan itu.
00:25:03Lihat saja di py.dev.
00:25:04Sesi Anda adalah sebuah pohon, bukan daftar obrolan linear.
00:25:07Jadi pada dasarnya Anda bisa melakukan beberapa agen
00:25:09dengan membaca semua file di direktori,
00:25:11meringkas ini, kembali ke akar percakapan saya,
00:25:14membawa ringkasan tersebut, dan melakukan pekerjaan yang sebenarnya.
00:25:19Tidak ada yang disuntikkan di belakang Anda.
00:25:22Agen, keterampilan, pelacakan biaya penuh.
00:25:24Banyak harness tidak melakukan ini di sini.
00:25:26Open code tidak melakukannya dengan baik.
00:25:29Ekspor HTML, format JSON, aliran JSON headless, bla, bla.
00:25:33Apakah ini benar-benar berhasil?
00:25:34Yah, terminal bench.
00:25:35Biarkan saya perbesar di sini.
00:25:36Saya tidak bisa.
00:25:37Ini luar biasa.
00:25:38Inilah py tepat di belakang terminus 2 menggunakan cloud opus 4.5.
00:25:45Itu terjadi di bulan Oktober saat py bahkan belum punya pemadatan.
00:25:49Waktunya demo, lewati itu, langsung melawan para clanker
00:25:51karena mereka merusak sumber terbuka.
00:25:54Jika Anda terkait dengan proyek orang ini,
00:25:56maka Anda akan mendapati ratusan orang datang dari OpenClaw
00:26:02ke repositori Anda dan membanjiri Anda dengan clanker, fill, fence law.
00:26:06Jadi saya harus menciptakan beberapa langkah pencegahan.
00:26:09Saya menciptakan liburan OSS.
00:26:11Jadi saya menutup masalah dan PR selama beberapa minggu
00:26:14dan mengerjakan berbagai hal sendiri.
00:26:16Apa pun yang penting pasti akan dilaporkan nanti
00:26:20atau di Discord.
00:26:21Dan kemudian saya juga mengimplementasikan skema akses kustom
00:26:26di mana saya punya file markdown di repositori tersebut.
00:26:28Jika seseorang membuka PR tanpa nama akun mereka
00:26:32tercantum dalam file markdown tersebut, PR akan ditutup otomatis.
00:26:34Saya tidak peduli.
00:26:35Pertama-tama, perkenalkan diri Anda dengan suara manusia melalui sebuah issue.
00:26:39Tulis issue yang tidak lebih panjang dari tampilan layar
00:26:42karena apa pun yang lebih dari itu kemungkinan besar adalah hukum clankers.
00:26:45Dan setelah Anda melakukannya, saya senang untuk— terlihat oke bagi saya, Anda.
00:26:47Jadi Anda masuk ke file itu dan sekarang bisa mengirimkan PR
00:26:50ke repositori tersebut.
00:26:51Yang saya minta hanyalah verifikasi manusia.
00:26:53Dan Mitchell dari Ghosty kemudian mengambil ini dan membangun
00:26:57sebuah proyek bernama Vouch, yang lebih mudah diterapkan
00:27:00pada repositori sumber terbuka Anda sendiri.
00:27:02Dan itulah Pi.
00:27:03Silakan dan cobalah.
00:27:05Itu saja dari saya.
00:27:06[TEPUK TANGAN]
00:27:07[MUSIK DIMAINKAN]

Key Takeaway

Pi menggantikan kompleksitas 'pesawat luar angkasa' agen pengodean modern dengan inti minimalis berbasis Bash yang dapat dimodifikasi sepenuhnya oleh pengguna untuk mencapai efisiensi pengodean tingkat tinggi.

Highlights

Cloud Code mengalami penurunan kualitas karena penambahan fitur berlebihan yang membuat 90% fungsinya menjadi materi gelap AI yang tidak dipahami pengguna.

Terminus membuktikan performa agen pengodean papan atas hanya memerlukan sesi TMUX minimal tanpa perlu alat file, sub-agen, atau pencarian web.

Pi dibangun dengan arsitektur inti minimalis yang memungkinkan pengguna memperluas fungsionalitas melalui file TypeScript sederhana yang dimuat otomatis.

Sesi percakapan di Pi menggunakan struktur pohon (tree structure) alih-alih daftar obrolan linear untuk memungkinkan navigasi konteks yang lebih kompleks.

Protokol Vouch diciptakan sebagai langkah pencegahan terhadap banjir 'clanker' atau kontribusi kode AI berkualitas rendah pada repositori sumber terbuka.

Pi mendukung penggunaan model yang berbeda dalam sesi yang sama melalui paket abstraksi AI sederhana untuk berbagai penyedia layanan.

Timeline

Masalah pada Agen Pengodean Populer

  • Metode salin-tempel dari ChatGPT pada tahun 2023 berkembang menjadi alat terintegrasi seperti GitHub Copilot dan Cursor.
  • Cloud Code menciptakan genre baru dengan melatih model menggunakan penguatan untuk menjelajahi basis kode secara ad hoc melalui alat file dan Bash.
  • Penambahan fitur terus-menerus mengubah alat bantu sederhana menjadi sistem kompleks yang hanya dipahami sebagian kecil oleh penggunanya.

Evolusi alat bantu pengodean AI menunjukkan pergeseran dari fungsi tunggal yang rusak menuju integrasi penuh di IDE. Cloud Code awalnya menawarkan alur kerja yang dapat diprediksi dengan membiarkan agen menjelajahi kode secara mandiri. Namun, dorongan untuk menambahkan setiap fitur yang bisa dibayangkan mengakibatkan hilangnya observabilitas dan kontrol bagi pengembang senior.

Instabilitas dan Manipulasi Konteks Tersembunyi

  • Vendor sering menyuntikkan teks tambahan ke dalam konteks di balik layar yang merusak alur kerja pengguna yang sudah ada.
  • Antarmuka pengguna terminal yang terlalu berat menggunakan React menyebabkan masalah visual seperti kedipan yang tidak perlu.
  • Ketiadaan opsi pemilihan model membatasi fleksibilitas pengembang dalam menyesuaikan alat dengan kebutuhan spesifik mereka.

Eksperimen yang dilakukan vendor pada basis pengguna besar sering kali mengorbankan stabilitas alat. Pencegatan permintaan backend mengungkap adanya manipulasi konteks yang berubah setiap beberapa hari, yang membuat model LLM menjadi kacau. Fokus pada estetika antarmuka terminal yang menyerupai mesin game justru menurunkan performa render dibandingkan terminal murni.

Kegagalan Arsitektur OpenCode dan LSP

  • Penyimpanan setiap pesan obrolan sebagai file JSON terpisah di disk menunjukkan kurangnya pemikiran mendalam pada arsitektur sistem.
  • Integrasi Language Server Protocol (LSP) secara langsung justru mengganggu model karena memberikan umpan balik kesalahan saat proses pengeditan belum selesai.
  • Arsitektur berbasis server secara default menciptakan kerentanan keamanan berupa eksekusi kode jarak jauh.

OpenCode memiliki tim yang pragmatis namun terjebak dalam keputusan desain yang tidak efisien seperti pemangkasan sesi yang merusak cache prompt Anthropic. Penggunaan LSP yang terlalu dini menyuntikkan kesalahan kompilasi ke dalam instruksi model, sehingga model sering menyerah sebelum menyelesaikan tugas. Selain itu, model komersial seperti AMP membatasi pengguna pada satu jenis model saja untuk semua tugas.

Filosofi Minimalis dan Arsitektur Pi

  • Terminus mencapai performa papan atas di Terminal Bench hanya dengan mengirim ketukan tombol ke sesi TMUX minimal.
  • Pi menggunakan instruksi sistem yang sangat singkat karena model mutakhir sudah dilatih secara intensif untuk memahami tugas pengodean.
  • Kontainerisasi adalah dasar keamanan yang lebih baik daripada dialog persetujuan tindakan yang menyebabkan kelelahan pengguna.

Data dari Terminal Bench membuktikan bahwa fitur tambahan yang rumit tidak menjamin performa agen yang lebih baik. Pi mengadopsi pendekatan ini dengan menyediakan empat alat dasar: baca file, tulis file, edit file, dan Bash. Filosofi utamanya adalah menyesuaikan agen dengan kebutuhan pengembang, bukan memaksa pengembang mengikuti alur kerja alat.

Ekstensi Kustom dan Verifikasi Manusia

  • Pengguna dapat mengimplementasikan gerbang izin atau penyedia model kustom dalam waktu kurang dari lima menit menggunakan TypeScript.
  • Struktur pohon dalam sesi Pi memungkinkan pembagian tugas ke beberapa sub-agen yang hasilnya diringkas kembali ke akar percakapan.
  • Sistem verifikasi manusia melalui file markdown mencegah otomatisasi PR yang tidak diinginkan oleh bot AI pada proyek sumber terbuka.

Kemampuan ekstensibilitas Pi memungkinkan pembuatan alat visual seperti penganotasi front-end secara langsung dalam terminal. Untuk menjaga integritas proyek sumber terbuka dari gangguan kode buatan AI yang tidak diverifikasi, skema akses kustom diimplementasikan. Hal ini memaksa kontributor untuk memperkenalkan diri melalui interaksi manusia sebelum dapat mengirimkan perubahan kode.

Community Posts

View all posts