首页/新闻资讯/正文详情

论文里那个基础集合坍缩成一个基的bug,AI把论文变代码时在偷懒

发布时间:2026/9/24 3:00:33 来源:云帆数科 栏目:资讯中心
论文里那个基础集合坍缩成一个基的bug,AI把论文变代码时在偷懒
你有没有想过一个问题AI 现在写代码这么厉害能不能直接把一篇学术论文变成一个能跑起来的代码仓库听起来像是科幻片里的情节但这件事已经有人在做了。而且做出来的结果,有点一言难尽。2024 年有一篇论文叫《Universal Neural Functionals》讲的是怎么处理神经网络权重空间里的某种复杂结构。论文里有个算法需要把一组索引按照所有可能的方式做分割组合,数学上叫划分,然后对每一种划分方式都构造出一个对应的基向量,最后把这些基向量拼起来,形成一个完整的表示空间。假设你有三个东西要分组编号 1、2、3。按数学上的规则它们能分成 5 种不同的划分方式各自单独一组、两个一组一个单独、或者三个全放一组。原始算法要求每一种划分方式都要生成对应的基向量一个都不能少最后拼出来的才是完整的基础集合。有一个专门做论文转代码的系统叫 PaperCoder,它是这个领域里目前公认比较强的一个方案。研究团队让它去实现这篇论文,结果生成的代码里,这个关键的划分枚举逻辑被简化成了只返回第一个划分候选或者只处理存在的平凡划分,本该是 5 个基向量的完整集合,变成了 1 个。这不是代码写错了导致跑不起来的那种 bug,恰恰相反,这段代码语法完全正确,能顺利运行,输出的形状看起来也没毛病。它悄悄把算法的核心逻辑阉割了,而且没有任何报错提示你出了问题。这就是这篇论文《PaperCompiler》要解决的事。AI 写论文代码,难在哪先说说为什么这件事本身就难。一篇论文,尤其是顶会论文,写作的目的是给同行读的,不是给编译器读的。作者会说我们采用了类似 X 的初始化方式,评估遵循标准协议,这些话对人类读者来说足够了,因为读者的脑子里已经有一堆背景知识可以自动补全。但对负责生成代码的 AI 来说,这些话全是坑,数据怎么预处理没写清楚、模型参数具体怎么初始化没写清楚、评估到底用什么指标算法没写清楚。现在市面上已经有几套专门干这个的系统。PaperCoder*将论文转代码任务拆成规划-分析-编码三个阶段依次进行的系统,是目前这个领域比较有代表性的方案。AutoP2C*能处理论文里图表等多模态信息,并带自动调试功能的论文转代码系统。AutoReproduce*会去挖论文引用的上下游文献里隐藏的实现细节,并用生成的测试代码反复修正结果的系统。这些系统的思路都差不多:先让 AI 通读论文,生成一份计划或者摘要,再把这份计划交给下一个 AI 去写代码。问题就出在这个交接环节。这个计划或摘要,几乎无一例外都是自由格式的文本,类似人写的会议纪要,大概说这里要实现一个损失函数,包含几个部分,具体到损失函数的每一项怎么写、和哪个模块对接、边界条件是什么,全靠下游负责写代码的那个 AI 自己去猜。这就好比你要装修房子,找了个设计师做完整体方案,方案里写着客厅要有暖色调灯光,厨房要方便做饭。这份方案本身没问题,但如果直接把这句话甩给一个不懂设计的施工队,让他们自己去理解暖色调具体是几瓦的灯泡、装在哪个位置、方便做饭意味着操作台要留多宽,施工队大概率会按自己最省事的理解去做,做出来的东西和设计师脑子里那个画面完全对不上。真正靠谱的装修流程,是设计师要出一份带精确尺寸、材质型号、点位标注的施工图纸,施工队照图施工,才能保证最后的成果和设计意图一致。自由格式的计划,就是那份写着暖色调方便做饭的粗糙方案。而 PaperCompiler 想做的,就是把这份方案变成有精确坐标和材质标注的施工图纸。核心思路:把论文炼成合同而不是总结PaperCompiler 这个名字里的 Compiler,指的就是编译器。编译器是干嘛的?把人写的高级语言代码,一步步翻译成机器能精确执行的底层指令,中间不能有半点模糊。作者把这个思路搬过来,论文里模糊的方法描述,要经过层层编译,最后变成对代码仓库里每一个文件都有精确约束的规范。整个流程分成三个阶段。**第一阶段:论文落地(Paper Grounding)**这一步做两件事。第一件事是构建一个实现蓝图,把论文里所有和实现相关的细节抽取出来,做成一条一条的记录。每条记录会标注四样东西:这个细节说的是什么、它在论文里的出处在哪一节哪个公式、这个信息的可信程度如何、它在最终代码里应该扮演什么角色。可信程度这个标注特别关键,论文把信息分成四类。paper_fact*:论文原文明确写出来的,证据确凿。external_contract*:论文说这部分按某个外部协议/某篇前作的方法来做,相当于把细节外包给别处了。implementation_choice*:论文没提,但写代码必须要有个说法,只能靠推断。unresolved*:论文里模糊到没法安全推断的地方,得留着当悬而未决的问题,不能瞎猜。这个分类的意义在于,它逼着系统诚实。以前 AI 遇到论文没写清楚的地方,要么悄悄用一个看起来合理的默认值糊弄过去,要么干脆漏掉这部分。现在每一条信息都要贴上这是论文说的还是这是我猜的的标签,后续所有环节都能看到这个标签,知道哪些地方是铁板钉钉、哪些地方是可以商量的。第二件事叫引用提取,专门处理那些又长又格式敏感、不能被压缩概括的材料,比如论文附录里的一整套 prompt 模板,或者一个具体的 JSON 输出格式定义。这些东西如果被 AI总结一遍再传下去,细节大概率会丢,所以干脆原样封存进一个叫引用注册表的地方,谁需要谁去查原文,不经过转述。**第二阶段:规范编译(Specification Compilation)**这是整个框架的核心。第一阶段收集来的那堆零散证据,在这一步被整理成三样东西:一份防退化需求清单、一张文件归属地图、每个文件各自的施工合同。先说防退化需求。每一条需求会记录清楚:这个行为该怎么实现才算合格、有没有运行时的边界条件要注意、什么样的简化写法是绝对不允许的。前面提到的那个划分坍缩成一个基的例子,如果当初有一条防退化需求写着禁止只返回单个划分,必须枚举全部有效划分,这个坑本可以避免。然后是文件归属地图。这一步要回答:论文里的每一个需求,到底该由代码仓库里的哪个文件负责实现?哪些文件之间有数据要互相传递?这就好比一个团队接了个项目,项目经理得先明确谁负责前端谁负责后端谁负责数据库,而不是把整个需求文档扔进一个群里,让几个人自己商量着分工,分工模糊的地方,活儿要么没人干,要么两个人做重复了。最后是每个文件的施工合同,英文叫 File-Level Contracting。这一步把前面两层信息,过滤压缩成某一个具体文件真正需要的那部分:这个文件要对外提供哪些接口、内部该怎么实现、它要消费谁产出的数据、它产出的数据谁要用、还有哪些约束不能违反。**第三阶段:约束引导下的仓库生成(Constraint-Guided Repository Generation)**前面两个阶段像是把整栋楼的图纸画完了,这一步才真正开始砌砖。系统按照文件间的依赖关系排好顺序,一个一个生成。生成某个文件时,手里同时握着三样东西:这个文件自己的施工合同、前面已经生成好的代码(这部分是既成事实,不能改)、后面文件对这个接口的期待(不能生成一个后面用不上的接口)。如果碰到某个地方规范里写着这里悬而未决,系统不会自己瞎补,而是老老实实把这个限制暴露出来,保留接口但明确标注这是没解决的问题。数据说话:提升有多大理论讲完了,来看实测效果。研究团队在 Paper2CodeBench 这个基准上做了测试,选了 ICLR、ICML、NeurIPS 2024 三个会议各 30 篇论文,一共 90 篇。评估分三种协议。Reference-free*:只看论文本身,不参考原作者代码,评判生成的仓库对不对。P2C-Ex*:一种更细粒度的无参照评测方式。Reference-based*:直接拿生成的仓库去对照论文作者自己发布的真实代码仓库,看有没有实现出关键差异。三种协议里,Reference-based 最狠,因为它是唯一一个能真正戳穿表面看起来完整、实际方法被简化这种问题的评测方式。| 评测协议 | PaperCoder | PaperCompiler | 提升幅度 ||---|---|---|---|| Reference-free | 4.562 | **4.777** | 4.7% || P2C-Ex | 4.535 | **4.728** | 4.3% || Reference-based | 3.647 | **4.152** | 13.8% |看到没有,提升幅度最大的恰恰是最能揭穿假象的那个协议,Reference-based 提升了 13.8%,远超另外两个协议的提升幅度。这说明什么?说明 PaperCompiler 真正改善的不是看起来像不像论文,而是和作者原始实现的方法逻辑是不是一致。研究团队还统计了逐篇论文的胜率对比,在 ICLR、ICML、NeurIPS 三个子集里,PaperCompiler 在 Reference-based 协议下的胜率分别达到 82.1%、92.6%、88.9%,几乎是碾压级的优势。再看和其他专门做论文转代码的系统对比,包括 AutoP2C 和 AutoReproduce:| 方法 | Reference-free | P2C-Ex | Reference-based ||---|---|---|---|| AutoP2C | 2.700 | 2.700 | 2.088 || AutoReproduce | 3.375 | 3.013 | 2.650 || PaperCoder | 4.450 | 4.513 | 3.825 || PaperCompiler | **4.813** | **4.850** | **4.263** |有意思的是,AutoP2C 用的 token 数量(1.68M)和 PaperCompiler(1.71M)几乎一样,但分数却差了一大截。这说明多花计算量不代表效果好,关键不在于想得多久,而在于想的方式对不对。PaperCompiler 比 PaperCoder 多花了约 74% 的 token(1.71M 对 0.98M),换算成美元大概是每个仓库多花 1.88 到 7.51 美元,相对于精度提升,这个成本相当划算。失败案例的诊断:错误到底减少在哪光看总分不够过瘾,研究团队还专门统计了评审给出的具体批评意见,总共分析了两千多条,归类成几种典型失败模式。| 失败类型 | PaperCoder | PaperCompiler ||---|---|---|| 算法退化 | 28.0% | 24.6% || 核心组件缺失 | 12.3% | **6.8%** || 评估协议不匹配 | 13.4% | **8.4%** || 高严重性问题 | 13.2% | **6.1%** |核心组件缺失从 12.3% 降到 6.8%,几乎腰斩。高严重性问题从 13.2% 降到 6.1%,也是接近减半。这两个数字最能说明问题,因为它们对应的正是文章开头讲的那种坑,方法核心逻辑被偷懒简化掉,而且不报错、不提示。不过也有一个指标反而上升了:API/接口不匹配问题从 2.3% 涨到 4.0%。这说明分模块、分文件生成虽然保住了算法逻辑的完整性,但代价是各文件之间的接口对接偶尔会出岔子,这是研究团队自己也承认的未解决问题。消融实验:哪个组件才是真正的功臣研究团队还做了个拆积木实验,把框架里三个关键组件依次拿掉,看少了哪个影响最大。拿掉需求整理(Reconciliation),也就是不再提前提炼防退化清单,直接进行架构设计。结果 Reference-based 分数从 4.38 掉到 3.86,掉了 0.51 分,是三个组件里影响最大的。拿掉文件合同(Contracting),也就是不给每个文件生成专属的局部规范。结果掉到 3.92,掉了 0.46 分,紧随其后。拿掉上下文切片(Context Slicing),也就是让每个文件都能看到全部信息而不是精简过的相关部分。结果只掉到 4.11,掉了 0.26 分,影响相对最小。有个具体案例很说明问题。有一篇论文叫 VDC,涉及多模态推理,原本需要接一个叫 Instruct-BLIP 的视觉语言模型接口。拿掉上下文切片之后,这个多模态推理模块直接变成了一个占位符,前向传播逻辑压根没实现,遇到实际调用就退化成生成几个通用的、和图片内容毫无关系的问题。而完整版的 PaperCompiler 保留了真正能跑的 Instruct-BLIP 接口,两者的 Reference-based 分数相差 2.25 分,这是消融实验里差距最悬殊的一个案例。这个案例其实揭示了一个更深的道理:上下文切片这个设计,表面上看是在减少给模型看的信息,但它的真实作用是防止关键依赖被信息海洋淹没。如果你让一个人在一份 200 页的产品需求文档里去找某个按钮该长什么颜色,他很可能翻着翻着就漏看了。但如果你专门为他截取出和这个按钮相关的那两段,他反而更不容易漏掉。信息多不代表理解得深,有时候信息太多反而会把真正重要的细节淹没在无关内容里。承认自己没做到的地方论文很老实地列出了几条限制。现在系统主要依赖文本解析后的论文内容,对论文里的架构图、复杂示意图这类非文本信息,处理能力有限。遇到这种情况,系统可能会退化成依赖 AI 自身预训练时学到的知识去猜,而不是真正从这篇论文里学到东西。评估目前聚焦在方法逻辑对不对,并没有验证生成出来的代码能不能真正跑通、跑出论文里报的那些具体实验数字。换句话说,这套系统证明了自己更懂论文在说什么,但离完全自动复现一篇论文的实验结果还有距离。另外,规范和文件合同目前起的作用是生成时的指导,不是形式化的正确性保证。也就是说,即便有了这套约束体系,最终生成出来的代码依然可能有 bug,只是这类 bug 更多是常规工程问题,而不是方法层面被悄悄简化的问题。写在后面看完这篇论文,最触动我的其实不是那 13.8% 的提升数字,而是那个划分坍缩成一个基的案例。这个 bug 之所以危险,恰恰是因为它太正常了。代码能跑,不报错,输出的张量形状也对,如果你不去对照原论文的算法描述,根本发现不了任何异常。这种看起来对但实际错了的情况,比直接报错要可怕得多,因为它会一直潜伏在那,直到某天你拿这个复现出来的模型去做后续实验,发现结果对不上,才会去回头排查,而排查的成本远比当初写对要高得多。这也让我想起一个更普遍的问题:很多时候我们对 AI 生成内容的信任,建立在它看起来很完整这个表面判断上。一份 PPT 排版精美,一段代码运行不报错,一篇总结逻辑通顺,这些都容易让人放松警惕。但完整性和正确性根本是两回事,前者是形式上的,后者需要真正回到源头去核对。这篇论文提出的三段式编译流程,本质上是在用工程手段强迫每一步都带着出处往下走,谁说的、从哪来的、有没有被验证过,这套溯源机制,或许比单纯提高模型能力更值得被重视。还有一点值得琢磨:论文里提到,拿掉上下文切片这个组件后,某些论文的分数反而变好了。这说明给更多信息不总是好事,有时候恰到好处的遗忘和聚焦,比全知全能更管用。这个道理放在人身上似乎也成立,信息过载的人未必比信息精简的人做出更好的判断。那么下一个问题来了:如果一篇论文本身写得就很模糊,连人类专家看了都需要猜,这套编译系统还能救得回来吗?QAQ1PaperCompiler是什么APaperCompiler是一个把学术论文转换成代码仓库的AI框架核心做法是先把论文里的实现细节编译成带出处、带约束的详细规范再按这份规范逐文件生成代码避免算法逻辑在转译过程中被悄悄简化。Q2PaperCompiler和PaperCoder相比提升有多大A在最能识别方法逻辑是否被简化的Reference-based评测协议下PaperCompiler比PaperCoder提升了13.8%3.647分升到4.152分高严重性错误比例从13.2%降到6.1%。Q3PaperCompiler为什么要区分论文事实和推断内容A因为论文里很多细节是模糊或省略的如果不区分清楚哪些是论文明确写的、哪些是AI自己猜的代码生成时容易把猜测当成事实导致方法核心逻辑被悄悄简化却毫无察觉。

