第一步:固定复现条件
记录运行环境、输入数据、操作顺序、实际结果和期望结果。偶发问题还要补充时间、并发量、重试次数与相关请求标识。先确认现有版本可以复现,再修改代码,才能避免把环境变化误认为修复成功。
- 用最短步骤触发同一个错误
- 保存关键日志并对敏感信息脱敏
- 确认影响版本与不受影响版本
- 尽量写成自动失败测试
第二步:沿数据流定位根因
从错误发生位置向输入和调用方追踪,区分症状、触发条件与根因。让 Codex 说明当前假设需要什么证据支持,并优先检查现有测试、接口契约和最近变更。不要只根据错误文本搜索一个相似补丁就结束调查。
第三步:实施最小而完整的修复
最小修复不是代码行越少越好,而是只改变解决根因所需的行为,同时完整处理边界条件。避免在同一个补丁中进行无关重构、依赖升级或大面积格式化,这会增加回归风险并使审查变难。
第四步:建立回归验证层级
先运行能够复现问题的最小测试,再运行受影响模块的测试、类型检查和生产构建。最后检查代码差异和运行日志,确认没有吞掉错误、留下调试输出或改变无关接口。
修复摘要应写清根因、改动、验证命令和残余风险。若某项验证因环境缺失无法运行,应明确标注未验证,而不是把它当作通过。
官方资料与延伸阅读
本文按官方公开资料重新组织为中文实践指南。产品界面和能力可能调整,具体以官方页面为准。
相关主题与下一步阅读
ChatGPT Plus、ChatGPT Pro、Codex 与 OpenAI API 属于不同产品或使用入口。围绕充值、支付和到账问题,建议继续阅读对应专题,避免把会员方案、开发接口余额和编码工具混为一谈。
常见问题
没有自动化测试时可以让 Codex 修 Bug 吗?+
可以,但应先建立可重复的人工复现步骤;条件允许时补充最小回归测试,防止同类问题再次出现。
为什么不建议顺便重构?+
修复与重构混在一起会扩大差异和回归面,也更难证明究竟是哪项变化解决了问题。
测试通过就代表修复完成吗?+
还需要检查差异、构建和相邻流程,并确认测试本身覆盖了真实触发条件。