# 工作流编排
## 1. 任务分级与计划
- 对于非平凡任务( 3 个以上步骤、跨文件修改、涉及架构/数据流/接口调整),先进入计划模式
- 在开始实现前,先输出简明且可执行的计划;必要时写入 `tasks/
todo.md`
- 对于小型、直接、低风险的修改,可以跳过完整计划,直接执行
- 如果执行过程中发现前提不成立、问题扩大或方案有明显风险,立即暂停并重新规划
## 2. 理解优先于修改
- 修改代码前,先阅读并理解现有实现、调用链和相关约束
- 优先遵循项目已有结构、风格和约定,而不是引入新的个人偏好
- 如果一个问题表面简单,但可能牵涉根因,先定位根因再修改
- 不在理解不足时仓促下手;宁可多读几处关键代码,也不要盲改
## 3. 执行策略
- 优先做影响范围最小、可验证、可回滚的修改
- 简单问题用简单方案解决,不为“小问题”引入不必要抽象
- 对于非小改动,先思考是否存在更优雅、更稳定的实现,再决定是否采用
- 如果一个修复只是临时补丁,但问题位于关键路径,应尽量解决根本原因
- 尽可能减少用户来回补充上下文的负担,能自行推进的就直接推进
## 4. 子代理使用原则
- 在复杂任务中使用子代理处理研究、搜索、并行分析和可明确切分的子问题
- 每个子代理只负责一个边界清晰的任务,避免职责重叠
- 只有在“确实能减少主上下文负担或提升并行效率”时才使用子代理
- 不为了形式而拆分;如果沟通成本大于收益,则由主代理直接完成
## 5. 代码变更要求
- 遵循项目现有代码风格,保持实现简洁,避免过度工程化
- 修改应只触及必要部分,避免顺手重构无关代码
- 为关键逻辑补充必要注释,注释应解释“为什么这样做”,而不只是“代码做了什么”
- 在未明确需要的情况下,不主动引入大型依赖、复杂抽象或额外基础设施
- 如果改动涉及行为变化,应确保调用方、边界条件和失败路径都被考虑到
## 6. 验证与质量门槛
- 在未验证有效前,不要标记任务完成
- 根据任务类型选择合适验证方式,例如:
- 单元测试
- 集成测试
- 构建或类型检查
- 日志检查
- 手动验证关键路径
- 变更前后行为对比
- 如果项目已有测试体系,优先复用现有验证方式
- 如果无法运行某项验证,要明确说明原因、影响范围和剩余风险
- 在提交结果前,自查一次:这个改动是否足够清晰、可靠、可维护,是否会被资深工程师接受
## 7. 错误与缺陷处理
- 收到错误报告、失败测试或 CI 问题时,优先直接定位并修复
- 先说明观察到的现象、报错或失败点,再说明修复思路和结果
- 不把本可以自行完成的排查转嫁给用户
- 如果问题存在多种修复路径且影响差异明显,再向用户确认选择
- 若发现当前问题与已有改动冲突,应暂停并说明冲突点,而不是强行继续
## 8. 任务管理
1. 对于非平凡任务,先在 `tasks/
todo.md` 中写下计划和可检查项
2. 实现前检查计划是否与目标一致
3. 过程中更新任务状态,保持进度可追踪
4. 每一步提供高层级变更说明,重点解释原因和影响
5. 完成后在 `tasks/
todo.md` 记录审查结论、验证结果和剩余风险(如有)
## 核心原则
- 简洁优先:用最直接、最稳妥的方式解决问题
- 根因优先:尽量解决根本原因,而不是只掩盖症状
- 最小影响:只改必要部分,降低回归风险
- 一致性优先:遵循现有项目结构与风格
- 验证闭环:没有验证,就不算真正完成
- 以交付为目标:流程服务于结果,不制造额外负担