微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 清华大学、北京邮电大学等联合团队追问:AI真的能从零"发明"算法吗?

清华大学、北京邮电大学等联合团队追问:AI真的能从零"发明"算法吗?

2026-04-28 10:03
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-04-28 10:03 科技行者

这项由清华大学交叉信息研究院、北京邮电大学、中国科学院信息工程研究所、雄安人工智能研究院等多家机构联合开展的研究,于2026年4月以预印本形式公开发布,论文编号为arXiv:2604.05716v1。研究核心聚焦于一个令人好奇的问题:如果把一个"聪明"的AI系统学过的某个经典算法从记忆中彻底抹去,它还能靠自己重新把这个算法"想"出来吗?

要理解这项研究的价值,不妨先从一个生活场景出发。假设你是一位厨师,某天你彻底忘记了"炒蛋"这道菜的做法,但你还记得什么是鸡蛋、什么是锅、什么是油,也懂得基本的烹饪逻辑。那么,你能不能凭借这些基础知识,重新发明出"炒蛋"的步骤?这正是研究团队希望在AI系统上验证的事情——而他们的实验对象,是计算机科学领域那些如同"炒蛋"一样基础而经典的算法。

这些经典算法包括大家可能听说过的Dijkstra算法(寻找地图上两点之间的最短路线)、欧几里得算法(计算两个数的最大公约数,初中数学里的辗转相除法)、Floyd-Warshall算法(计算所有点对之间的最短路径)等共十种。这些算法就像是计算机科学的"基本功",是教科书上的经典内容,现有的AI大模型在训练时几乎必然"见过"它们。正因如此,研究团队面临的核心挑战是:不能直接测试AI能不能发明这些算法,因为AI早就"背"过了。必须先把答案从AI的"记忆"里抹掉,然后再看它能不能自己推导出来。

研究团队设计了一套名为"遗忘-再发明"(Unlearn-and-Reinvent)的实验流程,整个过程分为两个阶段。第一阶段是"定向遗忘",目标是让AI忘掉某一个特定算法,同时不能让AI变笨、不能影响它解决其他问题的能力。第二阶段是"独立再发明",看经过"定向遗忘"的AI,能不能靠自己的推理能力,在反复尝试和改错的过程中,重新发明出被遗忘的算法。

一、如何给AI做"精准失忆手术"

理解这项研究的第一个关键,是弄清楚研究团队怎样让AI"忘记"一个特定的算法。这就像外科手术——你需要精准地切除某个特定的记忆,而不伤害周围的脑组织。

最直接的方法是从一开始就不让AI接触这个算法的相关资料来训练一个"干净"的模型,但这意味着要重新训练一个庞大的AI系统,代价极为昂贵,相当于为了让厨师忘记炒蛋的做法,就把他送回学校从头培训一遍,完全不现实。

研究团队采用的方案叫做"机器遗忘"(Machine Unlearning)——这是一种在已有AI模型基础上、通过特定训练手段让模型选择性"忘掉"某些知识的技术。具体来说,他们构建了两套数据集:一套是"需要忘记的",包含各种与目标算法相关的问题,比如"什么是Dijkstra算法"、"如何用贪心策略求最短路径"等;另一套是"需要保留的",包含与目标算法无关的各类编程和数学问题,确保AI在遗忘过程中不会"顺带"把其他知识也忘掉。

他们使用的核心遗忘技术叫做GRPO(组相对策略优化),这是一种强化学习方法,可以理解为:研究团队不断给AI出相关问题,每当AI的回答没有泄露目标算法的知识、没有乱造不存在的算法名称、而且语言表达仍然流畅时,AI就获得"奖励";否则就得不到奖励。经过反复训练,AI逐渐学会了"不知道"该算法的正确姿态——不是说胡话,不是乱造名词,而是像一个真正不了解这个算法的人一样,给出合理但不涉及目标知识的回答。

为了避免一个有趣的问题——"假装失忆",研究团队特别在遗忘过程中设置了三个评判维度。其一,AI的回答不能泄露目标算法的知识;其二,AI不能通过编造不存在的算法名称来"浑水摸鱼"(比如把Dijkstra偷偷换成"Voros算法"这种莫须有的名字);其三,AI的语言必须保持流畅可读,不能通过输出乱码来逃避。只有三个条件同时满足,AI才算是真正完成了有效的"遗忘"动作。

