Penjaga Proses

Agen Anda meninggalkan proses di belakangnya.
AgentsRoom menemukannya.

Sebuah agen AI menjalankan proses sistem sungguhan untuk setiap alat yang ia panggil. Sebagian besar selesai dalam hitungan detik. Sebagian tidak pernah selesai, dan proses itulah yang menyandera bergigabyte-gigabyte memori tanpa memakai CPU sama sekali.

Penjaga Proses menyapu proses anak dari agen Anda, menandai yang berhenti membuat kemajuan, menyebut agen yang bertanggung jawab, dan mengakhirinya dalam satu klik. Tidak ada yang dimatikan di belakang punggung Anda.

Penjaga Proses
Pindai: 1 / menit
Full-Stack Dev, proses anak
ripgrep18 MB
71%
tsc --noEmit1,4 GB
96%
search6,4 GB
3%
node2,1 GB
0%
2 proses macet
6,4 GB ditahan, 0% CPU
Macet 23 menit, tanpa kemajuan
Dimulai oleh Full-Stack Dev
Akhiri proses
Besar + tua + diam di prosesor. Ketiganya sekaligus, atau tidak ada yang ditandai.Memori kembali seketika

Apa yang sebenarnya dilihat penjaga: proses yang dilahirkan satu agen, dan mana di antaranya yang berhenti bekerja.

Sebuah agen AI bukan satu proses. Setiap panggilan alat yang ia lakukan memulai satu proses sungguhan di mesin Anda: sebuah pencarian, sebuah build, sebuah pemeriksaan tipe, satu putaran tes, sebuah skrip. Kalikan itu dengan beberapa agen yang bekerja paralel, sepanjang satu hari penuh, dan Anda mendapat ratusan proses yang lahir lalu terkubur tanpa pernah Anda lihat satu pun.

Hampir semuanya selesai. Yang tidak selesai itulah masalahnya. Sebuah pencarian yang polanya membuat mesin regex meledak tidak crash dan tidak melambat: ia mengalokasikan memori, terdorong ke memori terkompresi, lalu menghabiskan sisa hidupnya di page fault pada 4% CPU. Ia tidak akan pernah selesai. Tidak akan ada yang mematikannya. Dan kalau agen yang memulainya ditutup, ia dipindahkan ke proses init dan menjadi proses yatim yang tidak lagi menjadi tanggung jawab siapa pun di mesin itu.

Itulah sebabnya perlambatan datang merayap. Tidak ada satu momen dramatis, yang ada adalah penumpukan lambat sepanjang hari kerja, dan bentuk seperti itulah yang membuat orang menyalahkan hal yang keliru: mesin kepanasan, terlalu banyak agen, kebocoran memori di aplikasinya. Pada sesi yang kami ukur, aplikasinya sendiri memakai 2,8 GB di 91 proses dan delapan CLI agen memakai 1,6 GB untuk mereka semua. Tidak satu pun dari keduanya adalah penyebabnya.

Penjaga Proses adalah jaring pengamannya. Ia mengawasi apa yang ditinggalkan agen, memberi tahu Anda mana yang macet dan siapa yang memulainya, lalu membiarkan Anda mengakhirinya. Penyebab akarnya akan terus berganti: alat lain, pola lain, penyedia lain. Jaringnya tidak perlu ikut berganti.

Kenapa mesin yang menjalankan agen AI jadi lambat

Angka di bawah ini berasal dari satu sesi terukur pada laptop 16 GB dengan delapan agen berjalan. Tidak ada satu pun perkiraan di sini.

Mesin sudah menyala lima setengah jam. Sama sekali tidak ada masalah panas: tidak ada throttling tercatat, baterai di 30,6 C. Load average berkisar antara 17 dan 21 pada 8 inti, dan CPU menghabiskan 56% waktunya di kernel dengan hanya 1,5% menganggur. Rasio itulah petunjuknya. Mesin yang benar-benar bekerja menghabiskan waktunya di kode pengguna; mesin dengan 56% waktu sistem adalah kernel yang tidak melakukan apa pun selain mengompresi, mendekompresi, dan memindahkan memori ke swap.

