Bug 修复

Step 1/1让 AI 定位并修复异步 Bug

提供完整的 Bug 上下文(代码、现象、复现条件),引导 AI 做根因分析。

试试这样问:
Prompt 编辑器
运行次数:

知识点

高效的 Bug 修复 Prompt 必须包含三要素: 1. **Expected Behavior(期望行为)** - 函数应该做什么 2. **Actual Behavior(实际行为)** - 实际发生了什么 3. **Reproduction Context(复现上下文)** - 在什么条件下出现 ``` 期望: saveUserData 每次都应成功保存数据 实际: 约 30% 的请求数据未被保存,但返回了 success: true 复现: 高并发场景下更容易出现,单次调用正常 ``` > 这种结构化描述让 AI 快速聚焦到异步竞态条件(Race Condition)这一类问题。
"期望行为 vs 实际行为 + 复现条件"是最高效的 Bug 描述结构,帮助 AI 快速定位根因。

关于本 Lab

学习如何编写 Prompt 让 AI 帮助定位和修复代码中的 Bug,获得根因分析和修复方案。

学习目标

  • 掌握描述 Bug 的结构化方法
  • 学会提供有效的调试上下文
  • 理解如何引导 AI 进行根因分析
  • 能够获得可验证的修复建议

场景说明

用户的代码存在异步处理问题,数据有时无法正确保存。
示例输入
这段代码有 Bug,数据有时无法保存:
async function saveUserData(userId, data) {
  const user = await getUser(userId);
  user.data = data;
  updateUser(user);
  return { success: true };
}
期望输出
## 根因分析
updateUser() 是异步函数但没有 await

## 修复代码
await updateUser(user);

为什么这么做

  • 先定义任务边界,再定义输出格式,能显著减少模型“猜意图”的空间。
  • 把复杂任务拆成可验证的小步骤,比“一次让 AI 做完”更稳定。
  • 高质量 Prompt 的核心是可复用,不是一次性跑通。

迁移模板

你是[角色]。请基于以下输入完成任务。

任务目标:
- [目标1]
- [目标2]

约束条件:
- [必须遵守的规则]

输出要求:
- 格式:[JSON/Markdown/表格]
- 字段:[字段列表]
- 质量标准:[可检验标准]

常见误区

  • 只写“做什么”,不写“成功标准”与“输出结构”。
  • 一次塞入太多目标,导致模型注意力分散。
  • 没有做多次运行对比,误把偶然好结果当成稳定能力。

自检清单

  • 我是否写清楚了角色、目标、约束、输出格式?
  • 我是否能解释每条指令背后的作用?
  • 我是否在 3 次以上运行中得到稳定结果?

动手练习

  • 先按当前模板写出 v1 Prompt,并运行至少 3 次。
  • 根据结果改 1-2 条指令,产出 v2 Prompt。
  • 对比 v1/v2 的稳定性和可用性,记录差异。

达标标准

本节交付物

一份可复用 Prompt 模板(含场景说明、输入变量、输出要求、质量标准)。

反思题

提供足够的上下文对定位 Bug 有多重要?

Bug 修复后如何验证问题确实解决?