OpenCode 中文教程
首页
教程
生态
FAQ
对比
文章
  • 官方网站
  • 官方下载
  • 官方文档
  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务协议
  • 免责声明
  • 商标声明
  • 简体中文
  • English
  • Deutsch
首页
教程
生态
FAQ
对比
文章
  • 官方网站
  • 官方下载
  • 官方文档
  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务协议
  • 免责声明
  • 商标声明
  • 简体中文
  • English
  • Deutsch
  • 最新文章

    • Opencode 博客文章 - AI 编程前沿分享
    • 欢迎来到 OpenCodex

Opencode 工作流最佳实践:Build vs Plan 模式深度解析

掌握 Opencode 的工作流模式是从"会用"到"精通"的关键一步。本文将深入解析 Opencode 的两种核心工作模式:Build 和 Plan,以及如何在实际开发中应用最佳实践。

理解 Opencode 的工作流模式

Opencode 提供了两种主要的工作模式,它们适用于不同的开发场景:

Build 模式:快速执行

特点:

  • AI 直接执行任务,立即生成代码
  • 适合明确、简单的任务
  • 快速迭代,即时反馈

适用场景:

  • 简单的代码补全
  • 函数重命名
  • 格式化代码
  • 添加注释
  • 修复明显的 Bug

示例:

你:帮我重构这个函数,提取出重复的逻辑
AI:[直接生成重构后的代码]

Plan 模式:先规划后执行

特点:

  • AI 先制定详细计划,等待你确认
  • 适合复杂、多步骤的任务
  • 可以在执行前调整方案

适用场景:

  • 大规模重构
  • 新功能开发
  • 架构调整
  • 多文件修改
  • 复杂的 Bug 修复

示例:

你:实现用户认证功能
AI:我计划这样做:
    1. 创建 User 模型
    2. 实现 JWT 认证中间件
    3. 添加登录/注册路由
    4. 编写单元测试
    你确认这个方案吗?
你:确认,开始执行
AI:[按计划逐步执行]

Build vs Plan:如何选择?

决策树

任务是否明确且简单?
├─ 是 → 使用 Build 模式
└─ 否 → 任务是否涉及多个文件?
    ├─ 是 → 使用 Plan 模式
    └─ 否 → 任务是否有多种实现方案?
        ├─ 是 → 使用 Plan 模式
        └─ 否 → 使用 Build 模式

对比表格

维度Build 模式Plan 模式
执行速度快慢(需要确认)
适用复杂度简单任务复杂任务
可控性低高
适合新手是否
多文件操作不推荐推荐
可回滚性依赖 Git执行前可调整

实际案例对比

案例 1:添加日志

❌ 不推荐 Plan 模式:

你:在所有函数中添加日志
AI:我计划修改 50 个文件...(过度规划)

✅ 推荐 Build 模式:

你:在所有函数中添加日志
AI:[直接执行,快速完成]

案例 2:实现支付功能

❌ 不推荐 Build 模式:

你:实现支付功能
AI:[直接开始写代码,可能方向不对]

✅ 推荐 Plan 模式:

你:实现支付功能
AI:我建议:
    1. 集成 Stripe API
    2. 创建 Payment 模型
    3. 实现 webhook 处理
    4. 添加支付状态管理
    你觉得这个方案如何?

Opencode Agent 最佳实践

1. 清晰的任务描述

❌ 不好的描述:

"优化这段代码"

✅ 好的描述:

"重构 UserService.ts 中的 getUserById 方法:
1. 添加缓存层
2. 改善错误处理
3. 添加类型注解
4. 保持向后兼容"

2. 分解复杂任务

❌ 一次性大任务:

"实现完整的电商系统"

✅ 分步骤执行:

步骤 1:"创建商品模型和基础 CRUD API"
步骤 2:"实现购物车功能"
步骤 3:"添加订单管理"
步骤 4:"集成支付系统"

3. 提供上下文

❌ 缺少上下文:

"添加一个按钮"

✅ 提供完整上下文:

"在 UserProfile.tsx 组件中添加一个'编辑'按钮:
- 位置:头像右侧
- 样式:使用 Ant Design 的 Button 组件
- 点击后打开编辑模态框
- 遵循现有的设计规范"

4. 使用 AGENTS.md 文件

在项目根目录创建 AGENTS.md,让 AI 了解项目上下文:

# 项目上下文

## 技术栈
- React 18 + TypeScript
- 状态管理:Zustand
- UI 库:Ant Design 5.x
- 请求库:Axios + React Query

## 代码规范
- 组件使用函数式组件 + Hooks
- 文件命名:PascalCase.tsx
- 导出方式:命名导出
- 测试框架:Vitest

## 项目结构
src/
├── components/  # 公共组件
├── features/    # 功能模块
├── hooks/       # 自定义 Hooks
└── utils/       # 工具函数

## 常见任务
### 创建新组件
1. 在 components/ 或 features/ 下创建
2. 使用 TypeScript 定义 Props
3. 添加单元测试
4. 导出到 index.ts

5. 迭代式开发

❌ 追求一次完美:

"实现一个完美的用户管理系统,包含所有功能"

✅ 迭代式改进:

