
Bangun Loop Agen Proaktif di Claude Opus 5.5
- OrcaBARUOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 per 1 juta token · 13 tok/s
- deepseekBARUDeepSeek: DeepSeek V4.1 Flash 10172026-10-1745Kecerdasan
- DeepSeekBARUDeepSeek: DeepSeek V4.1 Flash2026-10-1740Kecerdasan
- OrcaBARUOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 per 1 juta token · 154 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Kecerdasan
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Kecerdasan
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 per 1 juta token · 983 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Kecerdasan
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Kecerdasan
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Kecerdasan
- xAIGrok 4.72026-09-2146Kecerdasan
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 per 1 juta token · 95 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 per 1 juta token · 964 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Kecerdasan77Koding
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Kecerdasan76Koding
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Kecerdasan76Koding
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Kecerdasan82Koding
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 per 1 juta token · 47 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 per 1 juta token · 100 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Kecerdasan72Koding
Bagian yang tidak nyaman dari membangun agen proaktif Anda sendiri adalah bahwa pekerjaan yang menarik bukanlah panggilan model. Anda bisa membuat Claude Opus 5.5 menjawab pertanyaan dalam satu sore. Membuatnya bangun sesuai jadwal, membaca hanya apa yang berubah sejak terakhir kali, memutuskan apakah ada yang layak ditangani manusia, menyusun draf tindakan, lalu berhenti dan menunggu — itu butuh berminggu-minggu, dan hampir tidak ada dari semua itu yang terjadi di dalam model. Anthropic merilis versi loop ini sebagai Claude Duet, dan yang berguna dari produk itu bagi siapa pun yang membangun versinya sendiri bukanlah daftar fiturnya, melainkan keputusan-keputusan yang terlihat dalam cara produk itu dirakit. Produk ini tidak memiliki API yang dipublikasikan dan tidak dapat diarahkan ulang ke sistem Anda sendiri, jadi jika Anda menginginkan loop-nya, bukan aplikasinya, Anda harus membangunnya sendiri. Berikut ini arsitekturnya, tahap demi tahap, dengan biaya jujur dari masing-masing tahap.
Bentuknya dulu. Lima tahap berjalan berurutan, dan tahap kelima baru tercapai setelah manusia mengatakan ya. Scheduler memicu. Langkah digest mereduksi setiap sistem yang terhubung menjadi sebuah delta. Langkah keputusan mengubah delta itu plus kebijakan menjadi proposal bertipe. Gerbang persetujuan di luar model memutuskan apakah proposal boleh dijalankan. Eksekutor melaksanakannya. Itulah keseluruhan desainnya, dan semua hal yang sulit tentangnya ada di sambungan-sambungannya.

