REDSearcher:低成本可扩展的深度搜索Agent,30B参数超越GPT-5

我觉得“高质量”的问题,除了可解性和答案唯一性,还应该具有一定的迷惑性。也就是说,问题不能太直白,要让 Agent 觉得模棱两可,需要进行一定的推理和探索才能找到答案。 可以通过控制问题描述的模糊程度、引入干扰信息等方式来增加问题的迷惑性。

问题质量我觉得很重要的是要避免“作弊”的可能性。如果问题可以很容易地通过特定的搜索关键词直接找到答案,那么 Agent 实际上并没有进行真正的深度搜索。 可以通过评估问题是否存在“捷径”来衡量问题的质量。

从图论的角度来看,实际任务的拓扑结构可能包含桥、割点等特殊结构。桥的出现会迫使 Agent 必须经过特定路径才能到达某些节点,而割点的存在意味着 Agent 需要在不同分支之间进行权衡和选择。总的来说,更复杂的拓扑结构会给 Agent 的路径规划、信息整合和决策带来更大的挑战。

原子能力训练可以看作是打基础,组合能力训练则是盖楼。原子能力阶段,我会注重数据的精准和干净,采用监督学习的方式,让 Agent 快速掌握基本技能。组合能力阶段,我会更关注 Agent 的泛化能力和鲁棒性,采用强化学习的方式,鼓励 Agent 在复杂环境中进行探索和试错。

这个问题很有意思!除了文章里提到的几种结构,实际场景中可能遇到更复杂的混合结构,比如多个强耦合子图之间通过弱连接相连。 这种结构要求 Agent 不仅在每个子图内部进行深入推理和验证,还需要在子图之间建立正确的联系,对 Agent 的全局推理能力提出了更高的要求。

从认知心理学的角度来看,高质量的问题应该能够激发 Agent 的认知冲突,促使它主动去学习和探索新的知识。 可以通过考察问题是否挑战了 Agent 已有的知识体系,或者是否需要 Agent 跨领域地整合信息来衡量问题的质量。

我理解的Agent-as-Verifier,有点像同行评审。让另一个Agent来检查当前Agent的学习成果,避免“闭门造车”。这种方法的优势在于可以发现一些当前Agent难以发现的问题,提高数据质量。劣势在于需要额外的计算资源,并且评审Agent的质量也会影响最终效果。如果评审Agent本身就“菜”,那可能就审不出什么东西来。

Mid-Training和Fine-tuning的区别,我觉得主要在于训练的阶段和目的。Fine-tuning通常是在预训练模型的基础上,针对特定任务进行微调,使其适应特定任务。Mid-Training则是在预训练模型和Fine-tuning之间的一个中间阶段,目的是为了弥补预训练模型和真实环境之间的差距,强化模型的一些基础能力,为后续的Fine-tuning打下基础。所以,如果预训练模型和真实环境之间差距较大,或者需要强化模型的一些基础能力,那么就应该选择Mid-Training。

其实我觉得这个Mid-Training有点像游戏里的“新手教程”。预训练模型就像一个自带高级技能的角色,但是不熟悉游戏操作。Mid-Training就是让这个角色熟悉游戏的基本操作,掌握一些通用技能,这样才能更好地适应不同的游戏场景(不同的任务)。所以,如果游戏场景变化很大,或者需要角色掌握一些新的技能,就需要进行Mid-Training。

抛开论文不谈,我认为这个拓扑复杂度和信息分散度两个指标很有意思,让我想到了项目管理。解决复杂问题,本来就需要梳理清楚依赖关系(拓扑复杂度),并且需要从不同的渠道获取信息(信息分散度)。所以感觉这个REDSearcher不仅仅可以用在搜索Agent上,是不是也可以用在其他的AI Agent上呢?比如,做一个自动化的项目管理Agent?

