IDEAgent 开源|用多 Agent 同时追论文的质量和多样性,不比不知道,一比快 4 倍
做研究 idea 的人大概都遇到过这种尴尬:让 LLM 来 brainstorm,要么吐出一堆高度雷同的方案——换个数据集名字就是新 idea——要么吐出几十个看起来不一样但一推就倒的"概念"。token 花了不少,捡出来能用的没几个。
这个问题有个名字,叫 Quality-Diversity 矛盾。要质量,模型就往一个方向钻,翻来覆去差不多;要多样性,它就放飞自我,逻辑漏洞满天飞。这不是模型笨,是目标本身就拧着。
最近 arXiv 上挂出来一篇论文,直接冲着这个矛盾去的。IDEAgent,一个多 Agent 框架,把 idea 生成当作一个 QD(Quality-Diversity)搜索问题来解。作者来自 declare-lab 团队,论文 7 月 24 日提交,目前 under review,代码已经开源。
用 lineage 管 idea 的生成
IDEAgent 的思路不复杂:管出一条「家族谱系」(lineage),每次生成都有继承关系。每条 idea 都有祖先、迭代记录,被拒掉的"废稿"也作为负样本保留下来。
质量怎么保证?多目标反馈驱动 repair 和 refinement,拿多个维度的评价反复改——类似写 proposal 被导师批了三次,每次改完逻辑更硬。多样性怎么保证?靠一个轻量的顺序记忆模块,拿新 idea 和历史祖先、已完成的 idea、甚至被拒掉的 proposal 做显式对比。如果跟已有的太像,就明确告诉它换方向。
这个设计的隐性成本很低:只用顺序地、轻量地比对,不需要每次全量检索历史。
Yield:一个粗暴但有用的指标
论文里还提了个新指标叫 Yield,定义很直接:在一堆生成的 idea 里,能同时满足"质量过关 + 互相足够不同"的最大子集有多大。
这个指标的好处是,它要求同时交代两件事,只报其中一项不够。可以说"我产生了 100 个 idea",但如果两两之间高度相似,Yield 就很小。反过来,如果说"产生了 50 个 idea 且每个都严格独立",但其中 40 个在逻辑上一推就倒,Yield 同样小。
在 32 个主题、覆盖 8 个计算机子领域的评估里,IDEAgent 在 Yield 上比最好的 baseline 高了 3.89 倍,同时在 8 倍更多的主题上拿到了非零 Yield。这意味着它不仅整体更强,而且覆盖更广——很多 baseline 完全撞不出来的方向,它也能产出合格 idea。
论文还单独拆了 quality 层面的改进来分析,结论是 repair 和 refinement 确实在提升逻辑严谨性和表达清晰度上起了关键作用,而且没有以牺牲 novelty 为代价。这算是一个比较诚实的 ablation。
一些真实边界
论文评估的 32 个主题和 8 个领域全部限定在 Computer Science。它有没有像有些 work 那样跨到生物、化学、材料去验证?没有看到。跨领域的泛化能力仍是个问号。
另外,Yield 这个指标虽然直观,但也依赖两个人为设定的阈值:质量门槛和多样性距离度量。不同领域、不同审稿风格的阈值可能差很远。同一个框架调了阈值得出的数字,横向对比时需要小心。
代码已经开源在 GitHub,我还没实际跑过。但从论文描述来看,框架依赖主要是标准的 LLM 调用 pipeline,加上一个 lineage 管理模块和一个轻量记忆模块,部署门槛应该不高。
对我来说最有意思的一个细节
论文里提到被拒掉的 proposal 也保留在 lineage 里作为"负样本"参与后续对比。这在实际研究工作流里其实很常见——被拒掉的那个 idea,往往比中了的那个更能定义后来选方向时的边界。大多数自动 ideation 系统只管生成和保留"好的",不要"坏的"。IDEAgent 反过来把废稿当作有价值的信息保留下来,这个设计直觉是对的。
当然,保留废稿也会带来存储和噪音的问题。如果一条 lineage 里拒掉的比例太高,历史记忆反而可能把新 idea 带偏。论文目前没有讨论这个边界条件。我猜它有效的前提是修复和精炼步骤本身足够稳健,不会把废稿里的错误模式当作"特征"继承下去。
整体看,IDEAgent 没有喊一个大口号,只是把一个很具体的工程矛盾(质量 vs 多样性)拆成了可操作的框架,并给了能实际下载的代码。对于做科研自动化的团队来说,这个框架比从头折腾 prompt 要靠谱得多。我大概率会在这个周末把它拖下来跑一遍,看看在自己常碰的几个方向上的表现。