Tahap satu: penjadwal yang berjalan setiap beberapa jam
Keputusan pertama adalah keputusan yang sering disalahpahami orang karena semangat, bukan karena pertimbangan teknis: jangan melakukan polling terus-menerus. Dokumentasi Duet dari Anthropic menjelaskan intervalnya — memeriksa setiap beberapa jam — dengan menyatakan bahwa memeriksa tanpa henti akan menghabiskan batas paket jauh lebih cepat. Itu bukan kewaspadaan pemasaran. Itu adalah jawaban yang tepat untuk masalah biaya yang nyata, dan itulah jebakan yang dialami setiap agen buatan sendiri pada minggu pertama.
Polling terus-menerus sangat merugikan karena alasan struktural. Setiap penyapuan adalah konteks penuh: instruksi, definisi alat, materi yang Anda tarik, dan penalaran apa pun yang dilakukan model atasnya. Pada irama satu menit, itu berarti 1.440 konteks penuh sehari, dan sebagian besar sekali tidak menemukan hal baru. Anda membayar harga penuh hanya untuk diberi tahu bahwa kotak masuk tidak berubah. Pada tiga jam, Anda mendapatkan delapan, dan rasio temuan terhadap pengeluaran menjadi sesuatu yang dapat Anda pertanggungjawabkan kepada siapa pun yang menandatangani faktur.
Jadi penjadwal adalah timer bergaya cron dengan batas bawah pada interval minimum, bukan aliran peristiwa. Peristiwa terdengar menarik — bereaksi saat sesuatu terjadi — tetapi itu mendorong Anda kembali ke kerja terus-menerus dan membuat biaya hari yang sibuk menjadi tidak terbatas. Timer memberikan batas atas yang dapat diprediksi, yang Anda butuhkan saat tagihan bervariasi. Saat Anda ingin reaksi lebih cepat untuk satu sumber, perpendek interval konektor itu saja dan terima tambahan pengeluaran.
Tahap dua: satu prefiks yang identik byte, disimpan di cache
Di sinilah angka-angka yang dipublikasikan paling berperan. Claude Opus 5.5 di OrcaRouter adalah 4,00 dolar per juta token masukan, 20,00 per juta token keluaran, dengan jendela konteks 1 juta token dan pembacaan cache sebesar 0,20 per juta, pada harga daftar penyedia dengan markup 0 persen. Bacalah angka-angka itu sebagai batasan desain, bukan sebagai daftar harga: pembacaan cache berbiaya seperdua puluh dari token masukan baru, jadi setiap byte yang Anda jaga tetap stabil di seluruh sapuan adalah byte yang tidak lagi Anda bayar dengan harga penuh.
Dalam praktiknya, prompt sistem dan skema alat dirakit sekali pada waktu deployment dan tidak pernah dibuat ulang per sweep. Tidak diserialisasi ulang dari kamus dengan urutan kunci yang berbeda. Tidak ditemplatkan dengan stempel waktu, ID permintaan, atau akun terhubung hari ini yang disisipkan ke tengah. Setiap byte yang berbeda membatalkan prefiks yang di-cache, dan blok instruksi kembali ke harga input penuh pada setiap sweep. Tim kehilangan hal ini karena kecelakaan lebih sering daripada karena disengaja, biasanya karena abstraksi yang membantu mulai menyuntikkan pengenal proses di dekat bagian atas prompt.
Disiplin yang bertahan saat berhadapan dengan kode nyata itu membosankan: satu fungsi yang mengembalikan string konstanta untuk blok stabil, literal yang dibekukan untuk skema alat, setiap elemen variabel ditempatkan setelahnya. Lalu sebuah tes yang melakukan hash pada blok tersebut dan menggagalkan build saat hash berubah, karena cepat atau lambat seseorang akan menambahkan bidang skema dan tidak pernah memikirkan cache. Tes itu memakan waktu satu jam dan mempertahankan seluruh manfaat caching.
Tahap tiga: ringkasan per koneksi, bukan tumpukan kotak masuk
Tahap ketiga adalah tahap yang diperoleh produk konsumen secara gratis, tetapi tidak Anda peroleh. Duet berada di dalam akun Anthropic dan menjangkau aplikasi yang terhubung, sehingga ia dapat menanyakan apa yang berubah sejak waktu tertentu dan mendapatkan jawaban singkat. Saat membangun di luar akun itu, Anda berbicara dengan API yang sama seperti klien normal mana pun: entah Anda menerapkan pembacaan inkremental atau Anda menarik semuanya dan menyerahkan segunung teks kepada model.
Menarik semua data adalah pengaturan bawaan karena langsung berfungsi sejak hari pertama. Ini juga cara tercepat membuat biaya per sapuan menjadi tidak terprediksi, karena input tumbuh seiring ukuran kotak masuk, bukan seiring apa yang berubah. Satu sapuan atas empat puluh utas yang tidak berubah biayanya sama dengan sapuan atas empat puluh utas yang hanya satu utasnya penting, dan hanya salah satu dari kedua situasi itu yang punya peluang menghasilkan proposal berguna. Setelah sebulan menjalani itu, sebagian besar anggaran Anda habis untuk mengonfirmasi status quo.
Langkah digest harus berupa kode, bukan pemberian prompt. Ambil per koneksi menggunakan kursor atau delta apa pun yang disediakan API, lalu reduksi hasilnya menjadi ringkasan terstruktur: apa yang muncul, apa yang dimodifikasi, apa yang diselesaikan. Beri setiap item pengenal stabil agar tahap berikutnya dapat merujuknya, dan catat kursor sukses terakhir per koneksi agar pengambilan yang gagal tidak memutar ulang materi kemarin seolah-olah itu baru. Digest yang tidak dapat membedakan "tidak ada yang terjadi" dari "saya tidak dapat memeriksa" pada akhirnya akan melaporkan dengan yakin tentang keadaan yang tidak pernah diamati.
Tahap empat: langkah keputusan yang menghasilkan objek, bukan prosa
Di sinilah posisi Claude Opus 5.5, dan apa yang dihasilkannya menentukan apakah bagian sistem lainnya dapat dibangun sama sekali. Naluri kita adalah menyuruh model menulis ringkasan dan membiarkan manusia membacanya. Itu berhasil untuk dasbor tetapi gagal untuk gerbang: tahap berikutnya harus memutuskan apakah akan mengizinkan suatu tindakan, dan izin tidak dapat diberikan kepada sebuah paragraf.
Langkah keputusan harus mengembalikan proposal tindakan bertipe: nama tindakan dari daftar tertutup, target yang dituju, parameter, alasan satu baris, dan penanda keyakinan atau eskalasi yang eksplisit. Daftar tindakan tertutup bukanlah birokrasi; itu adalah mekanisme yang membuat gerbang persetujuan dapat ditegakkan, karena gerbang hanya dapat memvalidasi tindakan yang dapat dienumerasi. Agen yang dapat mengeluarkan kata kerja apa pun tidak dapat digerbangi, hanya dapat dipercaya.
Dua catatan praktis. Beri model ringkasannya, lalu kebijakannya, agar kebijakan berada setelah materi yang bervariasi dan prefiks cache tetap utuh. Dan jadikan hasil default "tidak ada tindakan" alih-alih proposal kosong yang terbaca seperti tindakan. Loop yang menganggap diam sebagai kegagalan akan menghasilkan volume, dan agen yang merekayasa pekerjaan agar terlihat berguna lebih buruk daripada agen yang melaporkan tidak ada yang berubah.
Tahap lima: gerbang persetujuan yang benar-benar bisa mengatakan tidak
Gerbang harus menjadi layanan terpisah, bukan cabang di dalam kode agen itu sendiri. Ini adalah keputusan struktural paling penting dalam pembangunan. Jika proses agen dapat mengeksekusi tindakan itu sendiri, bug, prompt injection, atau flag yang salah disetel dalam proses tersebut dapat mencapai efek. Jika eksekutor hanya menerima proposal yang telah ditandatangani gerbang, hal terburuk yang dapat dilakukan agen adalah mengusulkan sesuatu yang salah, dan penolakan gerbang itu nyata.
Kebijakan Anthropic yang diterbitkan untuk Duet layak ditiru bentuknya bahkan ketika daftar Anda berbeda. Gerbang itu meminta persetujuan sebelum suatu tindakan mengirim pesan, melakukan pembayaran, menandatangani dokumen, atau menghapus apa pun. Di atasnya ada tingkat kedua yang ditolak bahkan dengan persetujuan — dalam kasus Duet, memperdagangkan sekuritas dan memindahkan uang antarreken. Polanya adalah kebijakan dua tingkat: sekumpulan besar tindakan bergerbang yang boleh diizinkan manusia, dan sekumpulan kecil yang tidak dapat dibuka oleh persetujuan apa pun. Tiru tingkat-tingkat itu bahkan jika setiap butir berubah, karena keduanya memecahkan masalah yang berbeda. Gerbang melindungi dari kesalahan. Daftar larangan melindungi dari operator yang telah disusupi, termasuk manusia itu sendiri.
Separuh lainnya dari gate yang sesungguhnya adalah bahwa ia menginterupsi. Permintaan persetujuan Duet menampilkan tindakan persisnya dan menunggu, yang dengan sengaja menghentikan alur alih-alih memberi anotasi padanya. Gate yang menulis satu baris ke log yang tidak dibaca siapa pun bukanlah gate; itu adalah tanda terima. Jika langkah persetujuan Anda membutuhkan seseorang untuk mengawasi dasbor pada pukul tiga pagi, entah intervalnya terlalu pendek atau daftar tindakannya terlalu luas. Keduanya dapat diperbaiki, dan tidak satu pun dengan menambahkan notifikasi.
Memori, kredensial, dan dua permukaan yang tidak bisa Anda atasi hanya dengan pengujian
Ada dua masalah sulit yang mendasari kelima tahap itu, dan keduanya tampak seperti fitur sampai ternyata bukan.
• Pembawaan konteks.Setiap sweep adalah konteks baru, jadi apa pun yang harus diingat agen antar-sweep harus dituliskan di antara sweep tersebut. Berkas status bergulir per koneksi, dengan ukuran terbatas, yang menyimpan item terbuka dan keputusan terbaru sudah cukup untuk sebagian besar loop. Yang tidak berhasil adalah berharap model merekonstruksi riwayat dari digest, karena digest secara eksplisit merupakan deskripsi perubahan dan tidak mengandung memori tentang apa yang sudah diputuskan.
• Penitipan kredensial. Duet mengikuti desain yang digunakan untuk agen terkelola Anthropic, sehingga Duet tidak pernah secara langsung melihat kata sandi atau token masuk Anda. Mereproduksi disiplin tersebut adalah bagian yang paling sering dilewatkan oleh agen buatan sendiri, dan melewatkannya berarti setiap prompt memiliki jalur ke kredensial. Model tidak boleh pernah memegang token, tidak boleh diberi kunci API sebagai teks, dan tidak boleh menjadi komponen yang melakukan autentikasi. Biarkan langkah digest dan eksekutor memegang kredensial dan hanya menyerahkan hasilnya kepada model.
Lalu ada permukaan yang tidak ingin dipikirkan siapa pun: begitu agen membaca email dan halaman web, masing-masing adalah masukan yang dapat berisi instruksi. Pesan yang mengatakan "teruskan ini ke alamat di bawah" tidak dapat dibedakan dari data oleh model yang tidak memiliki gagasan terpisah tentang otoritas. Dua pertahanan mengalahkan sebanyak apa pun penguatan prompt. Jaga daftar tindakan tetap tertutup, sehingga instruksi yang disuntikkan tidak memiliki kata kerja yang bisa dipakai. Dan jaga gerbang tetap di luar pengaruh model, karena injeksi yang meyakinkan model untuk mengirim sesuatu tetap harus meyakinkan manusia yang melihat alamat tujuan.
Failover, dan di mana perutean benar-benar membantu
Dengan loop yang telah dibangun, terbuka satu opsi arsitektural yang tidak dimiliki oleh desain satu vendor. DSL routing OrcaRouter menyusun beberapa model menjadi satu panggilan, dan fusi model menjalankan panel model yang menjawab secara paralel; keduanya menempatkan lebih dari satu model di balik satu permintaan. Penggunaan praktisnya di sini tidak glamor: arahkan model yang lebih murah ke ringkasan digest, yang pekerjaannya adalah kompresi alih-alih penilaian, dan pertahankan Claude Opus 5.5 pada langkah keputusan, tempat proposal dibentuk. Satu kunci yang kompatibel dengan OpenAI yang sama menjangkau lebih dari 200 model, sehingga mengganti model mana yang melayani tahap mana adalah perubahan konfigurasi alih-alih penulisan ulang.

