科学工具
科学工具让世界更美好
让世界更美好

ROMA 递归开放元代理框架

ROMA是一个递归开放元代理(Recursive Open Meta-Agents)框架,通过递归分层结构解决复杂问题,将大型任务分解为可并行执行的子组件,以实现高效且透明的复杂推理。ROMA提供并行问题解决能力,确保代理可同时处理任务的不同部分,通过清晰的结构简化开发与调试。ROMA在基准测试中表现出色,作为一个开源可扩展平台,鼓励社区构建和定制代理,其运作基于一个递归的“计划-执行”循环:任务首先通过原子化器判断是否为原子性,非原子任务由规划器分解为子任务并递归处理,原子任务则由执行器(兼容各类大型语言模型、API或其他代理)处理,最终由聚合器整合子任务结果以生成父任务的最终答案。ROMA支持自顶向下任务分解、自底向上结果聚合及基于依赖的信息流,并具有代理无关性,能与任何实现agent.run()接口的LLM提供商协同。ROMA允许无缝连接外部工具,并通过E2B沙箱提供安全的沙盒代码执行和S3数据集成。ROMA提供了通用任务求解器、深度研究代理和加密货币分析代理等预构建示例,作为构建自定义代理的参考模板。

ROMA通过“计划-执行”递归循环处理任务,整个流程可拆解为四个关键模块,各模块协同工作形成完整的问题解决链路:

1、原子化判断(Atomizer):判断接收到的请求是否属于“原子任务”——即能直接执行的简单任务。若不是,则触发后续计划流程;若是,则直接转交执行模块处理。

2、任务规划(Planner):当任务需要规划时,将其拆解为更小的子任务。每个子任务会再次进入原子化判断环节,形成递归处理机制,确保所有任务都能分解到可执行粒度。

3、任务执行(Executors):负责处理原子任务,支持多种执行载体,包括大语言模型(LLM)、各类API,甚至其他智能体,只要这些载体能实现agent.execute()接口,就能接入框架。

4、结果聚合(Aggregator):收集所有子任务的执行结果,并将其整合为原始父任务的最终答案,而非简单堆砌子任务输出,保证结果的连贯性与有效性。

任务处理过程中,信息按三种路径流动:

• 自上而下:任务被递归拆解为子任务,逐步细化。

• 自下而上:子任务的结果逐层向上聚合,最终形成总任务答案。

• 从左到右:若子任务依赖前一个子任务的输出,会等待前序任务完成后再启动,确保任务间依赖关系被正确处理。

ROMA的技术栈覆盖前后端、数据存储、安全等多个维度,确保框架的稳定性与扩展性:

• 基础框架:基于AgnoAgents构建

• 后端:采用Python 3.12及以上版本,搭配FastAPI/Flask框架

• 前端:使用React + TypeScript开发,支持WebSocket实时交互

• 大语言模型支持:通过LiteLLM实现多提供商兼容,可接入任意LLM服务

• 数据持久化:支持企业级S3挂载,包含安全验证机制,如零延迟文件访问的goofys FUSE挂载、路径注入防护、AWS凭证验证等

• 容器化:动态Docker Compose配置,支持安全卷挂载

• 代码执行:集成E2B沙箱,实现与S3的统一集成

• 安全:具备生产级别的验证与错误处理机制

• 功能特性:支持多模态交互、工具集成、MCP(多智能体协作协议)、钩子函数、缓存等

ROMA安装

快速启动(推荐)

# 克隆仓库
git clone https://github.com/sentient-agi/ROMA.git
cd ROMA

# 运行自动化安装脚本(可选择Docker或原生安装)
./setup.sh

# (可选)配置E2B沙箱集成
./setup.sh --e2b

# (可选)测试E2B集成效果
./setup.sh --test-e2b

命令行选项

除基础安装外,还可通过命令行参数指定安装模式:

./setup.sh --docker:直接启动Docker安装

./setup.sh --docker-from-scratch:从零重建Docker镜像/容器(清除缓存并删除卷)

./setup.sh --native:直接启动原生安装(支持macOS/Ubuntu/Debian系统)

