docs: 更新自驱动规则文档,补充决策判据与细节

补充自主决策的具体范围、收尾规则,新增决策判据章节,细化暂停条件与沟通要求
This commit is contained in:
2026-07-04 15:29:47 +08:00
parent c93f45dcb8
commit eb8e1402bc
+37 -7
View File
@@ -10,8 +10,8 @@ alwaysApply: true
- **目标导向**:始终以用户最终目标为准绳,所有阶段产出都应服务于该目标。
- **闭环执行**:每个子任务必须走完"计划 → 实现 → 测试 → 文档 → 验证"五步;禁止跳步留半成品。
- **自主决策**:初始确认之后,实现路径、API 形态、重构范围等由 Agent 自行决断,不再逐项请示。
- **透明沟通**:每个阶段开始前用一句话说明意图;关键节点(完成、阻塞、转向)给简短更新;不复述内部思考。
- **自主决策**:初始确认之后,实现路径、API 形态、重构范围、文件命名、测试组织、错误修复策略等由 Agent 自行决断,不再逐项请示。**可逆操作(编辑文件、运行测试、修复 lint、调整实现)直接执行,不询问**;只有不可逆/高风险操作才暂停。
- **透明沟通**:每个阶段开始前用一句话说明意图;关键节点(完成、阻塞、转向)给简短更新;不复述内部思考,**不在收尾时停下询问"是否继续"或"是否提交"**——直接输出总结并结束
- **安全边界**:仅在高风险、不可逆操作或真正阻塞时才暂停找用户。
## 初始确认(一次性,仅在最开始)
@@ -75,18 +75,47 @@ alwaysApply: true
## 暂停条件(仅在以下情况中断自驱动找用户)
1. **歧义无法自决**:需求存在多种合理解读且无既有约定可循。
2. **高风险/不可逆操作**:删除文件、`git push --force`、`reset --hard`、删表、修改 CI 配置、修改 git config 等。
2. **高风险/不可逆操作**:删除文件、`git push --force`、`reset --hard`、删表、修改 CI 配置、修改 git config、卸载依赖等。
3. **不可恢复的失败**:根因不在本仓库、需外部环境/权限配合、或经两轮尝试仍无法定位。
4. **目标已达成**:验收标准全部满足,需用户确认是否扩展范围或收尾
5. **超出初始确认范围**:用户目标在执行中发现需要显著扩大范围或改变方向
4. **超出初始确认范围**:用户目标在执行中发现需要显著扩大范围或改变方向
5. **用户主动询问**:用户在对话中提出新问题或要求澄清
**注意**"目标已达成"**不是**暂停条件——验收标准全部满足后直接进入收尾并结束任务,不询问"是否扩展范围"或"是否提交"。
非以上情况,一律继续自驱动,不要为"求确认"而暂停。
## 决策判据:该问还是自决
遇到不确定时,按以下顺序判断:
1. **是否不可逆/高风险?** 是 → 暂停确认(如删除文件、`push --force`、修改 CI 配置、卸载依赖)。否 → 继续。
2. **是否在初始确认范围内?** 是 → 按确认执行,不询问。否 → 视为"超出初始确认范围",暂停。
3. **是否有既有约定可循?** 是 → 按约定执行(参考 `python-standards.md`、`project_memory.md`)。否 → 视为"歧义无法自决",暂停。
4. **是否可逆?** 是 → 直接执行,即使结果可能不完美(可在后续迭代修正)。否 → 暂停。
**可直接自决(不询问)的典型情况**:
- 测试失败、覆盖率不达标、lint/类型检查报错 → 定位根因并修复。
- 代码风格选择(命名、模块划分、参数顺序)→ 自决。
- 文件编辑、运行测试、运行校验命令 → 直接执行。
- 任务完成后输出收尾总结 → 直接输出,不询问下一步。
- 显式指定 `name` 参数以保持测试兼容性 → 自决。
- 重命名局部变量以避免遮蔽 → 自决。
**必须暂停询问的典型情况**
- 删除非临时文件、重命名公共模块/包。
- `git commit`/`push`/`force-push`/`reset --hard`/`clean -f`(除非用户已在初始确认中授权)。
- 引入新的运行时依赖(违反项目零依赖原则)。
- 修改 CI 配置、pre-commit 钩子、pyproject.toml 的工具链配置。
- 卸载或降级既有依赖。
## 沟通风格
- 阶段切换时一句话说明即可;不要把内部推理写给用户看。
- 完成子任务后用一两句总结改了什么、下一步做什么。
- 遇到阻塞时直接说明:卡在哪、试了什么、需要用户做什么。
- **不在收尾时询问"是否需要提交"或"是否扩展范围"**——直接输出总结并结束。用户后续若有新需求,由用户主动提出。
- 不使用 emoji,除非用户明确要求。
## 工具使用
@@ -98,6 +127,7 @@ alwaysApply: true
## 收尾
- 验收标准全部满足后,输出最终总结:交付物、关键决策、遗留事项、是否需要提交
- 不主动 `git commit`/`push`;用户明确要求时再执行,并按 `.trae/rules/git-commit-message.md` 风格写提交信息。
- 验收标准全部满足后,**直接输出最终总结并结束任务**:交付物、关键决策、遗留事项。
- **不询问**"是否需要提交"或"是否扩展范围";用户明确要求提交时再执行 `git commit`/`push`,并按 `.trae/rules/git-commit-message.md` 风格写提交信息。
- 若验收标准未全部满足,回到「计划」继续下一轮,不停下询问。
- 将本次会话的关键产出与决策更新到 memory,便于后续会话续接。