33 poin oleh GN⁺ 2026-03-18 | 2 komentar | Bagikan ke WhatsApp
  • Organisasi engineering besar seperti Stripe, Ramp, dan Coinbase membangun coding agent internal secara terpisah, tetapi semuanya akhirnya mengerucut pada pola arsitektur yang serupa, dan Open SWE adalah framework yang mengimplementasikan pola itu sebagai open source
  • Dibangun di atas Deep Agents dan LangGraph, menyediakan komponen inti seperti sandbox cloud terisolasi, toolset terkurasi, orkestrasi sub-agent, dan integrasi alur kerja developer
  • Dibangun dengan pendekatan composition tanpa perlu melakukan fork terhadap agent yang sudah ada, sehingga upgrade framework dasar dan kustomisasi per organisasi bisa dipertahankan secara bersamaan
  • Semua komponen utama bersifat pluggable, termasuk penyedia sandbox, model, tool, trigger, system prompt, dan middleware
  • Menyediakan titik awal berbasis pola yang telah tervalidasi di production bagi tim yang sedang mempertimbangkan adopsi coding agent internal, dengan lisensi MIT

Pola umum yang ditemukan dalam deployment production

  • Coding agent seperti Minions milik Stripe, Inspect milik Ramp, dan Cloudbot milik Coinbase dikembangkan secara independen, tetapi tetap mengerucut pada keputusan arsitektural yang mirip
  • Lingkungan eksekusi terisolasi: setiap task dijalankan di sandbox cloud khusus dengan otorisasi penuh di dalam batas yang ketat. Ini mengisolasi dampak kesalahan terhadap sistem production, sekaligus memungkinkan eksekusi perintah tanpa prompt persetujuan untuk setiap aksi
  • Toolset terkurasi: menurut tim engineering Stripe, agent memiliki akses ke sekitar 500 tool, tetapi bukan hasil akumulasi seiring waktu melainkan dipilih dan dipelihara dengan cermat. Kurasi lebih penting daripada jumlah tool
  • Pemanggilan berfokus pada Slack: ketiga sistem mengintegrasikan Slack sebagai antarmuka default, sehingga developer dapat mengaksesnya dari alur komunikasi yang sudah ada tanpa perlu berpindah konteks ke aplikasi baru
  • Konteks kaya sejak awal: konteks lengkap dari issue Linear, thread Slack, dan GitHub PR ditarik lalu diberikan sebelum task dimulai, sehingga mengurangi overhead penemuan kebutuhan lewat pemanggilan tool
  • Orkestrasi sub-agent: task kompleks dipecah dan didelegasikan ke child agent khusus yang masing-masing memiliki konteks terisolasi dan tanggung jawab yang fokus

