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 查看可视化工作流
典型适用场景
- 批量科研 idea 验证:给定研究方向,自动生成多个 idea,快速跑实验筛选
- 论文初稿自动化:把实验结果扔进去,自动生成符合会议格式的 LaTeX 论文
- 同行评审预演:在投稿前用 AI 模拟审稿人反馈,提前修复问题
- 科研流程标准化:团队定义自己的 Blueprint,Profile 绑定具体模型,统一科研工作流
- 多 domain 扩展:FAROS 设计上不只支持 LLM domain,未来可以扩展到生物、化学等领域的科研自动化
坑与注意
- 当前只有 ml_paper Blueprint:其他领域(生物、化学、物理)的 Blueprint 尚未发布,不要期待开箱即用
- LLM Provider 费用自理:完整跑完一个 idea→paper 流程会消耗大量 API 调用,提前估算成本
- LaTeX 环境必须:paper_drafting 阶段需要 pdflatex,没有 LaTeX 环境会报错
- Python 3.11/3.12 专用:Python 3.10 及以下版本不兼容,conda 用户注意创建正确环境
- v1.1.0-rc1 是最新 RC:stable 版本尚未发布,生产环境使用前建议检查 GitHub Releases
- 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 科研自动化设计——如果你想搭建可复用的端到端科研流水线,值得现在入坑积累经验。