Tujuh proses pencarian yang macet masing-masing menahan antara 3,9 dan 8,0 GB, total 41,8 GB disandera di mesin dengan RAM 16 GB. Swap berada di 22,3 GB dari 23,5, dan sekitar 993 GB sudah ditulis ke swap sejak booting. Mengakhiri tujuh proses itu mengembalikan 15,5 GB seketika, tanpa memulai ulang satu agen pun dan tanpa memulai ulang aplikasinya.

Alasan tidak ada yang menangkap ini dengan tangan adalah karena alat-alat biasa berbohong tentangnya. Di macOS, proses yang macet bisa menampilkan 20 MB memori residen padahal sebenarnya menahan 8 GB, karena semua yang ia sentuh melewati kompresor memori. Kami mengukur satu proses hidup di 4,7 GB memori residen untuk jejak sebenarnya 14 GB. Ukuran virtual pun tidak menolong: di platform itu bahkan launchd melaporkan sekitar 440 GB ukuran virtual, jadi menyaring berdasarkan angka itu sama saja dengan menandai seluruh mesin.

Satu hari kerja, delapan agen, 16 GB09:14
Memori mesinSemuanya normal
Swap11%
Sesi yang diukur, bukan ilustrasi.15,5 GB kembali, seketika

Sesi yang sama, jam demi jam: bongkahan memori yang tidak lagi dipakai siapa pun, dan apa yang terjadi ketika bongkahan itu dibebaskan.

41,8 GB
disandera 7 proses macet di mesin 16 GB
95%
swap terpakai, 22,3 GB dari 23,5
21
load average pada 8 inti, 56% waktu sistem
993 GB
ditulis ke swap dalam lima setengah jam

Dan proses-proses ini punya empat sifat yang menjamin mereka masih akan ada di sana besok.

Mereka tidak pernah selesai

Memori mereka sendiri ada di swap, jadi mereka menghabiskan waktu menangani page fault alih-alih menghitung. Pencarian yang sehat membuat satu inti jenuh; yang ini duduk di 4%. Tidak ada jalan keluar dari pusaran itu, dan menunggu berapa lama pun tidak menolong.

Mereka tidak pernah mati

Tidak ada batas waktu pada sebuah panggilan alat. Tidak ada satu pun bagian mesin yang punya pendapat soal proses yang sudah diam lima puluh menit. Ia akan duduk di sana sampai seseorang mematikannya atau mesin di-reboot.

Mereka hidup lebih lama dari agennya

Tutup tab agen dan prosesnya masih bisa bertahan, dipindahkan ke proses init. Sejak saat itu tidak ada lagi yang menghubungkannya dengan apa pun: ia menjadi proses yatim, dan tidak akan pernah ada yang mengurusnya. Dua dari tujuh yang kami ukur sudah berada dalam keadaan itu.

Mereka menumpuk

Satu per putaran verifikasi, satu per pencarian yang sial. Itulah sebabnya perlambatannya naik terus sepanjang hari, dan sebabnya reboot tampak menyelesaikan masalah. Ia tidak menyelesaikan apa pun, ia hanya mengatur ulang hitungannya.

Apa yang dilakukan Penjaga Proses

Ia mengawasi proses yang dilahirkan agen Anda, dan ia sengaja dibuat sangat sempit soal mana yang boleh ia sentuh.

Mengukur memori yang sebenarnya

Bukan ukuran residen, yang meremehkan proses macet sampai bergigabyte-gigabyte. Penjaga membaca jejak yang sebenarnya, termasuk halaman terkompresi dan halaman yang sudah pindah ke swap, sehingga proses yang menampilkan 20 MB tetapi menahan 8 GB terlihat apa adanya.

