论文读懂了,代码就是跑不起来?厦大搞了个四 Agent 团队,两小时从论文到可运行系统
搞网络研究的大概都有过这种经历:一篇论文读下来,架构懂了,算法看明白了,实验图也能讲出故事——真动手把代码跑起来,是另一回事。论文不会写模块之间传什么格式的数据,不会写清楚环境怎么搭,更不会把修了三个月的 bug 写进正文。过去十年 SIGCOMM 和 NSDI 顶会论文里,大约只有 38% 公开了完整代码。剩下六成多,要复现就得从头写。这不只是累——很多研究方向因此根本没法入局,连基线都搭不出来。
厦门大学信息学院向乔教授和宋庆禹副教授团队联合上海交大、北邮、亿联网络和清华,最近放出了一个叫 RepLLM 的多智能体框架,专门做这件事:从论文自动生成可运行的代码系统。论文已被 SIGCOMM 2026 录用,第一作者是厦大一年级硕士生蒋怡宁。
RepLLM 的思路跟现在很多 AI 编程工具不太一样。它不是拿一篇论文直接丢给大模型说「给我把代码写出来」,那种做法跑简单 demo 还行,要复现一个涉及 P4 数据平面、Python 控制平面、客户端和编排脚本协同工作的系统,大概率会崩在接口不一致,或者跑出个模拟器假装完成了任务。RepLLM 的做法是组一个四人 AI 团队,每个 Agent 干自己擅长的事。
第一个是内容解析 Agent。它不像普通大模型那样把 PDF 转成一整段长文本然后祈祷模型别忘东西,而是把论文拆成结构化的知识树——章节、图表、公式、算法都有独立标识,互相之间的引用关系也连上了。后面要写某段代码时,系统可以顺着引用链只拿相关的那部分内容,不会在一篇长论文里把关键细节弄丢。
第二个是架构设计 Agent。它把论文里的高层描述转化成真正的系统蓝图:模块怎么分,执行顺序是什么,每个接口输入输出长什么样,依赖哪些环境。这一步解决了多文件项目最常见的死法——写着写着接口对不上,或者两个模块互相依赖谁也跑不起来。
第三个是代码生成 Agent。它引入了 SCoT(结构化思维链),相当于在「论文里用自然语言写的算法」和「最终代码」之间插了一层中间表示——有类型定义、条件分支、循环逻辑和数据依赖,但不绑定具体语言。这跟工程里的接口契约有点像,先把逻辑定死,再翻译成 Python、C++ 或 Go。
第四个是审计与修复 Agent。代码写完不是结束,是被放进沙箱里真跑。先是静态审计查语法和接口,再用动态修复根据运行日志处理端口冲突、缺依赖、数据格式不对这些问题,反复修到能跑起来。
这四个 Agent 共享一套记忆系统:论文内容放在「论文空间」,系统架构和代码状态放在「系统空间」。实验里如果不加共享记忆,系统有时候会产出一个运行成功但实际啥也没实现的空壳程序——跑是跑通了,论文的核心算法根本没写进去。
团队挑了七篇代表性网络系统论文来测,覆盖流量工程、DNS 验证、编码理论、配置挖掘、概率验证和在网计算,原始实现涉及 Python、C++、Go 和 P4,依赖 Gurobi、CUDA、Mininet、BMv2 这些各自不同的环境和工具。结果七套系统全部生成了可运行代码,并且成功加载了论文对应的数据集。相比之下,单次大模型 API 调用生成的方法在好几个任务上根本跑不起来,或者跑起来了但接不进真实数据。一些通用代码 Agent 比如 Claude Code,倒是能生成可执行程序,但容易把系统简化成模拟器——看着跑通了,实际上绕过了论文依赖的数据平面和实验环境,等于没复现。
时间方面,自动生成阶段耗时 38 到 84 分钟,加上人工校准 23 到 93 分钟,总复现时间 82 到 138 分钟。过去数周的工作量,现在两小时左右能拿到一套可运行、可调试的代码。校准后的结果也相当扎实:NCFlow 的吞吐跟官方实现几乎一致,NetDice 通过了全部 11 项测试,GRooT 复现了违规检测结果,NetChain 那个最复杂的——P4 数据平面加 Python 控制平面加客户端和编排脚本——也在 BMv2 环境里完成了数据包交互。
当然,RepLLM 不是万能的。需要改内核或驱动、依赖专用硬件和大规模集群、或者必须在 Kubernetes、LLVM 这些大型项目上打补丁的工作,它目前还搞不定。轻量沙箱撑不住那种场景。
这件事也折射出一个趋势:专用 Agent 比通用大模型更适合干具体科研活。RepLLM 的价值不只在自动生成代码——论文理解、系统设计、代码实现、环境构建、运行验证、结果复现,它试图把整条链路串起来。团队说 RepLLM 后续会开源。如果真能做到两小时复现一篇顶会论文,网络方向的研究门槛会降一大截——至少不用因为「不会写那个你没写过的语言的代码」就放弃一个方向。
相关链接
- 论文预览版:https://arxiv.org/abs/2509.21074
- SIGCOMM 2026 录用列表:https://conferences.sigcomm.org/sigcomm/2026/accepted/