第 1 轮:"实现基础的用户列表和详情页"
第 2 轮:"添加搜索和筛选功能"
第 3 轮:"实现用户权限管理"
第 4 轮:"优化性能和用户体验"

高级工作流技巧

1. 使用 Checkpoints

在复杂任务中设置检查点:

你:实现用户认证功能,分三个阶段:
    阶段 1:创建数据模型(完成后等待我确认)
    阶段 2:实现 API 接口(完成后等待我确认)
    阶段 3:添加前端集成(完成后等待我确认)

2. 并行任务处理

对于独立的任务,可以并行处理:

你:同时执行以下任务:
    任务 A:重构 utils/date.ts
    任务 B:添加 components/Loading.tsx
    任务 C:更新 README.md
    这三个任务互不依赖,可以并行

3. 使用模板化提示词

创建常用任务的提示词模板:

模板:创建 React 组件

创建一个 {组件名} 组件:
- 功能:{功能描述}
- Props:{Props 列表}
- 样式:使用 Ant Design
- 测试:包含基础单元测试
- 位置:src/components/{组件名}.tsx

模板:API 接口

创建 {接口名} API:
- 方法:{GET/POST/PUT/DELETE}
- 路径:/api/{路径}
- 参数:{参数列表}
- 返回:{返回值类型}
- 错误处理:统一错误格式
- 文档:添加 JSDoc 注释

4. 代码审查工作流

让 AI 帮你做 Code Review:

你:审查以下代码,检查:
    1. 是否有潜在的 Bug
    2. 是否符合最佳实践
    3. 性能是否可以优化
    4. 类型定义是否完整
    5. 错误处理是否充分
    
    [粘贴代码]

5. 测试驱动开发(TDD)

使用 AI 辅助 TDD 工作流:

步骤 1:"为 calculateDiscount 函数编写测试用例"
步骤 2:"实现 calculateDiscount 函数,通过所有测试"
步骤 3:"重构代码,保持测试通过"

团队协作工作流

1. 统一提示词规范

团队应该建立统一的提示词规范:

团队提示词指南:

# 提示词规范

## 格式
[动作] + [目标] + [要求]

## 示例
✅ "重构 UserService.ts,提取重复逻辑,保持接口不变"
❌ "改一下这个文件"

## 必须包含的信息
1. 明确的动作(创建/修改/删除/重构)
2. 具体的目标文件或功能
3. 清晰的要求和约束

## 可选信息
- 技术栈要求
- 性能要求
- 兼容性要求
- 测试要求

2. Code Review 流程

开发者 → AI 生成代码 → 开发者审查 → 提交 PR → 团队 Review → 合并

AI 生成代码的审查清单:

  • [ ] 代码逻辑正确
  • [ ] 符合团队规范
  • [ ] 类型定义完整
  • [ ] 错误处理充分
  • [ ] 有必要的注释
  • [ ] 通过所有测试
  • [ ] 无安全隐患

3. 知识沉淀

将成功的工作流记录下来:

docs/workflows/
├── create-component.md      # 创建组件工作流
├── add-api-endpoint.md      # 添加 API 工作流
├── refactor-code.md         # 重构代码工作流
└── fix-bug.md               # 修复 Bug 工作流

性能优化工作流

1. 识别性能瓶颈

你:分析以下代码的性能瓶颈:
    [粘贴代码]
    
    重点关注:
    1. 不必要的重渲染
    2. 内存泄漏
    3. 大数据处理
    4. 网络请求优化

2. 优化建议

你:提供性能优化建议,包括:
    1. 具体的优化方案
    2. 预期的性能提升
    3. 可能的副作用
    4. 实现难度评估

3. 实施优化

你:实施以下优化(按优先级):
    优先级 1:修复内存泄漏
    优先级 2:添加 React.memo
    优先级 3:优化大列表渲染
    
    每完成一项,运行性能测试

常见工作流模式

模式 1:快速原型

1. "创建基础组件结构"
2. "添加核心功能"
3. "快速测试可行性"
4. "收集反馈"
5. "决定是否继续开发"

模式 2:稳健开发

1. "设计数据模型和接口"
2. "编写单元测试"
3. "实现核心逻辑"
4. "集成测试"
5. "性能优化"
6. "文档完善"

模式 3:重构优化

1. "分析现有代码问题"
2. "制定重构计划"
3. "编写测试保护"
4. "逐步重构"
5. "验证功能不变"
6. "清理旧代码"

模式 4:Bug 修复

1. "复现 Bug"
2. "定位问题代码"
3. "分析根本原因"
4. "编写测试用例"
5. "修复 Bug"
6. "验证修复效果"
7. "检查类似问题"

小结

掌握 Opencode 的工作流是提升效率的关键:

  1. 选择合适的模式:简单任务用 Build,复杂任务用 Plan
  2. 清晰的沟通:提供明确的任务描述和上下文
  3. 迭代式开发:分步骤执行,及时反馈
  4. 建立规范:团队统一工作流和提示词规范
  5. 持续优化:记录成功经验,不断改进

记住,AI 是你的助手,不是替代品。最好的工作流是人机协作,发挥各自的优势。


想了解更多最佳实践?查看实践指南。

最近更新: 2026/2/28 14:48