ReASearch:摆脱外挂搜索算法,让Agent自主推理驱动优化全流程
The Optimizer Is the Agent: Reasoning-Driven Search across Prompts, Programs, and ML Workflows

长期以来,在利用大语言模型(LLM)优化系统提示词(Prompt)、演进复杂算法代码或微调机器学习(ML)训练流程时,学术界和工业界普遍采用同一种范式:外挂一套显式的数学优化或搜索算法。在这套经典架构中,贝叶斯优化、遗传算法、多臂老虎机(Bandits)乃至文本梯度算法充当着“指挥官”,负责维护候选解池、决定搜索路径和分配评估预算;而能力日益强大的大模型,仅仅被当作一个局部的“突变生成器”(Mutator),在人类预设的死板循环里机械地提供文本修改建议。
ArXiv URL:https://arxiv.org/abs/2608.06714v1
这种架构割裂了推理与决策。外部的数学启发式算法固然严谨,但它们完全看不懂自然语言反馈,也不理解代码的执行语义;大模型虽然具备深厚的语义与代码理解力,却被剥夺了制定全局搜索策略的自主权。来自 Snowflake 与德克萨斯大学奥斯汀分校(UT Austin)的研究团队在最新论文中提出了一个根本性的设想:如果完全拿掉外挂的搜索控制器,把评估、诊断、回溯和预算分配全部打包成工具,一个具备推理能力的单 Agent 能否自主内化整套搜索策略?
基于这一设想构建的全新统一框架 ReASearch(Reasoning-driven Agentic Search)给出了肯定且惊艳的答案。研究人员在提示词优化、程序演化和机器学习工作流优化三大领域的 14 项复杂任务上进行了系统评测。实验结果显示,完全依托统一 Agent 脚手架的 ReASearch 全面抗衡甚至显著超越了各类专用算法系统,相比强基准取得了 2% 到 40% 的性能提升,在圆盘打包(Circle Packing)几何问题上突破了此前人类已知的最优解,并在 ARC-AGI-2 抽象推理基准上取得了对比演化基准 4 倍的测试准确率。更重要的是,验证假设、主动试错、从历史教训中归纳因果以及联合调优等原本需要人类精心编写算法的高级搜索行为,全部在 Agent 的自主推理过程中自然涌现。

从外挂启发式到自主推理:优化范式的根本转向
现有的文本与代码优化系统大多陷入了“局部语义理解 + 全局死板控制”的妥协中。以演化搜索为例,算法控制器只根据评估标量分数挑选 Pareto 前沿上的候选解,随后调用大模型进行交叉或变异,再强制进入下一代评估。然而,代码报错和模型训练日志中包含着极其密集的因果信息:一次训练崩溃可能只是学习率预热步数不够,一次几何算法停滞可能是由于约束过于严苛。数值型控制器对这些线索视而不见,只能依靠随机或统计采样碰运气,导致巨大的计算资源浪费。
ReASearch 的核心理念在于“优化器本身就是 Agent”。整个系统不再包含预设的外部搜索逻辑,搜索策略完全被吸收进模型的自回归思考与工具调用循环中。形式化而言,假设待优化的文本产物空间为 $\mathcal{Z}$(如提示词、程序或配置文件),任务实例 $x \sim \mathcal{D}$,产物 $z \in \mathcal{Z}$ 经过系统执行生成输出 $Y \sim P(\cdot \mid x, z)$,获得奖励 $r(x, Y)$。优化的终极目标是求解:
\[z^{\star} \in \arg\max_{z \in \mathcal{Z}} \mathbb{E}_{x \sim \mathcal{D}} \left[ \mathbb{E}_{Y \sim P(\cdot \mid x, z)} [r(x, Y)] \right]\]面对这个离散、非凸且高维的庞大语义空间,ReASearch 没有设计复杂的外部数学搜索路径,而是将环境交互、候选评估、中间分析等操作统统抽象为标准工具,直接暴露给 Agent。Agent 自主决定何时采样微批次数据、何时发起全量验证、何时调取 Python 计算环境对历史运行数据做统计分析,以及何时放弃当前无果的分支并回滚到历史版本。