Arsitektur Open SWE

  • 1. Harness agent: composition berbasis Deep Agents

    • Alih-alih melakukan fork pada agent yang ada atau membangun dari nol, Open SWE menggunakan pendekatan composition di atas framework Deep Agents. Ini mirip dengan pendekatan tim Ramp yang membangun Inspect di atas OpenCode
    • Dua keuntungan dari composition:
      • Jalur upgrade: saat Deep Agents membaik, misalnya pada manajemen konteks, perencanaan yang lebih efisien, atau penggunaan token yang dioptimalkan, peningkatan tersebut bisa diadopsi tanpa membangun ulang kustomisasi
      • Kustomisasi tanpa fork: tool, prompt, dan workflow spesifik organisasi dapat dipertahankan sebagai konfigurasi, bukan lewat modifikasi logika inti agent
    • Infrastruktur yang disediakan Deep Agents: perencanaan bawaan melalui write_todos, manajemen konteks berbasis file, spawn sub-agent native melalui tool task, dan middleware hook untuk orkestrasi deterministik
  • 2. Sandbox: lingkungan cloud terisolasi

    • Setiap task berjalan di sandbox cloud terisolasi miliknya sendiri, berupa lingkungan Linux remote dengan akses shell penuh
    • Repository di-clone dan agent diberi otorisasi penuh, sementara error tetap terisolasi di dalam lingkungan tersebut
    • Penyedia sandbox yang didukung secara default: Modal, Daytona, Runloop, dan LangSmith. Backend sandbox buatan sendiri juga bisa diimplementasikan
    • Perilaku inti:
      • Setiap thread percakapan mendapat sandbox persisten yang dipakai ulang pada pesan lanjutan
      • Sandbox otomatis dibuat ulang jika tidak lagi dapat diakses
      • Banyak task dapat berjalan paralel masing-masing di sandbox sendiri
  • 3. Tool: kurasi, bukan akumulasi

    • Open SWE menyediakan toolset yang fokus bersama tool bawaan Deep Agents (read_file, write_file, edit_file, ls, glob, grep, write_todos, task)
    • Toolset yang kecil dan terkurasi lebih mudah untuk diuji, dipelihara, dan dipakai untuk penalaran. Tool tambahan di organisasi, seperti API internal, sistem deployment kustom, atau framework testing khusus, dapat ditambahkan secara eksplisit
  • 4. Context engineering: AGENTS.md + source context

    • Konteks dikumpulkan dari dua sumber:
      • File AGENTS.md: jika ada di root repository, file ini dibaca dari sandbox lalu disuntikkan ke system prompt. Isinya dapat mengodekan konvensi, kebutuhan testing, keputusan arsitektur, dan pola tim
      • Source context: issue Linear lengkap, termasuk judul, deskripsi, dan komentar, atau riwayat thread Slack, digabungkan lalu diberikan sebelum agent mulai, sehingga menyediakan konteks spesifik task tanpa pemanggilan tool tambahan
    • Pendekatan dua lapis ini menyeimbangkan pengetahuan tingkat repository secara keseluruhan dan informasi spesifik task
  • 5. Orkestrasi: sub-agent + middleware

    • Menggabungkan dua mekanisme:
      • Sub-agent: child agent di-spawn melalui tool task. Agent utama mendelegasikan subtask independen ke sub-agent terisolasi yang masing-masing memiliki stack middleware, daftar todo, dan operasi file sendiri
      • Middleware: hook deterministik yang dijalankan di sekitar loop agent
        • check_message_queue_before_model: menyuntikkan pesan lanjutan yang datang saat agent sedang berjalan, seperti komentar Linear atau pesan Slack, sebelum pemanggilan model berikutnya. Ini memungkinkan input tambahan dari pengguna selama agent bekerja
        • open_pr_if_needed: safety net yang otomatis melakukan commit dan membuat PR jika agent tidak sempat menyelesaikan pembukaan PR
        • ToolErrorMiddleware: menangkap dan menangani error tool secara elegan
    • Pemisahan antara orkestrasi agentic yang digerakkan model dan orkestrasi deterministik yang digerakkan middleware menghasilkan keseimbangan antara reliabilitas dan fleksibilitas
  • 6. Pemanggilan: Slack, Linear, GitHub

    • Slack: mention bot di thread. Repository yang akan dikerjakan ditentukan dengan sintaks repo:owner/name. Agent kemudian membalas di thread dengan update status dan link PR
    • Linear: beri komentar @openswe pada issue. Agent membaca seluruh konteks issue, memberi tanda konfirmasi dengan 👀, lalu mem-posting hasil sebagai komentar
    • GitHub: agent memproses feedback review melalui tag @openswe pada komentar PR yang dibuatnya, lalu melakukan push perbaikan ke branch yang sama
    • Setiap pemanggilan menghasilkan thread ID deterministik, sehingga pesan lanjutan pada issue atau thread yang sama diarahkan ke agent yang sama yang sedang berjalan
  • 7. Validasi: berbasis prompt + safety net

    • Agent diinstruksikan untuk menjalankan linter, formatter, dan test sebelum commit
    • Middleware open_pr_if_needed berfungsi sebagai backstop: jika agent selesai tanpa membuka PR, middleware akan menanganinya secara otomatis
    • CI check deterministik, validasi visual, dan review gate dapat diperluas melalui middleware tambahan