Mengawasi CPU, bukan cuma RAM

Memori saja akan menandai setiap build di mesin Anda. Penjaga mengukur pemakaian prosesor sebagai laju di antara dua pemindaian, sehingga proses yang sempat bekerja keras lalu tersangkut tetap tertangkap, dan build yang benar-benar bekerja dibiarkan saja.

Menangkap proses yatim

Proses yang hidup lebih lama dari agen yang memulainya dilaporkan atas dasar dirinya sendiri, karena tidak akan ada pihak lain yang mengurusnya. Kepemilikan diingat selagi proses itu masih terhubung, satu-satunya saat hal itu bisa ditetapkan.

Satu klik untuk mengakhirinya

Sebuah lencana di bilah status mendaftar setiap proses macet berikut agen yang melahirkannya, memorinya, umurnya, dan CPU-nya. Mengakhiri satu proses juga mematikan semua yang ia percabangkan. Memori kembali seketika dan agen Anda tetap berjalan.

macOS, Windows, dan Linux

Setiap sistem butuh pengukuran yang berbeda supaya angka memorinya jujur: halaman terkompresi di macOS, residen ditambah swap di Linux, private commit di Windows. Ketiganya sudah diimplementasikan, bukan sekadar direncanakan.

Nyaris tidak memakan biaya

Satu snapshot proses per menit, terukur sekitar 40 ms di mesin yang menjalankan 824 proses. Pengukuran memori yang mahal hanya berjalan kalau ada sesuatu yang memang sudah tampak macet, dan tidak ada pemindaian sama sekali selama tidak ada agen yang aktif.

Aturan yang mencegahnya membunyikan alarm palsu

Penjaga yang menandai build Anda adalah penjaga yang akan Anda matikan dalam seminggu. Karena itu sebuah proses tidak pernah dilaporkan hanya berdasarkan memorinya. Ia harus besar, ia harus sudah hidup cukup lama, dan ia harus sudah berhenti memakai prosesor. Ketiganya sekaligus.

Kondisi ketiga itulah yang mengerjakan semuanya. Pemeriksaan tipe atau bundler juga menahan gigabyte selama bermenit-menit, tetapi selama itu ia membuat satu inti jenuh. Proses yang terjebak di swap duduk di sekitar 4%, karena ia menghabiskan hidupnya menunggu page fault alih-alih menghitung. Jarak itulah yang memisahkan mesin yang sedang bekerja dari mesin yang sedang tenggelam, dan itu satu-satunya sinyal yang memisahkan keduanya secara andal.

Pemakaian prosesor juga diukur, bukan sekadar dibaca. Angka yang biasa dilaporkan alat sistem adalah rata-rata sepanjang seluruh umur proses, yang masih tampak sibuk untuk sesuatu yang bekerja keras dua puluh menit lalu tersangkut. Penjaga membandingkan waktu prosesor yang terpakai di antara dua pemindaian, jadi yang ia lihat adalah menit terakhir, bukan jam terakhir.

Cara kerjanya

Empat langkah, sekali per menit, dan langkah yang mahal nyaris tidak pernah dijalankan.

01

Satu snapshot murah dari seluruh mesin

Setiap menit penjaga mengambil satu snapshot dari semua proses yang berjalan dan menelusuri pohon proses di bawah setiap terminal agen. Biaya terukur di mesin yang menjalankan 824 proses: sekitar 40 ms. Selama tidak ada agen yang berjalan, ini sama sekali tidak terjadi.

02

Saring daftar tersangkanya

Dari snapshot itu ia hanya menyimpan proses anak dari agen yang sudah hidup lebih lama dari ambang batas Anda dan sudah tidak memakai prosesor. Dalam pemakaian normal daftar ini kosong, dan semuanya berhenti di sini.

03

Ukur yang tampak macet

