ScienceBuddy:让科研 Agent 在和你协作的过程中"递归套递归"地自我进化
你用 AI 助手做科研的时候有没有这种憋屈感——这一轮对话里你纠正了它一个错误,它改得挺好;下周再开个新会话,同样的错误照犯不误。对话里的教训,出了对话就蒸发。
上周挂在 arXiv 上的 ScienceBuddy(arXiv:2609.17523)就是冲着这个问题来的,而且它的解法让我愣了一下:不只是把交互记录存下来,而是把整个自我改进机制做成"递归套递归"——内层递归固定模型、只改 Agent 的"工作规程"(harness),外层递归在改好的规程下去强化学习训练模型本身。训练完的模型回到线上继续服务研究者,新一批交互又成为下一轮改进的素材。
核心摘要:ScienceBuddy 是一个已上线的交互式科研工作台(science-buddy.io),内置 224 个科学工具、覆盖 22 个功能模块。它把研究者的提问、反馈和执行记录自动转化为带评分标准(rubric)的可执行任务,然后用双层递归驱动自我改进:内层由固定辅助模型诊断失败、对 harness 做有界编辑,外层用 rubric 奖励 + GRPO 训练任务模型。在一个 4B 模型上跑三轮协同进化,留出测试集单次准确率从 42.2% 干到 73.3%。说实话这个数挺能打,但也要清醒:这是 case study 级别的证据,不是大规模 benchmark 碾压。论文最值钱的不是数字,是"协作即数据、产品即训练场"这个范式被真正做成了一个可交付的产品。
📖 论文信息
- 标题:ScienceBuddy: Recursive-in-Recursive Self-Improvement for Interactive Scientific Agents
- 作者:Shuhan Xue、Jianyuan Zhong、Ziyuan Nan(共同一作),Wenbin Li、Zhaochen Yu、Jinchao Ding、Qiang Gao、Pengyu Zhan、Yuntong Zhang、Tian Cheng,Zhenfei Yin、Yingcheng Wu、Ling Yang(通讯)
- 机构:PhAI Labs、复旦大学附属中山医院/肝癌研究所、顺为资本、牛津大学、斯坦福大学、普林斯顿大学
- 发表:2026 年 9 月 15 日,arXiv:2609.17523(cs.AI)
- 产品:science-buddy.io | 代码:github.com/Gen-Verse/ScienceBuddy-RSI
🎯 问题动机:对话里的纠正,为什么留不住
科研场景里的 Agent 协作有个很特别的性质:研究者不只是要一个答案,还会追问"你这个结论的依据是什么"、"换个分析角度再试试"、"先聚焦 JAK1 本身,上下游调控后面再说"。这些来回里藏着大量关于"这个任务该怎么做、做到什么程度算好"的信息。
但现有的自我改进路线基本是两条平行线,各走各的:
| 路线 | 代表工作 | 改什么 | 不改什么 |
|---|---|---|---|
| 规程/上下文进化 | Reflexion、GEPA、ACE、Meta-Harness | prompt、skill、harness 代码 | 模型权重 |
| 参数级自我改进 | SEAL、交互驱动 RL | 模型权重 | 外部环境规程 |
| 联合适应 | SIA、HELIX | 两者都动 | 但训练信号不来自真实协作 |
ScienceBuddy 的问题意识在于:这两条线在真实产品里其实是互相依赖的——harness 的效果取决于跑在什么模型上,模型训练的经验又是在某个 harness 下产生的。分开优化,两边都在打一个移动的靶子。
这个想法其实不算横空出世。SIA 已经做过 harness 和权重一起更新,HELIX 也把 harness 进化和训练数据构造连起来了。但 ScienceBuddy 多走了一步:让改进所需的任务和评分标准直接从真实研究者协作中生长出来,而不是人工标注或离线构造。这是它和前辈们最实质的区别。
🏗️ 系统总览:工作台、双层递归与研究者三角

