技术指南

如何使用 AI 调试代码

使用人工智能调试代码意味着向助手提供准确的错误消息、相关代码以及您期望发生的情况,然后询问可能的原因和测试它们的方法,而不是完全重写。

  • 4 分钟阅读
  • 最后更新
在本页4 分钟阅读
  1. 概述
  2. 深入探讨
  3. 战略影响
  4. 如何使用人工智能调试代码的未来
  5. 现实世界的实施
  6. 风险与防护栏
  7. 实施路线图
  8. 不断探索
  9. 常见问题

概述

这很重要,因为清晰的报告加上假设驱动的方法可以更快地找到真正的错误并告诉您它发生的原因,而盲目粘贴重写的代码可能会隐藏问题或创建新的问题。

深入探讨

调试是侦探工作:观察症状,形成有关原因的假设,对其进行测试,然后重复。人工智能助手是有用的合作伙伴,因为他们已经看到了许多常见错误,并且可以比大多数初学者更快地读取堆栈跟踪。当它们必须猜测时,它们的用处就小得多,并且猜测模型通常会自信地重写您的整个文件。从完整的错误开始。堆栈跟踪(在 Python 中称为回溯)列出了导致失败的函数调用链。最有用的部分通常是错误类型和消息以及指向您自己的文件而不是库代码的框架。将错误粘贴为文本,而不是屏幕截图,并在其提到的行号周围包含代码。接下来,描述预期行为与实际行为,以及您的环境:语言版本、关键库版本和操作系统(如果相关)。 “它不起作用”不会给模型带来任何好处。 “我期望 10 行,结果是 0,并且没有错误”给出了很多信息。对于更难的错误,构建一个最小的可重现示例:仍然显示问题的最小代码和数据。制作一个通常会自行揭示错误,并且它会将私人代码和数据排除在聊天之外。然后询问假设,例如:“列出三个最可能的原因以及如何检查每一个。”在更改任何内容之前,请使用打印语句或调试器进行确认。当您应用修复程序时,重新运行原始失败案例和一些正常案例,并要求 AI 解释修复程序为何有效。有两种常见的误解。错误中指定的行并不总是错误所在的位置;它通常是坏值最终被使用的地方,而不是它被创建的地方。并且没有错误信息并不意味着输出是正确的。

战略影响

成本与预算

多年来,架构决策决定着性能和运营成本。

更清晰的判决

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

质量控制

更好的工程选择可以减少生产中的可靠性事故。

如何使用人工智能调试代码的未来

编辑器和终端内的编码助手可以越来越多地运行代码、读取测试输出并在循环中提出修复建议,这使得解决常规错误的成本更低。这将更多的重心转移到人类的判断上:决定更改是否可以解决原因或仅消除症状,并在更改到达用户之前对其进行审查。使用人工智能来解释错误而不仅仅是让错误消失的初学者将能够更好地处理工具遇到的错误,例如误解的需求或对数据的错误假设。

现实世界的实施

一名 Python 脚本因“TypeError: can only concatenate str (not “int”) to str”而崩溃的学生粘贴了完整的回溯及其指向的行,并学习使用 str() 转换数字或使用 f 字符串。

按钮不执行任何操作的 Web 开发人员会从浏览器的开发人员控制台复制错误“无法读取 null 的属性”,并且 AI 建议在脚本运行之前检查该元素是否存在。

一位数据分析师的 pandas 总数看起来有误,他将数据削减到五行,但仍然显示问题,并询问三个可能的原因,这导致在合并中发现重复的键。

昨天代码有效的业余爱好者运行 git diff 并仅共享更改的内容,并且 AI 发现了一个重命名的变量,该变量仍在某个地方以其旧名称使用。

风险与防护栏

  • 优化一项基准测试可以隐藏更广泛的系统弱点。

  • 基础设施和维护成本常常被低估。

  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

  1. 在实施之前定义延迟、质量和成本目标。

  2. 在实际负载和数据条件下进行基准测试。

  3. 仪器监控错误、漂移和用户影响。

  4. 在扩展之前准备回滚和事件响应路径。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the How to Debug Code with AI quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

常见问题

什么是如何使用 AI 调试代码?

使用人工智能调试代码意味着向助手提供准确的错误消息、相关代码以及您期望发生的情况,然后询问可能的原因和测试它们的方法,而不是完全重写。这很重要,因为清晰的报告加上假设驱动的方法可以更快地找到真正的错误并告诉您它发生的原因,而盲目粘贴重写的代码可能会隐藏问题或创建新的问题。

该指南建议不要要求人工智能重写整个文件,而是要求什么?

询问假设和测试它们的方法可以让你保持控制,找到真正的原因并告诉你哪里出了问题。

在 Python 回溯中,您在哪里可以找到异常类型和消息?

Python 最后打印最近的调用,因此异常及其消息出现在底部。 Java和JavaScript把投掷框架放在第一位。

什么是最小可重现示例?

将问题简化到其本质通常会暴露出错误本身,并使私人代码和数据不被讨论。

哪个 bug 描述为 AI 提供了最有用的信息?

说明预期行为与实际行为以及是否出现错误,可以极大地缩小可能原因的范围。

为什么在应用人工智能建议的修复之前提交或隐藏你的代码?

版本控制为您提供了一个安全的返回点,并让您可以查看建议引入的确切差异。