Hanya untuk daftar pendek itulah penjaga membayar pengukuran memori yang sebenarnya, termasuk halaman terkompresi dan halaman yang sudah pindah ke swap. Proses yang tidak bisa ia ukur tidak pernah ditandai: sesuatu yang tidak diketahui bukanlah sebuah vonis.

04

Laporkan, lalu biarkan Anda memutuskan

Sebuah lencana muncul di bilah status dan satu pemberitahuan memberi tahu Anda sekali saja. Anda membuka daftarnya, melihat proses itu apa, berapa banyak yang ia tahan, sudah berapa lama ia macet dan agen mana yang memulainya, lalu Anda mengakhirinya kalau mau.

Pagar pengaman

Apa yang tidak akan pernah ia sentuh

Alat yang bisa mengakhiri proses harus sangat ketat soal apa yang menjadi urusannya. Batas-batas ini bersifat struktural, bukan opsi yang harus Anda ingat untuk dinyalakan.

  • CLI agen itu sendiri. Penyedia apa pun yang Anda jalankan, penjaga melindungi biner yang dipakai aplikasi untuk membuka terminal itu. Ia membaca nama tersebut dari peluncurannya sendiri, bukan dari daftar yang ditulis mati, jadi sub-proses dari CLI yang sama juga terlindungi, di kedalaman berapa pun.
  • Terminal perintah dev Anda. Server dev yang sedang diam memenuhi semua kriteria proses liar: gemuk, tua, tanpa pemakaian prosesor. Ia juga satu-satunya proses yang justru ingin Anda lihat berjalan. Hanya terminal agen yang diawasi, jadi server dev Anda tidak pernah masuk ke dalam gambar.
  • Shell dan perkakas internal aplikasinya. Helper terminal dan shell tempat sebuah agen berjalan dikecualikan sejak dari rancangannya. Hanya proses alat di bawah CLI agen yang bisa menjadi kandidat.
  • Apa pun yang tidak ia adopsi. Satu-satunya jalur yang bisa mengakhiri sebuah proses menolak setiap proses yang tidak dipungut penjaga dari pohon milik sebuah agen. Ia tidak bisa berubah menjadi cara untuk mematikan hal lain di mesin Anda.

Dan tidak ada yang diakhiri otomatis kecuali Anda memintanya. Secara bawaan penjaga melaporkan apa yang ia temukan dan Anda yang memutuskan, karena Andalah yang tahu apakah sebuah proses besar dan diam itu memang sudah diperkirakan.

Kapan ia membuktikan gunanya

Setiap situasi di bawah ini nyata, tidak ada yang hipotetis.

Mesin lebih lambat jam 6 sore daripada jam 9 pagi

Tidak ada satu momen pun tempat ia rusak, hanya penurunan yang stabil sepanjang hari. Bentuk seperti itu hampir selalu berarti proses macet yang menumpuk, dan itu yang paling sulit didiagnosis dengan tangan karena pada titik waktu mana pun tidak ada yang tampak salah.

Beberapa agen bekerja paralel

Semakin banyak agen yang Anda jalankan, semakin banyak panggilan alat terjadi, dan semakin besar peluang salah satunya tersangkut. Tingkat kegagalan per panggilan itu kecil sekali; dikalikan satu hari kerja paralel, ia berhenti menjadi kecil.

Pencarian yang tidak pernah kembali

Pola yang membuat mesin regex meledak mengalokasikan bergigabyte-gigabyte untuk file yang cuma beberapa ratus kilobyte. Agen menunggu proses itu, Anda menunggu agen, dan mesin membayar untuk keduanya.

Anda menutup agennya, prosesnya tetap tinggal

Menutup tab tidak selalu membebaskan apa pun. Proses yang sudah terlepas tetap memegang memorinya dan kehilangan kaitan terakhirnya dengan apa pun yang bisa Anda lihat di aplikasi.

Laptop dengan 16 GB