图 2(原文 Figure 2):ScienceBuddy 全景。A 部分是科学工作台:研究者通过对话提交问题和数据,可插拔的 harness(指令 + 技能 + 上下文)组织任务模型的行为,连接 224 个科学工具和持久工作区;交互记录沉淀为科学任务和评分 rubric。B 部分是双层递归:内层在模型固定下由辅助模型诊断、修订规程、配对评估后择优接受;外层在校准难度的环境中做 fresh rollout,用 rubric 奖励驱动 GRPO 更新模型,然后重新评估并部署。线上服务在后台更新期间不中断。
工作台本身是个正经产品:文档、图片、表格、生物序列都能上传,工具目录从 Biomni 衍生而来,覆盖基因组学、分子与癌症生物学、药理学、生物影像、文献检索、数据库查询。执行环境支持 Python/R/Bash,走 ReAct 式的"推理—执行—观察"循环。研究者在 Chat 视图里对话,在 Trajectory 视图里翻看每一步执行记录。
关键的架构决策是把 harness 和基础设施分离:基础设施管任务执行和持久化,harness 只管"怎么干活"——指令、可复用 skill、上下文管理规程。改进只动 harness 这部分,执行条件保持一致,这样规程变化才是可评估的。这个设计挺工程化的,但正因为工程上干净,后面的递归改进才玩得转。
🧠 方法核心:递归套递归到底是怎么转的
协作如何变成训练素材
每次协作结束后,系统做两件事:把相关对话轮次围绕科学目标聚合成一个自包含任务(保留最终需求,不带入历史答案),再从完整轨迹里推导评分 rubric:
任务包 \(\mathcal{P}_x=(I_x, A_x, \mathcal{E}_x, \mathcal{C}(x))\) 按 Harbor 任务格式组织(instruction.md 定义任务、task.toml 配执行、tests/test.sh 跑 rubric 评估)。同一个任务包支持两条后训练路线:SFT 走拒绝采样,RL 走 on-policy rollout。
有一句话论文说得克制但很重要:研究者的认可不被自动当作科学真理。历史答案和口头确认只是推导评估标准的素材之一,冲突需求要先解决再评分。
内层递归:模型不动,只修"干活规程"
内层递归里任务模型 \(\theta_k\) 冻结,一个固定的辅助模型(GPT-6 Astra)读最近的轨迹和 rubric 评估,定位未满足的评分项,引用具体动作和观察作为证据,然后提出一个有界编辑:
每次提案只能做一件事:改一条指令、增删改一个 scoped skill、或动一个暴露的上下文设置。schema 校验卡住编辑范围和体积。接受规则也很朴素——配对开发集评估,候选必须合法且严格更好,打平留父代:
评估时还包含之前做对过的任务,防止改出新能力、丢了老本行。被拒的编辑留在历史里,避免换个马甲重新提案。
外层递归:规程定了,开始练模型
harness 选定后固定住,进入模型训练。先用当前"模型 + harness"组合做试跑校准环境难度——以前难的任务随着 harness 变好可能变简单了,训练价值下降,所以通过变换科学输入、延长计算依赖来增广任务。
奖励来自任务专属 rubric 的加权和:
能写可执行检查的就写代码验证,需要科学解读的用固定 judge。轨迹级奖励喂给 GRPO,组内相对优势:
一个细节我挺欣赏:历史研究者交互不进 RL 的 rollout 样本,它们只负责定义任务和诊断依据。训练全部用 fresh on-policy rollout。这避免了拿陈旧交互记录当训练数据带来的分布偏移,也防止把用户随口一句话当成奖励信号直接回灌。
套娃怎么转起来
整个调度(Algorithm 1)是异步的:线上用 \((\theta_k, H_k)\) 服务研究者一个收集周期 \(\Delta\),攒下的交互证据触发后台更新——先跑内层 harness 进化,再跑外层模型 RL,重新评估后部署 \((\theta_{k+1}, H_{k+1})\)。所有 harness 版本和环境版本都保留,继承的 harness 在新模型下要重新评估才能上岗。
耦合是双向的:harness 修订塑造训练轨迹和任务难度,模型更新又改变了旧规程的有效性。每一轮外层循环都以内层适应为地基,并且换掉参与下一轮内层适应的那个模型。这就是"recursive-in-recursive"这个名字的准确含义。
🔬 产品体验:一个真实的长会话长什么样
论文第 3 节放了一段真实录制的研究者会话,我看完觉得是全文最有说服力的部分——不是数字,是产品质感。

图 4(原文 Figure 4):研究者上传一张免疫信号通路图,要求整理相关知识。助手把图拆解成 APC-T 细胞激活、细胞因子受体、JAK/PDE4 信号、AHR 调控和组织归巢几块,然后输出结构化的"靶点—干预—数据湖证据"表:PDE4 查到了 rolipram 片段记录,CD40 和 AHR 检索无匹配——并且明确说出来了,没有硬编。右侧 Compute 面板同步暴露 59 步执行轨迹,listDataLake、query_pubmed、query_uniprot 每次调用的输入输出都可查。

图 5(原文 Figure 5):同一会话里连续三张图——HMGCR 孟德尔随机化图、阿尔茨海默相关小胶质细胞网络图、免疫信号图。助手逐张解读:第一轮跑数据湖检索加文献查询,整理出 eQTL-MR、pQTL-MR 等分析层;第二轮直接用模型知识作答(没发新数据库查询,轨迹里看得清清楚楚);第三轮明确"continuing the same session",带着前文上下文继续。右侧轨迹还展开了一次 searchDataLake 调用的查询词和返回文件列表。