我来抛砖引玉一下。拓扑复杂度可以用图论中的树宽(TreeWidth)来量化,这个文章里提到了。信息分散度可以用覆盖全部关键证据所需的最小来源数来衡量。在实际应用中,可以先人工标注一部分数据,计算出这两个指标的平均值和分布,然后根据这些统计数据来生成新的训练数据。另外,也可以考虑使用一些自动化的方法来估计这两个指标,比如使用图神经网络来预测树宽,或者使用信息检索模型来估计信息分散度。这样可以进一步降低人工标注的成本。

Agentic RL 保证数据质量的关键在于使用 Agent 本身作为验证器 (Agent-as-Verifier),对强化学习产生的问题集进行校验,避免错误答案或多种可能答案带来的数据污染。 优势在于能够利用 Agent 的自身能力来评估数据的合理性,特别是在长程推理问题中,Agent 能更好地判断轨迹的连贯性和最终结果的正确性。 劣势在于验证器的性能直接影响数据质量,如果 Agent 验证器本身能力不足,可能会引入偏差或漏掉错误。此外,Agent-as-Verifier 的计算成本也可能较高。

我觉着量化指标本身不是难点,难点在于如何将这些量化后的指标有效地整合到 Agent 的训练过程中。比方说,我们可以设计一个奖励函数,当 Agent 能够以较低的拓扑复杂度和信息分散度解决问题时,就给予更高的奖励。或者,我们也可以使用课程学习的方法,先让 Agent 解决一些简单的、低拓扑复杂度的问题,然后逐渐增加难度,最终让 Agent 能够处理复杂的、高拓扑复杂度的问题。

从工程角度看,Agent-as-Verifier 的最大优势可能在于可扩展性。 随着 Agent 模型的迭代,验证器的能力也会随之提升,从而形成一个正向循环。 但这种方法也存在一定的风险,即如果初始的 Agent 模型存在系统性偏差,那么这种偏差可能会在验证过程中被放大,导致最终训练出的 Agent 仍然存在问题。 因此,在实际应用中,需要仔细设计验证策略,并定期进行人工检查,以确保数据质量。

我理解Mid-Training更像是“打地基”,Fine-tuning是“盖房子”。地基不牢,房子盖不高。如果预训练模型本身在地基方面(比如意图理解、规划能力)有所欠缺,直接Fine-tuning可能效果不佳。需要先通过Mid-Training把地基打牢,再进行Fine-tuning才能事半功倍。所以,选择Mid-Training还是Fine-tuning,关键要看预训练模型的基础能力是否能够满足任务需求。

树宽就像是解谜游戏里同时需要追踪的线索数量,线索越多,难度自然越大。不过,实际问题可能更复杂,比如线索之间的依赖关系、真假线索的混淆等等。 我认为还可以从信息噪声的角度来衡量,信息噪声越大,Agent 需要过滤和辨别的信息就越多,难度也越高。

这就好比飞行员训练,总不能一上来就开真飞机上天吧?先在模拟器里练熟了再说。真实环境成本高,而且出错了风险大。模拟环境虽然没那么真,但可以快速试错,找到最佳策略。 模拟环境的“功能等价”,我觉得关键在于模拟真实环境的关键特征,比如API的调用方式、数据的分布等等,但肯定做不到完全一样,只能尽可能接近。

从图论的角度,树宽是描述图结构复杂度的指标,它反映了将图分解成树状结构的难易程度。在深度搜索中,树宽越大,意味着问题中各个信息点之间的关联越复杂,Agent 需要考虑的依赖关系就越多,因此解决起来就越困难。当然,衡量标准肯定不止树宽一个,例如还可以考虑图的直径(最远两点之间的距离),或者平均路径长度等等,这些都可以反映问题的复杂度。

真实环境训练就像在真实战场上练兵,烧钱不说,还容易翻车。模拟环境就像是“吃鸡”游戏,虽然是假的,但也能练技术。关键是模拟环境要尽可能逼真,API接口、数据啥的都得像真的。但问题也来了,假的终究是假的,和真实环境肯定有差别,所以需要在真实环境里再练练,才能真正上战场。