DEV Community

Cover image for Apa itu Loop dan Graph di osFoundry, dan kapan sebaiknya memakai masing-masing?
tauchiii for tauchi Bahasa Indonesia

Posted on

Apa itu Loop dan Graph di osFoundry, dan kapan sebaiknya memakai masing-masing?

Jam 18.40, dan asisten AI baru saja bilang bahwa test yang gagal sudah diperbaiki. Kamu jalankan sendiri. Dua masih merah. Kamu bisa menempelkan output-nya lagi dan bertanya ulang, atau menyerahkan pekerjaan itu ke sesuatu yang baru berhenti kalau test runner-nya setuju. Besok paginya, rekan dari tim marketing bertanya hal lain: bisakah hal serupa mengecek tiga situs kompetitor setiap hari kerja sebelum dia sampai di kantor?

Kedua pekerjaan itu ada di sudut yang sama di osFoundry, di bawah dua menu yang bersebelahan: Loop dan Graph.

Dua cara menjalankan agent tanpa harus terus mengawasinya

Loop adalah cara yang bisa dipakai ulang untuk menjalankan tim agent menuju sebuah tujuan. Isinya: daftar agent, tujuan yang ditulis dengan bahasa biasa, cara mengecek apakah tujuan itu tercapai, batas yang tegas (berapa ronde, berapa kali gagal berturut-turut sebelum menyerah), dan opsional sebuah trigger seperti jadwal. Loop bekerja per ronde, menilai setiap ronde terhadap tujuan, lalu berhenti sendiri. Graph adalah program workflow yang disimpan, untuk saat jalurnya tidak tetap: bisa bercabang berdasarkan hasil, mengulang satu bagian sampai lolos, membagi pekerjaan ke beberapa agent sekaligus, berhenti sejenak untuk persetujuan manusia, dan memanggil graph lain. Keduanya ada di sidebar utama aplikasi desktop osFoundry, Loop di atas dan Graph tepat di bawahnya, dan pembeda satu kalimat dari aplikasinya sendiri itulah yang perlu diingat: Loop selalu mengambil jalur yang sama, Graph menentukan jalurnya sambil berjalan.

Apa yang terlihat saat Loop berjalan

Sesi Loop yang sedang berjalan di osFoundry dengan penghitung ronde, tab Rounds berisi tiga ronde, dan inspector Goal di 3/3

Ini sesi Loop yang sudah selesai (test dan nama file adalah data contoh). Bagian yang perlu diketahui:

  • Panel sesi di kiri. Setiap kali Loop dijalankan, itu jadi sesi tersendiri dengan status di bawahnya. "Verified" di sini berarti ronde terakhir lolos pengecekan, bukan sekadar AI yang bilang begitu.
  • Strip ronde di bagian atas kolom tengah. "Round 3 of 4", ditambah pengecekan yang dipakai ("Runs npm test — a zero exit code means done") dan penghitung kegagalan verifikasi berturut-turut, yang menghentikan loop yang tidak ada kemajuan.
  • Tab Rounds. Satu baris per ronde berisi berapa kriteria yang terpenuhi ("1 of 3 met", "2 of 3 met", "3 of 3 met"). Buka satu ronde untuk melihat persis kriteria mana yang lolos di ronde itu.
  • Inspector di kanan, dengan tab Goal, Trigger, dan Hooks.
  • Pause dan Cancel di atas panel, kalau kamu ingin dia berhenti sekarang juga, bukan di pengecekan berikutnya.

Kasus 1: developer yang ingin test benar-benar hijau

Siapa: developer solo di penghujung hari, dengan test suite JavaScript yang merah dan asisten yang terus-terusan mengklaim sudah beres.

Buka Loop lalu tekan New session. Dialog New loop run menampilkan loop siap pakai, dan mencari "JS suite" akan memunculkan Get the JS suite green. Sebelum dijalankan, kartu di kanan menjelaskan perilakunya: Who runs it (agent debugger yang memimpin tiga spesialis test), How it stops (maksimal 4 ronde, berhenti setelah 3 kali gagal berturut-turut), dan How it grades itself (menjalankan npm test, dan hanya exit code nol yang dianggap selesai).