./setup.sh --help:查看所有可用选项

手动安装

若需自定义安装流程,可参考项目“setup docs”中的详细说明。

E2B沙箱集成(可选)

为实现安全的代码执行能力,可额外配置E2B沙箱,步骤如下:

1、完成主安装流程后,在.env文件中配置E2B_API_KEY与AWS凭证

2、执行./setup.sh --e2b完成集成配置

3、执行./setup.sh --test-e2b测试集成效果

E2B沙箱提供多项核心能力:隔离环境中的安全代码执行、本地与沙箱环境间的自动S3数据同步、高性能S3文件系统挂载(基于goofys)、通过Docker构建参数安全传递AWS凭证。

预置智能体

ROMA附带三个预置智能体,均通过简单的“氛围提示”(vibe-prompting)和少量手动调优构建,能展示框架的易用性,而非最终生产级解决方案。这些智能体覆盖不同使用场景,可作为自定义开发的模板:

通用任务解决器

依托ChatGPT搜索预览功能,适用于多种任务场景:

• 智能搜索:借助OpenAI最新搜索能力获取实时信息

• 灵活规划:根据查询复杂度动态调整任务拆解方式

• 跨场景适配:能处理技术问题、创意项目等多个领域需求

• 快速原型:无需特定领域配置,就能测试ROMA框架核心能力

适用场景:通用研究、事实核查、探索性分析、快速信息收集

深度研究智能体

针对复杂研究问题设计的完整系统:

• 智能任务拆解:自动将研究主题拆分为搜索、分析、综合三个阶段

• 并行信息收集:同时执行多个搜索任务,缩短结果获取时间

• 多源整合:融合网页搜索、维基百科、专业API等多种来源的信息

• 智能综合:将分散的研究结果整合成结构清晰、逻辑连贯的报告

适用场景:学术研究、市场分析、竞争情报、技术文档编写

加密货币分析智能体

专注于区块链与去中心化金融(DeFi)领域的专业分析工具:

• 实时市场数据:集成Binance、CoinGecko、DefiLlama等平台的API数据

• 链上分析:接入Arkham Intelligence,支持钱包追踪与代币流向分析

• 技术分析:提供OHLC数据与市场指标的高级图表展示

• DeFi指标:支持TVL(总锁仓价值)追踪、收益分析、协议对比

• 安全执行:在E2B沙箱中运行分析任务,同时实现数据持久化

适用场景:代币研究、投资组合分析、DeFi协议评估、市场趋势分析

快速构建首个智能体

只需3行代码,就能创建并运行一个智能体,具体步骤如下:

1、执行./setup.sh完成自动化安装(选择Docker或原生安装)

2、在localhost:5000启动后端服务后,访问localhost:3000的前端页面,即可使用所有预置智能体

3、若需自定义,可参考“Setup”与“Agents Guide”文档,基础代码示例如下:

from sentientresearchagent import SentientAgent

agent = SentientAgent.create()
result = await agent.run("制作一期关于AI安全的播客内容")

性能基准测试

团队针对基于ROMA构建的搜索系统(ROMA-Search),在三个权威基准测试中进行了性能验证,结果如下:

SEAL-0

该基准测试专注于“搜索增强语言模型”在事实类问题中的表现,尤其针对网页搜索结果存在冲突、噪音或无效信息的复杂场景。测试结果显示,ROMA-Search准确率达到45.6%,在开源智能体中表现突出,超过PPLX Deep Research(36.0%)、Grok-4(31.5%)等多个开源及闭源模型。

FRAMES

这一基准测试从事实准确性、检索精度、推理能力三个维度评估检索增强生成(RAG)系统。ROMA-Search在该测试中准确率为81.7%,仅次于闭源的Kimi-Researcher*(78.8%),领先于OpenDeepSearch(75.3%)、GPT-4o-search(65.5%)等其他系统。

SimpleQA

专注于评估语言模型回答简短事实类问题的能力。ROMA-Search在该测试中准确率达93.9%,与PPLX Deep-Research、Kimi-Researcher*处于同一水平,显著高于GPT4o-Search(90%)、OpenDeepSearch(88.3%)等模型。