Di mesin dengan RAM berlimpah, beberapa proses macet bisa bersembunyi lama sekali. Di laptop 16 GB mereka cepat menyentuh swap, dan begitu sistem mulai mengompresi memori, setiap agen melambat pada saat yang sama.

Sebelum Anda menyalahkan aplikasinya

Ketika mesin merangkak sementara AgentsRoom terbuka, aplikasi itu tersangka yang paling jelas. Memiliki angka yang sebenarnya, per proses, lengkap dengan agen yang memulai masing-masing, mengubah kecurigaan menjadi sesuatu yang benar-benar bisa Anda periksa.

Anda yang menentukan

Anda yang menetapkan batasnya

Nilai bawaannya sengaja dibuat berhati-hati. Semua yang di bawah ini ada di Pengaturan, tab Terminal, dan setiap satunya juga bisa dibaca dan diubah oleh sebuah agen lewat perkakas MCP AgentsRoom.

Awasi proses anak agen
Menyala secara bawaan. Matikan dan tidak ada pemindaian yang berjalan sama sekali, selamanya.
Laporkan di atas ambang memori
Dua gigabyte secara bawaan. Di bawah itu, sebuah proses macet tidak sepadan dengan interupsi. Naikkan ambangnya di workstation dengan RAM berlimpah, turunkan di laptop yang memorinya pas-pasan.
Setelah umur minimum
Lima menit secara bawaan. Inilah yang mencegah tugas yang lambat tetapi sah untuk ditandai, karena hampir tidak ada hal yang benar-benar Anda inginkan berjalan lima menit tanpa memakai prosesor sama sekali.
Akhiri proses macet secara otomatis
Mati secara bawaan, dan itu keputusan produk yang disengaja, bukan sekadar kehati-hatian. Penjaga sedang membuat penilaian, dan hanya Anda yang tahu apakah proses besar yang diam itu memang diperkirakan. Nyalakan dan ia bertindak sendiri, dengan pemberitahuan sesudahnya.

Ambang prosesor sengaja tidak dibuka. Itu pengukuran yang memisahkan build yang sedang bekerja dari proses yang macet, dan itu bukan soal selera.

Pertanyaan yang sering diajukan

Berarti AgentsRoom memperlambat komputer saya?

Tidak, dan justru itulah alasan fitur ini ada. Pada sesi yang kami ukur, aplikasinya memakai 2,8 GB di 91 proses dan delapan CLI agen memakai 1,6 GB untuk mereka semua. Yang 41,8 GB itu ditahan oleh proses alat yang tersangkut. AgentsRoom kebetulan satu-satunya tempat yang bisa melihat setiap agen dan setiap proses yang mereka lahirkan, jadi satu-satunya tempat yang bisa menengahi.

Apakah ia akan mematikan build atau putaran tes saya?

Tidak. Sebuah proses hanya ditandai kalau ia besar DAN tua DAN sudah berhenti memakai prosesor. Build yang benar-benar bekerja membuat satu inti jenuh, jadi ia gagal di kondisi ketiga dan tidak pernah menjadi kandidat. Kondisi itu ada justru untuk membuat pembedaan ini.

Apakah ia mengawasi server dev saya?

Tidak, dan tidak akan pernah. Server dev yang sedang diam memenuhi semua kriteria proses liar: ia menahan banyak memori, ia sudah berjalan berjam-jam, dan ia tidak memakai prosesor di antara dua permintaan. Hanya proses anak dari terminal agen yang diawasi, jadi perintah dev Anda berada di luar cakupan sejak dari rancangannya.

Bisakah ia mengakhiri agennya sendiri?

Tidak. CLI agen terlindungi apa pun penyedia yang Anda pakai, dan perlindungannya bertumpu pada biner yang dipakai aplikasi untuk membuka terminal itu, bukan pada daftar nama yang sudah dikenal. Shell dan helper terminal milik aplikasi juga dikecualikan.

Apa itu proses yatim dan kenapa ia diperlakukan khusus?