支撑这一长程探索行为的基石是一个精简而通用的代码 Agent 架构。Agent 在每一轮决策时,接收包含领域指导规范的系统提示词以及经过压缩的上下文交互历史,并自主决定下一步调用哪一个工具。为了抵御数百轮复杂探索带来的上下文膨胀与遗忘,ReASearch 引入了双重记忆管理:当 Token 消耗接近阈值时触发语义压缩工具总结交互历史;同时,Agent 维护一个持久化的 lessons.md 知识文件。这个文件记录了在整个优化生命周期中被验证有效的策略、导致失败的归因分析以及下一阶段的探索假设。在整个工具链中,通用的 python_exec 执行器扮演了核心杠杆的角色,它让 Agent 从“纯语言文本推理者”跃升为能够编写脚本、对运行日志跑统计检验、主动排查边缘情况的“计算型推理者”。
三大任务场景的工具具象与策略涌现
为了证明单一 Agent 脚手架的通用性,研究团队将 ReASearch 原封不动地实例化到三个机理迥异的场景中,仅通过替换工具集合与领域提示词来适配具体问题。
在提示词优化场景中,传统方法如 GEPA 通常依赖固定的外环流程,频繁抽取训练集微批次,调用模型修改提示词,再统一刷验证集。ReASearch 则将评估过程解耦为阶梯式工具:get_next_minibatch 允许 Agent 自主按需决定采样的样本批大小 $B$;call_student_model_batch 允许 Agent 将待测提示词定向打在特定疑难样本索引上,并调阅完整的推理轨迹;validate_candidate 仅返回验证集上的聚合分数,刻意隐藏单样本轨迹以防止提示词对验证集产生过拟合;搭配 python_exec,Agent 还能随时计算新旧版本的统计置信度。

由于拥有了完整的流程调度权,Agent 在提示词优化中展现出了极具抗噪性的验证行为。面对高方差的验证信号,Agent 并未像传统算法那样盲目追求验证集指标的最高点。在多项运行轨迹中可以观察到,当一个新提示词在初筛中跑出高分时,Agent 会主动调用工具在更多历史失败样本和长尾边缘案例上进行二次复核(Double-verification),判断这一涨分是真正提升了推理能力,还是仅仅碰巧迎合了某些表面模式。在 AIME 和 Terminal-Bench 这类验证集样本极其稀缺的场景下,Agent 在优化结束时并没有直接输出验证集得分最高的分支,而是综合 lessons.md 中的历史洞察,人工综合提炼出一个泛化能力更强的新提示词,其测试集得分往往反超了验证集上的“虚假最优解”。
在程序演化与算法发现场景中,挑战则转向了算法范式的质变。Agent 面对的是复杂的单道难题,例如 Circle Packing 几何极值问题、Heilbronn 三角形面积问题,或是 ARC-AGI-2 的网格归纳推理任务。在这些任务中,微小的代码改动可能毫无意义,需要的是算法层面的根本重构。

