spinny:~/writing $ less agentic-infrastructure-stack.md
12Kita sudah sering membicarakan tentang kerangka agen. LangGraph, CrewAI, AutoGen, berbagai SDK, loop, pemanggilan alat, memori, perencana, kritikus, supervisor. Semua kata-kata yang berguna, demi kebaikan. Namun semakin saya melihat agen yang sebenarnya digunakan, semakin saya merasa bahwa bagian menariknya telah berpindah ke bawah level kerangka kerja.34Pertanyaannya bukan lagi sekedar: perpustakaan mana yang saya gunakan untuk membuat model langkah berpikir?56Pertanyaan sebenarnya adalah: di mana agen ini tinggal ketika dia berhenti menjadi demo?78Karena agen yang serius bukanlah fungsi yang memanggil model dan mengembalikan teks. Ini adalah sistem terdistribusi kecil. Itu harus membaca konteks, menggunakan alat, mengeksekusi kode, menyentuh file, mengingat keputusan, meminta izin, gagal dengan baik, memulai ulang, meninggalkan log, tidak membakar anggaran dan tidak berubah menjadi buldoser di dalam repositori produksi.910Kerangkanya adalah roda kemudi. Prasarananya adalah jalan, rem, bengkel, asuransi dan orang yang mengetahui dimana kuncinya.1112## Karena sekarang sedang banyak dibicarakan1314Pada tahun 2023 dan 2024, perbincangan sangat berpusat pada model. LLM yang mana? Berapa banyak konteksnya? Harganya berapa? Seberapa baik dia dalam pemrograman?1516Pada tahun 2025 dan 2026 pembicaraan telah bergeser. Modelnya cukup baik untuk melakukan pekerjaan nyata, tetapi itulah sebabnya bagian-bagian yang membosankan menjadi terlihat: runtime, keamanan, konektor, identitas, observabilitas, eksekusi kode, penerapan, rollback.1718Ini adalah transisi alami dari sihir ke teknik.1920Ketika agen hanya perlu memberikan respons, obrolan saja sudah cukup. Saat Anda perlu membuka pull request, menanyakan database, memanggil CRM, memulai pekerjaan, menavigasi situs, membaca Slack, mengompilasi kode, dan memperbarui dokumen, Anda memerlukan sistem operasi yang mampu menanganinya.2122Tidak dalam arti harfiah. Dalam arti organisasi.2324## Bagian pertama: runtime di mana agen dapat bertahan2526Seorang agen sering kali bekerja secara bertahap. Lihatlah keadaannya, pilih tindakan, gunakan alat, amati hasilnya, perbarui rencana, ulangi.2728Jika loop ini berada di dalam satu permintaan HTTP, Anda akan segera mengalami masalah. Beberapa tindakan lambat. Beberapa menunggu masukan manusia. Ada yang gagal dan harus dicoba lagi. Beberapa harus bertahan dalam penerapan atau batas waktu.2930Di sinilah alur kerja yang tahan lama, antrean, latar belakang pekerjaan, dan mesin negara ikut berperan. Mereka tidak glamor, tapi itulah perbedaan antara agen yang terlihat pintar dalam demo dan agen yang bisa Anda tinggalkan sambil minum kopi.3132Bagi saya runtime agen harus menjawab pertanyaan yang sangat konkret:3334- di mana saya menyimpan status antara satu langkah dan langkah lainnya?35- apa yang terjadi jika prosesnya terhenti di tengah jalan?36- bolehkah aku berhenti sejenak dan meminta persetujuan?37- bisakah saya memutar ulang larinya untuk memahami mengapa dia membuat pilihan itu?38- dapatkah saya membatasi durasi, memori, alat, dan biaya?3940Vercel berusaha keras dalam hal ini dengan AI SDK, fungsi, alur kerja, dan alat untuk membangun agen dalam aplikasi web. Tapi intinya bukan hanya Vercel. Intinya adalah agen memerlukan rumah operasional, bukan titik akhir tunggal.4142## Bagian kedua: sandbox, karena agen harus bisa kotor tanpa pecah4344Segera setelah agen menulis kode atau menjalankan perintah, kotak pasir diperlukan.4546Tampaknya seperti kata teknis, tetapi idenya bersifat domestik: Anda memberinya meja kerja. Itu dapat membuka file, menginstal dependensi, menjalankan tes, melakukan eksperimen, menghasilkan output. Jika dia salah, Anda sudah menanggung kerugiannya. Jika berhasil, promosikan hasilnya.4748Kotak pasir agen harus memiliki beberapa properti:4950- sistem file terisolasi;51- CPU, memori dan batas waktu;52- jaringan yang dikendalikan;53- rahasia dipasang hanya bila diperlukan;54- log lengkap;55- kemungkinan untuk mengekspor artefak;56- bersihkan reset di antara proses, bila perlu.5758Vercel Sandbox berjalan tepat ke arah ini: lingkungan terisolasi untuk menjalankan kode, menginstal dependensi, bekerja dengan file, dan menghasilkan artefak tanpa menjalankan semuanya di runtime aplikasi utama.5960Hal ini lebih penting daripada yang terlihat. Banyak prototipe agen yang melompat langsung dari model ke sistem nyata. Model dapat memanggil alat. Alat dapat melakukan banyak hal. Semuanya tampak elegan sampai perintah pertama yang salah, ketergantungan pertama dipasang di tempat yang salah, token pertama yang berakhir di log.6162Kotak pasir adalah cara orang dewasa untuk mengatakan: silakan, tapi di sini.6364## Bagian ketiga: MCP dan masalah konektor6566Model Context Protocol telah menjadi salah satu bagian ekosistem yang paling menarik karena mencoba menstandardisasi sesuatu yang dengan cepat menjadi tidak dapat dikelola: bagaimana model menemukan dan menggunakan alat eksternal.6768Tanpa standar, setiap integrasi hanyalah sebuah pulau kecil. Konektor untuk GitHub dilakukan dengan satu cara, satu untuk Slack dilakukan dengan cara lain, satu untuk database dengan semantik berbeda, satu untuk otomatisasi browser yang sepertinya tidak ada apa-apanya.6970MCP mengusulkan bahasa umum antara klien dan server: alat, sumber daya, petunjuk, otorisasi, transportasi, penemuan. Hal ini tidak secara ajaib memecahkan masalah tata kelola dan keamanan, namun memberikan tata bahasa.7172Dan tata bahasa itu penting. Ketika seorang agen dapat terhubung ke banyak alat, pertanyaannya bukan hanya “bisakah dia melakukannya?”. Persoalannya adalah “apakah dia paham apa yang bisa dia lakukan, dengan batasan apa, atas nama siapa, dan meninggalkan jejak apa?”.7374Bagi saya MCP tidak hype karena "melakukan pemanggilan alat". Kami sudah melakukan itu. Ini populer karena menggeser pusat gravitasi dari integrasi tunggal ke katalog alat operasional.7576Dalam arsitektur agen yang baik, MCP menjadi semacam panel patch:7778- GitHub untuk kode dan masalah;79- Slack untuk konteks percakapan;80- Linear atau Jira untuk pekerjaan yang direncanakan;81- database hanya-baca untuk analitik;82- browser atau scraper yang dikontrol untuk situs eksternal;83- penyimpanan dokumen;84- lingkungan eksekusi yang terisolasi;85- sistem internal diekspos dengan izin yang ketat.8687Bagian tersulitnya adalah katalog alat yang bebas kebijakan hanyalah cara yang lebih elegan untuk menciptakan kekacauan.8889## Bagian keempat: identitas dan izin9091Di sinilah banyak demo yang menutup mata.9293Seorang agen bertindak atas nama seseorang. Jadi harus jelas siapa yang menjadi subjek tindakannya.9495Apakah itu menggunakan izin pengguna? Dari akun layanan? Dari ruang kerja? Apakah Anda memiliki akses sementara atau permanen? Bisakah Anda membaca semuanya atau hanya beberapa sumber? Bisakah kamu menulis? Bisakah Anda membatalkan? Bisakah dia mengirim pesan kepada orang sungguhan?9697Jika Anda tidak menjawab pertanyaan-pertanyaan ini dengan baik, cepat atau lambat Anda akan membangun asisten dengan kunci rumah dan tidak ingat siapa yang memberikannya.9899Aturan praktis yang saya suka adalah ini: agen harus mampu melakukan lebih sedikit dari manusia, tidak lebih dari manusia. Dan ketika dia harus melakukan sesuatu yang lebih berisiko, dia harus berhenti dan bertanya.100101Ini berarti OAuth, cakupan token, pengelolaan rahasia, log audit, kebijakan alat, daftar yang diizinkan, langkah persetujuan. Bukan hal yang sangat romantis. Hal-hal yang diperlukan.102103## Bagian kelima: memori dan konteks, tetapi tanpa mengumpulkan sampah104105Agen membutuhkan memori, tetapi memori menjadi berbahaya jika menjadi loteng.106107Setidaknya ada tiga jenis memori:108109- jalankan memori: apa yang terjadi dalam eksekusi ini;110- memori proyek: konvensi, keputusan, batasan;111- memori pribadi atau tim: preferensi, nada, ritual, proses.112113Memasukkan semuanya ke dalam prompt adalah jalan pintasnya. Ini berfungsi sampai tidak berfungsi lagi. Memori yang berguna harus dijaga: diindeks, diperbarui, kedaluwarsa, diverifikasi, dibuat dapat dikutip.114115Agen yang ingatannya buruk lebih buruk daripada agen yang tidak ingat. Karena dia berbicara dengan percaya diri.116117Oleh karena itu infrastruktur harus mencakup pengambilan, file instruksi, basis pengetahuan, penyematan bila diperlukan, tetapi juga pembersihan. Kita butuh budaya ingatan: apa yang masuk, siapa yang menyetujuinya, kapan pembusukannya, bagaimana cara memperbaikinya.118119## Bagian keenam: observabilitas, evaluasi, dan pemutaran ulang120121Jika agen membuat kesalahan, log "yang disebut model" tidaklah cukup.122123Anda ingin melihat rutenya. Konteks apa yang dia terima? Alat apa saja yang tersedia? Alat mana yang Anda pilih? Dengan argumen apa? Apa tanggapan yang Anda dapatkan? Berapa biayanya? Di mana itu macet? Apakah manusia menyetujui sesuatu? Apakah model kesalahan, alat, prompt, data, atau kesalahan izin?124125Di sini agen lebih mirip sistem terdistribusi daripada chatbots.126127Anda memerlukan jejak yang dapat dibaca, bukan hanya log teks. Anda harus bisa memutar ulang larinya. Penting untuk membandingkan dua versi agen yang sama pada tugas yang diketahui. Kita perlu mengukur regresi: tidak hanya "menjawab lebih baik", tetapi juga "menutup tiket yang tepat tanpa menyentuh file yang tidak diminta".128129Evaluasi agen lebih sulit dibandingkan evaluasi teks karena mencakup tindakan. Membandingkan string yang diharapkan saja tidak cukup. Anda harus melihat urutan, efek samping, kualitas artefak, waktu, biaya, jumlah intervensi manusia.130131Lucunya, kami selalu kembali ke sana: rekayasa perangkat lunak. Tes, lingkungan, jejak, rollback. Kecuali bahwa kode sekarang juga memutuskan apa yang harus dilakukan selanjutnya.132133## Bagian ketujuh: antarmuka manusia134135Agen tidak harus hanya sekedar live chat.136137Beberapa agen membutuhkan papan. Lainnya halaman dengan status dan log. Lainnya dari tombol "setujui". Lebih banyak komentar sebaris. Yang lain lagi dari CLI.138139UI mengubah perilaku. Jika satu-satunya cara untuk mengendalikan agen adalah dengan menulis pesan yang panjang, pengguna akan memberikan instruksi yang tidak jelas kepada agen. Namun jika dia melihat rencana, perbedaan, sumber, risiko, dan tindakan selanjutnya, dia bisa melakukan intervensi dengan tepat.140141Infrastruktur agen yang layak mencakup permukaan kontrol:142143- status saat ini;144- rencana yang dapat diedit;145- artefak yang dihasilkan;146- berbeda;147- permintaan persetujuan;148- kronologi;149- tombol berhenti;150- tombol coba lagi;151- izin yang terlihat.152153Tampaknya sepele, tapi sebenarnya tidak. Perbedaan antara "AI yang menyeramkan" dan "asisten yang andal" sering kali hanya pada "asisten yang andal" yang menunjukkan di mana ia berada.154155## Tumpukan mental156157Jika saya menggambarnya hari ini, tumpukan agen minimumnya adalah ini:1581591. Model: penalaran, pembangkitan, pemanggilan alat, multimodal jika perlu.1602. Orkestrasi: loop, langkah, perencana, kebijakan, human-in-the-loop.1613. Waktu proses yang tahan lama: alur kerja, antrian, coba lagi, jeda, lanjutkan.1624. Sandbox: eksekusi kode, sistem file terisolasi, batasan, artefak.1635. Lapisan alat: MCP, API internal, browser, database, repositori.1646. Lapisan identitas: OAuth, cakupan, rahasia, audit, kebijakan.1657. Lapisan memori: konteks proyek, pengambilan, instruksi, kedaluwarsa.1668. Observabilitas: metrik penelusuran, pemutaran ulang, evaluasi, biaya dan kualitas.1679. Permukaan produk: ngobrol bila cukup, dasbor bila diperlukan, tinjau jika penting.168169Kerangka agenik terutama mencakup poin 2 dan sebagian dari poin 1. Selebihnya adalah karya nyata.170171## Apa yang akan saya lakukan dalam latihan172173Jika sebuah tim mengatakan kepada saya “kami menginginkan agen dalam produksi,” saya tidak akan memulai dengan sepuluh agen.174175Saya akan mulai dengan alur kerja yang kecil, berulang, dan dapat diamati. Misalnya: membuka PR pemeliharaan, memperbarui dokumentasi dari masalah yang sudah ditutup, menyiapkan tinjauan mingguan, melakukan triase bug duplikat, membuat pengujian untuk file yang terpengaruh.176177Kemudian saya akan menetapkan batasan yang sangat jelas:178179- tidak ada tulisan tanpa cabang atau kotak pasir;180- tidak ada rahasia di prompt;181- alat dalam daftar yang diizinkan;182- persetujuan manusia atas tindakan eksternal;183- pencatatan dan penelusuran wajib;184- anggaran per proses;185- keluaran selalu dapat diperiksa.186187Only then would I expand.188189Agen tidak gagal hanya karena modelnya salah. Mereka gagal karena kami menempatkannya di lingkungan yang tidak jelas, dengan izin yang membingungkan dan ekspektasi teatrikal.190191## Bacaan saya192193Infrastruktur agen sangat membosankan.194195Bukan bagian yang membuat Anda bertepuk tangan dalam demo. Ini adalah bagian yang memungkinkan Anda menggunakan demo pada Senin pagi, dengan orang-orang nyata, data nyata, dan konsekuensi nyata.196197Masa depan agen tidak hanya ditentukan oleh siapa yang memiliki panutan terbaik. Hal ini akan ditentukan oleh siapa pun yang membangun tempat terbaik untuk membuatnya bekerja: terisolasi saat ia bereksperimen, terhubung saat diperlukan, selalu dapat diamati, diberi wewenang dengan kriteria, dan cukup rendah hati untuk berhenti saat ia tidak mengetahuinya.198199Di situlah agen berhenti menjadi mainan dan menjadi infrastruktur.200201## Sources202203- [Vercel: Cara membangun agen AI dengan Vercel dan AI SDK](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Vercel Docs: Kotak Pasir](https://vercel.com/docs/sandbox)205- [Vercel Docs: Bekerja dengan Sandbox](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Dokumen Vercel: MCP](https://vercel.com/docs/mcp)207- [Protokol Konteks Model: Spesifikasi](https://modelcontextprotocol.io/spesifikasi)208- [OpenAI: Alat baru untuk agen bangunan](https://openai.com/index/new-tools-for-building-agents/)209- [Blog Cloudflare: Agen di Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210
:Infrastruktur agen dan backend barulines 1-210 (END) — press q to close