Skip to content

B1 开发日常

💡 一句话总结:用 Plan Agent 理解代码,用 Build Agent 写功能和修 Bug。

📝 课程笔记

本课核心知识点整理:

B1 开发日常学霸笔记


学完你能做什么

  • 快速理解陌生代码库
  • 用 AI 辅助开发新功能
  • 高效定位和修复 Bug
  • 掌握 Plan → Build 开发工作流

你现在的困境

  • 接手陌生项目,花大量时间读代码
  • 写新功能不知道从哪开始改
  • Bug 定位困难,不知道问题出在哪

什么时候用这一招

  • 当你需要:用 AI 提升日常开发效率
  • 而且不想:什么都自己手写、手查

🎒 开始前的准备

确保你已经完成以下事项:


核心思路

开发工作流

理解代码(Plan) → 制定方案(Plan) → 实现功能(Build) → 验证测试(Build)

三种常见场景

场景推荐 Agent典型操作
理解代码Plan@文件 分析、@explore 探索
写新功能Build分步实现、迭代修改
修 BugPlan→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 定位不准信息不够给出完整的报错信息和复现步骤

本课小结

你学会了:

  1. 用 Plan Agent 理解代码和制定方案
  2. 用 Build Agent 分步实现功能
  3. 用 Plan→Build 工作流修复 Bug
  4. @explore 和 @文件 的组合使用

下一课预告

下一课我们将学习代码重构和测试生成,提升代码质量。


📚 更多完整模板Prompt 模板库