DEV Community

Cover image for Cara Menggunakan Claude Code yang Salah? Ruflo Memperbaikinya!
Walse
Walse

Posted on • Originally published at apidog.com

Cara Menggunakan Claude Code yang Salah? Ruflo Memperbaikinya!

Jika Anda memakai Claude Code untuk pekerjaan sehari-hari, Ruflo membantu mengubah pola “satu agen, satu sesi” menjadi orkestrasi multi-agen dengan memori, hooks, dan server MCP. Proyek ini bernama Ruflo, dikelola oleh rUv, dan berkembang dari claude-flow.

Coba Apidog hari ini

Panduan ini membahas apa yang dilakukan Ruflo, kapan perlu dipasang, cara memilih jalur instalasi, dan bagaimana menguji lalu lintas MCP-nya dengan Apidog. Jika Anda belum memahami format file agen yang dibaca Claude Code saat boot, baca dulu panduan agents.md.

TL;DR

  • Ruflo, sebelumnya claude-flow, adalah platform orkestrasi multi-agen untuk Claude Code.
  • Ruflo menyediakan 98 agen, 60+ perintah, 30 skill, server MCP, hooks, dan daemon.
  • Jalankan npx ruvflo init untuk menambahkan lapisan koordinasi ke proyek Claude Code.
  • Ada dua mode instalasi:
    • Plugin Claude Code versi lite.
    • Instalasi CLI penuh.
  • Gunakan Apidog untuk menguji endpoint MCP seperti tools/list, tools/call, dan federasi server.
  • Unduh Apidog jika Anda ingin menambahkan pengujian kontrak sebelum Ruflo menjadi bagian dari workflow harian.

Apa yang sebenarnya dilakukan Ruflo

Secara default, Claude Code berjalan sebagai loop agen tunggal:

  1. Anda memberi instruksi.
  2. Model membaca workspace.
  3. Model mengedit file.
  4. Sesi selesai.
  5. Konteks antar sesi tidak selalu berlanjut.

Ini cukup untuk tugas kecil. Tetapi untuk refactor besar, audit keamanan, dokumentasi, atau koordinasi antar mesin, pola agen tunggal cepat menjadi terbatas.

Ruflo overview

Ruflo menambahkan lapisan koordinasi di atas Claude Code. Setelah init, tugas yang Anda kirim ke Claude Code dapat dirutekan ke beberapa jalur:

  • Jalankan sebagai agen tunggal.
  • Luncurkan swarm berisi agen spesialis.
  • Lanjutkan dari memori sesi sebelumnya.
  • Federasikan pekerjaan ke agen di mesin lain.

Contoh praktis:

Task: Refactor modul autentikasi dan pastikan tidak ada regresi keamanan.

Ruflo dapat merutekan tugas ke:
- security-review agent
- test-generation agent
- refactor agent
- documentation agent
- synthesizer agent
Enter fullscreen mode Exit fullscreen mode

Ruflo tidak menggantikan Claude Code. Ia menambahkan lapisan koordinasi agar beberapa agen spesialis terasa seperti satu workflow.

Ruflo agents

Arsitektur Ruflo dalam satu alur

Alur sederhana dari README:

User -> Ruflo (CLI/MCP) -> Router -> Swarm -> Agents -> Memory -> LLM Providers
                       ^                          |
                       +---- Learning Loop <------+
Enter fullscreen mode Exit fullscreen mode

Komponen yang perlu Anda pahami sebelum menggunakannya di proyek nyata:

1. CLI dan MCP entrypoint

Ruflo dapat dioperasikan dari CLI atau melalui integrasi MCP Claude Code. Keduanya memakai protokol yang sama di bawahnya.

2. Router

Router menentukan apakah sebuah tugas harus diproses oleh:

  • agen tunggal,
  • swarm,
  • memori sesi sebelumnya,
  • atau federasi.

Router dapat dikonfigurasi dan dapat memakai model lokal.

3. Swarm

Swarm adalah kumpulan agen spesialis dengan prompt dan toolset masing-masing.

Contoh peran dalam swarm review kode:

- security-reviewer
- performance-reviewer
- test-writer
- docs-writer
- final-synthesizer
Enter fullscreen mode Exit fullscreen mode

4. Memori

Memori Ruflo persisten antar sesi. Agen berikutnya dapat mengambil konteks dari pekerjaan sebelumnya.

Contoh penggunaan:

