TL;DR
- pi adalah monorepo berlisensi MIT yang menyediakan harness coding agent dalam lima paket terpisah: lapisan API model, agent loop, library terminal UI, coding agent itu sendiri, dan paket telemetri. Anda bisa mengambil satu bagian saja atau kelimanya.
- CLI-nya sudah berupa coding agent lengkap sejak hari pertama: empat tool default, riwayat sesi berbentuk pohon dengan fork dan resume, penghitung biaya langsung, dan membaca AGENTS.md atau CLAUDE.md yang sudah ada di repo Anda.
- Nilai sebenarnya ada di sisi SDK: createAgentSession ditambah model runtime dan session manager menghasilkan agent yang berjalan dalam sekitar sepuluh baris TypeScript, dan defineTool menambahkan custom tool bertipe tanpa proses atau protokol terpisah.
- Harga dari transparansi itu adalah pekerjaan tambahan: tidak ada permission prompt bawaan, isolasi diserahkan ke Anda, versinya masih pra-1.0 (v0.84) dan ada sekitar seratus issue terbuka.
- Tetap pakai harness harian Anda, gunakan pi sebagai bangku uji yang memperlihatkan apa yang disembunyikan harness itu. Bangun produk di atasnya hanya jika Anda siap memegang guardrail sendiri.
Apa kata sumber
pi adalah monorepo: satu repositori yang memuat lima paket yang dipublikasikan terpisah, masing-masing mencakup satu lapisan harness s2. pi-ai adalah API terpadu ke provider model (OpenAI, Anthropic, Google dan lainnya di balik satu antarmuka), yang menangani streaming respons, blok reasoning beserta thinking level, dan penemuan dinamis model yang ditawarkan tiap provider s2. pi-agent-core adalah agent loop itu sendiri: state percakapan dan siklus yang mengirim pesan, membaca tool call, mengeksekusinya, lalu mengembalikan hasilnya s2. pi-tui adalah library rendering terminal dengan differential rendering, jadi hanya bagian layar yang berubah yang digambar ulang s2. pi-coding-agent merangkai semua bagian itu menjadi CLI yang Anda install, dan pi-telemetry memungkinkan Anda memasang metrik penggunaan sendiri tanpa bergantung pada vendor s3.
Angka adopsinya mendukung desain ini: 92 123 star, 11 400 fork dan lebih dari 5 700 commit, semuanya di bawah lisensi MIT, yang mengizinkan penggunaan, modifikasi dan redistribusi, termasuk di dalam produk komersial s1. Ritme rilis bertahan sepanjang musim panas: tiga rilis dalam dua minggu pertama Agustus, dengan v0.84.2 terbit pada tanggal 14 s4.
Instalasinya satu perintah, npm install -g --ignore-scripts @earendil-works/pi-coding-agent, dan flag ignore-scripts itu penting: ia mencegah dependensi menjalankan install script mereka, salah satu celah serangan yang paling sering dipakai di npm s3. Setelah terhubung ke provider lewat perintah login, bilah bawah menampilkan folder saat ini, sesi, token yang terpakai dan biaya secara real time, sehingga setiap request dihargai saat berangkat, bukan di akhir bulan s3.
Sesi adalah fitur pembedanya. Setiap percakapan disimpan sebagai JSONL di folder home Anda, dikelompokkan per proyek, dan riwayatnya berupa pohon, bukan garis lurus: fork kembali ke titik mana pun lalu bercabang, tree berpindah antar cabang, dan resume membuka kembali sesi lama kapan saja, bahkan berminggu-minggu kemudian, karena semuanya tersimpan lokal s3. Model hanya menerima empat tool secara default: read, write, edit dan bash, sangat sedikit dibanding agent lain di pasar, dan itu disengaja s3. Konfigurasinya mengikuti logika yang sama: settings.json global di home Anda, satu lagi per proyek yang menimpanya, dan sistem trust yang bertanya sebelum menerapkan pengaturan lokal dari folder yang baru pertama kali Anda buka. CLI juga memuat AGENTS.md atau CLAUDE.md proyek Anda sebagai konteks, jadi instruksi yang sudah ada berfungsi tanpa ditulis ulang s3.
Di sisi SDK, createAgentSession menerima ModelRuntime dan SessionManager lalu mengembalikan agent yang berfungsi. SessionManager adalah pilihan persistensi: di memori untuk skrip sekali pakai, di disk agar percakapan Anda ditemukan lagi antar peluncuran, dan sesi yang dibuat SDK memakai struktur yang sama dengan sesi CLI sendiri s8. Daftar opsi createAgentSession juga memungkinkan Anda memilih set tool yang persis diekspos, bahkan seluruh system prompt lewat ResourceLoader bila Anda ingin mulai dari halaman kosong s8. Custom tool lewat defineTool: nama, deskripsi, skema parameter bertipe, dan fungsi execute, lalu diteruskan ke createAgentSession di customTools. Tool itu muncul bagi model persis seperti read atau bash, skema bertipe memberi Anda autocompletion di editor dan agent menerima input yang sudah tervalidasi. Ini mekanisme yang sama dengan MCP server, hanya saja semuanya ada di file Anda, tanpa proses terpisah atau protokol di tengah s8.
CLI sendiri dikustomisasi lewat empat mekanisme, semuanya ditempatkan di folder proyek atau home Anda: extensions (modul TypeScript yang mendaftarkan tool, slash command, pintasan keyboard atau elemen UI, dimuat saat startup dari folder extensions), skills (paket kemampuan yang mengikuti standar Agent Skills, dipanggil oleh model atau secara manual, jadi skill yang sudah ada bisa dipakai ulang apa adanya), prompt template, dan theme yang dimuat ulang saat CLI berjalan s3. README menyatakan filosofinya dalam satu baris: sesuaikan pi dengan alur kerja Anda, bukan sebaliknya, tanpa fork dan tanpa menyentuh bagian internal s3. Sementara harness besar membundel sub-agent, plan mode dan permission ke dalam produk, pi sengaja tidak menyertakannya, untuk ditulis sebagai extension atau dipasang dari komunitas s3.
Batasannya didokumentasikan oleh proyek itu sendiri. Tidak ada permission prompt bawaan: secara default agent bisa menjalankan perintah bash tanpa bertanya. Panduan containerization resmi mengakuinya dan menawarkan tiga pola isolasi, salah satunya Docker, tetapi menyiapkannya sebelum agent dilepas di mesin yang penting adalah tugas Anda s5. Kematangan adalah biaya lainnya: v0.84, bukan 1.0, sekitar seratus issue terbuka, dan API yang masih ditandai experimental seperti remote session client yang ditambahkan dalam beberapa minggu terakhir s7. Bagian yang sama sudah melayani produk lain: pi-chat menerapkannya pada otomatisasi percakapan s6.
Verdict: pertahankan, coba, atau lewati
| Bagian pi | Keputusan | Alasan |
|---|---|---|
| CLI sebagai bangku belajar di samping harness harian Anda | Pertahankan | Sesi pohon lokal, biaya langsung, empat tool: Anda melihat setiap lapisan yang disembunyikan harness bundel |
| SDK (createAgentSession + defineTool) untuk produk agent | Coba sekarang | Sepuluh baris menuju agent yang jalan, custom tool bertipe tanpa pipa MCP, provider bisa diganti |
| CLI sebagai satu-satunya asisten harian | Lewati dulu | Tanpa permission prompt, isolasi di tangan Anda, API pra-1.0 yang masih berubah |
| Extensions untuk guardrail (konfirmasi bash, kebijakan) | Coba | Tempat yang dimaksudkan untuk lapisan permission; di-versi bersama proyek Anda |
| Folder skills | Pertahankan | Standar Agent Skills, skill Anda yang ada dimuat tanpa perubahan |
| API experimental (remote session client) | Lewati | Ditandai experimental, bisa berubah sebelum 1.0 |
Kerjakan hari Senin
- Install CLI dengan
npm install -g --ignore-scripts @earendil-works/pi-coding-agent, jalankanpi, hubungkan provider dengan perintah login, dan perhatikan bilah biaya selama satu tugas nyata. - Buka repo yang sudah punya AGENTS.md atau CLAUDE.md dan pastikan pi membacanya; bandingkan jawaban pertama agent dengan harness biasa Anda pada prompt yang sama.
- Jalankan satu percakapan, lalu
forkdari node sebelumnya dan ambil arah berbeda; lihat isi~/.pi/agent/sessions/untuk melihat file JSONL dan folder proyeknya. - Tulis
our-agent.tsdua puluh baris: import createAgentSession, teruskan ModelRuntime dan SessionManager di memori, tanyakan isi folder saat ini, jalankan dengannpx tsx. - Tambahkan satu defineTool yang membaca sesuatu dari sistem Anda sendiri (API internal, view database, CSV) dan teruskan di customTools; pastikan agent memanggilnya tanpa diminta pada pertanyaan yang relevan.
- Sebelum menjalankan bash di mesin yang Anda jaga, pilih satu dari tiga pola isolasi di panduan containerization dan siapkan.
- Buat draf extension pertama yang mencegat panggilan bash dan meminta konfirmasi untuk perintah destruktif; simpan di folder extensions proyek Anda di bawah version control.
- Baca sekilas daftar issue terbuka sekali supaya Anda tahu bagian mana yang masih bergerak sebelum membangun di atasnya.
Bacaan lanjutan
- Baca dokumentasi SDK untuk daftar lengkap opsi createAgentSession: set tool, system prompt lewat ResourceLoader, session manager s8.
- Pelajari tiga pola isolasi di panduan containerization sebelum merilis apa pun yang menjalankan bash di mesin pengguna s5.
- Lihat pi-chat untuk melihat bagaimana kelima paket yang sama disusun ulang untuk otomatisasi percakapan, bukan coding s6.
- Telusuri folder packages dan baca pi-agent-core sendirian: itu versi paling ringkas yang bisa dibaca dari loop yang dijalankan setiap harness bundel s2.
- Ikuti halaman releases: v0.84.0 sampai v0.84.2 terbit dalam dua minggu di bulan Agustus, jadi harapkan catatan perubahan yang berdampak pada extensions s4.
- Gunakan issue terbuka sebagai peta bagian yang masih experimental, mulai dari remote session client s7.
- Pakai ulang skill yang sudah Anda tulis untuk tool lain: folder skills pi mengikuti standar Agent Skills s3.
Sumber
- pi: the agent toolkit (repository), Earendil Works. Kenapa dibaca: README dengan daftar paket, jumlah star dan fork, serta lisensi MIT.
- pi monorepo packages, Earendil Works. Kenapa dibaca: kelima paket berdampingan, cara tercepat melihat lapisan mana dimiliki paket mana.
- pi-coding-agent package README, Earendil Works. Kenapa dibaca: perintah install, tool default, sesi, dan empat mekanisme extension.
- pi releases, Earendil Works. Kenapa dibaca: ritme rilis dan changelog untuk seri v0.84.
- pi containerization guide (isolation patterns), Earendil Works. Kenapa dibaca: tiga pola isolasi yang diterapkan sebelum mengaktifkan bash di mesin yang penting.
- pi-chat: the same bricks applied to conversation automation, Earendil Works. Kenapa dibaca: produk kedua dari paket yang sama, berguna untuk menilai seberapa reusable paket-paket itu.
- pi open issues, Earendil Works. Kenapa dibaca: daftar langsung bagian yang tidak stabil atau experimental di versi saat ini.
- pi-coding-agent SDK documentation (createAgentSession options), Earendil Works. Kenapa dibaca: nama opsi persis untuk createAgentSession, defineTool dan session manager.
FAQ
Bisakah pi menggantikan coding agent harian saya sekarang?
Belum sebagai pengganti langsung. pi hadir tanpa permission prompt, isolasi diserahkan ke Anda, dan versinya pra-1.0 dengan sekitar seratus issue terbuka. Tetap pakai harness Anda saat ini untuk bekerja dan jalankan pi di sampingnya.
Apakah saya perlu MCP untuk memberi pi custom tool?
Tidak. defineTool menerima nama, deskripsi, skema parameter bertipe dan fungsi execute, lalu tool diteruskan ke createAgentSession di customTools. Perilakunya seperti tool bawaan, tanpa proses atau protokol terpisah.
Apakah AGENTS.md, CLAUDE.md dan skill saya yang ada akan berfungsi?
Ya. CLI memuat otomatis AGENTS.md atau CLAUDE.md di proyek Anda, dan folder skills-nya mengikuti standar Agent Skills, jadi skill yang ada dimuat tanpa perubahan.
Kenapa hanya empat tool default?
read, write, edit dan bash adalah seluruh set default, jauh lebih sedikit dari agent di pasar, dan proyek menyajikannya sebagai pilihan. Yang lain ditambahkan dengan sengaja lewat customTools atau extension.
AIDive