Claude Codeエコシステムを観察している方なら、「興味深いnpmパッケージ」から「本格的なClaude Codeチームのデフォルトの連携レイヤー」へと静かに変化したプロジェクトに気づいているかもしれません。Rufloと呼ばれるこのプロジェクトは、rUvによってメンテナンスされており、オリジナルのclaude-flowの取り組みから生まれました。そのコンセプトはシンプルです。Claude Codeは単独では一度に1つのエージェントしか実行しませんが、Rufloはそれをスウォームに変えます。
このガイドでは、Rufloが何をするのか、MCPサーバーのスタックとどう異なるのか、いつ導入する価値があるのか、そしてApidogを使ってエージェントと基盤となるMCPトラフィックをテストする方法について説明します。Claude Codeが起動時に読み込むエージェントファイル形式を始めたばかりの方は、当社のagents.mdガイドを事前に読んでおく必要があります。
ダウンロード
TL;DR
- Ruflo(旧claude-flow)は、
rUvが提供するClaude Code向けのマルチエージェントオーケストレーションプラットフォームで、98のエージェント、60以上のコマンド、30のスキル、MCPサーバー、フック、デーモンを備えています。 npx ruvflo initを一度実行するだけで、Claude Codeがスウォームを生成し、セッション間でメモリを共有し、複数のマシン間で作業を連携させる調整レイヤーが追加されます。- インストールパスは2つあります。軽量なClaude Codeプラグイン(スラッシュコマンドのみ)と、完全なCLIインストール(すべてが連携済み)です。
- その基盤には、Rustを搭載したAIエンジン、埋め込み、プラグインシステム、そしてCognitum.Oneアーキテクチャがあります。
- Apidogを使用して、MCPサーバーの
tools/list、tools/call、およびフェデレーションエンドポイントをテストし、CI中にLLMプロバイダーをモックし、エージェントの回帰が発生した際にスウォームトラフィックをリプレイします。 - Rufloが日々のワークフローの大部分を占めるようになる前に、Apidogをダウンロードして、Rufloの上にコントラクトレイヤーを追加しましょう。
Rufloが実際にすること
デフォルトでは、Claude Codeはシングルエージェントループです。あなたは1つのモデルと対話し、それが1つのワークスペースを編集し、セッション間で何も記憶しません。これは短いタスクには機能しますが、リファクタリングを専門エージェントのスウォームで処理したい場合や、あるエージェントの発見が次のセッションに影響を与えるようにしたい場合、あるいは2つのマシンを連携させたい場合には破綻します。

Rufloは、Claude Codeに連携レイヤーとして組み込まれます。init後、Claudeに与えるすべてのタスクは、ルーターを経由し、以下のいずれかを決定します。
- タスクをシングルエージェントとして実行する(Claude Codeのデフォルト)
- 専門家のスウォームを生成する(例:セキュリティレビュー用、テスト用、ドキュメント用など)
- 以前のセッションのメモリから再開する
- 別のマシン上のエージェントに作業を連携させる
READMEには、「神経系を備えたClaude Code」と記述されています。これはその形態を的確に表しています。RufloはClaude Codeを置き換えるものではなく、100の専門エージェントを1つのツールのように感じさせるレイヤーを追加するものです。

