5.8 KiB
| title | description | sidebar | ||
|---|---|---|---|---|
| 快速修复 | 如何进行快速修复和临时更改 |
|
直接使用 DEV 智能体进行 bug 修复、重构或小型针对性更改,这些操作不需要完整的 BMad Method 或 Quick Flow。
何时使用此方法
- 原因明确且已知的 bug 修复
- 包含在少数文件中的小型重构(重命名、提取、重组)
- 次要功能调整或配置更改
- 探索性工作,以了解不熟悉的代码库
:::note[前置条件]
- 已安装 BMad Method(
npx bmad-method install) - AI 驱动的 IDE(Claude Code、Cursor 或类似工具) :::
选择你的方法
| 情况 | 智能体 | 原因 |
|---|---|---|
| 修复特定 bug 或进行小型、范围明确的更改 | DEV agent | 直接进入实现,无需规划开销 |
| 更改涉及多个文件,或希望先有书面计划 | Quick Flow Solo Dev | 在实现前创建 quick-spec,使智能体与你的标准保持一致 |
如果不确定,请从 DEV 智能体开始。如果更改范围扩大,你始终可以升级到 Quick Flow。
步骤
1. 加载 DEV 智能体
在 AI IDE 中启动一个新的聊天,并使用斜杠命令加载 DEV 智能体:
/bmad-agent-bmm-dev
这会将智能体的角色和能力加载到会话中。如果你决定需要 Quick Flow,请在新的聊天中加载 Quick Flow Solo Dev 智能体:
/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 或完整的 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 命令,用于撤销最后一次提交。