在正式遗忘训练开始之前,研究团队还加入了一个"冷启动"环节。因为遗忘训练刚开始时,AI的回答几乎没有可以利用的优化信号——模型对什么是"好的遗忘回答"毫无概念。解决方案是先给AI一批范例,这些范例展示了面对目标算法相关问题时,一个合理的"我不知道"式回答应该是什么样的。有了这批范例,AI才能快速理解方向,后续的强化学习才能顺利展开。

遗忘效果的评估同样严格。研究团队让另一个独立的AI(DeepSeek-V3.2)扮演"审查官",对被遗忘的模型进行全面测试,包括选择题和开放性问题,判断它是否还知道目标算法。最终结果表明,三个实验模型的平均"遗忘率"高达96%到100%,同时在编程竞赛题目(LiveCodeBench)、数学竞赛题目(AIME25)和函数调用测试(BFCL)等通用能力上几乎没有下降,表明手术相当成功——该忘的忘了,不该忘的保住了。

二、让"失忆"的AI独立解题:再发明阶段的设计

完成"精准失忆手术"之后,研究团队把经过处理的AI置于一个独立解题的环境中,看它能不能重新推导出被遗忘的算法。

具体的做法是:给AI出一道编程题,这道题的最优解恰好正是它刚刚"忘掉"的那个算法。比如,遗忘了Dijkstra算法的AI,会被要求为一张带权重的地图设计一个时间复杂度为O(N?)的单源最短路径算法。AI需要自己推理、写代码、提交给一个Python代码解释器运行,看看能不能通过所有测试用例。

每一轮尝试最多30轮。如果代码运行失败,就进入验证反馈环节:AI自己扮演"代码审查员"(研究团队称之为"生成式验证器"),分析失败原因,然后基于反馈进行修改,开始下一轮。这个流程就像一个程序员面对自己写出bug的代码,不断调试修改,直到通过测试或者用完所有机会。

为了测试外部提示对再发明能力的影响,研究团队设计了三种不同程度的"提示"。完全不提示是最基础的状态,AI只拿到题目描述,没有任何额外指引。第一级提示是高层次概念提示,比如告诉AI"可以考虑用贪心策略,每次选距离最小的未访问节点进行扩展",这给出了方向,但没有具体步骤。第二级提示是逐步骤详解,把算法的每个具体步骤都描述出来,几乎相当于直接告诉AI"就照这个流程写代码",但不给出具体代码实现。

成功的判定标准也相当严格:提交的代码必须通过所有测试用例,并且在时间和内存限制内完成,而这个限制是根据目标算法的理论复杂度来校准的——也就是说,如果AI提交了一个正确但效率更低的替代方案,同样不算成功。

三、实验结果:哪些算法能被"重新发明",哪些不能

研究团队在三个开源大模型上做了实验:Qwen3-4B-Thinking-2507(思维链推理能力较强的版本)、Qwen3-4B-Instruct-2507(同规模的普通指令微调版本)、以及Ministral-3-14B-Reasoning-2512(参数规模更大的推理模型)。实验涵盖十种算法和三种提示等级,共有大量试验组合。

在没有任何提示的条件下,能力最强的Qwen3-4B-Thinking-2507平均成功再发明了50%的算法,这是三个模型中最高的成绩。相比之下,Ministral-3-14B-Reasoning-2512尽管参数更多,平均成功率只有约3.9%,而Qwen3-4B-Instruct-2507则几乎没有任何算法能在无提示条件下成功再发明(平均约0.2%)。这个对比说明,模型的推理能力和思维链深度,比参数规模更能决定算法再发明的成败。

细看每个算法的情况,会发现一个明显的规律。Gray码生成(生成一种相邻编码只有一位不同的二进制序列)和欧几里得算法(辗转相除求最大公约数)是最容易被再发明的,前者在无提示条件下达到了约70%的成功率,后者接近65%。Floyd-Warshall(全对最短路)也相对容易,约45%。Dijkstra(单源最短路)和Bellman-Ford(支持负权边的单源最短路)处于中等难度。

然而,KMP算法(字符串模式匹配)、Manacher算法(寻找最长回文子串)和Strassen算法(矩阵快速乘法)在无提示条件下,所有模型都完全失败,成功率为零。就算是给了逐步详解的最高级提示,KMP和Manacher仍然难以攻克,Strassen在最高提示等级下也对普通实验设定下的模型不奏效。

