ROMA

ROMA

Sentient (sentient-agi) · コーディング · その他

ROMA は Sentient のオープンソース・メタエージェントフレームワーク。複雑な依頼を再帰的なエージェントツリーでサブタスクに分け、結果を一つの答えにまとめる。

ROMA の画面プレビュー

ROMA について

What Is ROMA

ROMA は Recursive Open Meta-Agent の略で、マルチエージェントシステムを組むための無料のオープンソースフレームワークだ。巨大なプロンプトをつなぎ合わせる代わりに、目標を ROMA に渡すと、どう到達するかをシステムが決める。親ノードはタスクを直接解くか、より小さなサブタスクに分け、それぞれを文脈として下へ渡し、ツリーを上がってくる結果をまとめる。リポジトリは GitHub の sentient-agi 組織にあり、roma-dspy という Python パッケージとして導入する。

このフレームワークが狙うのは、ある種の失敗だ。記事の要約や簡単な質問への回答といった一ステップの作業は、ほぼ片付いている。何十ステップもかかる長い作業は片付いていない。小さなミスが積み重なり、実行全体が崩れるからだ。ROMA は構造で答える。各ノードは受け取ったものと出したものを明示するので、どこで実行が狂ったかを追える。ブラックボックスを眺める必要はない。

契約する前に押さえておくべき制約が二つある。ROMA はまだベータで、v0.1、次いで v0.2.0-beta と表記されており、リリース間で API が変わりうる。もう一つ、これは開発者向けのツールで、完成したアプリではない。Python を書き、モデルプロバイダーの API キーを設定し、使うエージェントとツールを自分で選ぶ。コードを書かない人にとっては、この上に作られた検索エージェントが取っ付きやすい入口になる。

Getting Started

  1. pip install roma-dspy か uv pip install roma-dspy でパッケージを入れ、OPENROUTER_API_KEY などのキーを設定する
  2. タスクに対して solve() を呼ぶか、Atomizer、Planner、Executor、Aggregator の各モジュールで自前の流れを組む
  3. 各モジュールをモデルと予測戦略に向け、Executor が呼ぶツールを接続する
  4. タスクを実行し、ノードごとのトレースを読んで答えがどう出たかを確認し、プロンプトを調整する
  5. 本番では Docker スタックを立ち上げ、PostgreSQL の永続化、REST API サーバー、MLflow の可観測性を足す

AIツール情報

ROMAの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0 (open-source, you pay only for your own model API usage)
プラットフォームWeb (Python library), REST API, CLI, Docker, Linux/macOS/Windows
開発元Sentient (sentient-agi)
カテゴリコーディング · その他
リリース日May 2025
最終更新Feb 2026
サイト訪問数41.8K
サイト世界ランキング835.5K
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • AI 開発者とエンジニア:Python でエージェントを作り、手組みのプロンプト連鎖ではなく、多段の長いタスクに向く構造が欲しい人
  • エージェント研究者:マルチエージェント推論を研究し、計測と拡張ができる透明で追跡可能なシステムを必要とするチーム
  • エージェント機能を出すプロダクトチーム:自社のモデル、ツール、人手のチェックポイントを、流れ全体を書き直さずに組み込みたい人
  • オープンソースの貢献者:閉じた API より、フォークして中を見て改良できるフレームワークを好む開発者

タスク

  • 調査とレポート作成:複数の情報源から事実を集め、突き合わせて、一つの文章の答えにまとめる
  • 複数ソースの検索:何段もの検索が要る問いを処理し、結果を一つの回答に束ねる
  • 暗号資産と金融の分析:ROMA には CoinGecko、Binance、DefiLlama、Arkham のキットを含むプロファイルがあり、市場データを扱える
  • Web と文書の作業:組み込みキットで検索、ファイル操作、コード実行を回す
  • 自前のパイプライン:各モジュールを自分の流れに組み、創作コンテンツから分析レポートまでこなす

シーン

  • 答えるのに多くの段が要る問い:ROMA が道筋を立て、サブタスクを実行し、整合が取れてから最終回答を返す
  • 途中で失敗した実行:段ごとのトレースが、どのノードが悪い出力を出したかを示す。鎖全体を組み直さず、プロンプトを一つ直せば済む
  • 独立して並行できるサブタスク:兄弟ノードは並列で走るので、数百ノードの大きな仕事も速いまま
  • 人の確認が要るタスク:任意のノードにチェックポイントを置き、事実の確認や計画の承認を挟んでから先へ進める

