Pi vs OpenCode - Agen Coding AI Mana yang Harus Anda Gunakan?
KKTG Analysis
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Kini ada dua agen AI coding open source serius yang memperebutkan terminal
00:00:04dan salah memilih berarti harus membangun ulang seluruh alur kerja Anda nanti.
00:00:10Yang satu hadir dengan segalanya yang Anda inginkan secara instan, yang lainnya
00:00:14hadir tanpa apa pun dan berargumen itulah intinya; hari ini kita
00:00:19akan mengadu Open Code dan Pi secara langsung.
00:00:21Jadi di akhir video ini, Anda akan tahu persis mana yang layak ada di terminal Anda.
00:00:27Mari kita mulai dengan apa sebenarnya alat-alat ini.
00:00:30Karena mereka menyelesaikan masalah inti yang sama dengan cara yang berbeda, keduanya
00:00:34Open Code dan Pi adalah agen coding AI berbasis terminal, Anda menjalankannya di
00:00:40terminal Anda, mereka terhubung ke model bahasa besar seperti Claude atau GPT, dan mereka bisa
00:00:45membaca kode, mengedit file, menjalankan perintah shell, dan berdiskusi panjang
00:00:50tentang basis kode Anda; anggap mereka sebagai alternatif open source untuk Claude Code.
00:00:55Keduanya ditulis dalam TypeScript, berlisensi MIT, dan mendukung lebih dari 20
00:01:01penyedia LLM, tapi kira-kira di situlah kemiripannya berakhir. Open Code dibangun
00:01:06oleh pencipta terminal.shop dan komunitas penggemar Neovim.
00:01:11Ia menggunakan pendekatan yang saya sebut “lengkap sejak awal” (batteries included).
00:01:15Anda mendapatkan sistem multi-agen dengan agen khusus untuk tugas yang berbeda,
00:01:20sistem izin bawaan dengan dialog persetujuan, integrasi Language Server Protocol
00:01:24untuk kecerdasan kode, dukungan penuh Model Context Protocol (MCP) untuk
00:01:29terhubung ke alat eksternal, database SQLite untuk persistensi sesi, dan
00:01:34bahkan aplikasi desktop berbasis Tauri di samping antarmuka terminal Open Code.
00:01:40Filosofinya adalah agen coding harus bekerja dengan baik seketika dengan pengaturan
00:01:45default yang masuk akal dan integrasi yang mendalam. Pi yang dibuat oleh Mario Zechner
00:01:51mengambil pendekatan sebaliknya. Filosofinya dinyatakan dengan jelas di README:
00:01:56Pi sangat ekstensibel, jadi ia tidak perlu mendikte alur kerja Anda.
00:02:00Pi sengaja hadir tanpa sub-agen, tanpa dukungan MCP, tanpa sistem izin,
00:02:05tanpa mode perencanaan, dan tanpa pelacakan daftar tugas bawaan. Sebaliknya,
00:02:11ia menyediakan API ekstensi yang kuat dan berkata, bangunlah apa yang Anda butuhkan atau
00:02:17instal paket komunitas yang sesuai cara Anda. Intinya tetap minimal. Sisanya opsional.
00:02:22Jadi kedua proyek ini mewakili perpecahan filosofis nyata dalam desain alat pengembang.
00:02:27Mari kita gali detail teknis masing-masing, lalu kita bandingkan secara langsung.
00:02:32Dimulai dengan arsitektur Open Code. Open Code adalah monorepo
00:02:36dengan sekitar 21 paket. Mesin intinya berada di satu paket,
00:02:42tetapi ada paket terpisah untuk konsol web, aplikasi desktop,
00:02:46SDK TypeScript, sistem plugin, komponen UI bersama, dan dokumentasi.
00:02:52Di balik layar, ia berjalan di atas Bun, yang secara signifikan lebih cepat
00:02:57daripada Node untuk startup dan eksekusi. Untuk lapisan abstraksi LLM-nya,
00:03:02Open Code menggunakan AI SDK versi lima yang serbaguna. Ini adalah perpustakaan
00:03:08yang dikelola dengan baik dan diadopsi secara luas yang menyediakan antarmuka seragam
00:03:13di lusinan penyedia. Keuntungan praktisnya adalah Open Code mewarisi
00:03:18dukungan penyedia hampir secara gratis saat SDK Vercel menambahkan integrasi baru.
00:03:24Salah satu fitur unggulan Open Code adalah sistem multi-agennya.
00:03:30Ia hadir dengan beberapa agen khusus. Agen 'build' adalah default,
00:03:35agen pengembangan akses penuh yang bisa membaca, menulis, dan mengeksekusi apa pun.
00:03:40Agen 'plan' bersifat hanya-baca, dirancang untuk menjelajah dan menganalisis kode
00:03:45tanpa melakukan perubahan. Ia hanya bisa menulis ke direktori rencana tertentu.
00:03:50Agen 'explorer' adalah spesialis ringan dan cepat untuk navigasi basis kode,
00:03:55terbatas pada operasi cari dan baca. Dan ada agen umum untuk tugas kompleks
00:04:00beberapa langkah yang bertindak sebagai sub-agen. Pengguna beralih antar agen
00:04:05dengan tombol tab, dan tiap agen punya aturan izinnya sendiri. Anda juga bisa
00:04:09mendefinisikan agen kustom di file konfigurasi, menentukan model mana yang
00:04:14mereka gunakan, izin apa yang mereka miliki, dan apa isi prompt sistemnya.
00:04:19Untuk persistensi data, Open Code menggunakan SQLite dengan ORM Drizzle;
00:04:25sesi, pesan, izin, dan kredensial MCP, semuanya berada di satu file database.
00:04:30Ini adalah pilihan arsitektural yang berarti. SQLite memberi integritas transaksional,
00:04:35kueri efisien lintas sesi, dan satu file yang mudah dicadangkan. Open Code
00:04:41menjalankannya dalam mode WAL untuk performa baca konkuren yang lebih baik.
00:04:46Sistem izin Open Code berlapis dan mendetail. Setiap pemanggilan alat
00:04:52melewati pemeriksaan izin. Anda bisa mengatur aturan per alat dan per pola file.
00:04:57Contohnya, Anda mungkin mengizinkan semua pembacaan file tapi butuh persetujuan
00:05:03untuk mengedit file .env dan melarang perintah shell di direktori produksi.
00:05:08Izin ini menurun dari level konfigurasi global hingga penggantian spesifik proyek.
00:05:13Saat agen butuh persetujuan, ia menunjukkan dialog interaktif di terminal,
00:05:18dan Anda bisa memilih izinkan sekali atau selalu izinkan tindakan tersebut.
00:05:24Integrasi MCP-nya pun lengkap. Open Code bisa terhubung ke server MCP lokal
00:05:30maupun jarak jauh. Mendukung transport STDIO dan HTTP, menangani autentikasi OAuth
00:05:37untuk server jarak jauh, dan mendaftarkan alat secara otomatis dari server MCP
00:05:42yang terhubung. Jika Anda sudah memakai server MCP dengan alat lain, Open Code
00:05:47akan langsung bisa menggunakannya. Fitur penting lainnya adalah dukungan LSP bawaan.
00:05:53Open Code bisa menjalankan server Language Server Protocol untuk TypeScript, Python,
00:05:58Go, Rust, dan bahasa lainnya. Ini memberi model AI akses ke kecerdasan
00:06:04kode nyata seperti informasi hover, 'go-to definition', dan referensi simbol
00:06:10daripada hanya mengandalkan pencocokan pola teks. Ini keunggulan halus tapi
00:06:15berarti untuk akurasi pemahaman kode. Open Code juga punya sistem keahlian yang
00:06:20kompatibel dengan format keahlian Claude Code. Keahlian adalah file markdown
00:06:25dengan metadata yang menentukan perilaku khusus, dan ada sistem plugin
00:06:30berbasis paket NPM yang bisa dikaitkan ke hampir setiap bagian siklus hidup,
00:06:35dari memuat konfigurasi, transformasi pesan, hingga eksekusi alat. Sekarang
00:06:40mari kita lihat arsitektur Pi. Pi juga merupakan monorepo, tapi dengan struktur
00:06:45berbeda. Paket kuncinya adalah agen coding itu sendiri, Pi-I untuk lapisan
00:06:51abstraksi LLM, Pi agent core untuk runtime agen stateful, dan Pi-2e untuk
00:06:57agen perenderan terminal. Ada juga PiMom, pendamping Slackbot, dan PiPods
00:07:02untuk penerapan GPU. Keputusan teknis paling signifikan di Pi adalah ia membangun
00:07:08lapisan abstraksi LLM-nya sendiri alih-alih menggunakan AI SDK Vercel.
00:07:12Pi-I adalah API LLM multi-penyedia terpadu yang mendukung 30 lebih
00:07:20penyedia, termasuk beberapa yang tidak dicakup SDK Vercel, seperti
00:07:24Minimax dan Kimi. Membangun lapisan sendiri memberi tim Pi kontrol penuh atas
00:07:30perilaku streaming, penguraian panggilan alat, dan optimasi spesifik penyedia.
00:07:35Risikonya adalah beban pemeliharaan, tapi itu juga berarti Pi bisa menerapkan fitur
00:07:40seperti penguraian JSON parsial saat streaming argumen alat sesuai keinginan mereka.
00:07:44Manajemen sesi Pi menggunakan format JSONL, yaitu file datar di mana setiap
00:07:50baris adalah objek JSON. Setiap entri punya ID dan ID induk, yang memungkinkan struktur pohon
00:07:56dalam satu file. Ini cerdas. Artinya Anda bisa mencabangkan
00:08:00percakapan, menavigasi pohon riwayat lengkap, dan berpindah antar cabang dalam
00:08:06satu file yang mudah diperiksa dengan alat Unix standar. Perintah 'tree' memungkinkan
00:08:12Anda memvisualisasikan seluruh riwayat percakapan dan menavigasi ke titik mana pun.
00:08:17Perintah 'fork' membuat cabang baru dari pesan apa pun. Ini benar-benar salah satu
00:08:23antarmuka manajemen percakapan terbaik yang pernah saya lihat di agen coding. Sistem
00:08:28ekstensi Pi adalah tempat filosofinya benar-benar hidup. Ekstensi adalah
00:08:33file TypeScript yang dimuat langsung oleh JITI, jadi tidak ada langkah kompilasi.
00:08:38Ekstensi bisa mendaftarkan alat kustom, perintah, dan pintasan keyboard.
00:08:44Ia bisa berlangganan ke acara siklus hidup seperti mulai sesi, mulai agen, panggilan alat, dan
00:08:49pemilihan model. Ia bisa berinteraksi dengan pengguna melalui dialog konfirmasi,
00:08:55menu pilihan, dan prompt input teks. Ia bahkan bisa merender komponen TUI kustom.
00:09:01API ekstensi memberi Anda akses ke manajer sesi, registri model, penyimpanan
00:09:06autentikasi, dan bus acara. Dengan kata lain, ekstensi bisa melakukan apa pun
00:09:11yang bisa dilakukan inti program. Di sinilah penghapusan fitur sengaja oleh Pi mulai
00:09:16masuk akal. Tak ada sistem izin bawaan? Buat ekstensi yang menampilkan dialog
00:09:20konfirmasi sebelum perintah berbahaya. Tak ada sub-agen? Jalankan instansi Pi lewat tmux atau
00:09:27tulis ekstensi yang mengoordinasi beberapa loop agen. Tak ada MCP? Bangun
00:09:33keahlian dengan alat CLI dan README atau buat ekstensi yang menambahkan dukungan MCP.
00:09:40Tak ada mode rencana? Tulis rencana ke file markdown atau buat ekstensi yang mengelola
00:09:45rencana sesuka Anda. Perenderan terminal Pi juga dibangun secara kustom. Paket
00:09:51pi2e menerapkan perenderan diferensial dengan tiga strategi untuk meminimalkan
00:09:56pembaruan layar dan menggunakan protokol CSI 2026 untuk pembaruan atomik yang menghilangkan kedipan.
00:10:02Ia punya sistem komponen sendiri dengan wadah, editor, perenderan teks,
00:10:07tampilan markdown, dukungan gambar, dan daftar pilihan. TUI agen coding dibangun
00:10:13seluruhnya di atas kerangka kerja ini. Untuk penanganan alat, Pi hadir dengan tujuh alat
00:10:18bawaan—READ, bash, edit, write, grep, find, dan ls. Itu kumpulan yang sengaja dibuat minimal.
00:10:25Alat bash mendukung sandboxing Docker opsional dan output streaming
00:10:30waktu nyata. Alat edit menggunakan format diff terpadu. Semua alat memvalidasi
00:10:36argumen mereka dengan AJV sebelum eksekusi dan mendukung eksekusi paralel secara default,
00:10:42artinya beberapa panggilan alat dari LLM berjalan secara bersamaan, bukan satu per satu.
00:10:48Dukungan penyedia. Keduanya mendukung lebih dari 20 penyedia dan bekerja dengan
00:10:53API apa pun yang kompatibel dengan OpenAI. Open Code menggunakan Vercel AI SDK,
00:10:59yang berarti ia mewarisi dukungan penyedia baru seiring tumbuhnya ekosistem itu.
00:11:06Pi membangun perpustakaan Pi-I-nya sendiri, yang memberinya lebih banyak kontrol
00:11:12tapi butuh integrasi manual penyedia baru. Dalam praktiknya, keduanya mencakup
00:11:18semua penyedia utama yang mungkin Anda gunakan. Model agen:
00:11:22Open Code hadir dengan beberapa agen khusus dan membiarkan Anda beralih di antaranya
00:11:27hanya dengan satu tekanan tombol. Pi hadir dengan satu agen dan berkata jika Anda mau sub-agen,
00:11:33bangunlah dengan ekstensi atau jalankan instansi terpisah. Jika Anda ingin
00:11:37mode khusus yang sudah siap pakai, Open Code menang di sini. Jika Anda lebih suka membangun
00:11:42topologi agen sendiri, Pi memberi Anda alat untuk melakukannya. Open Code menggunakan SQLite.
00:11:47Pi menggunakan file JSONL. SQLite memberi integritas transaksional dan kueri
00:11:53yang efisien. JSONL memberi file yang dapat dibaca manusia yang bisa diperiksa dengan cat atau grep,
00:11:58dan struktur pohon Pi dalam satu file sangat elegan. Keduanya mendukung pencabangan
00:12:04dan 'fork' sesi, antarmuka navigasi pohon Pi dirancang sangat baik
00:12:08untuk menjelajahi riwayat percakapan. Open Code punya sistem bawaan yang komprehensif
00:12:13dengan dialog persetujuan, aturan per file, dan memori izin yang persisten.
00:12:19Pi tidak punya sistem izin di intinya dan mengharapkan ekstensi untuk menangani
00:12:25ini. Jika Anda ingin pembatas keamanan segera, Open Code adalah pilihan yang lebih aman. Jika Anda
00:12:30berjalan di kontainer atau ingin kontrol penuh atas model keamanan Anda, pendekatan Pi memberi
00:12:35Anda lebih banyak fleksibilitas. Dukungan MCP. Open Code punya dukungan MCP penuh dengan OAuth,
00:12:41beberapa transport, dan pendaftaran alat otomatis. Pi secara eksplisit menolak MCP
00:12:48di intinya demi mendukung keahlian, yaitu alat CLI yang didokumentasikan dengan README.
00:12:54Mario Zechner menulis postingan blog yang berargumen bahwa MCP menambah kerumitan padahal
00:13:00alat CLI sederhana dengan README sudah mencapai tujuan yang sama. Jika alur kerja Anda
00:13:04sudah bergantung pada server MCP, Open Code adalah pilihan yang jelas. Jika Anda lebih suka
00:13:10filosofi Unix berupa alat kecil yang bisa dikombinasikan, pendekatan Pi mungkin lebih cocok. Kecerdasan
00:13:16kode. Open Code punya integrasi LSP bawaan yang memberi model AI
00:13:22akses ke informasi tipe, definisi, dan referensi. Pi tidak menyertakan LSP
00:13:28di intinya. Ini memberi Open Code keunggulan nyata untuk bekerja di bahasa
00:13:32bertipe kuat di mana konteks tipe meningkatkan pemahaman AI. Antarmuka
00:13:37terminal. Keduanya punya implementasi TUI kustom yang canggih,
00:13:42tapi dibangun berbeda. Open Code menggunakan solid.js dengan kerangka kerja OpenID. Pi
00:13:48menggunakan kerangka kerja Pi2E-nya sendiri dengan perenderan diferensial. Keduanya tampak bagus
00:13:53dan terasa responsif. Open Code sebagai tambahan menawarkan aplikasi desktop berbasis Tauri
00:13:58dan konsol web. Pi hanya terminal, meski menawarkan perpustakaan komponen web
00:14:03yang bisa disematkan pengembang di aplikasi mereka sendiri. Keduanya menggunakan
00:14:07konfigurasi berbasis JSON dengan level proyek dan global. Open Code menggunakan JSONC,
00:14:14yaitu JSON dengan komentar. Sentuhan kenyamanan yang bagus. Pi menggunakan JSON
00:14:19standar. Keduanya mendukung kustomisasi model, alat, dan perilaku yang luas. Konfigurasi Open Code
00:14:26lebih kompleks karena lebih banyak yang harus dikonfigurasi. Konfigurasi Pi lebih
00:14:31sederhana karena fitur bawaannya lebih sedikit. Jadi mana yang harus Anda
00:14:35pilih? Berikut adalah pertanyaan untuk Anda sendiri. Apakah Anda ingin alat yang bekerja
00:14:39dengan fitur lengkap sejak awal? Atau lebih suka merakit alur kerja sendiri? Jika Anda
00:14:45ingin menginstal agen coding dan semuanya bekerja dalam lima menit dengan
00:14:49izin, beberapa agen, MCP, LSP, dan pengalaman yang terpoles, Open Code
00:14:56dirancang untuk itu. Jika Anda ingin inti minimal yang bisa Anda kustomisasi persis sesuai
00:15:01kebutuhan dan Anda nyaman menulis ekstensi TypeScript, Pi dibangun untuk
00:15:06Anda. Seberapa penting MCP bagi alur kerja Anda? Jika Anda sudah memakai server MCP
00:15:11atau berencana menggunakannya, Open Code mendukungnya secara asli. Pi sengaja tidak,
00:15:16lebih memilih integrasi berbasis CLI yang lebih sederhana. Apakah Anda bekerja terutama di bahasa
00:15:22bertipe kuat? Dukungan LSP bawaan Open Code memberi model AI pemahaman kode
00:15:28yang lebih kaya, yang paling penting untuk TypeScript, Go, Rust, dan bahasa sejenis.
00:15:34Jika Anda kebanyakan bekerja di Python atau bahasa bertipe dinamis, keunggulan
00:15:39ini lebih kecil. Apakah Anda ingin aplikasi desktop atau antarmuka web? Open Code
00:15:44menawarkan keduanya di samping terminal. Pi hanya terminal dan bangga akan hal itu. Bagaimana
00:15:51perasaan Anda tentang kepercayaan dan sandboxing? Jika Anda ingin agen bertanya sebelum melakukan
00:15:55tindakan berbahaya, sistem izin Open Code menangani ini sejak awal. Jika
00:16:00Anda lebih suka menjalankan seluruh agen di kontainer Docker dan membiarkannya melakukan apa pun
00:16:04yang diinginkan di dalam sandbox tersebut, pendekatan tanpa-izin Pi sangat cocok dengan
00:16:10alur kerja berbasis kontainer. Apakah Anda pengguna tingkat lanjut yang ingin menyesuaikan segalanya?
00:16:15Sistem ekstensi Pi sangatlah kuat. Anda bisa memodifikasi hampir setiap
00:16:20aspek perilaku agen dari eksekusi alat hingga manajemen sesi hingga
00:16:25TUI itu sendiri. Open Code juga punya sistem plugin, tapi lebih fokus pada
00:16:30kait (hooks) tertentu daripada penggantian perilaku penuh. Inilah kesimpulan
00:16:34jujurnya. Open Code adalah produk yang lebih matang dan fiturnya lebih lengkap saat ini. Ia
00:16:40memberi Anda lebih banyak sejak awal. Ia berintegrasi dengan lebih banyak sistem eksternal dan
00:16:44punya hambatan masuk yang lebih rendah. Bagi kebanyakan pengembang yang ingin agen coding AI
00:16:49open-source, Open Code adalah pilihan yang lebih aman. Pi adalah desain yang lebih menarik. Filosofi
00:16:55minimalisme agresif dan fokus pada ekstensi membuatnya unik dan mudah beradaptasi. Jika
00:17:01Anda tipe pengembang yang mengutak-atik konfigurasi Neovim selama berminggu-minggu
00:17:05sebelum mulai menulis kode, jika Anda ingin agen yang bekerja persis sesuai
00:17:09pemikiran Anda, Pi sepadan dengan investasinya dan navigasi pohon sesinya
00:17:14benar-benar yang terbaik di kelasnya. Kedua proyek berlisensi MIT, keduanya aktif dikelola,
00:17:20dan keduanya mendukung set penyedia LLM luas yang sama. Anda bisa mencoba keduanya dalam satu
00:17:27sore. Kodenya ada di GitHub dan tak satu pun butuh langganan untuk
00:17:31memulainya. Instal keduanya, jalankan di basis kode yang sama, dan lihat mana yang lebih cocok dengan
00:17:37cara Anda bekerja. Itulah satu-satunya perbandingan yang benar-benar penting.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video