图 6(原文 Figure 6):交互不止打字。研究者可以放大查看上传的原图、切到 Trajectory 视图翻执行历史、点开某个工具事件看它的输入输出和元数据。图中示例是回看早先一次 HMGCR 的 UniProt 查询——query_uniprot 事件展开后能看到 status、耗时、请求 URL 和返回记录。
这个"可检查性"不是锦上添花。它是整个学习闭环的信任基础:研究者愿意给反馈,前提是他能看见 Agent 到底干了什么。反过来,这些检查动作本身也是交互证据的一部分。
📊 实验:四个 case study,分开拆解两层递归
实验设计很老实——没有宣称端到端碾压谁,而是拆成四个研究问题分别验证。任务集共 895 个,来自 LAB-Bench 和 Biomni-Eval1,覆盖四个任务族:
| 任务族 | 内容 | 数量 |
|---|---|---|
| LitQA2 | 科学文献阅读 | 96 |
| DbQA | 数据库判断(疾病-基因关联、miRNA 靶点等 10 个子主题) | 511 |
| ProtocolQA | 实验方案排错 | 108 |
| GWAS | 因果基因与变异评估(4 个子主题) | 180 |
RQ2:三轮协同进化(Qwen3.5-4B 起步)
每轮 10 步 harness 搜索 + 20 次 RL 更新,连跑三轮:
| 指标 | 第 1 轮 | 第 2 轮 | 第 3 轮 |
|---|---|---|---|
| Harness 验证准确率 | 38.9% → 44.4% | 34.4% → 46.7% | 61.1% → 70.0% |
| RL 训练奖励(前半→后半) | 33.3% → 38.8% | 44.1% → 60.5% | 57.8% → 69.8% |
留出测试集单次准确率从 42.2% 升到 73.3%;33.3% 的题从错转对,只有 2.2% 从对转错,四个任务族全部有涨。
看到第 2 轮 harness 起点反而掉到 34.4% 我停了一下——这正是"模型变了、继承的 harness 需要重新适配"的直接证据,说明两层递归的耦合不是理论装饰,是真会在实验曲线里冒出来的现象。说实话这个细节比 73.3% 那个总数更让我信服这套框架在描述真实动态。
RQ3:只改 harness,模型一动不动
固定 Qwen3.5-4B,24 个批次、288 段适应对话(每 12 段对话触发一次更新),模拟用户给有界反馈(对就确认、没提交就催格式、错了就要求检查,绝不泄露正确答案)。结果:验证集首答准确率从 31.1% 到 51.1%,涨了 20 个点,模型权重全程没动。适应过程中最好批次到过 75.0%。
最终选出的 harness H24 只攒下 4 条指令和 9 个 scoped skill,内容包括 Python 执行规范、资源和 schema 检查、有界记录查询、显式提交答案,以及基因集成员检查、cytoband 查询这类任务专属规程。你想想看,20 个点的提升就来自这么点文本改动,这既是好消息(杠杆大),也是隐忧(脆弱性:换个模型这些规程还剩多少效果?RQ2 第 2 轮开头的掉分已经给了部分答案)。
RQ4:只练模型,harness 一动不动
固定初始 harness H0,跑约两小时 RL,用 pass@4 衡量问题覆盖率(四次尝试至少对一次):从 48.3% 到 67.8%,涨了 19.5 个点。同样的尝试预算下能解的题变多了,说明模型能力边界真的在扩,不只是采样运气变好。
🤔 我的判断
亮点。这篇论文最稀缺的东西是"闭环真的跑通了":产品上线、真实研究者交互、交互转任务、任务喂双层递归、改进后的系统回到线上。自我改进的论文这两年满天飞,绝大多数停在"我们在离线 benchmark 上演示了进化曲线"。ScienceBuddy 把进化曲线接到了真实产品的数据流上,这个工程完整度在同类工作里少见。双层递归的解耦设计也很务实——内层快、便宜、低风险,外层慢、贵、收益大,交替执行符合真实产品的迭代节奏。
泼几盆冷水。第一,证据等级是 case study。895 个任务、一个 4B 模型、三轮循环,跟"discovery intelligence"这个愿景之间还隔着好几个数量级。第二,内层递归的诊断和编辑高度依赖 GPT-6 Astra 这个固定辅助模型的判断力——论文自己也承认 reflector 是固定的,改进机制本身不会变强。那辅助模型的天花板就是整个内层递归的天花板。第三,rubric 从协作轨迹推导,但推导过程本身也是个 LLM 环节,评分标准的质量漂移会不会随循环累积?论文没有给出多轮之后 rubric 一致性的审计。第四,全部任务集中在生物医药(工具链来自 Biomni),"科学"这个词在论文里实际等于"生物医学",外推到其他学科完全是空白。
和同期工作比。SIA、HELIX 已经探索过 harness 与模型联合适应,ScienceBuddy 的增量在于交互驱动的任务/rubric 生成和产品化闭环;Meta-Harness、ACE 在规程进化上更深,但没有模型那一层。它更像一次高质量的位置卡位——把几条线拧成一个可运转的系统,而不是某个单点的底层突破。
工程启发。如果你在做 Agent 产品,有三样东西可以直接抄:(1) harness 与基础设施分离,让"工作规程"成为可编辑、可评估的一等公民;(2) 交互记录转任务时保留需求、丢弃历史答案,避免把用户认可当真值;(3) 改进循环里评估集必须包含历史成功任务,防回归比追新高更重要。异步"线上服务 + 后台进化"的部署模式,大概率会成为认真做 Agent 产品的标配。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我