夜雨聆风学习资料网

ARTICLE · 1053208

AI 自我提升的真正引擎:不是更会想,而是更会搜索

AI 自我提升的真正引擎:不是更会想,而是更会搜索

STANFORD CS329A · 第七讲

从 AlphaCode 到 Search-o1拆解生成、筛选、检索与验证的系统闭环

全文 3180 字 / 阅读约 7 分钟

如果一个模型一次答不对,多让它试几次,会不会自然变聪明?

答案是:有时会,但远远不够。

Stanford CS329A 第七讲把两类看似不同的系统放到了一起:一类是 AlphaCode 这样的编程系统,靠大规模采样寻找正确程序;另一类是 Search-o1 这样的深度研究 Agent,在推理途中主动检索、阅读和压缩外部资料。

它们解决的是同一个问题:答案可能已经存在于模型能够生成的空间里,但系统怎样把它找出来?

真正决定效果的,往往不是“生成了多少”,而是能否持续回答四个问题:下一步该搜索什么?什么结果值得保留?怎样验证它?如果走错了,能否回到前一步重来?

本讲的核心判断

模型能力决定搜索空间的上限,搜索、筛选与验证决定系统能从这个空间里带回什么。

PART 01

一次生成为什么很快撞上天花板

代码补全通常只需要续写几行,竞争性编程却要求模型先读懂长题目,再选择算法、处理边界条件,最后提交能通过隐藏测试的完整程序。

问题一旦变长,“最可能的下一段文本”就不等于“最终正确的解法”。一个局部看起来合理的决定,可能在几十步之后才暴露错误。

这也是推理型任务与普通问答的分水岭。模型并非完全没有能力,而是正确答案常常只占输出空间的一小部分。单次生成像从巨大仓库里随手拿一个盒子:拿到正确答案不是不可能,只是概率不够高。

最直接的办法,是让模型生成更多候选。可一旦候选从 10 个增加到 1 万甚至 100 万个,新瓶颈立刻出现:系统不可能把每一个答案都交给昂贵的外部评测。

所以,推理时扩展从来不只是“多采样”。它至少包含两个彼此独立的能力:

覆盖能力:正确答案有没有出现在候选集合里。

选择能力:在有限提交预算下,能不能认出更值得尝试的候选。

课堂用 pass@k 描述前者:生成 k 个候选,只要其中有一个正确就算覆盖成功。AlphaCode 的真实场景还需要关心“从 k 个候选中只提交少量答案”的表现,这时筛选器本身就会成为系统瓶颈。

AlphaCode 使用 Transformer 语言模型以前所未有的规模生成代码,再把结果智能过滤为一小组更有希望的程序。

— AlphaCode 团队 · Google DeepMind

PART 02

AlphaCode:先把搜索空间撑开,再压缩到 10 个答案

2022 年发布的 AlphaCode,把竞争性编程变成了一条大规模搜索流水线。

它先在公开 GitHub 代码上预训练,再用竞争性编程数据集微调。面对一道新题,系统会生成海量 C++ 和 Python 程序,先用题目给出的样例测试剔除明显错误,再根据程序在额外测试输入上的行为进行聚类,最后从不同簇里挑出少量候选。

1大规模生成

用较高采样温度生成大量候选程序,让搜索覆盖尽可能多的算法路径与实现方式。

2快速过滤

先检查能否编译、能否通过题目公开样例,把显然无效的程序尽早淘汰。

3行为聚类

使用额外测试输入观察程序行为,把语义相近的候选归为一组,避免最终名额被大量近似答案占满。

4有限提交

从不同簇中挑选少量程序。DeepMind 的评测流程最终只向外部平台提交 10 个候选,而不是把所有样本一股脑交出去。

DeepMind 在 10 场晚于训练数据的 Codeforces 比赛上模拟参赛。官方报告显示,AlphaCode 的估计排名进入参赛者前 54%,大致达到中位选手水平。

这个结果真正值得记住的,不是“机器参加了比赛”,而是它证明了一种可复用的系统范式:当单个答案不够可靠时,可以先扩大候选空间,再用可执行反馈压缩空间。

但课堂也指出了代价。候选越多,计算成本越高;如果新增样本只是同一种错误的不同写法,多采样也不会带来真正的覆盖提升。更关键的是,即使正确答案已经出现,聚类和排序也可能把它漏掉。

换句话说,搜索规模只能放大模型已有的能力,不能替代能力本身。

PART 03

AlphaCode 2:真正的升级发生在“选择器”

一年后,AlphaCode 2 没有简单地把采样量再扩大十倍。它重做了整条流水线。

第一,生成端换成了经过竞争性编程数据微调的 Gemini Pro 系列模型。第二,系统使用多个不同配置的生成模型,并随机化温度和题目元数据,以提高候选的多样性。第三,它引入独立的评分模型,对候选程序的正确性进行预测,再把评分与聚类结合起来完成重排。

这三项变化分别改善了三个环节:

环节
AlphaCode 的做法
AlphaCode 2 的升级
生成
自研代码模型大规模采样
以 Gemini Pro 为基础,使用模型族提高多样性
压缩
样例过滤与行为聚类
过滤、聚类后再用学习得到的评分模型重排
选择
从各簇挑选候选
在每个簇中优先保留更可能正确的程序

Google DeepMind 的技术报告显示,AlphaCode 2 在 12 场 Codeforces 比赛的评测中解决了 43% 的题目,接近上一代的两倍;综合排名达到第 85 百分位,也就是超过约 85% 的参赛者。

更有启发性的是样本效率。技术报告的曲线显示,AlphaCode 2 大约用 100 个样本,就能达到上一代使用 100 万个样本时的水平。这里不能简单归因于“模型更大”,而是生成器、数据、候选多样性、执行反馈和评分模型共同构成了更好的搜索系统。

