取消任务 (Cancel)
取消任务 (Cancel)
Section titled “取消任务 (Cancel)”OMC 框架的紧急停止器 - 你的安全网
Cancel 是 OMC 框架的安全保障机制,让你可以安全地停止正在运行的任务。
为什么要了解 Cancel?
Section titled “为什么要了解 Cancel?”- ❌ 任务跑偏了但停不下来
- ❌ Ctrl+C 后丢失所有进度
- ❌ 强制停止后环境混乱
Cancel 的价值
Section titled “Cancel 的价值”- ✅ 自动保存进度
- ✅ 清理临时文件
- ✅ 保留工作上下文
- ✅ 可恢复状态
1. 任务取消
Section titled “1. 任务取消”基本命令:
/cancel # 取消当前任务特点:
- 安全停止
- 保存进度
- 清理资源
2. 强制取消(谨慎使用)
Section titled “2. 强制取消(谨慎使用)”/cancel --force # 强制取消警告:可能丢失未保存的数据
3. 带保存的取消
Section titled “3. 带保存的取消”/cancel --save # 保存进度后取消建议:尽量使用这个选项
Cancel 状态
Section titled “Cancel 状态”| 状态 | 说明 |
|---|---|
| Saving | 正在保存进度 |
| Cleaning | 正在清理资源 |
| Stopped | 已安全停止 |
| Error | 取消过程中出错 |
场景 1:任务方向错误
Section titled “场景 1:任务方向错误”正在: ralph 实现一个复杂功能发现: 理解错了需求,方向完全不对
操作: /cancel结果:- 保存当前代码- 记录已完成的步骤- 停止执行- 保留工作上下文
下一步: 重新规划,用 plan场景 2:需要处理紧急问题
Section titled “场景 2:需要处理紧急问题”正在: autopilot 执行大型重构突发: 生产环境出现紧急问题
操作: /cancel --save结果:- 保存重构进度- 记录已完成的部分- 停止重构
下一步: 处理紧急问题 → 回来继续重构场景 3:测试发现问题
Section titled “场景 3:测试发现问题”正在: ultraqa 运行完整测试发现: 某个测试一直失败,阻塞后续
操作: /cancel结果:- 停止测试- 保存测试日志- 保留进度
下一步: 修复测试问题 → 继续场景 4:误启动任务
Section titled “场景 4:误启动任务”正在: 做其他事情误操作: 启动了 autopilot
发现: 不是想要的任务
操作: /cancel结果: 安全停止,没有影响与 Autopilot/Ralph 的关系
Section titled “与 Autopilot/Ralph 的关系”Cancel 可以停止这些正在运行的任务:
| 技能 | 可取消 | 说明 |
|---|---|---|
| Autopilot | ✅ | 停止整个多任务流程 |
| Ralph | ✅ | 停止单个任务 |
| Team | ✅ | 停止团队协作 |
| Plan | ✅ | 停止规划 |
graph TD
A[收到取消请求] --> B{检查状态}
B -->|有进度| C[保存进度]
B -->|无进度| D[直接清理]
C --> E[清理临时文件]
D --> E
E --> F[停止任务]
F --> G[报告完成]
1. 进度检测
Section titled “1. 进度检测”Cancel 会检查:
- 已修改的文件
- 生成的输出
- 执行的命令
2. 保存机制
Section titled “2. 保存机制”保存内容:
- 文件修改
- 执行进度
- 状态信息
清理内容:
- 临时文件
- 测试数据
- 中间产物
✅ 应该这样做
Section titled “✅ 应该这样做”-
优先使用 /cancel
❌ Ctrl+C (会丢失上下文)✅ /cancel (安全停止) -
使用 —save 选项
/cancel --save (推荐) -
确认状态
/cancel 后检查状态confirm: Task stopped safely -
记录原因
/cancelreason: "需求理解错误,需要重新规划"
❌ 不要这样做
Section titled “❌ 不要这样做”-
不要用 Ctrl+C
❌ 在终端 Ctrl+C✅ 使用 /cancel 命令 -
不要轻易用 —force
❌ /cancel --force (危险)✅ /cancel (正常)✅ /cancel --save (推荐) -
不要在关键步骤取消
❌ 正在写入数据库时取消✅ 等待当前步骤完成 -
不要忽略错误状态
❌ cancel 报错后不管✅ 检查错误原因
Q: 取消后进度会丢失吗? A: 不会,Cancel 会自动保存已修改的文件。
Q: 可以恢复取消的任务吗? A: 可以通过保存的进度恢复,但不是自动的。
Q: cancel 和 stop 有什么区别? A: cancel 是 OMC 框架的命令,会处理进度;stop 是底层行为。
Q: 任务取消后可以重新开始吗? A: 可以,用相同参数重新启动即可。
继续学习: 学习路径 | 自动驾驶 (Autopilot)