AI 编码 · 代码维护 · 精华速读

五人两周,删掉 80 万 行死代码

OpenAI 核心实验团队把代码维护交给 Codex 里的 GPT-6 系列:一句模糊提示就能换来附证据的删除 PR,累计合并 1,400 多个。更便宜的一档模型只要 14% 的成本,就能拿到 92% 的发现——前提是提示词写清护栏与举证标准。

来源 · OpenAI Developers《Maintaining software with the GPT-6 family》 · 阅读约 5 分钟

自行定位 逐条举证 加速审查 01 一句短提示 交代目标即可 02 跨系统取证 PR · Slack · 性能表 03 小 PR + 理由 每处删除可追溯 04 人工审查 分派到各团队 5 名工程师 · 两周业余时间 · 1,400+ PR · 80 万行
Fig. 1维护的瓶颈不在改代码,而在举证:模型把「为什么可以删」的证据一起交上来,审查才跟得上生成速度。

30 秒速览

记住这 4 句就够了

  • 规模

    五名工程师在两周业余时间里,于多个代码库合并 1,400 多个维护 PR,删除 80 万行以上死代码。

  • 证据

    模型自己去翻历史 PR、Slack 讨论、项目跟踪器和生产性能表,为每处删除写出理由。

  • 成本

    同一提示词下,GPT-6.1 Sol Ultra 用 14% 的 API 成本拿到 Astra Ultra 92% 的发现数。

  • 边界

    有些提案增加的复杂度超过收益,排序与度量仍是流程的一部分,不是交给模型就结束。

01 · 死代码清理

模糊提示能成立,是因为模型自己去补证据

历史 PR 与重叠改动 Slack 讨论上下文 内部项目跟踪器 生产性能分析表 确认从未被执行 逐处写明删除理由 提交 一个小草稿 PR 证据随改动一起交付
Fig. 2四个来源彼此独立,任何一处「看起来没用」都要被交叉验证后才会变成删除。

过去团队靠与运行时日志集成的静态分析删死代码,误删事故仍会发生:反射会干扰分析,看似无用的分支也可能留着应急。到 GPT-5.6 Sol,作者还得指定范围与验证标准;换到 GPT-6 Astra 后,一句连拼写错误都没改的提示就够用了。

清理前 3.31 GB 清理后 1.72 GB −1.59 GB · −48%
Fig. 3删掉的死代码直接变成可测量的体积:一个服务的镜像减半,另一组清理从测试套件移除了约 400 个视觉快照变体。

02 · 过期实验

代码还在跑,所以要先写护栏再放大范围

过期实验比死代码难:它们的代码可能仍在生产运行,或依赖随时变化的资格评估。团队过去用确定性静态分析加数据库查询,自己也知道产生了大量假阴性。作者于是让 Astra 先起草一版带护栏的提示词,再逐级放大。

反馈回写 确认后放大 ① 单个项目 + 护栏 保留 killswitch ② 评论变新提示 把评审意见写进去 ③ 全库扫描报告 按归属拆成工作流 不改线上配置与服务
Fig. 4每一级都把上一级的人工判断沉淀成提示词约束,范围放大时护栏不会丢。

全库提示词要求模型审计所有 Statsig 项目而不只看标了 stale 的对象,追查枚举、包装函数、别名、动态拼接名与跨服务调用方,并结合埋点估算每个对象的 CPU 成本,最后输出按负责人分组、可并行执行的 markdown 报告。

判断力案例

几年前有工程师写了一行 Python,把「测试用覆盖开关」映射到所有其他功能开关,混在数百行同类映射里毫不起眼。Astra 发现它造成显著的 CPU 扇出,但因为它被标为 “Permanent”,只提交人工复核,没有直接删。复核后开关被移除,主服务预计省下 0.42% 的 CPU。

03 · 成本对比

同一提示词:14% 的钱,92% 的发现