相关推荐

StarRocks 全面支持 Paimon 2.0:构建多模态统一分析与检索
StarRocks 全面支持 Paimon 2.0:构建多模态统一分析与检索

作者:范振,StarRocks TSC Member;阿里云开源 OLAP 负责人StarRocks 对 Lakehouse 的投入已经持续多年。自 2023 年提出“From OLAP to Lakehouse”技术路线以来,社区持续完善对 Delta Lake、Iceberg、Paimon 等开放湖表的支持。数… · 2026/9/24 3:00:21

基于TinyUSB的STM32 U盘实现:从RAM Disk到SPI Flash完整教程
基于TinyUSB的STM32 U盘实现:从RAM Disk到SPI Flash完整教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 3:00:03

Apache Arrow GLib(C)深入指南:基于 GObject 的 C++ 封装、GObject Introspection 与多语言实战
Apache Arrow GLib(C)深入指南:基于 GObject 的 C++ 封装、GObject Introspection 与多语言实战

数据工程大数据序列化数据分析 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors/arrow13/arrow 点击查看 免费下载 Apache Arrow GLib 是 … · 2026/9/24 2:59:38

WorkBuddy能给企业带来什么?从AI工具到业务智能体
WorkBuddy能给企业带来什么?从AI工具到业务智能体