为此,ReASearch 采用了一种主从 Agent 解耦的工具设计:主 Agent 专注于高层面的算法推理、数学建模和实验诊断,保持思考上下文的纯净;当需要修改代码时,主 Agent 调用 edit_code 工具将修改意图委派给专门的代码编辑子 Agent,由后者执行具体的代码增删并接受静态验证子 Agent 的合法性检查。这种设计避免了数千行代码实现细节稀释主 Agent 的长程规划能力。
在该模式下,Agent 演化出了“先分析、后写代码”(Analyze first, code second)的严谨科学探索范式。在面对极度晦涩的 ARC-AGI-2 任务时,对比基准 AdaEvolve 倾向于在全局不断随机变异代码,生成能够达到 90% 到 99% 网格像素准确率但在逻辑上完全错误的代码;而 ReASearch 则在动笔写代码前,先通过 python_exec 花费数十轮交互专门解构输入输出样例的几何特征。例如在 Task 72(最小移除对称性任务)中,Agent 进行了 31 轮推导分析,分别计算水平翻转、垂直翻转及旋转对称的代价集合,最终确认规则是具备整数中心打破平衡机制的左右对称,从而写出了 100% 泛化正确的程序。
复杂搜索行为的自然涌现:从因果诊断到科学发现
ReASearch 在实验中最令人震撼的发现,是那些以往需要人类设计复杂元启发式算法才能模拟的高级搜索行为,完全在纯推理驱动的上下文中自发形成。
首先是基于因果诊断的精准手术式修改。在专家并行负载均衡(EPLB)算法演化任务中,Agent 的评分一度在 0.21 左右停滞了超过 120 轮。如果采用传统的无状态遗传算法,此时往往只能随机重置或陷入局部震荡。但 ReASearch 翻阅历史尝试后精准定位了根因:当前的精炼算法只允许拥有两个或更多副本的专家节点作为“捐赠者”,这一过度严苛的约束使得许多处于临界状态的不平衡无法被打破。Agent 决定做出一项关键改动:临时允许专家节点交出自己的“最后一个”副本,从而让搜索过程能够穿越此前无法触及的中间过渡状态。仅仅这一处算子调整,直接打破了长达百轮的僵局,将整体评分一举推升至 0.23。相比之下,缺乏因果追踪机制的 AdaEvolve Sonnet 在整整 272 轮迭代中落后 61%,发起的数轮算法重构均因未能诊断出该瓶颈而铩羽而归。
其次是利用数学抽象大幅降维搜索空间。在 Heilbronn $n=12$(在单位正方形内放置 12 个点使任意三点构成的三角形最小面积最大化)问题中,Agent 观察到当前最优解的点集排布具有极其对称的几何特征。它没有像传统数值优化器那样继续在 24 维的连续坐标空间中做高维盲目搜索,而是自发提出了“最优解具备 8 重对称性”的数学假设。通过在 Python 中建立符号方程,Agent 将 24 维坐标直接坍缩为由多项式 $2v^3 - v - 0.5 = 0$ 约束的 2 个自由参数,并借助高精度求解器直接算出了 50 位有效数字的解析极值。在解决交易调度问题时,Agent 同样在诊断中发现原本 1752 行复杂的元启发式代码把 16 秒的评估预算大部分耗费在了无意义的搜索框架自身,随后大刀阔斧地将代码精简重构为 244 行高效逻辑,性能瞬间提升 51%。
复合算法的迭代发现也是其独特亮点。在 Circle Packing 任务中,ReASearch 洞察到:如果固定圆心坐标,求解最优半径的子任务可以被严格转化为一个线性规划(Linear Program, LP)问题,并且用现代求解器只需 4 毫秒即可求出全局最优解。Agent 在 Python 中单独验证了这一子模块的正确性后,将其作为内环嵌入到外层的随机坐标搜索中,使得每一次生成的布局都能以极低算力开销获得理论最优半径。这一优雅的混合算法不仅超越了所有基准,更直接打破了该数学问题此前由人类保持的最优解记录。
机器学习工作流优化:穿透黑盒调优的因果链条
在复杂的真实机器学习训练任务中,ReASearch 面对的不再是单一代码段,而是包含数据预处理、模型架构、超参数、学习率衰减策略及显存瓶颈的庞大系统。论文在 CIFAR-100 / IMG-100 图像分类、Atari Q*bert 强化学习、MuJoCo 连续控制以及 NanoGPT 预训练等任务上,全面检验了 Agent 的调优能力。