主な機能

再帰的なエージェントツリー

ROMA は各タスクをノードとして表す。ノードは直接実行するか、サブタスクに分かれるか、子の成果をまとめる。同じ判断ロジックが各階層で回るため、ツリーは問題が求めるだけ深くなる。この再帰的エージェントの構造が中心の考え方であり、一つのフレームワークで単純な問いも数十の部品を持つ仕事も扱える理由だ。

役割ごとに四つのモジュール

Atomizer は、そのタスクが直接解けるほど小さいかを判断する。Planner は残りを順序付きのサブタスクに割る。Executor は最小単位を一つずつ解き、必要ならツールを呼ぶ。Aggregator は子の結果を、生の寄せ集めではなく親タスクへの答えとしてまとめる。任意の Verifier が、渡す前に最終回答を元の目標と照らして確かめる。

透明な段ごとのトレース

各ノードは入力と出力を記録するので、実行全体を後から検証できる。推論がどう展開し、どのプロンプトがずれ、どのエージェントが弱い結果を出したかが見える。このトレースがあるからデバッグとプロンプト調整が実用的になり、内部の段を隠すフレームワークとの一番の違いになる。

どんなエージェント、ツール、モデルも接続

各ノードは別々のモデル、プロバイダー、戦略で動かせる。ツールを足したりエージェントを差し替えたりしても、ツリーの残りには触れない。キットはファイル、電卓、E2B 経由のコード実行、Web 検索、暗号資産データ、あらゆる MCP サーバーを網羅する。DSPy の予測戦略は、chain-of-thought から ReAct、CodeAct まで選択肢として用意されている。

並列実行と人手のチェックポイント

二つの兄弟サブタスクが互いに依存しないとき、ROMA は同時に走らせる。大きな仕事の速度が保たれる。このエージェント連携は、任意のノードで人が割り込み、事実の確認や文脈の追加、計画の承認をしてから続行することも許す。

実測された検索性能

Sentient はこのフレームワーク上に ROMA Search を作り、SEAL-0 で測った。SEAL-0 は SEALQA ベンチマークの中でも難しく、複数ソースの推論を試す部分だ。Sentient によれば、45.6% の正解率を出し、Kimi Researcher の 36% を上回り、Gemini 2.5 Pro の 19.8% の二倍以上だった。公開当時、最先端の位置に立った。

本番向けの Docker スタック

クイックスタートはデータベースなしで動く。試すには向いている。実際の配備では、Docker 構成が PostgreSQL の永続化とチェックポイント、対話的なドキュメント付きの FastAPI サーバー、実験を追う MLflow、大きな出力を置く S3 互換ストレージを足す。

メリットとデメリット

メリット

  • 無料かつオープンソース。閉じたブラックボックスを信じる代わりに、フレームワーク全体を読み、フォークし、拡張できる
  • 再帰的なタスクツリーは、単一プロンプトなら崩れる多段の長い仕事に耐える
  • 段ごとの完全なトレースで、デバッグとコンテキスト設計が速い。各ノードの入力と出力が見える
  • ノードごとにモデル、プロバイダー、ツールを混ぜられる。MCP サーバーと DSPy 戦略を標準で支える
  • 独立したサブタスクは並列で走り、数百ノードの大きな仕事も機敏なまま
  • 既製キットが検索、ファイル、コード実行、暗号資産データを網羅し、配線は要らない

デメリット

  • まだベータ(v0.1、次いで v0.2.0-beta)で、API が変わってリリース間でコードが壊れうる
  • 開発者向けで、エージェントを作るには Python を書く必要があり、コードを書かない人は使えない
  • モデルの API キーは自分で用意して払う。動かすほど費用がかさむ
  • 公式の単一価格もホスティングプランもなく、リポジトリに標準のライセンスファイルもない。商用利用の前に条件を確認したい

よくある質問

ROMA は Recursive Open Meta-Agent の略。名前は二つの考え方を示す。タスクを絶えずサブタスクへ分ける再帰的な構造と、誰でもその上に作れる開かれた拡張可能な設計だ。