5.6 KiB
5.6 KiB
子计划 6:返工流程优化
目标
优化 Aide 工作流的返工流程,包括:
- 创建
reworkskill 提供返工指导 - 修改
/aide:run命令引用该 skill - 修改 aide-program 实现 back-confirm 机制
具体步骤
6.1 创建 rework skill
位置:aide-marketplace/aide-plugin/skills/rework/SKILL.md
内容结构:
# 返工流程指南
## 返工类型判断
| 返工目标 | 触发条件 | 处理方式 |
|----------|----------|----------|
| task-optimize | 新需求、需求理解偏差 | 更新 task.source |
| flow-design | 架构/流程设计问题 | 更新细则 + new-requirements.md |
| impl | 实现问题 | 更新细则 + new-requirements.md |
| verify | 验证未通过 | 更新细则 + new-requirements.md |
## 返工到 task-optimize 阶段
### 流程
1. `aide flow issue "准备返工: [原因简述]"`
2. 更新 task.source 文档:
- 插入用户新需求原文
- 记录提出时机
- 添加 LLM 建议(可选)
3. 提醒用户
4. 执行 `aide flow back-confirm --key [key]`
5. 执行 `aide flow back-part task-optimize "[原因]"`
### task.source 更新格式
在文档末尾添加:
```markdown
---
## 返工记录 [时间戳]
### 用户反馈
[用户原文]
### 提出时机
[在哪个阶段/步骤提出]
### LLM 建议
[如有]
返工到其他阶段
流程
aide flow issue "准备返工前处理需求整合: [原因简述]"- 创建/更新 new-requirements.md:
- 记录用户新需求原文
- 记录提出时机
- 更新细则文档:
- 在导览部分添加返工声明
- 梳理:已完成项、未完成项、需重新处理项
- 处理需求冲突
- 融入新需求
- 删除返工声明
- 提醒用户
- 执行
aide flow back-confirm --key [key] - 执行
aide flow back-part [阶段] "[原因]"
new-requirements.md 格式
# 新需求记录
## 返工 [时间戳]
### 用户反馈
[原文]
### 提出时机
[阶段/步骤]
### 影响分析
- 已完成项:[列表]
- 未完成项:[列表]
- 需重新处理:[列表]
### 冲突处理
[如何处理与原细则的冲突]
提醒用户
返工到 task-optimize
我将会对 task-now.md 进行更新,加入您的新需求和我的建议,然后更新流程状态返工到 task-optimize 阶段。建议您在流程状态返工后使用
/exit结束本次对话,重新启动一个新的对话执行 load+run,我将会自动接续任务的处理。
返工到其他阶段
我将会对 new-requirements.md 进行更新,加入您的新需求和我的建议,然后处理好您的新需求和原细则的需求冲突整合,然后更新流程状态返工到 [阶段] 阶段。建议您在流程状态返工后使用
/exit结束本次对话,重新启动一个新的对话执行 load+run,我将会自动接续任务的处理。
确认机制
返工前必须完成确认流程,详见 aide flow back-confirm 命令说明。
### 6.2 修改 /aide:run 命令
**位置**:`aide-marketplace/aide-plugin/commands/run.md`
**修改内容**:
在 confirm 阶段的返工流程部分添加:
```markdown
#### 6.3 返工流程
当用户发现问题或有新需求时:
**触发 rework skill**:
加载 `rework` skill 学习返工流程指南,按照指南完成返工处理。
6.3 修改 aide-program:back-confirm 机制
位置:aide-program/aide/flow/ 模块
新增命令:aide flow back-confirm --key <key>
实现逻辑:
-
back-part 命令修改:
- 执行前检查是否有待确认的 back 请求
- 如无确认,输出提示并生成随机 key
- 记录目标阶段和原因到状态文件
- 要求 LLM 确认已完成准备工作后执行 back-confirm
-
back-confirm 命令实现:
- 验证 key 是否匹配
- 匹配成功后:
- 读取状态文件中的目标阶段和原因
- 清理状态文件(删除
.aide/back-confirm-state.json) - 执行 back-part 操作
- 暂存所有更改:
git add . - 创建清洁提交:
git commit -m "[aide] 返工前清洁提交" - 输出警告:建议用户
/exit重新对话
数据流:
LLM 请求 back-part flow-design "设计遗漏"
│
↓
aide 检测未确认,记录目标和原因,生成 key "abc123",输出提示
│
↓
LLM 完成准备工作后,执行 back-confirm --key abc123
│
↓
aide 验证 key 成功 → 清理状态文件 → 执行 back-part → 创建清洁提交 → 输出警告
│
↓
结束(LLM 无需第三次请求)
6.4 状态存储
位置:.aide/back-confirm-state.json
格式:
{
"pending_key": "abc123",
"target_part": "flow-design",
"reason": "设计遗漏,需要补充",
"created_at": "2025-12-19T10:00:00+08:00"
}
注:验证成功后直接执行并清理状态文件,无需 confirmed 字段
验证标准
- rework skill 内容完整,指导清晰
- /aide:run 正确引用 rework skill
aide flow back-part在未确认时生成 key 并记录状态aide flow back-confirm --key正确验证 key 并直接执行 back-part- 执行后创建清洁提交
- 输出正确的警告信息
- 状态文件在完成后被清理
依赖
- 前置:无(独立任务)
- 后续:无
风险评估
- 风险等级:中
- 潜在影响:
- 确认机制增加操作复杂度
- 清洁提交可能与用户 git 工作流冲突
- 缓解措施:
- 提供清晰的操作提示
- 清洁提交信息明确标注来源
- 文档说明机制目的