BMAD-METHOD/docs/zh-cn/how-to/quick-fixes.md

141 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "快速修复"
description: 如何进行快速修复和临时更改
sidebar:
order: 5
---
直接使用 **DEV 智能体**进行 bug 修复、重构或小型针对性更改,这些操作不需要完整的 BMad Method 或 Quick Flow。
## 何时使用此方法
- 原因明确且已知的 bug 修复
- 包含在少数文件中的小型重构(重命名、提取、重组)
- 次要功能调整或配置更改
- 探索性工作,以了解不熟悉的代码库
:::note[前置条件]
- 已安装 BMad Method`npx bmad-method install`
- AI 驱动的 IDEClaude Code、Cursor 或类似工具)
:::
## 选择你的方法
| 情况 | 智能体 | 原因 |
| --- | --- | --- |
| 修复特定 bug 或进行小型、范围明确的更改 | **DEV agent** | 直接进入实现,无需规划开销 |
| 更改涉及多个文件,或希望先有书面计划 | **Quick Flow Solo Dev** | 在实现前创建 quick-spec使智能体与你的标准保持一致 |
如果不确定,请从 DEV 智能体开始。如果更改范围扩大,你始终可以升级到 Quick Flow。
## 步骤
### 1. 加载 DEV 智能体
在 AI IDE 中启动一个**新的聊天**,并使用斜杠命令加载 DEV 智能体:
```text
/bmad-agent-bmm-dev
```
这会将智能体的角色和能力加载到会话中。如果你决定需要 Quick Flow请在新的聊天中加载 **Quick Flow Solo Dev** 智能体:
```text
/bmad-agent-bmm-quick-flow-solo-dev
```
加载 Solo Dev 智能体后,描述你的更改并要求它创建一个 **quick-spec**。智能体会起草一个轻量级规范,捕获你想要更改的内容和方式。批准 quick-spec 后,告诉智能体开始 **Quick Flow 开发周期**——它将实现更改、运行测试并执行自我审查,所有这些都由你刚刚批准的规范指导。
:::tip[新聊天]
加载智能体时始终启动新的聊天会话。重用之前工作流的会话可能导致上下文冲突。
:::
### 2. 描述更改
用通俗语言告诉智能体你需要什么。具体说明问题,如果你知道相关代码的位置,也请说明。
:::note[示例提示词]
**Bug 修复** -- "修复允许空密码的登录验证 bug。验证逻辑位于 `src/auth/validate.ts`。"
**重构** -- "重构 UserService 以使用 async/await 而不是回调。"
**配置更改** -- "更新 CI 流水线以在运行之间缓存 node_modules。"
**依赖更新** -- "将 express 依赖升级到最新的 v5 版本并修复任何破坏性更改。"
:::
你不需要提供每个细节。智能体会读取相关的源文件,并在需要时提出澄清问题。
### 3. 让智能体工作
智能体将:
- 读取并分析相关的源文件
- 提出解决方案并解释其推理
- 在受影响的文件中实现更改
- 如果存在测试套件,则运行项目的测试套件
如果你的项目有测试,智能体会在进行更改后自动运行它们,并迭代直到测试通过。对于没有测试套件的项目,请手动验证更改(运行应用、访问端点、检查输出)。
### 4. 审查和验证
在提交之前,审查更改内容:
- 通读 diff 以确认更改符合你的意图
- 自己运行应用程序或测试以再次检查
- 如果看起来有问题,告诉智能体需要修复什么——它可以在同一会话中迭代
满意后,使用描述修复的清晰消息提交更改。
:::caution[如果出现问题]
如果提交的更改导致意外问题,请使用 `git revert HEAD` 干净地撤销最后一次提交。然后启动与 DEV 智能体的新聊天以尝试不同的方法。
:::
## 学习你的代码库
DEV 智能体也适用于探索不熟悉的代码。在新的聊天中加载它并提出问题:
:::note[示例提示词]
"解释此代码库中的身份验证系统是如何工作的。"
"向我展示 API 层中的错误处理发生在哪里。"
"`ProcessOrder` 函数的作用是什么,什么调用了它?"
:::
使用智能体了解你的项目,理解组件如何连接,并在进行更改之前探索不熟悉的区域。
## 你将获得
- 已应用修复或重构的修改后的源文件
- 通过的测试(如果你的项目有测试套件)
- 描述更改的干净提交
不会生成规划产物——这就是这种方法的意义所在。
## 何时升级到正式规划
在以下情况下考虑使用 [Quick Flow](../explanation/quick-flow.md) 或完整的 BMad Method
- 更改影响多个系统或需要在许多文件中进行协调更新
- 你不确定范围,需要规范来理清思路
- 修复在工作过程中变得越来越复杂
- 你需要为团队记录文档或架构决策
---
## 术语说明
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
- **quick-spec**:快速规范。一种轻量级的规范文档,用于快速捕获和描述更改的内容和方式。
- **Quick Flow**快速流程。BMad Method 中的一种工作流程,用于快速实现小型更改。
- **refactoring**:重构。在不改变代码外部行为的情况下改进其内部结构的过程。
- **breaking changes**:破坏性更改。可能导致现有代码或功能不再正常工作的更改。
- **test suite**:测试套件。一组用于验证软件功能的测试用例集合。
- **CI pipeline**CI 流水线。持续集成流水线,用于自动化构建、测试和部署代码。
- **async/await**异步编程语法。JavaScript/TypeScript 中用于处理异步操作的语法糖。
- **callbacks**:回调函数。作为参数传递给其他函数并在适当时候被调用的函数。
- **endpoint**端点。API 中可访问的特定 URL 路径。
- **diff**:差异。文件或代码更改前后的对比。
- **commit**:提交。将更改保存到版本控制系统的操作。
- **git revert HEAD**Git 命令,用于撤销最后一次提交。