Sesi 1:
- Agen menemukan pola bug di modul billing.
- Temuan disimpan ke memory_store.

Sesi 2:
- Agen lain membaca temuan tersebut melalui memory_get.
- Refactor berikutnya memakai konteks lama.
Enter fullscreen mode Exit fullscreen mode

5. Penyedia LLM

Ruflo agnostik terhadap penyedia model. Claude adalah default, tetapi penyedia seperti OpenAI, DeepSeek, Gemini, dan Ollama lokal dapat digunakan melalui konfigurasi provider.

Pilih jalur instalasi

Ruflo punya dua jalur instalasi. Pilih sesuai kebutuhan.

Jalur A: Plugin Claude Code versi lite

Instal melalui marketplace Claude Code:

/plugin install ruflo-core@ruflo
Enter fullscreen mode Exit fullscreen mode

Jalur ini menambahkan:

  • slash command,
  • definisi agen,
  • pengalaman evaluasi ringan.

Namun, jalur ini tidak mendaftarkan server MCP Ruflo. Artinya tool seperti berikut tidak dapat dipanggil penuh dari Claude:

memory_store
swarm_init
agent_spawn
Enter fullscreen mode Exit fullscreen mode

Gunakan jalur ini jika Anda hanya ingin mencoba perintah plugin tanpa mengubah setup proyek.

Jalur B: Instalasi CLI penuh

Untuk penggunaan serius, jalankan:

npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

Perintah ini menyiapkan:

.claude/
.claude-flow/
CLAUDE.md
helper scripts
MCP server
hooks
memory layer
agent definitions
Enter fullscreen mode Exit fullscreen mode

Setelah itu, gunakan Claude Code seperti biasa. Hooks Ruflo akan merutekan tugas secara otomatis.

Jalur ini memberi Anda:

  • 98 agen,
  • 60+ perintah,
  • 30 skill,
  • server MCP,
  • memori persisten,
  • swarm,
  • federasi,
  • daemon.

Untuk sebagian besar tim engineering yang memakai Claude Code setiap hari, jalur CLI penuh adalah pilihan utama.

Komponen utama dalam paket Ruflo

ruflo-core

Fondasi Ruflo. Berisi primitif untuk:

  • penyimpanan memori,
  • inisialisasi swarm,
  • pemijahan agen,
  • koordinasi dasar.

ruflo-swarm

Plugin untuk koordinasi multi-agen.

Contoh workflow:

Goal:
Review PR besar sebelum merge.

Swarm:
- security agent
- performance agent
- testing agent
- documentation agent
- synthesizer
Enter fullscreen mode Exit fullscreen mode

ruflo-autopilot

Dipakai untuk tugas jangka panjang dengan checkpoint.

Contoh:

Ambil tiket P3 dari backlog.
Analisis bug.
Buat patch.
Jalankan test.
Buka PR.
Lanjutkan ke tiket berikutnya.
Enter fullscreen mode Exit fullscreen mode

ruflo-federation

Menghubungkan agen antar mesin dengan komunikasi terenkripsi.

Gunakan ini jika Anda ingin membagi pekerjaan antar workstation atau environment berbeda. Tetap definisikan batas kepercayaan sebelum mengaktifkannya.

RuVector

Backend vektor dan grafik untuk lapisan memori. Opsional, tetapi berguna jika proyek memiliki banyak riwayat sesi dan butuh pencarian semantik.

Mengapa MCP perlu diuji

Server MCP Ruflo adalah kontrak utama antara Claude Code dan Ruflo.

Operasi penting seperti ini adalah panggilan JSON-RPC:

initialize
tools/list
tools/call
memory_store
memory_get
swarm_init
agent_spawn
Enter fullscreen mode Exit fullscreen mode

Jika tools/list berubah bentuk, Claude Code bisa gagal melihat tool swarm. Jika memory_store mengembalikan response yang tidak sesuai, agen dapat kehilangan konteks atau memakai konteks yang salah.

Karena itu, perlakukan server MCP Ruflo seperti API JSON-RPC biasa. Pola yang sama dibahas di panduan pengujian server MCP.

Menguji server MCP Ruflo dengan Apidog

Berikut workflow implementasi yang bisa langsung dipakai.

Langkah 1: inisialisasi Ruflo di proyek uji

Buat proyek awal atau gunakan repo sandbox:

mkdir ruflo-mcp-test
cd ruflo-mcp-test
npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

Lalu jalankan beberapa tugas representatif dari Claude Code, misalnya:

- Buat unit test untuk modul auth.
- Review kode untuk risiko keamanan.
- Simpan ringkasan arsitektur ke memori.
- Jalankan swarm untuk refactor kecil.
Enter fullscreen mode Exit fullscreen mode

Langkah 2: tangkap frame JSON-RPC MCP

Buka MCP inspector Claude Code dan tangkap request seperti:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}
Enter fullscreen mode Exit fullscreen mode
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}
Enter fullscreen mode Exit fullscreen mode

Contoh tools/call untuk swarm_init:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "swarm_init",
    "arguments": {
      "task": "Review modul autentikasi",
      "mode": "code_review"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Contoh tools/call untuk memory_store:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "memory_store",
    "arguments": {
      "key": "auth-review-summary",
      "value": "Modul auth perlu tambahan test untuk token expiry."
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Langkah 3: simpan request di Apidog

Di Apidog:

  1. Buat project baru.
  2. Set base URL ke server MCP Ruflo lokal.
  3. Buat endpoint untuk setiap frame JSON-RPC.
  4. Simpan request initialize, tools/list, tools/call.
  5. Kelompokkan request dalam collection, misalnya Ruflo MCP Contract Tests.

Langkah 4: tambahkan assertions

Tambahkan penegasan untuk memastikan kontrak MCP tidak berubah diam-diam.

Contoh assertion untuk initialize:

result.serverInfo.name == "ruflo"
Enter fullscreen mode Exit fullscreen mode

Contoh assertion untuk tools/list:

result.tools.length >= 100
Enter fullscreen mode Exit fullscreen mode

Validasi setiap tool memiliki field penting:

result.tools[*].name
result.tools[*].description
result.tools[*].inputSchema
Enter fullscreen mode Exit fullscreen mode

Untuk swarm_init, validasi bahwa response berisi ID swarm dan bukan error:

error == null
result.swarmId exists
Enter fullscreen mode Exit fullscreen mode

Untuk memory_store, validasi bahwa data bisa dibaca kembali:

memory_store -> success == true
memory_get   -> value == expected value
Enter fullscreen mode Exit fullscreen mode

Langkah 5: tiru penyedia LLM saat CI

Ruflo memanggil penyedia LLM untuk keputusan agen. Dalam CI, sebaiknya jangan memanggil Claude, OpenAI, atau provider sungguhan pada setiap commit.

Gunakan mock server di Apidog untuk membuat endpoint kompatibel OpenAI dengan response stabil.

Contoh response mock:

{
  "id": "chatcmpl-mock",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Gunakan swarm code_review dengan agen security dan testing."
      },
      "finish_reason": "stop"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Lalu arahkan konfigurasi provider Ruflo ke mock endpoint selama CI.

Pola ini sama dengan pendekatan di pengujian API tanpa Postman.

Langkah 6: jalankan suite di CI

Gunakan runner CLI Apidog agar test gagal jika kontrak MCP berubah.

Contoh workflow GitHub Actions:

name: Ruflo MCP Contract Test

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  mcp-contract:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Init Ruflo
        run: npx ruvflo init

      - name: Run Apidog tests
        run: apidog run
Enter fullscreen mode Exit fullscreen mode

Sesuaikan command runner dengan konfigurasi Apidog Anda.

Kapan Apidog berguna dalam workflow Ruflo

Di luar CI, Apidog berguna pada tiga situasi harian.

1. Saat swarm berperilaku aneh

Jika hasil swarm berubah setelah update prompt atau plugin, putar ulang frame tools/call yang sama.

Bandingkan:

Run lama:
tools/call -> swarm_init -> args A -> hasil benar

Run baru:
tools/call -> swarm_init -> args B -> hasil salah
Enter fullscreen mode Exit fullscreen mode

Perbedaan argumen biasanya menunjukkan prompt template atau router berubah.

Apidog MCP testing

2. Saat upgrade Ruflo

Sebelum upgrade:

  1. Jalankan suite MCP di versi lama.
  2. Upgrade Ruflo.
  3. Jalankan suite lagi.
  4. Bandingkan response shape.

Jika ada tool berubah nama, dihapus, atau input schema berubah, Anda akan melihatnya sebelum workflow tim rusak.

Pola ini mirip dengan pengujian kontrak di pengembangan API contract-first.

3. Saat federasi bermasalah

Federasi memakai komunikasi terenkripsi antar agen. Debug handshake bisa sulit tanpa log request.

Dengan proxy lokal dan logging request, Apidog dapat membantu melihat:

  • endpoint mana yang dipanggil,
  • payload mana yang gagal,
  • response mana yang tidak sesuai,
  • kapan handshake berhenti.

Kesalahan umum saat memakai Ruflo

1. Menginstal plugin lite tetapi mengharapkan fitur penuh

Jika Anda hanya menjalankan:

/plugin install ruflo-core@ruflo
Enter fullscreen mode Exit fullscreen mode

lalu swarm_init tidak tersedia, itu normal. Anda memakai jalur plugin lite.

Untuk instalasi penuh, jalankan:

npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

2. Menghapus hooks

Jalur CLI penuh memasang hooks agar task otomatis dirutekan. Jika hooks dihapus atau ditimpa, router tidak aktif dan Claude Code kembali terasa seperti agen tunggal.

Biarkan konfigurasi default sampai Anda tahu bagian mana yang ingin diubah.

3. Membiarkan memori tumbuh tanpa retensi

Memori Ruflo persisten. Jika dibiarkan tumbuh tanpa batas, query memori dapat melambat.

Praktik yang disarankan:

- Tetapkan retensi memori.
- Arsipkan sesi lama.
- Pindahkan storage ke Postgres atau RuVector jika volume besar.
- Pantau latency query memori.
Enter fullscreen mode Exit fullscreen mode

4. Menganggap Ruflo hanya untuk Claude

Ruflo default ke Claude, tetapi tidak terbatas pada Claude. Anda dapat mengonfigurasi provider lain seperti DeepSeek V4 atau model lokal.

Referensi terkait:

5. Mengaktifkan federasi tanpa batas kepercayaan

Federasi dapat mengirim payload, termasuk kode, ke mesin lain. Enkripsi membantu transport, tetapi kebijakan akses tetap tanggung jawab Anda.

Sebelum mengaktifkan federasi:

- Tentukan repo mana yang boleh difederasikan.
- Bersihkan payload dari secret.
- Batasi endpoint yang dipercaya.
- Tinjau audit log secara berkala.
Enter fullscreen mode Exit fullscreen mode

Perbandingan dengan framework agen lain

LangGraph

LangGraph lebih rendah level dan generik. Anda membangun orkestrasi sendiri.

Pilih LangGraph jika:

  • workflow tidak berpusat pada Claude Code,
  • Anda ingin kontrol penuh,
  • Anda siap menulis logika graph sendiri.

Kami membahas LangGraph dalam artikel TradingAgents.

CrewAI

CrewAI juga multi-agen dan agnostik framework, tetapi lebih banyak konfigurasi.

Pilih CrewAI jika:

  • workflow utama berbasis Python,
  • Anda tidak bergantung pada Claude Code,
  • Anda ingin mendefinisikan agen dan task secara eksplisit.

Server MCP manual

Anda juga bisa menumpuk beberapa server MCP sendiri.

Cocok untuk:

- 2 sampai 3 server MCP
- integrasi sederhana
- kebutuhan koordinasi rendah
Enter fullscreen mode Exit fullscreen mode

Mulai terasa berat ketika jumlah server bertambah dan Anda butuh memori, routing, federasi, serta koordinasi antar agen.

Posisi Ruflo

Ruflo paling cocok jika:

- Claude Code adalah tool harian Anda.
- Anda ingin swarm tanpa menulis boilerplate MCP besar.
- Anda butuh memori antar sesi.
- Anda ingin koordinasi agen dengan setup minimal.
Enter fullscreen mode Exit fullscreen mode

Catatan performa dan skala

Ada dua hal operasional yang perlu diperhatikan.

Overhead swarm

Meluncurkan swarm punya biaya tetap, termasuk keputusan router dan registrasi tool. Untuk edit kecil satu baris, overhead ini bisa lebih besar daripada pekerjaannya.

Praktik yang disarankan:

- Biarkan tugas kecil lewat jalur agen tunggal.
- Gunakan swarm untuk refactor, review, test generation, dan dokumentasi.
- Sesuaikan hooks jika router terlalu sering meluncurkan swarm.
Enter fullscreen mode Exit fullscreen mode

Latency memori

Query memori melambat saat storage bertambah besar.

Panduan umum:

- SQLite cukup untuk proyek kecil dan beberapa ribu sesi.
- Postgres lebih baik untuk riwayat besar.
- RuVector berguna untuk pencarian semantik.
Enter fullscreen mode Exit fullscreen mode

Sebuah tim yang menjalankan Ruflo untuk enam engineer dan riwayat 18 bulan melaporkan query memori median 40 ms di Postgres, dibandingkan 600 ms di SQLite default pada volume yang sama.

Studi kasus penggunaan

Tim platform

Sebuah tim platform memakai federasi Ruflo untuk menjalankan review keamanan pada satu repo sementara swarm refactoring berjalan di repo lain. Keduanya dikoordinasikan melalui memori bersama. Rekomendasi yang bertentangan tetap ditampilkan ke reviewer manusia.

Developer solo

Seorang developer solo menghubungkan autopilot Ruflo ke antrean tiket Linear:

Pilih tiket P3.
Analisis.
Buat perbaikan.
Buka PR.
Lanjutkan.
Enter fullscreen mode Exit fullscreen mode

Autopilot berjalan semalaman, lalu PR ditinjau pada pagi hari.

Kelompok riset

Sebuah kelompok riset memakai pola review kode multi-agen Ruflo untuk mengevaluasi kualitas PR di tiga repositori. Total pengeluaran LLM berada di bawah $50 per minggu di Claude Sonnet, dibandingkan reviewer manusia tunggal seharga $80 per jam.

Kesimpulan

Ruflo menjawab kebutuhan umum pengguna Claude Code: menjalankan lebih dari satu agen dengan koordinasi, memori, dan server MCP. Instalasi CLI menambahkan swarm, hooks, federasi, dan kontrak MCP dalam satu perintah.

Poin penting:

  • Ruflo mengubah Claude Code menjadi koordinator swarm.
  • Jalur plugin cocok untuk evaluasi ringan.
  • Jalur CLI penuh cocok untuk penggunaan harian.
  • Server MCP adalah permukaan kontrak yang harus diuji.
  • Apidog dapat dipakai untuk menangkap request MCP, menambahkan assertions, membuat mock provider LLM, dan menjalankan test di CI.

Langkah berikutnya:

npx ruvflo init
Enter fullscreen mode Exit fullscreen mode

Lalu tangkap frame MCP di inspector Claude Code dan simpan sebagai collection di Apidog. Regresi pertama yang tertangkap akan membayar waktu setup Anda.

FAQ

Apakah Ruflo sama dengan claude-flow?

Ya. Ruflo adalah claude-flow yang diganti nama, dikelola oleh rUv. Paket npm-nya adalah ruvflo, dan repo GitHub-nya adalah ruvnet/ruflo. Konfigurasi claude-flow yang ada tetap berfungsi.

Apakah saya perlu plugin dan instalasi CLI?

Tidak. Pilih salah satu.

Gunakan plugin jika Anda hanya ingin slash command. Gunakan instalasi CLI jika Anda ingin lapisan koordinasi penuh.

Bisakah saya memakai Ruflo tanpa Claude?

Ya. Ruflo agnostik terhadap provider. Anda dapat mengonfigurasi DeepSeek V4, GPT-5.5, Gemini, atau model lokal. Claude menjadi default karena Ruflo berkembang dari claude-flow.

Di mana memori Ruflo disimpan?

Memori disimpan di SQLite atau Postgres lokal, tergantung konfigurasi. Backend opsional RuVector menambahkan pencarian vektor untuk retrieval semantik.

Memori tidak dikirim ke layanan pihak ketiga kecuali Anda mengonfigurasinya secara eksplisit.

Bagaimana cara menguji server MCP di CI?

Alurnya:

1. Tangkap request kanonis dengan MCP inspector.
2. Simpan request di Apidog.
3. Tambahkan assertions JSONPath.
4. Jalankan apidog run di CI.
5. Gagalkan PR jika kontrak MCP berubah.
Enter fullscreen mode Exit fullscreen mode

Pola lengkapnya ada di panduan pengujian server MCP.

Apakah federasi aman antar organisasi?

Lapisan enkripsi kuat, tetapi kebijakan tetap tanggung jawab Anda. Tentukan proyek mana yang boleh berfederasi, bersihkan payload dari secret, dan tinjau audit log secara rutin.

Berapa biayanya?

Framework Ruflo berlisensi MIT dan gratis. Biaya utama berasal dari token LLM dan storage vektor terkelola yang Anda pilih. Pengguna berat melaporkan kurang dari $200 per bulan pada Claude Sonnet untuk penggunaan Ruflo harian.

Top comments (0)