Proses yang induknya sudah keluar akan dipindahkan ke proses init sistem. Sejak saat itu tidak ada lagi yang menghubungkannya dengan agen yang memulainya, jadi tidak akan ada yang membersihkannya. AgentsRoom mengingat kepemilikannya selagi proses itu masih terhubung, satu-satunya saat hal itu bisa ditetapkan, sehingga ia tetap bisa melaporkan proses tersebut sesudahnya.

Berapa biaya pemantauannya sendiri?

Satu snapshot proses per menit, terukur sekitar 40 ms di mesin yang menjalankan 824 proses. Pengukuran memori yang lebih mahal hanya berjalan pada proses yang memang sudah tampak macet, yang dalam pemakaian normal berarti ia tidak berjalan. Dan pemindaiannya sama sekali tidak ada selama tidak ada agen yang aktif.

Kenapa tidak lihat saja kolom memori di Activity Monitor?

Karena di macOS kolom itu meremehkan masalahnya sampai satu orde besaran. Proses yang sudah terdorong ke memori terkompresi bisa menampilkan 20 MB residen padahal menahan 8 GB. Kami mengukur satu proses hidup di 4,7 GB residen untuk jejak sebenarnya 14 GB. Ukuran virtual tidak lebih baik: bahkan proses sistem melaporkan ratusan gigabyte.

Apakah ia bekerja dengan Claude Code, Codex, dan yang lain?

Ya. Penjaga tidak tahu apa pun soal alat atau penyedia tertentu. Ia mengawasi proses anak dari terminal agen mana pun yang Anda buka, dan CLI yang ia lindungi dibaca dari peluncurannya sendiri. Menambah satu penyedia tidak mengubah apa pun di sini.

Apakah ia bekerja di Windows dan Linux?

Ya. Setiap platform butuh pengukuran yang berbeda supaya angka memorinya jujur: halaman terkompresi di macOS, residen ditambah halaman yang pindah ke swap di Linux, private commit di Windows. Ketiganya sudah diimplementasikan.

Apakah ia akan mengakhiri proses tanpa bertanya lebih dulu?

Tidak, kecuali Anda menyalakannya sendiri. Secara bawaan ia melaporkan apa yang ia temukan, lengkap dengan agen, memori, umur, dan pemakaian prosesornya, lalu Anda yang memutuskan. Pengakhiran otomatis adalah sebuah pengaturan, mati sejak dari kotaknya.

Apa yang terjadi pada agennya saat saya mengakhiri salah satu prosesnya?

Agennya tetap berjalan. Panggilan alatnya menerima sebuah error alih-alih menggantung selamanya, dan itulah hasil yang Anda inginkan: proses itu memang tidak akan pernah selesai. Tidak ada yang dimulai ulang dan tidak ada konteks yang hilang.

Apakah ia memperbaiki penyebab akarnya?

Tidak, dan ia memang tidak berusaha begitu. Penyebabnya berganti: hari ini satu alat, besok pola lain, bulan depan penyedia lain. Ini jaring pengaman, dan ia dirancang untuk tetap bekerja ketika penyebabnya adalah sesuatu yang belum pernah dilihat siapa pun.

Anda mungkin juga suka

Berhenti membayar untuk proses yang tidak dipakai siapa pun

AgentsRoom gratis diunduh, dan penjaga prosesnya menyala sejak peluncuran pertama.

GratisUnduh AgentsRoom

Aplikasi pendamping: pantau agen Anda saat bepergian

Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.

Dapatkan ekstensi
Chrome Web Store

Kirim bug dan permintaan langsung ke backlog publik Anda.

Sekilas AgentsRoom dalam aksi.

Beberapa proyek
Multi-penyedia
Beberapa agen
Status langsung
File diff & commit
Pendamping mobile
Pratinjau langsung
Tim agen
Otomatisasi browser
Dev berbasis backlog
Pustaka prompt
Pustaka skill
Lihat semua fitur