1つの図で見るアーキテクチャ
READMEからの簡易フロー:
User -> Ruflo (CLI/MCP) -> Router -> Swarm -> Agents -> Memory -> LLM Providers
^ |
+---- Learning Loop <------+
テストにおいては5つのコンポーネントが重要です。
CLI/MCPエントリー。 Rufloはコマンドラインから、またはClaude CodeのMCP統合から操作できます。どちらのインターフェースも基盤では同じプロトコルを使用します。
ルーター。 小さな分類器(設定可能、ローカルモデルでも可)が、タスクがどのパスをたどるかを決定します。スウォームか、シングルエージェントか、再開か、連携か。
スウォーム。 特化したプロンプトとツールセットを持つ専門エージェントのプールです。スウォームの生成はCrewAIのクルーに相当しますが、Claude Code自身のコンテキストとより密接に統合されています。
メモリ。 セッション間で永続化され、将来のエージェントがクエリできます。ここで「学習ループ」が実行され、成功したパターンが評価され、再利用されます。
LLMプロバイダー。 Rufloはプロバイダーに依存しません。Claudeがデフォルトですが、OpenAI、DeepSeek、Gemini、およびローカルのOllamaは標準のプロバイダー設定を通じて動作します。
インストールパスは2つあります。実際にどの程度の機能が必要かに応じて選択してください。
インストールパスとそれぞれの機能
READMEでは、初回ユーザーがつまずきやすいトレードオフについて明記されています。
パスA: Claude Codeプラグイン(軽量版)。 Claude Codeマーケットプレイス経由で/plugin install ruflo-core@rufloでインストールします。これはスラッシュコマンドとエージェント定義のみを追加します。Ruflo MCPサーバーは登録されません。そのため、memory_store、swarm_init、agent_spawnなどのツールはClaudeから呼び出すことができません。単一のプラグインのコマンドを気軽に試すのに適しています。
パスB: CLIインストール(完全版)。 プロジェクト内でnpx ruvflo initを実行します。これにより、.claude/、.claude-flow/、CLAUDE.md、ヘルパースクリプト、およびMCPサーバーがセットアップされます。Claude Codeの操作ごとにフックが実行されます。メモリは永続化されます。98のエージェント、60以上のコマンド、30のスキル、およびフェデレーションがすべて連携されます。
READMEでは、「init後、Claude Codeを通常通り使用してください。フックシステムが自動的にタスクをルーティングします」と警告しています。これがポイントです。314ものMCPツールを記憶する必要はありません。フレームワークがルーティングを処理します。
Claude Codeを本格的に運用するほとんどのエンジニアリングチームにとっては、パスBが望ましい選択肢です。パスAは、単一のプラグインを単独で評価するためのものです。
提供される機能
プラグインカタログからのいくつかの際立ったコンポーネント。
ruflo-core。 メモリストア、スウォーム初期化、エージェント生成のプリミティブ。他のすべてのプラグインが構築される基盤です。
ruflo-swarm。 役割特化型のマルチエージェント連携。セキュリティエージェント、パフォーマンスエージェント、ドキュメントエージェント、シンセサイザーを含むコードレビュー用スウォームを生成します。
ruflo-autopilot。 長時間実行タスクの自動化。フレームワークに目標を与え、チェックポイントを設けながら完了するまで繰り返し実行させます。
ruflo-federation。 マシン間のセキュアなエージェント間通信。この連携レイヤーはペイロードを暗号化するため、2つの組織がソースコードを漏洩させることなくエージェントを連携させることができます。
RuVector。メモリレイヤーで使用されるベクターストアおよびグラフバックエンド。数百を超えるセッションのコンテキストが蓄積されたプロジェクトでは、オプションですが推奨されます。
プラグインマーケットプレイスには、テスト、セキュリティ、リファクタリング、可観測性向けの専門パックも提供されています。パターンは一貫しており、1つのプラグインが1つの特化された機能を提供し、すべてコアのメモリとスウォームのプリミティブの上に構築されています。
MCPレイヤーが重要な理由
RufloのMCPサーバーは、フレームワークがClaude Codeのランタイムに接続される仕組みです。すべてのスウォーム生成、メモリ書き込み、および連携されたハンドオフは、ローカルMCPサーバーへのJSON-RPCコールです。
そのため、MCPインターフェースはテストすべき最も重要な要素です。tools/listに回帰が発生すると、Claude Codeはスウォームプリミティブを認識しなくなり、チームは黙ってシングルエージェントモードに戻ってしまいます。memory_storeが誤った形式を返すと、エージェントはコンテキストを幻覚し始めます。
これは、MCPサーバーテストプレイブックで取り上げた問題と同じです。Ruflo MCPサーバーはJSON-RPC APIですので、そのように扱ってください。
ApidogでRuflo MCPサーバーをテストする
最初の回帰を検知した時点で元が取れる、スターターテストプラン。
ステップ1:標準リクエストをキャプチャする。 スクリーンプロジェクトでnpx ruvflo initを実行します。Rufloを有効にした状態でClaude Codeを通じていくつかの代表的なタスクを実行します。Claude CodeのMCPインスペクターを開き、initialize、tools/list、swarm_initを含むtools/call、およびmemory_storeを含むtools/callのJSON-RPCフレームをキャプチャします。
ステップ2:Apidogに貼り付ける。 新しいプロジェクトを作成し、ベースURLをローカルのRuflo MCPサーバー(パスBは登録されたMCPとしてインストールします)に設定し、キャプチャした各フレームをリクエストとして保存します。ApidogはJSON-RPCボディをネイティブで処理します。
ステップ3:アサーションを追加する。
initialize:result.serverInfo.name == "ruflo"であり、プロトコルバージョンがサポートするものと一致することをアサートします。tools/list:result.tools.length >= 100(Rufloは約100のツールを提供します)、すべてのツールがname、description、およびinputSchemaを持っていることをアサートします。swarm_initに対するtools/call:レスポンスにスウォームIDが含まれ、エラー結果ではないことをアサートします。memory_storeに対するtools/call:書き込みが成功し、同じキーがmemory_getで読み取り可能であることをアサートします。
ステップ4:LLMプロバイダーをモックする。 Rufloは、エージェントのすべての決定に対してClaude(または設定したプロバイダー)を呼び出します。CIの実行は、コミットごとに実際のプロバイダーにヒットすべきではありません。Apidogは、OpenAI互換のエンドポイントを現実的なレスポンスでモックします。テスト中は、Rufloのプロバイダー設定をモックに向けてください。このパターンは、PostmanなしのAPIテストで文書化したものと同じです。
ステップ5:CIでスイートを実行する。 ApidogのCLIランナーは、アサーション失敗時に非ゼロで終了します。これをGitHub Actionsに連携させれば、次回誰かがRufloを更新してMCPの形状を破壊した際に、PRがマージされる前に失敗します。
ApidogがRufloの日常的なループにどのように適合するか
CI以外にも、ApidogがRufloとの日常的な作業で役立つ3つの場面があります。
スウォームが異常な動作をしたとき。 Claude Codeが送信したtools/callフレームの正確なシーケンスをリプレイします。既知の正常な実行と比較して差分を確認します。差分は通常、プロンプトテンプレートの変更によりツール引数がずれたことを示します。

