MAARS — 从一个想法到一篇论文,全自动
一直在想一个问题:能不能把”从想法到论文”这个过程自动化?
不是让 AI 帮你润色摘要、改改语法那种程度——而是从一个模糊的研究想法开始,自动精炼、规划任务、执行研究、写出完整论文。
于是做了 MAARS(Multi-Agent Automated Research System)。
四个阶段
管线是固定的四个阶段,从头到尾自动走完:
想法 → 精炼 → 规划 → 执行 → 写作 → 论文
| 阶段 | 做什么 |
|---|---|
| 精炼 | 探索 → 评估 → 结晶。把模糊想法转为结构化研究提案,3 轮迭代 |
| 规划 | 递归分解为原子任务 + 依赖 DAG(深度 3,批量并行) |
| 执行 | 拓扑排序 → 并行批次 → 验证 → 重试。结果存入文件 DB |
| 写作 | 大纲 → 逐章节写作 → 润色。每个章节只接收相关任务输出 |
精炼阶段比较关键——它决定了后续所有工作的方向。3 轮迭代把一句话的想法逐步具体化成有研究问题、方法论、预期贡献的完整提案。
规划阶段用递归 DAG 分解任务。之前写过一篇关于 DAG 可视化的博文,就是在做 MAARS 的任务依赖图时折腾出来的。
执行阶段按拓扑排序并行跑任务,先跑无依赖的,再跑依赖被满足的,逐层推进。Agent 模式下还能自动生成代码、跑实验、存结果。
四种模式
.env 一行切换:
1 | MAARS_LLM_MODE=mock # 或 gemini、adk、agno |
模式替换的是各阶段的引擎,不是管线逻辑。四种模式共享同一套 pipeline stages,只有 LLMClient 实现不同:
- Mock — 回放预录数据,开发调试用
- Gemini — 直接调 Gemini API,最简单
- ADK — Google ADK 框架,Agent 带工具(搜索、代码执行、DB)
- Agno — Agno 框架,支持 40+ 模型 provider,工具集包括 DuckDuckGo、arXiv、Wikipedia
ADK 和 Agno 是真正的 Agent 模式——执行阶段的 agent 能调用搜索引擎查文献、写代码跑实验、把结果存进 DB。不只是”让 LLM 生成文本”,而是让 agent 去做研究动作。
三层架构
架构上做了解耦:
- Pipeline 层:流程逻辑(orchestrator → refine → plan → execute → write → 文件 DB)
- 接口层:
LLMClient.stream() → StreamEvent,统一的流式接口 - 适配层:MockClient / GeminiClient / AgentClient / AgnoClient,可替换
Pipeline 只依赖接口,不关心底层用的是 Gemini 还是 Claude 还是本地模型。加一个新 provider 只需要实现 LLMClient 接口。
前端是纯 Vanilla JS,通过 SSE 接收推理日志和流程产出,实时展示研究进度。
产出
每次运行生成一个带时间戳的文件夹:
1 | research/{timestamp}-{slug}/ |
Agent 模式下还会自动生成 Dockerfile 和运行脚本,方便复现实验。
快速开始
1 | git clone https://github.com/dozybot001/MAARS.git && cd MAARS |
输入一个研究想法,选个模式,点开始,等它跑完就能拿到论文。
一个实际例子
用 Agent 模式跑了一个”ODE 数值求解器——精度、稳定性与计算效率对比”的研究,自动分解出 22 个子任务,按依赖关系并行执行,最终生成了完整的对比分析论文。
这个项目的语义历史用 Intent 记录,可以在 IntHub Showcase 在线查看每次 session 的开发过程。
把”从想法到论文”自动化,不是为了替代研究者的思考,而是把繁琐的文献检索、实验执行、论文写作交给 agent,让人专注于真正需要判断力的部分——提出好问题、评估结果、做决策。
- GitHub: github.com/dozybot001/MAARS
- MIT 协议
- Title: MAARS — 从一个想法到一篇论文,全自动
- Author: Deyang Zeng
- Created at : 2026-03-26 00:00:00
- Updated at : 2026-03-26 17:13:15
- Link: https://hexo.io/2026/03/26/2026-03-26-maars-multi-agent-research/
- License: All Rights Reserved © Deyang Zeng