在总训练时长受限的严苛约束下,ReASearch 表现出了一种与资深人类研究员高度一致的“三阶段优化策略”:前期展开宽泛的模型架构探索,中期聚焦于核心超参数收敛,后期进行边际收益递减的精细微调。在 IMG-100 任务中,每个实验仅被分配 5 分钟计算预算。Agent 首先测试了 WideResNet-28-10 和 RandAugment,发现前者显存开销过大,后者在极短时间内无法收敛,最终选定 ResNet-18 配合 CutMix 作为基准。此时验证准确率为 65.75%。
接下来,Agent 调用 python_exec 计算了每一步迭代的实际物理耗时(约 0.03 到 0.05 秒),推算出在 300 秒内全流程只能跑完 60 到 100 个 Epoch;然而原代码中 Cosine 学习率衰减计划却被硬编码为 200 个 Epoch。这意味着每次训练结束时,学习率还停留在很高的半山腰。Agent 随后修改了衰减基准步数,使其与实际运行步数(100 个 Epoch)精确匹配,仅仅凭借这一个洞察,模型准确率瞬间从 65.75% 飙升至 79.86%,净赚 14 个百分点。对比之下,自主编码基准 Claude Code 从未意识到物理时间与调度器的错配,盲目尝试了几十轮实验后才在偶然中试出了 OneCycleLR。
更具说服力的是 Agent 对“共依附改进”(Co-dependent Improvements)的捕捉能力。在机器学习实践中,很多优秀的优化技巧具有强依赖性,单点引入不仅无效甚至会降低指标,传统单参数扫描往往会将其彻底漏掉。在 IMG-100 中,自动混合精度训练(AMP)在单独测试时仅仅表现出微弱的提速,常规系统很难给予高优先级;但 ReASearch 敏锐地意识到 AMP 的真正价值是“显存释放器”:显存占用从 14.3 GB 骤降至 4.1 GB,才使得加深网络和引入 CutMix 成为可能,进而让指数移动平均(EMA)在更大的模型容量下发挥出正则化作用。这一连串环环相扣的技术链条,将准确率一路推进至 84.03%,而未能理解这一共依附关系的基准系统最高仅停留在 78.59%。
在对抗失败时,Agent 同样展现了基于因果分析的韧性。在 MuJoCo 强化学习中,当系统试图引入经典的优先经验回放(PER)时,Agent 首先用 Python 测试了基于权重的 np.random.choice 与均匀分布采样的耗时差异,测出前者存在 133 倍的 CPU 计算延迟,从而果断在实验前放弃该方案,避免了一次必定超时的无谓运行。在图像任务早期测试 EMA 时模型准确率骤降至 1% 濒临崩溃,Agent 没有将 EMA 列入黑名单,而是深入底层代码排查出单纯的权重平均未同步更新 BatchNorm 的运行均值与方差,随后通过引入 PyTorch 的 AveragedModel 并在训练后重新校准 BN 统计量,成功化腐朽为神奇,捞回了关键的精度增益。
为什么将“搜索本身”内化为推理至关重要?
论文在消融实验中系统剖析了 ReASearch 各项机制的必要性。数据显示,Python 执行工具与长效记忆机制缺一不可:记忆机制主导了需要多轮状态迭代的提示词优化任务,而 Python 交互执行则主导了 ARC-AGI-2 这类强依赖细粒度诊断的算法推导。此外,在验证反馈设计上,仅向 Agent 暴露宏观聚合分数而非每个样例的详细表现,被证明是防止策略快速过拟合验证集的最佳折中。
从工具调用的统计分布来看,ReASearch 呈现出了令人深思的特征:在提示词优化与程序演化中,超过 70% 的工具调用被用于运行 Python 脚本进行数据分析、规律推导和局部假设验证,真正耗费高昂算力去运行完整评估的调用仅占少数。这表明,一个优秀的优化器不应该是一个盲目调用环境采样的“抽奖机”,而应当将大部分算力分配给由因果关系驱动的深度审视。
ReASearch 的成功不仅在于刷新了 14 个基准任务的量化表现,更在于它宣告了一种研发范式的演进。过去,我们在大模型外围包裹了一层又一层复杂的数学启发式脚手架,本质上是因为早期大模型缺乏长程推理与环境反思能力,人类不得不充当“架构翻译官”;而随着以 Claude 3.5 Sonnet 等为代表的前沿推理与工具调用能力的成熟,这种外挂架构正在逐渐成为阻碍大模型释放真正语义理解力的枷锁。
将优化算法本身降维为 Agent 思考链条中的一个工具集合,不仅赋予了优化系统在非凸离散语义空间中跨越死局的因果诊断能力,更展现了通用智能走向自主科学探索的一道缩影:面对未知的复杂问题,自主建立假设、编写代码验证推论、从失败中提取因果教训,并最终合成超越人类既有经验的最优解。推理不再仅仅是回答问题的终点,它正在成为驱动自主演化与开放式发现的核心引擎。