Dialog New loop run di osFoundry dengan Get the JS suite green terpilih beserta aturan berhenti dan penilaiannya

Di bagian Start it, pilih Run once now alih-alih Just add it, pilih project dan folder tempat agent bekerja, lalu tekan Run it now. Setelah itu buka tab Rounds dan amati. Di contoh ini, ronde pertama memenuhi satu dari tiga test, ronde kedua dua, dan ronde ketiga ketiganya; saat itu loop berhenti sendiri dan sesinya ditandai Verified.

Hasil akhirnya bukan pesan chat yang mengklaim sudah diperbaiki, melainkan catatan per ronde tentang test mana yang lolos dan kapan, dinilai oleh test runner milikmu sendiri. Di daftar yang sama ada loop untuk suite Python, Go, Rust, dan Java, error tipe, lint, dan test yang flaky.

Kasus 2: orang marketing yang ingin laporan kompetitor setiap hari kerja

Siapa: orang marketing atau product yang mengecek situs kompetitor secara manual dan tidak menulis kode.

Di dialog New loop run yang sama, bagian paling atas berlabel "Start here — these need nothing set up", dan Watch the competitors ada di situ, karena dia hanya mencari di web dan tidak pernah menyentuh file kamu. Ketik siapa yang mau dipantau dan apa yang dicari di Goal for this run (misalnya harga, fitur baru, dan lowongan kerja), pilih Run once now, lalu tekan Run it now. Laporan pertama hanya berisi apa yang berubah, dengan tanggal dan sumber di setiap baris, dan klaim perusahaan tentang dirinya sendiri ditandai belum terverifikasi.

Loop Watch the competitors di osFoundry dengan laporan di chat dan checklist tujuan yang sudah terpenuhi

Supaya berjalan rutin, buka tab Trigger lalu tekan Add a schedule. Dialog Run this on a schedule menawarkan preset (Every 30 min, Hourly, Daily 09:00, Weekdays 09:00), menampilkan baris cron dan tiga jadwal berikutnya, lalu mengajukan dua pertanyaan praktis: apa yang dilakukan kalau satu run masih berjalan saat run berikutnya tiba (Skip it, atau Wait, then run), dan apa yang dilakukan kalau komputer sedang sleep (Up to an hour late, Up to 12 hours late, atau However late).

Dialog Run this on a schedule di osFoundry dengan Weekdays 09:00 terpilih dan tiga jadwal berikutnya

Setelah Save schedule, tab Trigger menampilkan "On a schedule" beserta waktu run berikutnya. Dia pun mendapat laporan yang sudah menunggu setiap pagi hari kerja, tanpa membuka terminal. Jadwal berjalan selama aplikasi desktop terbuka, dan untuk itulah pengaturan catch-up tersedia.

Tab Trigger pada Loop osFoundry dengan jadwal hari kerja yang aktif dan waktu run berikutnya

Kasus 3: team lead yang workflow-nya harus bercabang

Siapa: seorang lead yang ingin setiap file dalam perubahan besar di-review terpisah, lalu digabung jadi satu laporan, dengan persetujuan manusia sebelum ada langkah yang tidak bisa dibatalkan.

Di sinilah Loop tidak lagi cocok. Loop mengulang rencana yang sama setiap ronde, sedangkan lead ini butuh satu reviewer per file, lalu langkah penggabungan, dan kadang jeda untuk persetujuan. Itu Graph.

Buka Graph lalu tekan tombol plus di samping daftar. Create a Graph menawarkan dua jalur: Start with a working graph (program aman yang langsung bisa jalan, lalu kamu sesuaikan) atau Choose a starter. Starter adalah contoh jadi untuk pola-pola umum, masing-masing dengan catatan singkat kapan dipakai. Review each item, then merge menjalankan satu agent per item secara bersamaan lalu satu tahap penggabungan. Triage and route mengklasifikasi input sekali dan mengirimnya ke tepat satu spesialis. Propose, ask, then apply menyusun perubahan, berhenti menunggu jawaban manusia, dan hanya bertindak kalau jawabannya ya.