比采样规模更重要的,是搜索质量

把预算继续砸向重复候选,收益会迅速下降。更强的基础模型、更有差异的搜索路径,以及更可信的验证器,往往比单纯扩大采样量更有效。

PART 04

从编程搜索到深度研究:RAG 为什么还不够

代码有一个天然优势:答案能编译、能运行、能过测试。深度研究就难得多。网页里的信息可能过时、冲突、缺上下文,也可能只与问题表面相关。

最常见的 RAG 流程,是先根据用户问题检索一次,把若干文档塞进上下文,再让模型作答。它适合单跳问题,却不擅长长链推理。

原因并不复杂:一个复杂问题在不同阶段需要的知识并不相同。开头检索到的资料,不可能提前覆盖推理途中出现的所有缺口。更糟的是,文档越多,噪声越多。把 20 篇网页全文都放进上下文,不等于模型真的读懂了 20 篇网页。

Search-o1 的改进,是把检索嵌入推理过程。模型在遇到具体知识缺口时再生成查询,检索完成后,不直接把原始网页全文塞回主上下文,而是由独立的 Reason-in-Documents 模块结合“当前查询 + 已有推理 + 检索文档”,抽取下一步真正需要的信息。

整个过程更像一个会做研究笔记的人:不是先下载一堆资料再硬读,而是边推理边发现缺口,带着问题阅读,只把与当前判断有关的证据写进笔记。

1识别知识缺口

推理进行到具体概念、事实或关系时,判断这一步是否需要外部证据,而不是依赖模型记忆猜测。

2生成针对性查询

查询围绕当前缺口展开,可以在同一次推理中多次触发,并根据上一轮结果继续改写。

3阅读并压缩文档

对检索结果做相关性判断,只保留能推进当前推理的事实与关系,避免原始长文档淹没上下文。

4回填证据并继续推理

把精炼后的信息接回原有推理链;如果仍有不确定性,再进入下一轮搜索,而不是把一次检索当作终点。

Search-o1 论文在科学、数学、编程与六个开放域问答基准上评测了这一设计。论文的核心结论不是“搜索越多越好”,而是:只有当系统能动态决定何时搜、搜什么,以及怎样把证据压缩回推理链时,更多文档才可能转化为更好的答案。

之后的 Search-R1 又把问题往前推进了一步:不再只靠提示词规定搜索流程,而是用强化学习训练模型在多步推理中自主生成搜索查询。论文报告称,在相同设置下,它相对多种 RAG 基线,让 Qwen2.5-7B 和 Qwen2.5-3B 分别提升 41% 和 20%。这些数字来自作者在七个问答数据集上的实验,不应直接外推为所有深度研究任务的通用增益。

PART 05

自我提升不是“自信地多想一会儿”

把 AlphaCode 和 Search-o1 放在一起,可以看到一条清晰的演进路线。

AlphaCode 在候选答案之间做并行搜索:一次生成很多路径,再过滤、聚类、排序。Search-o1 在单条推理链里做序列搜索:走到知识缺口时暂停,查询、阅读、补证据,然后继续。

两者都说明,Agent 的自我提升不等于让模型无休止地反思。没有外部反馈的反思,很容易把原来的错误解释得更加圆滑;没有选择器的大规模采样,也可能只是制造更多重复答案。

一个真正有效的闭环,需要四种能力同时存在:

搜索型 Agent 的四个硬条件

可扩展的候选空间:能提出不同路线,而不是同一答案的同义改写。

便宜的中间反馈:尽早用编译、样例、检索结果或结构化规则排除坏路径。

可信的选择器:能在候选很多时排序,也能承认现有证据不足。

受控的上下文:只把当前推理真正需要的信息带回主链,避免噪声累积。

这也解释了为什么“置信度”仍是难题。课堂最后提醒,模型的 token 概率并不是可靠的正确率估计;模型可能在错误时依然非常自信。搜索系统不能只问模型“你确定吗”,而要尽量把判断落到可观察的外部证据上。

对编程任务,证据是测试;对深度研究,证据是来源、交叉验证和清楚的事实边界;对长程 Agent,证据还包括环境状态、工具返回和可恢复的执行记录。

当这些反馈进入循环,模型才不只是“多想了一会儿”,而是在系统约束下修正自己的行为。

收束

写在最后

过去我们习惯把智能归结为模型参数:更大、更贵、更长的推理链,似乎就代表更强。

但 AlphaCode 到 Search-o1 展示了另一条路线。固定模型也能通过推理时搜索获得明显提升,前提是系统知道怎样产生差异、怎样获取反馈、怎样淘汰错误、怎样保存证据。

下一代 Agent 的竞争,未必只发生在模型榜单上。谁能构建更好的搜索空间、更可靠的验证器和更节制的上下文,谁才更有可能把模型的潜力稳定地转化为结果。

课程原视频

01 · Stanford CS329A Part 07: Self-Improvement and Deep Research Agents

https://www.youtube.com/watch?v=Uni9dqyuuDM

Google DeepMind 官方资料

01 · Competitive programming with AlphaCode

https://deepmind.google/blog/competitive-programming-with-alphacode/

02 · Competition-Level Code Generation with AlphaCode

https://arxiv.org/abs/2203.07814

03 · AlphaCode 2 Technical Report

https://storage.googleapis.com/deepmind-media/AlphaCode2/AlphaCode2_Tech_Report.pdf

检索增强推理论文

01 · Search-o1: Agentic Search-Enhanced Large Reasoning Models

https://arxiv.org/abs/2501.05366

02 · Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning

https://arxiv.org/abs/2503.09516

END

如果这篇内容对你有帮助

欢迎 点赞 · 在看 · 分享 给更多朋友

相关学习资料