直接答案
不要一开始就让代理“修好 Bug”。先固定失败输入、环境、版本和预期行为,让它在只读模式追踪路径并提出可证伪的原因;维护者确认后才授权最小修补,并要求原始复现、回归测试和相关套件共同通过。
关键结论
- 稳定复现是可信修复的入口条件。
- 调查记录要分开事实、假设和已确认根因。
- 一次只修改一条因果路径,不夹带顺手重构。
- 修复后同时验证原始故障和邻近行为。
关键事实
这篇内容解决什么问题
让编码代理参与 Bug 诊断和修复,同时保留清晰的因果与验证链路。
核验范围与限制
- 证据类型
- 官方文档本地验证
- 核验范围
- 覆盖故障复现、证据保留、因果收敛、最小修复、回归测试和发布复核。
- 限制与失效条件
- - 间歇性生产故障可能依赖本地代理无法获得的遥测与领域上下文。
- - 已知复现通过不能证明所有相关故障模式都已消失。
采集稳定且已脱敏的故障
记录确切版本、命令或请求、脱敏输入、实际输出、预期输出、时间和相关版本信息。密钥和无关客户数据必须在进入代理会话前删除。
把故障缩小到无需生产权限也能重复出现。如果它仍然间歇发生,应记录频率和相关条件,而不是虚构确定原因。
在只读模式追踪失败路径
让代理定位入口、状态变化、错误处理和相关近期变更,并引用代码位置、分开观察与假设。对于有已知正常版本的回归,可在条件允许时使用历史和可自动判断的 bisect 检查。
- 保持故障输入和环境不变,一次只检验一个假设。
- 检查日志与错误链时移除秘密。
- 区分客户端、网络、服务、存储和外部提供方边界。
- 现有证据无法区分多个原因时应停止猜测。
编辑前审查因果解释
原因说明要解释输入为何到达失败、当前行为为何违背契约,以及什么证据能够推翻该假设。修改校验、重试或授权逻辑前,维护者必须确认业务预期。
存在多个合理原因时,应增加观测或更窄测试,而不是让代理选择最容易修改的代码。
授权最小且可回退的修补
把改动限制在因果路径和回归测试;除非契约变更经过审查,否则保持公共接口不变。清理、依赖升级和大范围重构应拆成独立变更,便于审查与回滚。
在多个边界验证修复
重跑原始复现,证明回归测试在没有修复时会失败,并执行相关包或服务检查。检查日志和副作用是否产生新错误;跨 API 边界的故障还需验证成功与错误响应。
- 01原始场景重放完全相同的脱敏故障输入。
- 02回归证明展示新断言能够检测旧行为。
- 03邻近场景检查最可能受修补影响的边界。
- 04运行检查确认日志、指标、清理和回滚预期。
带着明确残余风险发布
汇总原因、修补、验证命令、影响版本、回滚计划和缺口;发布后监控相同故障特征。如果新证据否定了原解释,应重新诊断,而不是继续堆叠未经审查的猜测修补。
官方来源与核验范围
本文以公开官方文档为事实依据;命令和配置可能随客户端版本变化,执行前请同时核对对应来源。
查看技术核验方法