Featured image of post OpenCode 新手进阶:并行调度与使用技巧全攻略

OpenCode 新手进阶:并行调度与使用技巧全攻略

📋 目录


📌 核心要点概括

功能 一句话说明
Session 并行 OpenCode 杀手级功能,多个任务同时跑,互不干扰,效率翻倍
Ultra Work 模式 输入 ULW,主智能体自动拆解任务、调度多个子智能体并行干活
@ 指定智能体 让擅长前端的干前端,擅长架构的做评审,人尽其才
Timeline 时光机 随时回退到任意历史节点,大胆试错零成本
Ralph Loop 让 AI 循环工作数小时,攻坚极难任务

一、Session 并行:让 AI 同时干多件事

这是 OpenCode 相比其他 AI 编程工具最大的差异化优势。传统工具只能串行——一个任务跑完才能开始下一个。OpenCode 可以同时开启多个 Session,互不干扰。

基础操作

1
2
3
4
/new              # 创建新 Session
/sessions         # 查看所有 Session 的状态(打转符号 = 正在运行)
/session <id>     # 切换到指定 Session
/session prev     # 回到上一个 Session

实战场景

假设你在开发一个"你画我猜"小游戏,有两个独立需求:

  • 需求 A:增加一个计时器,首次落笔开始计时,超过 20 秒游戏失败
  • 需求 B:画笔可以调节颜色

传统做法

先做完 A,再做 B → 需求 B 白白等待 5-10 分钟。

OpenCode 做法

1
2
3
4
5
6
7
1. 输入需求 A,AI 开始工作
2. 输入 /new,创建新 Session
3. 输入需求 B,AI 开始工作
4. 输入 /sessions 查看进度:

   Session 1  ◐  正在添加计时器逻辑...
   Session 2  ◐  正在添加颜色选择器...

两个需求完全并行开发,总耗时从 15 分钟压缩到 8 分钟。

注意事项

  • ⚠️ Session 之间完全隔离,修改同一文件可能冲突,建议分配给不同模块
  • ⚠️ 后台 Session 不会自动通知完成,需要手动 /sessions 查看
  • ✅ 可以随时 /new 开第三个、第四个……没有数量限制

二、Ultra Work:一键召唤 AI 编程团队

如果说 Session 并行是"手动挡",那 Ultra Work 就是"全自动驾驶"。输入一个魔法词,AI 自动把任务拆开、分配给最合适的智能体、并行执行。

触发方式

在 prompt 中包含以下任一关键词:

1
2
3
ULW
ultrawork
Ultra Work

工作原理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
你的需求:帮我做一个宠物商店网站
        │
        ▼
  ┌─────────────────────────────┐
  │  西西弗斯(主智能体)         │
  │  1. 拆解任务 → Todo List     │
  │  2. 分配子任务              │
  └──────┬──────────┬───────────┘
         │          │
    ┌────▼───┐ ┌───▼────┐ ┌────────▼────┐
    │ 先知    │ │ 前端    │ │ 文档编写者   │
    │ 架构设计 │ │ UI 开发 │ │ 文档生成     │
    └────────┘ └────────┘ └─────────────┘
         │          │            │
         └──────────┴────────────┘
                    │
                    ▼
              完整项目交付
  1. 自动拆分 Todo List
  2. 同时开启 3 个后台任务并行执行
  3. 主智能体居中调度
  4. 最终交付完整项目

什么时候用?

场景 适用 说明
从零创建完整项目 ✅ 极佳 自动拆分前端、后端、文档
多模块并行开发 ✅ 极佳 各智能体分工明确
单文件小修改 ❌ 不推荐 杀鸡用牛刀,反而更慢
简单 bug 修复 ❌ 不推荐 普通对话更快

💡 复杂度越高,Ultra Work 的价值越大。简单任务反而会因为调度开销变慢。

实际效果

用 Ultra Work 模式创建了一个宠物商店网站:

  • ✅ 在没有任何图片素材的情况下,用 emoji 作为装饰
  • ✅ 界面清新、交互流畅、动画完整

三、@ 指定智能体:让专业的人干专业的事

安装了 Oh My OpenAgent(OMO)后,你拥有一个 AI 编程团队。通过 @ 可以点名让特定智能体干活。

智能体能力表

智能体 擅长领域 最适模型 示例用法
🧠 西西弗斯 统筹规划、任务调度 Claude Opus 复杂多步骤任务
🔮 先知 架构设计、代码评审 GPT 5.5 项目结构设计
🎨 前端工程师 UI 开发、页面布局 Gemini 3 Pro 响应式布局优化
🔍 探索者 网络搜索、查资料 MiniMax 查最新 API 文档
📚 图书管理员 文献查阅、文档检索 — 梳理开源项目源码
📝 文档编写者 README、注释生成 — 生成项目文档
🖼️ 多模态 图片/PDF 理解 — 根据设计稿写代码

使用示例

1
2
3
4
5
6
7
@前端工程师 帮我把这个登录页改成响应式布局,移动端也要好看

@先知 审查一下 src/service/ 目录下的代码,找出潜在的性能问题

@探索者 查一下 React 19 的 Server Components 最新用法

@文档编写者 给整个项目生成一份 API 文档

切换主智能体

按 Tab 键可以切换当前对话的主智能体,适合长时间使用某个特定角色。


四、Timeline 时光机:随意试错,随时回退

编程中最怕什么?改了一大堆代码,发现方向错了,又回不去。Timeline 就是你的后悔药。

基本用法

