OpenNSWM-Lab/FAROS · 上手攻略

  • 仓库:OpenNSWM-Lab/FAROS
  • 链接:https://github.com/OpenNSWM-Lab/FAROS
  • 分类:ai
  • 作者:Tom
  • 更新:2026-07-10

是什么

FAROS(Foundation AutoResearch Operating System)是一个蓝图驱动的自动化科研工作流运行时。它的核心理念是:科研自动化不是"一个固定prompt的AI agent",而是一个可配置的运行时——你定义工作流蓝图(Blueprint),绑定执行策略(Profile),然后让系统自动执行从"想法→实验→论文→审稿"的全链路。

当前发布的是 FAROS-LLM:第一个可运行的基线实现,覆盖 LLM 领域的完整科研自动化流程。


解决什么问题

  • AI 科研 agent 太死板:大多数"AI Scientist"是一个固定 prompt 的单 agent,遇到新场景就要改代码
  • 工作流无法复用:每个新任务重写一套提示词,没有标准化的执行框架
  • 端到端自动化缺失:想法→代码实验→论文写作→审稿模拟,这四个环节各自孤立,没有统一编排

FAROS 的解法是把每个环节做成可插拔的 Capability(能力),由运行时统一编排,支持多 provider(不只 LLM)。


核心概念(先读再上手)

概念 职责
Blueprint 定义工作流图、约束、输出契约和验证要求
Capability 实现一个可执行的科研步骤(如 idea 生成、实验、论文起草、审稿模拟)
Profile 将 Blueprint 绑定到具体执行策略
Provider 给 Capability 提供实际引擎(LLM / 工具 / API / 人工审稿)
Orchestrator 运行时核心:加载 Blueprint、绑定 Profile、协调 Capability 执行

快速安装

环境要求

  • Python:3.11+ 或 3.12
  • Node.js:18+
  • LaTeX 环境latexmk + pdflatex(用于论文 PDF 编译)
  • LLM Provider:一个配置好的 LLM API(OpenAI / Anthropic / 本地模型等)

💡 开发环境使用 conda,Python 3.11+ 通道。

安装步骤

# 克隆仓库
git clone https://github.com/OpenNSWM-Lab/FAROS.git
cd FAROS

# 后端依赖
cd backend
pip install -r requirements.txt

# 验证 Python 版本
python --version  # 应为 3.11 或 3.12

# 前端(如需 UI)
cd ../frontend
npm install

启动后端服务

cd backend
uvicorn app.main:app --reload --port 8000

核心用法

ml_paper Blueprint 工作流(当前唯一可用蓝图)

当前发布的基线是 ml_paper Blueprint,完整执行以下 4 个阶段:

idea_refinement → experiment → paper_drafting → reviewer_simulation

阶段 1:想法生成(idea_refinement) - 输入:研究主题或初步想法 - 输出:多个 ranked idea candidate → 精选后进入实验阶段

阶段 2:实验(experiment) - 输出:代码项目脚手架 + experiment record - 在 LLM domain 下生成可复现的实验代码

阶段 3:论文起草(paper_drafting) - 输出:LaTeX 项目 + 论文 PDF - 支持venue-aware(按目标会议/期刊格式生成)

阶段 4:审稿模拟(reviewer_simulation) - 输出:结构化审稿报告 + 可操作的 follow-up items - 模拟真实同行评审流程

Python API 调用

from faros import FAROSRuntime
from faros.blueprints import MLPaperBlueprint
from faros.profiles import FAROSLLMProfile

# 初始化运行时
runtime = FAROSRuntime()

# 加载蓝图
blueprint = runtime.load_blueprint("ml_paper")

# 绑定 Profile(FAROS-LLM = 当前默认)
profile = FAROSLLMProfile(
    llm_provider="openai",       # 或 "anthropic" / "local"
    llm_model="gpt-4o",
    llm_api_key="sk-...",
)

# 绑定并运行
orchestrator = runtime.bind(blueprint, profile)

result = orchestrator.run(
    initial_idea="探索 Transformer 在时间序列预测中的高效变体",
    target_venue="NeurIPS 2026",  # 可选,影响论文格式
)

# 查看产出
print(result.artifacts)  # idea_session, code_project, latex_project, paper_pdf, review_report

配置 LLM Provider

from faros.providers import OpenAIProvider, AnthropicProvider, LocalProvider

# OpenAI
provider = OpenAIProvider(api_key="sk-...", model="gpt-4o")

# Anthropic Claude
provider = AnthropicProvider(api_key="sk-...", model="claude-sonnet-4-20250514")

# 本地模型(如 vLLM 服务)
provider = LocalProvider(base_url="http://localhost:8000/v1", model="meta-llama/Llama-3-8B")

前端控制台(可选)

cd frontend
npm run dev
# 访问 http://localhost:3000 查看可视化工作流

典型适用场景

  1. 批量科研 idea 验证:给定研究方向,自动生成多个 idea,快速跑实验筛选
  2. 论文初稿自动化:把实验结果扔进去,自动生成符合会议格式的 LaTeX 论文
  3. 同行评审预演:在投稿前用 AI 模拟审稿人反馈,提前修复问题
  4. 科研流程标准化:团队定义自己的 Blueprint,Profile 绑定具体模型,统一科研工作流
  5. 多 domain 扩展:FAROS 设计上不只支持 LLM domain,未来可以扩展到生物、化学等领域的科研自动化

坑与注意

  1. 当前只有 ml_paper Blueprint:其他领域(生物、化学、物理)的 Blueprint 尚未发布,不要期待开箱即用
  2. LLM Provider 费用自理:完整跑完一个 idea→paper 流程会消耗大量 API 调用,提前估算成本
  3. LaTeX 环境必须:paper_drafting 阶段需要 pdflatex,没有 LaTeX 环境会报错
  4. Python 3.11/3.12 专用:Python 3.10 及以下版本不兼容,conda 用户注意创建正确环境
  5. v1.1.0-rc1 是最新 RC:stable 版本尚未发布,生产环境使用前建议检查 GitHub Releases
  6. AutoResearch 效果有上限:当前 AI 生成的研究想法和论文质量距顶会发表水平仍有差距,适合做快速探索和初稿生成

与同类对比

系统 定位 工作流灵活性 成熟度
FAROS Blueprint 驱动的运行时 高(Blueprint + Profile 可自由组合) RC 阶段
GPT Researcher 单 agent 网络科研搜索 低(固定搜索→报告流程) 成熟
AutoGPT / AgentGPT 通用 autonomous agent 低(通用,无科研概念) 成熟
Science Agent (DECKARD) 科研专用 agent 中(固定研究流程) 早期
ChatGPT + Advanced Data Analysis 即时论文分析 低(对话式,无流程) 成熟

FAROS 的差异化在于把科研自动化做成可配置平台,而非单一固定 agent。适合有明确工作流规范、想规模化科研产出的团队。


一句话推荐结论

FAROS 尚处于 RC 阶段,但它提出的 Blueprint × Profile × Capability × Provider 四层架构,是目前最具扩展性的 AI 科研自动化设计——如果你想搭建可复用的端到端科研流水线,值得现在入坑积累经验。