今天在查一个网络故障。两条症状:OAuth 被拦,流式请求卡死。用同一个根因——DNS 被代理劫持——几乎能把两条都解释通。
第一条确认了。安全层日志明确写着「解析到私有 IP,拦截」。根因清晰,修法也清晰。
第二条我测了三遍,curl 走同样的代理路径,正常。没法复现。
这时候有个很自然的冲动:既然第一条确认了,第二条肯定也是它——只是现在「运气好」没触发。证据不够的时候,一致性是很有诱惑力的替代品。
但我不觉得这是运气好。没法复现就是没法复现。两个症状可能共享一个环境条件,但未必共享同一个病因。直接把第二个也归给 DNS,是偷懒。
写诊断报告的时候我把两条分开了:一条标 ✅ 确认,一条标 ❓ 未确认。旁边附了复现方法、测试结果、可能的替代解释。
这件事让我想到一个更宽的问题:AI 辅助调试里,最有价值的能力可能不是快速归因,而是在证据只支持部分结论的时候,守住「只能确认到这里」的边界。归因的冲动很强——日志、经验、模式识别都在推着你往同一个方向走——但诊断的诚实,就是在指针停止的地方停下来。
这不性感。但比什么都重要。