很多公司现在已经在用 AI 了。但你去问员工“平时怎么用”,答案通常都差不多。写个方案的时候让 AI 帮忙改一下,开完会把录音或者文字丢进去整理纪要,销售写客户邮件时让 AI 润色几句。财务手里有一张乱七八糟的 Excel,也可能先让… · 2026/9/24 4:28:22

Storm 与机器学习:在线模型更新、实时预测与特征工程管道
Storm 与机器学习:在线模型更新、实时预测与特征工程管道

Storm 与机器学习:在线模型更新、实时预测与特征工程管道本文探讨了如何利用 Apache Storm 构建机器学习在线模型更新、实时预测与特征工程管道。从基础架构到具体实现,详细介绍了 Storm 与机器学习系统的集成方案,包括在线模型更新机制、实时… · 2026/9/24 4:28:10

定制柜背板 5 毫米、9 毫米、18 毫米,各用在哪
定制柜背板 5 毫米、9 毫米、18 毫米,各用在哪

背板用 5 毫米、9 毫米还是 18 毫米,先看柜子挂在哪个房间、柜深多少、跨度多长,不是越厚越合适。这是做海口全屋定制时容易被一句话带过去的构件,也容易被"加厚就是升级"的直觉带偏。欧派大家居在海口是有实体门店的连锁体系&… · 2026/9/24 4:28:04

