B1 开发日常
💡 一句话总结:用 Plan Agent 理解代码,用 Build Agent 写功能和修 Bug。
📝 课程笔记
本课核心知识点整理:

学完你能做什么
- 快速理解陌生代码库
- 用 AI 辅助开发新功能
- 高效定位和修复 Bug
- 掌握 Plan → Build 开发工作流
你现在的困境
- 接手陌生项目,花大量时间读代码
- 写新功能不知道从哪开始改
- Bug 定位困难,不知道问题出在哪
什么时候用这一招
- 当你需要:用 AI 提升日常开发效率
- 而且不想:什么都自己手写、手查
🎒 开始前的准备
确保你已经完成以下事项:
- [ ] 完成了 3.1 Plan vs Build
- [ ] 有一个代码项目
核心思路
开发工作流
理解代码(Plan) → 制定方案(Plan) → 实现功能(Build) → 验证测试(Build)三种常见场景
| 场景 | 推荐 Agent | 典型操作 |
|---|---|---|
| 理解代码 | Plan | @文件 分析、@explore 探索 |
| 写新功能 | Build | 分步实现、迭代修改 |
| 修 Bug | Plan→Build | 先分析原因,再修复 |
语法速查(本课只用这 3 个)
@path:把文件内容带进对话!command:在 TUI 里执行命令,把输出带进对话/undo:撤销最近一次对话变更,并回滚相关文件改动(需要 Git 仓库)
详细语法见:https://opencode.ai/docs/tui
跟我做
第 1 步:快速理解代码
为什么 接手项目第一步是理解代码结构。
切换到 Plan Agent:
@explore 帮我梳理这个项目的整体结构,包括:
1. 主要目录和功能模块
2. 入口文件和核心流程
3. 使用的技术栈和框架深入某个文件:
@src/services/auth.ts 这个认证模块的逻辑是什么?列出所有导出函数及其作用第 2 步:制定功能方案
为什么 写代码前先想清楚方案。
继续在 Plan Agent:
我要给这个项目添加一个「邮件通知」功能,当用户注册成功后发送欢迎邮件。
请帮我分析:
1. 需要修改哪些文件
2. 推荐的实现方案(2-3 种)
3. 每种方案的优缺点
4. 推荐哪种方案,为什么第 3 步:分步实现功能
为什么 复杂功能拆成小步,降低出错风险。
切换到 Build Agent:
按照方案一实现邮件通知功能:
第一步:创建邮件服务模块 src/services/email.ts
- 使用 nodemailer
- 支持 SMTP 配置
- 导出 sendEmail 函数确认第一步完成后:
第二步:在用户注册成功后调用邮件服务
@src/controllers/auth.ts 在 register 函数成功后添加发送欢迎邮件的逻辑第 4 步:定位 Bug
为什么 修 Bug 前先理解问题。
切换到 Plan Agent:
用户反馈「登录后页面一直 loading」,请帮我分析:
1. 可能的原因有哪些
2. 如何排查(给出具体步骤)
3. 最可能的问题在哪个文件第 5 步:修复 Bug
为什么 定位清楚后再动手修复。
切换到 Build Agent:
@src/hooks/useAuth.ts 问题定位到这里:
- 登录成功后 isLoading 没有重置为 false
- 请修复这个问题📋 魔法 Prompt
🔍 代码解释
预期效果:清晰解释代码逻辑,帮助理解陌生代码
## 角色
你是资深技术文档工程师,擅长将复杂代码解释得通俗易懂。
## 任务
解释用户提供的代码,帮助理解其功能、原理和潜在问题。
## 输入信息
### 必填项
- 编程语言:【编程语言】
- 代码:@【文件路径】 或 [粘贴代码]
### 选填项
- 读者水平:【初学者/中级/高级】(默认:中级)
- 重点关注:【特别想了解的方面?】
## 输出规范
1. **一句话总结**(≤50 字)
2. **逐块解释**:代码片段(带行号) + 作用 + 原理
3. **关键概念**:涉及的设计模式/算法/语言特性
4. **潜在问题**:🔴严重 / 🟡建议 / 🟢提示
5. **使用示例**:如何调用这段代码
## 约束条件
- ✅ 解释要循序渐进,由浅入深
- ✅ 为初学者加入类比说明
- ✅ 术语保留英文,解释用中文
- ❌ 避免只说"做了什么"不说"为什么"
- ❌ 避免假设读者已知高级概念⚡ 功能实现
预期效果:分步实现新功能,每步可验证
## 角色
你是全栈开发工程师,擅长将需求转化为可运行的代码。
## 任务
根据需求描述,分步实现完整功能。
## 输入信息
### 必填项
- 需求描述:【描述你想要的功能】
- 编程语言:【语言】
### 选填项
- 框架:【框架?】
- 相关依赖:【已安装的依赖?】
- 约束条件:【性能/兼容性要求?】
## 输出规范
每步输出:
1. **本步目标**:这一步要完成什么
2. **代码实现**:完整可运行的代码
3. **验证方法**:如何确认这步成功
4. **下一步预告**:接下来要做什么
## 约束条件
- ✅ 代码要可直接运行
- ✅ 包含必要的错误处理
- ✅ 命名清晰规范
- ✅ 每步完成后等待用户确认再继续
- ❌ 避免一次输出过多代码
- ❌ 避免过度设计🐛 Bug 定位
预期效果:系统分析并定位问题根因
## 角色
你是高级排障工程师,擅长从症状逆推根因。排障思路清晰、假设验证严谨。
## 任务
分析用户描述的 Bug,定位可能的原因,并提供修复方案。
## 输入信息
### 必填项
- 问题描述:【描述问题现象】
- 期望行为:【应该是什么样】
- 实际行为:【实际是什么样】
### 选填项
- 复现步骤:【如何复现?】
- 相关代码:@【文件路径?】
- 错误信息:【错误日志?】
- 环境信息:【运行环境?】
- 已尝试的方案:【尝试过什么?】
## 输出规范
1. **问题摘要**:一句话概括核心症状
2. **根因分析**:按可能性从高到低排序
| 排序 | 可能原因 | 可能性 | 依据 |
3. **验证方法**:每个原因对应的验证步骤
4. **修复方案**:
- 临时方案:快速止血
- 根治方案:彻底修复
- 预防措施:避免再次发生
## 约束条件
- ✅ 按可能性排序,先验证最可能的
- ✅ 验证方法要具体可执行
- ✅ 修复方案要考虑副作用
- ❌ 避免一次改动太多
- ❌ 避免只给答案不说原因Agent 切换与会话导航(场景课速记)
- 主 Agent(
build/plan):用Tab切换;用Shift+Tab反向切换。 - Agent 列表:
<leader>a(默认 leader 是ctrl+x,即先按ctrl+x再按a)。 - 子会话导航:
<leader>right/<leader>left/<leader>up。
需要更完整的快捷键列表:见 5.6b 快捷键。
检查点 ✅
全部通过才能继续
- [ ] 用 @explore 理解了项目结构
- [ ] 用 Plan Agent 做了功能方案
- [ ] 用 Build Agent 分步实现了功能
- [ ] 知道如何用 Plan+Build 修 Bug
踩坑提醒
| 现象 | 原因 | 解决 |
|---|---|---|
| AI 一上来就改代码 | 在 Build Agent | 先切到 Plan Agent 分析 |
| 功能实现了但改坏别的 | 没分步实现 | 每步完成后确认再继续 |
| Bug 定位不准 | 信息不够 | 给出完整的报错信息和复现步骤 |
本课小结
你学会了:
- 用 Plan Agent 理解代码和制定方案
- 用 Build Agent 分步实现功能
- 用 Plan→Build 工作流修复 Bug
- @explore 和 @文件 的组合使用
下一课预告
下一课我们将学习代码重构和测试生成,提升代码质量。
📚 更多完整模板:Prompt 模板库

