返回信息流
新闻事件
InfoQ AI/ML/Data Eng
1 个来源

Agents三周重构30万行代码,从业者质疑其证明力

CodeScene发布案例研究,称编码代理在三周内重构了30万行C代码,token成本约4000美元,并通过逐帧回放工具验证。代理在此过程中还构建了针对该代码库的专用配方手册。从业者对该项目的范围、衡量指标以及结果对验证工具的依赖程度提出了质疑。

SynthePulse Insight · AI 深度解读

三周重构 30 万行 C 代码:CodeScene 案例研究证明了什么,又没证明什么

版本 1 · 1 个来源

CodeScene 发布案例研究称,编码智能体在三周内重构了 30 万行 C 代码,代币成本约 4000 美元,Code Health 分数从 5.6 升至 10.0。从业者的分歧不在结果是否发生,而在它究竟证明了什么。

  • CodeScene 发布案例研究:编码智能体三周重构 30 万行 C 代码,代币成本约 4000 美元。
  • 工作产生 2903 次提交、涉及 726 个文件、修改 252055 行,Code Health 从 5.6 提升到 10.0。
  • 对象是开源反编译项目《街头霸王 III:三度冲击》,代码合并到某个 fork 的 main 分支,共 54 个拉取请求。
  • 两个支撑机制:CodeHealth MCP Server 提供确定性评分,回放轨迹测试框架逐帧比较回滚状态哈希。
  • 智能体自行积累重构手册,最终含 22 条配方和 82 条辅助笔记,失败尝试也被记录。
  • 从业者质疑集中在范围、指标与测试框架依赖:结果中有多少归因于模型、多少归因于框架,尚不清楚。
展开章节目录一个案例研究,两种读法

一个案例研究,两种读法

CodeScene 发布了一份案例研究,称编码智能体在三周内重构了一个 30 万行的 C 代码库,代币成本约为 4000 美元。这项工作产生了 2903 次提交,涉及 726 个文件,修改了 252055 行代码,代码库的 Code Health 分数从 5.6 提升到 10.0。该代码库是取自开源反编译项目的《街头霸王 III:三度冲击》。

CodeScene 创始人 Adam Tornhill 称,这是他从事大型系统工作三十年来第一次见到所谓规模化的“超人级 AI 表现”。但从业者在 LinkedIn 上的反应明显分裂,争论集中在结果能证明的范围,而非结果是否发生。

两个机制:确定性评分与逐帧回放

支撑这项工作的有两个机制。第一个是质量信号:CodeHealth MCP Server 为智能体提供了确定性评分,用于优化并判断某次转换是否有帮助。第二个是正确性:回放轨迹测试框架逐帧比较回滚状态哈希,以便在每次改动后检查行为是否正确。

有从业者认为,多数重构主张依赖绿色测试套件,而测试套件只能说明测试存活;对一款格斗游戏回放轨迹,门槛要高得多。这一评价本身是来源中的从业者观点,而非独立验证。

智能体自己写出的重构手册

比分数更值得注意的是智能体在过程中积累的东西。它们没有套用固定目录,而是积累了一套重构手册,最终包含 22 条配方和 82 条辅助笔记。手册中既有 Extract Function 和 Guard Clauses 等常见转换,也有针对该代码库的配方:Shared Index Range 捕捉仅起止范围不同的重复循环,Action Parameter 处理主要区别在于调用哪个函数的重复控制结构,Uniform Step Table 把异构调用转换为表驱动分派。

失败的尝试也被记录下来,包括那些使 Code Health 变差的转换。这一点在来源中被作为过程记录呈现,而非结果指标。

模型选择与平台期

团队大部分工作最终选用 Claude Opus,并称 Claude Code 配 Opus 在捕捉和记录新出现的模式上明显优于 Codex 配 Sol。当较小模型执行任务时,文件往往陷入平台期,似乎到达了无法突破的局部最优。

这些是团队自身的说法,属于来源主张。较小模型遇到的平台期是否代表模型能力上限,来源未给出定论。

范围之问:合并到哪里,算不算完成

怀疑者的火力集中在范围上。技术负责人 Konrad Otrębski 提出,真正的测试应是把这种重构服务提供给 Grafana 等知名开源项目,并以合并到 master 作为完成标准。参与该工作的工程师之一 Daniel Webb 回复称,代码已通过 54 个拉取请求合并到某个 fork 的 main 分支。

这意味着工作对象是开源反编译代码,而非产生收入的 production 代码;代码合并到的是某个 fork 的 main 分支,而非上游主仓库。案例研究由 CodeScene 自行发布,结果未经独立第三方验证。

指标与框架:结果到底在衡量什么

Asko Nõmm 提出了方法论问题:由于 Claude Code 和 Codex 针对各自模型调优,结果中有多少衡量的是模型、多少衡量的是测试框架并不清楚,成本也会同样变化。他还指出架构质量未被衡量,代码看起来健康不代表根本问题不会在后期浮现。

Denis Baltor 则质疑所发现的配方本身,认为 DRY 原则关注的是知识与意图的重复,而非相同代码行的重复,那些仅起止范围不同或仅调用函数不同的配方,可能混淆了两者。Tracy Bannon 认为把结果描述为“完美”相当大胆,对表述本身提出异议。

作者自己留下的未答问题

若干未答问题来自作者一方。Marc Bouvier 问非功能性表现是否改善,考虑到帧率、内存占用和输入延迟对一款游戏很重要;Webb 表示将引入性能专家。被问及测试框架是否捕捉到细微的帧时序回归时,他说可能没有确定答案,因为它作为 pre-commit hook 运行,部分失败在未被观察到的情况下就被修复了。

把这些放在一起,可以谨慎推断:这项案例研究在“智能体能否在受控信号下大规模改写代码”这一维度上提供了具体证据,但在生产环境适用性、架构质量、非功能性表现和归因拆分上,都还留着缺口。分歧之所以存在,是因为双方对“证明了什么”设定的门槛不同,而不是因为对事实本身有争议。

可信度边界

本文事实来自 InfoQ 对 CodeScene 案例研究的报道。案例研究由 CodeScene 自行发布,结果未经独立第三方验证;工作对象是开源反编译代码,合并目标是某个 fork 的 main 分支。团队关于模型优劣、平台期和性能专家安排的说法均为来源主张,非独立确认。

核心结论

这项案例研究给出的最硬证据,是智能体在确定性评分与逐帧回放两个信号约束下,对 30 万行 C 代码完成了大规模改写,并自行积累了 22 条配方和 82 条辅助笔记。但它没有回答的是:这套结果有多少来自模型、多少来自测试框架,以及它在 production 代码、架构质量和非功能性表现上是否成立。

主报道

InfoQ AI/ML/Data Eng

主报道来源