OpenAI工程师Rodrigo Roim分享用GPT-6系列模型清理代码库的实践与提示词
OpenAI Core Experimentation团队工程师Rodrigo Roim详细记录了使用GPT-6 Astra和GPT-6.1 Sol在Codex中执行代码维护任务的过程,包括删除死代码、清理过期实验和优化CI。文章提供了具体的提示词示例、模型成本对比数据(如GPT-6.1 Sol Ultra以14%的成本达到Astra 92%的发现数)以及实际合并的1,400多个PR带来的量化收益(如容器镜像缩小48%),并强调了人工审查和优先级排序在自动化清理中的关键作用。
重要性实质性证据E3 可检验写法快讯
随着代码库的增长,维护工作——如删除未使用的代码、清理已完成的实验和修复不稳定测试——变得日益繁重。传统上,工程团队依赖复杂的静态分析系统来检测死代码,但这些系统往往难以处理反射调用或动态启用路径等边缘情况,且容易引发误删事故。OpenAI核心实验团队的工程师Rodrigo Roim近期分享了他们如何利用GPT-6系列模型在Codex环境中执行更智能、更具上下文感知能力的代码维护实践。
该团队首先尝试让GPT-6 Astra处理模糊的死代码清理请求。与需要精确指令的传统工具不同,Astra能够自主调查Slack讨论、内部项目跟踪器和生产性能分析表,以收集证据并解释每次删除的理由。这种能力使得五名工程师在两周业余时间内的协作中,成功合并了超过1,400个拉取请求,删除了逾80万行代码。这些清理带来了可衡量的基础设施收益,例如某服务的容器镜像从3.31GB缩小至1.72GB(减少48%),以及从测试套件中移除了约400个视觉快照变体。
在处理更难的问题——清理过期实验时,静态分析因依赖运行时配置而失效。Roim设计了一个包含安全防护措施的提示词,要求Astra验证Live Statsig配置、检查Git历史并保留作为“killswitch”的生产行为。Astra不仅遵循了这些约束,还生成了一份详细的Markdown报告,将候选项按CPU成本和所有权分组。一个典型案例是,Astra发现了一行看似不起眼的Python代码,它将一个功能开关映射到所有其他开关,导致显著的CPU扇出。尽管该开关被标记为“Permanent”,Astra仍将其提交人工审查,最终确认后移除,预计节省了主要受影响服务0.42%的CPU资源。
为了评估成本效益,团队比较了GPT-6 Astra和较新的GPT-6.1 Sol在相同子目录审计任务上的表现。数据显示,GPT-6.1 Sol Ultra产生了Astra Ultra 92%的发现数,但API成本仅为后者的14%($15.12 vs $109.06)。然而,Sol漏掉了一些被用作其他功能开关依赖项的常量,这表明不同模型存在特定的错误模式。通过调整提示词以纠正这些遗漏,团队证明了较低成本的模型也能达到相近的效果,但也指出未来模型发布可能需要重新审视这些提示词优化。
除了代码清理,该实践还扩展到了CI优化和不稳定测试修复。一个简单的提示词帮助团队提交了约30个CI优化PR,将CI完成时间的中位数从10分钟降至4.5分钟。另一个案例显示,补上一个缺失的mock将包含63个测试的resolver套件运行时间从592.6秒缩短到29.8秒,减少了95%。
作者强调,虽然GPT-6系列显著提升了维护效率,但并非所有提议都合理,有些甚至增加了复杂性。因此,优先级排序和度量仍然是工作流程的核心部分。对于希望尝试此方法的工程师,建议从小型维护任务开始,比较不同模型和投入程度的效果,并在每一步中将人工审查反馈纳入下一个提示词,逐步扩展到整个代码库。