Rufloをアップグレードするとき。 新しいリリースでは、新しいツールサーフェスが提供されます。まずテストスイートを実行し、以前のバージョンとの差分によって、どのツールが名前変更、削除、または形状変更されたかがわかります。API契約の差分確認には、契約優先のAPI開発と同じワークフローを使用します。
フェデレーションが不安定なとき。 連携されたエージェントは暗号化されたチャネルで通信します。計測なしでハンドシェイクをデバッグするのは困難です。Apidogをローカルプロキシポートに向けると、連携トラフィックを記録できます。リクエストログによって障害が明確になります。
よくある落とし穴
GitHub IssuesやDiscordでよく見られるパターン。
プラグインパスをインストールし、完全なループを期待してしまう。 READMEは明確です。プラグインはスラッシュコマンドのみです。もしswarm_initがClaudeから呼び出せない場合、軽量パスをインストールしています。完全なインストールにはnpx ruvflo initを再実行してください。
フックレイヤーをスキップする。 パスBはタスクを自動的にルーティングするフックをインストールします。これらをアンインストールまたはオーバーライドすると、ルーターが機能しなくなり、スウォーム連携が失われます。理由がない限り、デフォルトのままにしておいてください。
メモリが無制限に増大するのを放置する。 メモリストアはデフォルトで永続的かつ無制限です。数週間の集中的な使用後、インデックスが十分に大きくなり、スウォームの生成が遅くなる可能性があります。保持期間を設定してください。READMEの設定ページで調整方法が説明されています。
Claude専用ツールと見なす。 Rufloはプロバイダーに依存しません。デフォルトはClaudeですが、コストに敏感なスウォームにはDeepSeek V4に、オフライン実行にはローカルのLlama 5.1に切り替えることができます。当社のDeepSeek V4 APIガイドと2026年のベストローカルLLMの記事で、両方のプロバイダー設定について説明しています。
フェデレーションが信頼境界を越えることを忘れる。 別のマシンに連携する場合、ペイロード(コードを含む可能性あり)をそのエンドポイントに送信することになります。暗号化レイヤーは強固ですが、ポリシーの策定はあなたの責任です。有効にする前に、どのプロジェクトが連携できるかを定義してください。
Rufloと他のエージェントフレームワークの比較
同じ会話で繰り返し話題に上るフレームワークが3つあります。
LangGraph。 より低レベルで汎用的。オーケストレーションは自分で構築します。完全な制御を望み、ワークフローがClaude Codeの形をしていない場合にLangGraphを選択してください。当社のTradingAgentsに関する記事でLangGraphに触れました。
CrewAI。 マルチエージェントでフレームワークに依存せず、設定の負荷が高い。Pythonが主要言語であるClaude以外のワークフローに適しています。
MCPサーバーを手動でスタックする。 自分で構築します。Rufloよりも軽量ですが、調整が困難です。2、3台のサーバーなら問題ありませんが、5台を超えると苦痛になります。
Rufloのニッチは「Claude Codeにスウォーム機能を追加したもの」です。日々の主要なツールがClaude Codeであり、600行のMCPボイラープレートを書かずに連携機能が欲しいのであれば、導入する価値があります。
パフォーマンスとスケーリングに関する注意点
Rufloを数ヶ月間運用しているチームからの2つの運用上の所見。
スウォームの生成には、ルーターの決定とツール登録のために2〜4秒の固定コストがかかります。非常に短いタスク(1行の編集など)の場合、このオーバーヘッドが支配的になります。ルーターには、これらのタスクをスウォームではなくシングルエージェントのパスに送るようにさせたいでしょう。デフォルトのルーティングは通常これを正しく行いますが、そうでない場合は、フック設定でしきい値を調整できます。
ストアが大きくなるにつれて、メモリクエリは遅くなります。SQLiteは数千セッションまでは問題なく処理できますが、それを超えるとPostgresまたはRuVectorに切り替えてください。6人のエンジニアと18ヶ月の履歴にわたってRufloを運用しているチームは、同じボリュームでデフォルトのSQLiteでは600ミリ秒かかるメモリクエリが、Postgresでは中央値40ミリ秒であると報告しています。
実際のユースケース
あるプラットフォームチームは、Rufloのフェデレーションレイヤーを利用して、一方のリポジトリでセキュリティレビューを実行し、もう一方ではリファクタリングスウォームを実行しており、両方とも共有メモリストアを介して連携しています。彼らは、矛盾する推奨事項を人間のレビュー担当者に提示します。
ある個人開発者は、RufloのオートパイロットモードをLinearチケットキューに接続しています。「P3チケットを選択し、チェックアウトし、修正案を提示し、PRを作成し、次に進む。」オートパイロットは夜間に実行され、開発者は朝にレビューします。
ある研究グループは、Rufloのマルチエージェントコードレビューパターンを使用して、3つのリポジトリにわたるPRの品質を評価しています。Claude SonnetでのLLM総費用は週50ドル未満であり、時給80ドルの人間レビュー担当者1人と比較して非常に安価です。
結論
Rufloは、「Claude Codeを一度に1つのエージェントだけでなく、どのようにスケールアップさせるか?」という問いに対する真剣な答えです。CLIインストールは、メモリ、スウォーム、フェデレーション、そして100以上のツールを備えたMCPサーバーを1つのコマンドで追加します。プラグインマーケットプレイスは機能を明確に分割しているため、段階的に導入できます。
5つの要点:
- Rufloは、Claude Codeを永続的なメモリとオプションのフェデレーションを備えたスウォームコーディネーターに変えます。
- パスA(プラグイン)は評価用であり、パスB(
npx ruvflo init)は日常使用用です。 - MCPサーバーは契約インターフェースであり、他のJSON-RPC APIと同様にテストしてください。
- Apidogは、標準のMCPリクエストをキャプチャし、アサーションを追加し、CIでスイートを実行するのに最も適した場所です。
- CIの実行を高速かつ無料に保つために、ApidogでLLMプロバイダーをモックしてください。
次のステップ:スクラッチプロジェクトでnpx ruvflo initを実行し、Claude CodeのインスペクターでMCPフレームをキャプチャし、それらをApidogプロジェクトに貼り付けます。最初に検出した回帰が、セットアップの費用を償うでしょう。
よくある質問
- Rufloはclaude-flowと同じですか?はい。Rufloは
rUv(同じ著者)によってメンテナンスされている、名称変更されたclaude-flowです。npmパッケージはruvflo、GitHubリポジトリはruvnet/rufloです。既存のclaude-flow設定は引き続き機能します。 - プラグインとCLIインストールの両方が必要ですか?いいえ。どちらか一方を選択してください。プラグインはスラッシュコマンドを提供し、CLIインストールは完全な連携レイヤーを提供します。ほとんどのチームはCLIインストールを望んでいます。
- ClaudeなしでRufloを使用できますか?はい。Rufloはプロバイダーに依存しません。プロバイダー設定でDeepSeek V4、GPT-5.5、Gemini、またはローカルモデルを設定できます。このフレームワークがclaude-flowから生まれたため、Claudeがデフォルトです。
- メモリはどこに保存されますか?設定に応じて、ローカルのSQLiteまたはPostgresストアに保存されます。オプションのRuVectorバックエンドは、セマンティック検索のためのベクトル検索機能を追加します。明示的に設定しない限り、メモリがサードパーティサービスに漏洩することはありません。
- CIでMCPサーバーをテストするにはどうすればよいですか?MCPインスペクターで標準リクエストをキャプチャし、それらをApidogに貼り付け、JSONPathアサーションを追加し、CIで
apidog runを実行します。完全なパターンは、MCPサーバーテストプレイブックに記載されています。 - 組織をまたぐ連携は安全ですか?暗号化レイヤーは強固です。ポリシーレイヤーはあなたの責任です。どのプロジェクトが連携できるかを定義し、送信前にシークレットのペイロードをスクラブし、監査ログを定期的に確認してください。
- 費用はどれくらいですか?フレームワークはMITライセンスで無料です。費用は、エージェントのLLMトークンと、選択したホスト型ベクターストアの費用です。ヘビーユーザーの報告によると、Claude SonnetをRufloの日常使用で利用した場合、月に200ドル未満とのことです。