nginx-ui MCP 配置管理工具详解:让 AI Agent 安全读写 Nginx 配置文件
nginx-ui MCP 配置管理工具详解:让 AI Agent 安全读写 Nginx 配置文件

后端前端运维MCP 服务 【免费下载链接】nginx-ui Yet another WebUI for Nginx 项目地址: https://gitcode.com/gh_mirrors/ngi/nginx-ui 点击查看 免费下载 导读 本文聚焦 nginx-ui 内置的 MCP(Model Context Protocol)配置管理模块&#… · 2026/9/24 4:28:04

Talos Linux ResolverConfig 配置指南:nameservers、searchDomains 与 hostDNS 全解析
Talos Linux ResolverConfig 配置指南:nameservers、searchDomains 与 hostDNS 全解析

云原生操作系统容器编排 【免费下载链接】talos Talos Linux is a modern Linux distribution built for Kubernetes. 项目地址: https://gitcode.com/gh_mirrors/ta/talos 点击查看 免费下载 本文基于 Talos Linux(v1.15 参考文档与源码)系… · 2026/9/24 4:28:04

# 从单智能体到多智能体:这是为什么
# 从单智能体到多智能体:这是为什么

搜索“site:ijcai.org 2026 large language model multi-agent”,DuckDuckGo 返回 2024 年的综述和 2025 年的 L2M2 框架论文。这个结果并不意外——LLM 多智能体系统从提出到工程落地,一直是 IJCAI 最拥挤的赛道之一。与其追逐新名词,不如拆… · 2026/9/24 4:27:58

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码