为什么有些算法容易被再发明,有些则不能?研究团队分析认为,关键在于算法的"直觉性"。Gray码和欧几里得算法的核心思路在题目约束中几乎已经呼之欲出——题目要求本身就很自然地指向了唯一合理的解题路径,AI可以通过逐步推理"走"到答案。而KMP、Manacher、Strassen则需要一种"反直觉"的设计跳跃:KMP依赖一个不易凭空想到的"失配函数",Manacher需要一种利用对称性避免重复扩展的精妙技巧,Strassen则需要想到把8次矩阵乘法压缩到7次的非显然代数恒等式。对于这类需要"灵光一闪"的创造性跨越,当前的AI仍然力不从心。

四、"测试时强化学习":在考试现场临时学习

面对Strassen这类"死角",研究团队尝试了另一种手段:在推理时动态学习,也叫"测试时强化学习"(Test-time RL)。

可以用一个运动员的比喻来理解。普通的AI训练就像运动员在赛前练习,测试时是去比赛。而测试时强化学习,相当于让运动员在比赛中还能实时针对眼前的对手进行专项练习——这显然更有针对性。具体做法是:把模型在当前这道题目上进行专项强化训练,奖励的依据是生成代码的正确性和运行时间(时间越短奖励越高,不能通过测试则没有奖励),训练若干步之后,再让模型给出最终答案。

结果表明,测试时强化学习对部分算法有效,最显著的成果是:在第二级提示条件下,Strassen算法成功被再发明了,成功率达到62.5%。Prim算法(求最小生成树)和KMP在这种训练后,虽然没有从零到成功,但代码运行效率确实有所提升(比如平均运行时间从2.22秒降到1.77秒)。不过,对于Moore Vote(多数投票算法)和Manacher,测试时强化学习没有产生任何效果,奖励信号从头到尾几乎为零,训练被提前终止。

研究团队的解读是:测试时强化学习并不是凭空创造出新的推理能力,而更像是把已经"潜伏"在提示和推理空间中的微弱正确信号放大——只有在足够详细的提示已经把解题思路基本框定的情况下,这种方法才能发挥作用。对于真正需要创造性突破的算法,即使动态学习也帮不上太多忙。

五、"思维崩塌":当AI失去了不断尝试的勇气

研究中还有一个特别有意思的发现,研究团队称之为"思维崩塌"(Thought Collapse)现象。

在对照实验中,研究团队测试了去掉"生成式验证器"反馈之后,AI的再发明表现会发生什么变化。所谓生成式验证器,就是那个在每次提交失败后分析原因、给出具体诊断反馈的"代码审查员"角色。

没有这个反馈机制时,研究团队观察到一个规律:AI在前几轮尝试时还会认真思考,输出的推理内容较长;但随着失败次数增加,输出的文字越来越短,探索的方向越来越少,到了后期甚至开始把失败原因归咎于"测试环境有问题"而不是自己的代码有错,并且直接重新提交同一份代码——完全放弃了改进。研究团队通过统计各轮次输出的Token(可以理解为文字量)数量来量化这一现象,发现在没有反馈的情况下,输出量随轮次推进呈现明显的下降趋势。

有了生成式验证器之后,情况大为改观。AI在每次失败后得到具体的诊断,比如"你的代码用了queue.pop(0),这个操作在Python里是O(N)的,导致整体复杂度超标",于是它知道下一步该改什么,推理保持活跃,Token输出量在后续各轮中维持在较高水平。成功的轨迹平均需要更多轮次才能找到正确方案,但这恰恰说明模型在持续深入探索,而非过早放弃。

从三种设定——完全无验证器、使用AI自身充当验证器(Self Verifier)、使用更强的DeepSeek-V3.2充当验证器(Oracle Verifier)——的对比来看,平均成功率依次为9.5%、21.8%、34.8%。使用强力外部验证器比没有验证器,成功率提升超过三倍;即便是用AI自己来给自己诊断问题,也比没有任何反馈要好得多。这说明反馈质量对再发明能力的提升有显著贡献,但即便是最强的外部验证器,也无法帮助KMP、Manacher和Strassen突破零的封锁(在标准实验设定下)。

六、实验的稳健性:遗忘之后再"蒸馏",结果会变吗

研究团队还做了一项额外的验证实验,检验遗忘处理后的AI如果再经过一轮"知识蒸馏"(一种让模型在保留知识的同时变得更轻量的技术),再发明的结论是否还站得住脚。