1
/timeline    # 列出当前 Session 的每一步对话记录

选择任意节点:

  • Revert:代码和聊天内容同时回退到该节点,就像什么都没发生过
  • View:查看当时 AI 做了什么修改

实战场景

1
2
3
1. 你让 AI 重构了某个模块 → 效果不理想
2. /timeline → 选择重构前的节点 → Revert
3. 代码回到重构前,换个思路重新来

使用技巧

  • 🕐 完成一个阶段性任务后,在心里记下那个节点(第几次对话)
  • 🕐 大胆尝试激进方案——反正可以一键回退
  • 🕐 对比两个方案:Revert 到 A 方案 → 看看效果 → Revert 到 B 方案 → 对比

这就是编程版的"存档/读档",让你敢于探索任何可能性。


五、Ralph Loop:让 AI 死磕到底

这个模式会让 AI 持续循环工作,直到任务真正完成。适合那些需要反复迭代的硬骨头。

启动方式

1
/ralph-loop

适用场景

1
2
3
4
5
"使用 Spring Boot 4 最新标准重构整个项目,直到所有测试用例通过"

"逐个检查 src/ 下所有文件的代码规范,修复每一个违规项"

"为项目添加完整的单元测试,直到覆盖率达到 90%"

和 Ultra Work 的区别

对比维度 Ultra Work Ralph Loop
工作机制 并行拆分、多智能体协作 串行循环、持续迭代
适合场景 从零构建、多模块项目 重构、修复、达标类任务
耗时 几分钟到十几分钟 可能数小时
终点 任务拆解完成 满足终止条件

⚠️ Ralph Loop 可能运行很久,注意 API 额度消耗。


六、日常提速小技巧

1. 善用 /compact 节省上下文

当你和 AI 聊了很多轮,上下文窗口快满时:

1
/compact

AI 会把之前的对话提炼成一个摘要,释放空间继续工作。不需要开新对话丢失上下文。

2. 用 /init 让 AI 快速上手新项目

进入一个新项目时,先让 AI 通读代码:

1
/init

AI 会扫描整个项目,生成 agents.md 作为系统提示词。之后任何对话都会基于这个理解,效率大幅提升。

3. Share 分享你的编程过程

1
2
3
/share      # 生成分享链接,展示完整对话和代码修改
/unshare    # 取消分享,链接失效
/export     # 导出对话记录为文件

适合场景:

  • 给同事展示你是如何用 AI 解决某个问题的
  • 记录踩坑过程,供团队参考
  • 写博客时的素材

4. 查看可用模型

1
/models    # 带 free 标记的是免费模型

GLM-4.7 和 MiniMax-2.1 编程能力不错,适合轻量任务。

5. 快捷粘贴代码(VS Code 插件)

在 VS Code 中选中代码片段 → Ctrl + Alt + K → 直接粘贴到 OpenCode 对话框。

省去复制粘贴的切换成本,保持心流。


七、新手推荐工作流

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
┌─────────────────────────────────────────────┐
│                 拿到新需求                    │
└──────────────────┬──────────────────────────┘
                   │
                   ▼
          ┌────────────────┐
          │ 简单?          │
          └───┬────────┬───┘
              │ 是      │ 否(复杂/多模块)
              ▼         ▼
    ┌─────────────┐  ┌─────────────────┐
    │ 普通对话搞定  │  │ 输入 ULW 触发    │
    │             │  │ Ultra Work 模式  │
    └─────────────┘  └────────┬────────┘
                              │
                   ┌──────────▼──────────┐
                   │ 多个独立子任务?       │
                   └───┬──────────┬──────┘
                       │ 是        │ 否
                       ▼           ▼
              ┌─────────────┐ ┌──────────────┐
              │ /new 开多个   │ │ 等 Ultra Work │
              │ Session 并行  │ │ 自动完成       │
              └──────┬──────┘ └──────────────┘
                     │
                     ▼
              ┌─────────────┐
              │ /sessions    │
              │ 查看所有进度  │
              └──────┬──────┘
                     │
                     ▼
              ┌─────────────┐
              │ 某个方向错了? │
              └───┬─────────┘
                  │
                  ▼
              ┌─────────────┐
              │ /timeline →  │
              │ Revert 回退   │
              └─────────────┘

一句话总结

小活直接聊,大活喊 ULW,并行用 Session,错了就 Timeline 回退,死磕开 Ralph Loop。


八、一个真实案例

在 Oh My OpenAgent 安装完成后,想调整 Agent 模型配置——让 GitHub Copilot 作为主力,免费的 OpenCode Zen 作为备选。

第一次尝试

直接在 OpenCode 对话中说:

“其实我还有你免费的 OpenCode Zen,但是我已经登录 GitHub Copilot 了,你帮我修改一下”

AI 把 OpenCode Zen 设成了主力——因为没说清楚主次关系。❌

纠正

“不是,是 GitHub Copilot 作为主力,OpenCode Zen 自带的免费模型作为备选”

AI 立即修正,更新了 oh-my-openagent.json,所有 Agent 都用 github-copilot/* 为主、opencode/* 为 fallback。✅

💡 教训:跟 AI 描述需求时,主次关系一定要说清楚——“XX 作为主力,YY 作为备选”,不要只说"帮我加上 YY"。


📚 参考来源:OpenCode 全深度指南、Oh My OpenAgent 📅 笔记生成日期:2026-05-07

comments powered by Disqus
使用 Hugo 构建
主题 Stack 由 Jimmy 设计