Programnya sendiri berupa kode, bukan diagram drag-and-drop, karena percabangan dan retry yang dibatasi adalah control flow sungguhan. Biasanya kamu biarkan Maestro atau agent yang menulis atau menyesuaikannya, dan kamu mengatur hal yang penting sehari-hari di Configure session: Maximum agents at once, peringatan token, Hard token ceiling, input default, serta agent dan model yang dipakai tiap langkah.

Saat dijalankan, panel run punya tiga tab. Run menampilkan langkah-langkahnya secara langsung, dan kamu bisa Pause, Resume, atau Cancel. Kalau graph sampai di langkah persetujuan, sebuah kartu meminta Approve atau Decline, dan pekerjaan paralel lainnya tetap berjalan selama menunggu. Changes berisi daftar file yang dibuat atau diubah oleh run itu, dan sebagian bisa di-undo. History berisi run sebelumnya, jadi run yang gagal dan run ulang yang memperbaikinya tampil berdampingan. Hasilnya, lead itu punya proses review yang bisa diulang, dengan semua run dan perubahan file yang bisa diperiksa kemudian. Graph bisa dibaca di browser, tapi untuk menjalankannya perlu aplikasi desktop.

Titik serah terima antara Loop dan Graph

Tidak ada yang bekerja sendirian. Agent di Team roster sebuah Loop berasal dari Agent team dan Agent Registry, dan loop itu sendiri adalah preset yang bisa dipakai ulang dan di-versioning di osStudio, jadi menaikkan ambang kualitas atau batas retry meninggalkan riwayat, bukan perubahan diam-diam. Graph diberi identifier yang stabil saat dibuat justru agar loop dan graph lain bisa memanggilnya, artinya Loop terjadwal bisa memicu Graph yang bercabang pada pukul 9:00. Di Message, loop dan graph bisa menjadi anggota channel bersama orang dan agent tunggal, sehingga update mereka masuk ke ruang tim yang biasa. Untuk sisi penjadwalan lebih dalam, lihat menjadwalkan agent dengan cron dan trigger agent.

Pertanyaan yang sering diajukan pemula

Apakah Loop cuma cron job?
Bukan. Jadwal hanyalah satu bagian opsional. Loop adalah tim ditambah tujuan ditambah pengecekan, dengan batas ronde, dan dia mencatat kriteria mana yang terpenuhi di setiap ronde. Kamu bisa menjalankannya sekali secara manual tanpa pernah memberinya trigger.

Kalau Loop juga bisa menjalankan agent secara paralel, kenapa saya butuh Graph?
Paralelisme bukan pembedanya. Pakai Graph kalau langkah berikutnya bergantung pada hasil langkah sebelumnya: mengarahkan ke satu spesialis, mengulang hanya bagian yang gagal, menunggu persetujuan manusia, atau memanggil workflow lain. Kalau setiap run mengikuti langkah yang sama, Loop lebih sederhana.

Bisakah loop berjalan terus-menerus dan menghabiskan budget API saya?
Setiap loop siap pakai punya batas ronde dan berhenti setelah sejumlah kegagalan berturut-turut, dan kartunya menampilkan keduanya sebelum kamu mulai. Graph punya Maximum agents at once dan Hard token ceiling di pengaturan sesinya.

Apakah saya perlu menulis kode?
Untuk Loop tidak: pilih satu, atur tujuan dan trigger lewat dialog. Program Graph memang berupa kode, tapi kamu bisa mulai dari starter, membiarkan Maestro atau agent mengeditnya, dan mengubah input, batas, serta agent per langkah tanpa menyentuh programnya.

Kamu bisa mencoba keduanya di aplikasi desktop dari osfoundry.io/id/download.

Top comments (0)