基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-23 23:50

让 AI 修对 Bug,先拆开调试步骤

dev.to · AI#AI 编程#调试#提示词
Editor brief · 编辑速览

将 AI 调试拆成复现、定位、解释原因和验证修复四个阶段,避免模型直接猜测补丁。复现阶段先补齐版本、环境和输入信息,再明确每一步的正常与异常表现。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

AI 修 Bug 最让人头疼的,是补丁看起来合理,错误却不断换地方,几轮下来连问题起因都说不清。作者认为,直接要求「修好它」,会把复现、定位、解释原因和检查影响混在一起,模型容易跳过证据,先猜一个补丁。

他的建议是把调试拆成四个阶段,每次只索取当前阶段的答案。这套方法值得借鉴,但原文没有对照实验,后半段也带有他们团队的产品推广,需要分开看。

先证明问题存在,再让 AI 缩小范围

第一阶段要的是复现步骤,而不是原因分析。

作者要求模型从干净状态出发,给出最短操作路径,并为每一步说明:有 Bug 时会看到什么,没有 Bug 时又会看到什么。如果缺少版本、环境、输入数据,就先列问题,不能自行补齐条件。

这一步的价值,是把模糊描述变成可核对的现象。比如「偶尔提交失败」还不足以支撑修改;输入是什么、从什么状态开始、失败的判断标准是什么,都得先明确。否则,模型可能在一个猜出来的环境里解决另一个问题。

确认能够复现之后,才进入定位。下面这段提示词要求模型设计排查顺序,并明确禁止提前修复:

The bug reproduces with the steps below. Here is the code I think
is involved.

Suggest a sequence of checks that halves the search space each
time: what to comment out, log, or hard-code, and in what order.
For each check, say what result would rule a part in or out.

Don't propose a fix yet.

最关键的是最后一行 Don't propose a fix yet.。它把回答限制在「下一步查什么」,避免模型看到可疑代码就直接改动。

每项检查还必须说明,什么结果能排除或保留某个范围。注释代码、加日志、临时写死值,都只是手段;真正有用的是检查结果能否让候选原因变少。

修复之前,要能解释哪个假设失效了

找到出问题的代码,不等于知道它为什么出错。

作者第三阶段的提示词,要求把排查结果转成一条完整的因果解释:

Here is the code where the bug lives, and what I found while
isolating it.

Explain the cause in plain language: what the code assumes, where
that assumption breaks, and why it only shows up under these
conditions. Then give one sentence I could use in a code comment.

要关注的是 what the code assumes:代码默认什么条件成立,这个条件在哪里被打破,又为什么只在特定情况下暴露。

例如,代码可能默认某个值一定存在。解释不能停在「访问了空值」,还得说明这个值为什么会缺失,以及哪些输入会走到这里。作者还要求生成一句可用于代码注释的说明,让这条约束能够留下来。

解释必须经得起定位阶段观察结果的检验。

如果解释无法覆盖已经看到的现象,就还没有完成诊断。语言通顺不代表因果成立。

第四阶段放在修复之后:把修复方案和原因交给模型,让它寻找其他可能依赖同一错误假设的代码,并逐项给出会触发问题的输入或条件。这里同样有限制:不要重写代码,只指出该去哪里检查。

这样,排查对象就从一处报错扩展到了共享的错误前提。

我的判断

我赞同这套方法对回答范围的约束。复现步骤、排除依据、因果解释,都是可以被人核对的产物,比一句「已经修好」更容易评估。

但作者所说的「模型通常不是问题」,原文没有提供证据。拆分任务可以减少跳步,仍然无法保证模型理解了代码,也无法补上它没有拿到的运行信息。

「每次把搜索范围减半」也更适合作为排查目标。真实问题可能涉及异步时序、共享状态或多个条件叠加,未必能整齐二分。强求减半,可能让模型给出看似规整、实际无效的检查。

还有一个缺口:开头提到了检查修复是否影响邻近代码,最后提供的却主要是同类风险扫描。**指出哪里可能出错,不能替代实际执行验证。**原文没有给出完整的修复验证流程。

后半段推荐的 PromptAlo 是作者团队的 Chrome 扩展,原文称它能通过 AI 标签管理提示词,并一键发送到 ChatGPT、Claude 或 Gemini。保存模板确实能降低重复使用的成本,但文章没有提供效率对比;普通文档或团队仓库也可以承载这些提示词,没有必要把方法和产品绑定。

能拿来做什么

  • 遇到前端或 Node 报错时,先整理版本、环境、输入和干净状态下的操作步骤,让 AI 明确区分已知事实与待补信息。
  • 定位时要求 AI 给出有顺序的检查方案,每项都写清排除条件,并加上 Don't propose a fix yet.,执行检查后再反馈结果。
  • 接受补丁之前,要求模型说明代码依赖的假设,并用实际观察核对解释;修复后再检查其他依赖同一假设的位置。
  • 把四阶段提示词保存到随手可取的位置,每次只提供当前阶段需要的材料,避免下一次又从一句「帮我修好」开始。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
API 命令行与编程 Agent 应如何选用
下一篇
购物 Agent 的正确性不能只验支付

资讯速览

dev.to · AI · 2026-10-23 23:50

AI 评分 8.0 / 10

相关标签

#AI 编程#调试#提示词

继续阅读

  • 排查 Cloudflare 是否误拦 AI 搜索抓取
  • API 命令行与编程 Agent 应如何选用
  • 购物 Agent 的正确性不能只验支付
  • 用 TypeScript 与 MCP 搭建销售分析助手
  • 用 C# 串起生产级 RAG 的关键环节