Mengapa menggunakan Deep Agents

  • Manajemen konteks: data perantara dalam jumlah besar yang dihasilkan oleh task coding berdurasi panjang, seperti isi file, output perintah, dan hasil pencarian, di-offload ke memori berbasis file alih-alih disimpan seluruhnya di riwayat percakapan. Ini efektif untuk mencegah context overflow pada codebase besar
  • Fondasi perencanaan: tool bawaan write_todos menstrukturkan pemecahan task kompleks, pelacakan progres, dan adaptasi rencana berdasarkan informasi baru. Ini sangat berguna untuk task multistep jangka panjang
  • Isolasi sub-agent: saat agent utama me-spawn child agent melalui tool task, tiap child mendapat konteks terisolasi. Riwayat percakapan dari subtask yang berbeda tidak saling mencemari, sehingga memungkinkan penalaran yang lebih jelas pada task kompleks
  • Middleware hook: memungkinkan penyuntikan logika deterministik pada titik tertentu dalam loop agent. Ini digunakan untuk mengimplementasikan aksi yang harus berjalan stabil, seperti injeksi pesan dan pembuatan PR otomatis
  • Jalur upgrade: karena Deep Agents aktif dikembangkan sebagai library independen, peningkatan pada kompresi konteks, prompt caching, efisiensi perencanaan, dan orkestrasi sub-agent bisa diterapkan ke Open SWE tanpa perlu membangun ulang kustomisasi

Kustomisasi per organisasi

  • Open SWE dirancang bukan sebagai produk jadi, melainkan sebagai fondasi yang dapat dikustomisasi. Semua komponen utama bersifat pluggable:
    • Penyedia sandbox: bisa ditukar antara Modal, Daytona, Runloop, dan LangSmith. Backend sandbox sendiri juga bisa dibuat sesuai kebutuhan infrastruktur internal
    • Model: dapat menggunakan semua penyedia LLM. Default-nya adalah Claude Opus 4, dan model berbeda dapat ditetapkan untuk subtask yang berbeda
    • Tool: tambahkan tool untuk API internal, sistem deployment, framework testing, atau platform monitoring. Tool yang tidak diperlukan juga bisa dihapus
    • Trigger: logika integrasi Slack, Linear, dan GitHub dapat dimodifikasi. Permukaan trigger baru seperti email, webhook, atau UI kustom juga bisa ditambahkan
    • System prompt: prompt default dan logika penerapan file AGENTS.md dapat dikustomisasi. Pedoman, batasan, dan konvensi khusus organisasi bisa ditambahkan
    • Middleware: middleware hook sendiri dapat ditambahkan untuk validasi, approval gate, logging, dan pemeriksaan keamanan

Perbandingan dengan implementasi internal

  • Jika dibandingkan dengan sistem internal Stripe, Ramp, dan Coinbase berdasarkan informasi publik, pola intinya serupa
  • Perbedaannya ada pada detail implementasi, integrasi internal, dan tool spesifik organisasi, dan itu merupakan perbedaan yang memang diharapkan saat framework diadaptasi ke lingkungan lain

Memulai

2 komentar

 
sea715 2026-03-18

Ternyata pikiran orang-orang memang kurang lebih mirip ya.. benar-benar era Negara-Negara Berperang.

 
xguru 2026-03-18

Sekarang semua orang sedang membuat coding agent internal, jadi mereka sampai membuat framework khusus untuk itu. Cepat sekali semuanya.

Daripada harus memakai ini, mungkin lebih baik juga melihat pola dari berbagai perusahaan yang mereka jadikan referensi di dalamnya