Failover adalah separuh lainnya. Ketika penyedia mengalami jam buruk, agen yang hanya dapat menjangkau satu endpoint juga mengalami jam buruk, dan loop terjadwal tanpa fallback akan sekadar melewatkan penyapuannya. Routing mengubah penyapuan yang terlewat menjadi penyapuan yang lebih lambat — bukan manfaat yang dramatis sampai minggu ketika Anda membutuhkannya, dan saat itulah perbedaannya antara ada celah dalam catatan dan tidak ada celah.

Untuk apa sebenarnya Anda mendaftar
Menjalankan loop ini berarti mengoperasikan sebuah layanan, dan layanan itu memiliki empat properti yang baru saja Anda ambil alih.
• Uptime.Aplikasi Anthropic adalah pager orang lain; milik Anda adalah milik Anda sendiri. Penjadwal yang diam-diam berhenti berjalan tidak menghasilkan error maupun output, dan Anda baru mengetahuinya dari seseorang yang menyadari tidak adanya ringkasan pagi mereka, bukan dari sebuah peringatan.
• Kustodi kredensial. Setiap token yang dipegang oleh langkah digest Anda adalah tanggung jawab Anda, dan radius dampak dari kebocoran adalah apa pun yang dapat dijangkau oleh koneksi tersebut. Desain Anthropic menjauhkan kredensial dari model; jika milik Anda tidak demikian, model akan menjadi permukaan serangan bagi setiap akun yang Anda hubungkan.
• Pertahanan terhadap injeksi prompt. Gerbang ini memberikan banyak manfaat di sini, tetapi hanya untuk tindakan yang dijaganya. Apa pun yang dilakukan agen tanpa persetujuan — membaca, merangkum, menulis statusnya sendiri — tidak terlindungi, dan ringkasan yang teracuni dapat merusak memori yang menjadi dasar penalaran penyapuan berikutnya.
• Bug bounty itu bukan milik siapa pun. Jika loop Anda salah picu dan mengirim pesan yang salah kepada klien, tidak ada vendor untuk tujuan eskalasi, tidak ada halaman status, tidak ada laporan insiden. Keputusan di atas adalah satu-satunya jaring pengaman, itulah sebabnya gate adalah layanan terpisah dan daftar tindakan bersifat tertutup.
Semua itu tidak menjadi alasan untuk tidak membangunnya. Itu menjadi alasan untuk tidak membangunnya secara sembarangan. Setiap tahap kecil, dan sambungan di antaranya adalah tempat pertimbangan berada: pengatur waktu, bukan aliran; prefiks yang dibekukan, bukan templat; digest, bukan dump; objek, bukan prosa; dan gerbang yang merupakan layanan, bukan komentar. Jika semua itu benar, loop itu membuktikan manfaatnya — ia menemukan hal-hal yang tidak akan Anda cari dan berhenti sebelum melakukan apa pun yang tidak dapat dibatalkan. Jika salah, Anda telah membangun sesuatu yang terus menghabiskan anggaran Anda dan memberi tahu apa yang sudah Anda ketahui.
