从会用到用好:AI 排查程序报错的 5 个进阶技巧
这篇写给已经会用 AI 排查程序报错、希望再进一步的读者。理解原理是关键:AI 见过大量常见错误及其解决方法,能根据报错信息和上下文快速缩小可能原因的范围,并帮你制定有条理的排查步骤。
排错的本质是“缩小范围”。AI 的价值在于帮你快速列出假设并设计验证方法,但真正的线索来自你在真实环境中观察到的结果。把每次验证的结果反馈给 AI,它才能调整判断。单向提问、等它给出答案,往往不如这种你来我往的协作有效。
技巧 1:把“已经排除的原因”告诉 AI
把“已经排除的原因”告诉 AI,避免它重复建议。适合在任务较复杂或要反复使用时采用。
技巧 2:要求 AI 解释它的推理
要求 AI 解释它的推理,你更容易判断方向是否正确。适合在任务较复杂或要反复使用时采用。
技巧 3:对偶发问题
对偶发问题,先让 AI 建议加日志,再收集更多信息。建议先在一个小任务上试用,确认效果后再推广。
技巧 4:修复后让 AI 帮你写一个能复现原问题的测试
修复后让 AI 帮你写一个能复现原问题的测试。做到这一点,结果的稳定性会明显提高。
技巧 5:把排查过程记录下来
把排查过程记录下来,形成团队的问题知识库。做到这一点,结果的稳定性会明显提高。
一个进阶场景
举个虚构的例子:一位数据分析师的定时脚本每周总有一两次失败。他把错误日志和脚本交给 AI,AI 注意到失败时间都在数据库备份期间,推测是连接超时。他调整了脚本的执行时间并增加了重试机制,问题再也没有出现。
如何避免同样的问题再次出现? 修复后补充测试、完善日志,并把原因和解决方法记录下来。
高级模板示例
下面的模板综合了以上技巧,可以按科研人员等不同场景替换内容:
偶发问题排查框架:
1. 时间线:问题首次出现的时间,前后有哪些变更
2. 规律:是否与时间、负载、特定用户、特定数据有关
3. 假设列表:| 假设 | 支持的证据 | 反对的证据 | 验证方法 | 成本 |
4. 先验证“成本低且可能性高”的假设
5. 增加日志:建议在哪些位置记录什么信息,帮助下次复现
6. 修复后:如何确认问题不再出现,以及需要哪些回归测试
进阶使用时仍要避免
- ✗ 在生产环境直接执行 AI 给的命令。 ✓ 先在测试环境验证,理解命令的作用和影响。
- ✗ 同时尝试多个修改。 ✓ 一次只改一处并验证,否则不知道哪个修改起了作用。
可以组合的技能
- 分步思考提示:分步思考提示是要求 AI 把复杂问题拆成几个步骤依次处理,比如先列已知条件、再分析、最后给结论。
- AI 代码审查:AI 代码审查是让 AI 在人工评审之前或同时,检查代码中的潜在问题:逻辑错误、边界情况、安全隐患、性能问题、可读性和风格不一致,并给出具体的修改建议。
给团队用的建议
如果要把 AI 排错推广给团队,先挑两三个效果最好的写法做成示范,附上前后对比。比起讲原理,同事更容易被具体效果说服。