模型 / 努力程度 每项发现成本 发现数 API 成本 GPT-6 Astra Ultra $0.77 142 $109.06 GPT-6.1 Sol Ultra $0.12 131 $15.12 ← 92% 的发现,14% 的成本 GPT-6.1 Sol Medium $0.06 86 $5.27 测试范围:6,000+ 文件、100 万行代码,含 Python / TypeScript / Go / Rust
Fig. 5条形长度是每项发现的成本:Astra 是 Sol Ultra 的 6.4 倍,多花的钱只换来 11 项额外发现。
原文给出的三组模型 / 努力程度结果(标准 API 定价,含研究子代理与自动后续轮次)
模型 · 努力程度API 成本发现数每项发现的成本
GPT-6 Astra Ultra$109.06142$0.77
GPT-6.1 Sol Ultra$15.12131$0.12
GPT-6.1 Sol Medium$5.2786$0.06

差异不是随机的:Ultra 档上两者的大部分差距,来自被其他开关依赖的常量开关——Astra 找到了,Sol 漏掉了。把这类错误模式写成提示词补丁,便宜模型就能逼近贵模型;但新模型发布会让补丁过期,需要重测。

04 · 可复用提示词

三个短提示,都可以先从小处试

稳定测试

修 flaky 测试

让 Codex 翻最近的 CI 运行,为每个不稳定测试尝试修复并开 PR;明确要求只找简单问题的明确修法,不做穷举。

改进上下文

回放 AGENTS.md 的一条指令

找出最近一次被错误指令带偏的会话,在同一快照上把同一提示跑两遍:一次保留该指令,一次删掉它,比较质量、工具调用、token 与耗时。

CI 负载

按可省分钟数排序

让 Codex 基于本仓库的 CI 历史,列出减轻负载的想法并按每日可省 CI 分钟排序,再挑前几条跟进。

CI 完成时间(分钟) 中位数 10 4.5 p90 12.5 6 上条为优化前,下条为优化后 resolver 套件(秒) 修复前 592.6 修复后 29.8 · −95% 63 个测试全部保留
Fig. 6约 30 个 CI 优化 PR 后,完成时间腰斩;补上一个缺失的 mock 又把 63 个测试的套件压到原来的 5%。

风险与边界

便宜的配置会漏,贵的配置会过量

假阴性

便宜模型漏掉依赖型开关

漏掉依赖 假阴性 输入
过度设计

提案的复杂度超过收益

收益 < 成本 拒绝 提案
会过期

提示词补丁随模型更新失效

需重测 新模型 补丁
人工兜底

标了 Permanent 就交给人

人工复核 删除 Permanent
Fig. 7同一套流程的四种偏差:漏检靠换模型或补提示词,过量靠排序,过期靠重测,真正需要判断的留给人工。

作者提醒:在更大的代码库里,很容易被模型找出的优化数量淹没;而有些提案增加的复杂度超过其收益。优先级排序与度量,仍要靠埋点和提示词技巧共同完成。

金句赏析

两句话,把成本账和边界都说清了

In this comparison, GPT-6.1 Sol Ultra produced 92% as many findings as GPT-6 Astra Ultra at 14% of the API cost.

原文 · Improving cost effectiveness with GPT-6.1 Sol

赏析 · 这句把两个比率压在同一行,读者不用换算就能看出性价比的量级差:少 8 个百分点的产出,省 86% 的钱。它也是全文主张的证据支点——模型升级值得追,但先测成本再决定用哪一档。注意它只说「发现数」,不说「被采纳数」,质量差异要靠后文的漏检分析补上。

However, some proposals added more complexity than their expected benefit justified, so prioritization and measurement remained an important part of our workflow.

原文 · Start small, review, and expand

赏析 · 在报出 1,400 个 PR、80 万行删除之后,作者没有顺势宣布「维护问题已解决」,而是用 however 把复杂度成本摆回桌面。关键在 prioritization and measurement 这组词:它把 Agent 的产出重新定义为待排序的候选,而不是待执行的结论。这句话划定了全文的适用边界——自动化提高的是发现与举证的速度,取舍仍然是人做的。

来源

原文:Maintaining software with the GPT-6 family(OpenAI Developers,2026-10-14)。本篇为约 5 分钟精华版,删去了招聘信息、提示词逐行说明与部分背景;数字、单位与限定条件均按原文保留,未引入外部信息。文内第一节标题为 “Removing unused code”,与篇名不同。