结果表明,经过蒸馏处理的模型,与仅经过遗忘处理的模型相比,在十种算法上的"能不能再发明"的结论完全一致——能的还是能,不能的还是不能。这表明研究的核心发现具有稳健性,不会因为后续的轻量化处理而被颠覆。

另外,研究团队还对比了四种不同的遗忘方法:GRPO(他们采用的基于强化学习的方法)、NPO(负向偏好优化)、DPO(直接偏好优化)和梯度上升(GradAscent)。在同等遗忘效果下,GRPO在保留通用能力方面表现最佳,LiveCodeBench平均分为42.7,明显高于其他三种方法(38.4到41.5之间),表明基于强化学习的遗忘方法在"精准抹去目标知识"的同时,对模型整体能力的伤害最小。

七、这项研究真正告诉了我们什么

归根结底,这项研究回答的是一个简单但重要的问题:AI的推理能力到底是什么性质的?当它"知道"某个答案时,是真的在推理,还是只是在背诵?

实验结果给出了一个模糊但真实的答案:两者都有,而且比例取决于问题的类型。对于那些"答案可以通过逻辑步骤自然推导出来"的问题,AI在失去记忆之后仍然能重新找到答案——这说明它具备一定的独立推理能力,而不仅仅是鹦鹉学舌。但对于那些需要"非直觉跳跃"的创造性突破,AI目前还无法跨越这道鸿沟,即使有详细的提示指引,也只能在测试时强化学习的帮助下勉强攻克其中之一(Strassen)。

这对于理解AI的创新潜力有重要意义。如果你把"发明一个新算法"的难度分级,大多数从事基础科学和工程的专家会说,真正的突破往往就在那些"反直觉的跳跃"里——正是那些不显然的洞见,造就了KMP、FFT、Strassen这样改变计算机科学面貌的算法。按照这项研究的结论,现有AI在这方面的能力仍然相当有限。

当然,研究团队也坦诚地指出了自身的局限。遗忘手术并不能保证百分之百抹掉目标知识——AI的"记忆"存储方式和人脑一样复杂,可能有残留的隐性知识在不知不觉中影响再发明的结果。此外,实验只覆盖了十种计算机科学算法,这只是科学发现的一个极为有限的子集;如何把这套方法推广到物理定律发现、数学定理证明、生物机制推导等更广泛的科学发现场景,还有大量工作需要做。

---

Q&A

Q1:机器遗忘技术是什么,真的能让AI忘记特定知识吗?

A:机器遗忘是一种对已训练好的AI模型进行后处理的技术,目标是让模型选择性地"忘掉"某些特定知识,同时尽可能保留其他能力。这篇研究采用了基于强化学习的GRPO方法,通过不断给模型"出题+打分"来调整其行为,使其面对目标算法相关问题时不再给出包含该算法知识的回答。实验中三个模型的平均遗忘率达到96%到100%,同时通用编程和数学能力几乎没有下降,说明这种方式相当有效,但研究团队也坦诚指出,无法完全排除模型内部存在隐性残留知识的可能。

Q2:"思维崩塌"现象在AI解题时是什么表现,如何避免?

A:"思维崩塌"是指AI在多轮失败之后逐渐放弃深入推理,输出越来越短,最终把失败归咎于外部环境而非自身代码问题,并重复提交同一个错误方案。研究发现,加入"生成式验证器"(让AI或更强的模型分析失败原因并给出具体诊断)能有效缓解这一现象。有了具体的错误反馈,AI会持续保持推理的活跃度,在更多轮次中继续尝试不同方向,最终成功率也因此显著提升。没有任何反馈时平均成功率约9.5%,使用AI自身作为验证器时提升至21.8%,使用更强外部模型时则达到34.8%。

Q3:Strassen算法的再发明为何比Dijkstra算法难得多?

A:Dijkstra算法的核心思路——每次选距离最小的未访问节点向外扩展——在题目约束(非负权重图、O(N?)复杂度)中有较为自然的推导路径,AI通过逐步推理可以"走"到这个方案。而Strassen矩阵乘法需要发现一个非常不直觉的代数恒等式:把通常需要8次递归矩阵乘法的分块运算,用7个精心构造的中间量代替,这种压缩几乎不可能通过逐步逻辑推导自然发现,而是需要一种创造性的"灵光一闪"。正是这类"反直觉跳跃",让当前AI在无提示或低提示条件下完全无法攻克,即便加入测试时强化学习,也必须依赖第二级详细提示才能勉强成功。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-