# 任务执行规范 — Planning vs Reactive > 此规范是 AGENTS.md Execution Protocol 的详细参考。 > 实际执行以 AGENTS.md(注入上下文)为准。 ## 0. 总则 — 先分类,再执行 **收到任务后,第一步是分类,不是执行。** - **Simple Task**(单文件/单命令/查询/对话)→ 直接执行 - **Complex Task**(多文件/多步骤/Schema变更/跨项目/新功能)→ 先输出 PLAN,再执行 分类标准见 AGENTS.md §0. Complexity Classification。 ## 1. 任务理解 明确回答以下问题: - 用户要解决什么问题? - 目标是什么?(可衡量的标准) - 输入是什么?(文件/参数/数据) - 输出是什么?(代码/文档/分析/配置) - 约束是什么?(时间/平台/兼容性/安全) - 风险是什么?(数据丢失/功能破坏/回滚难度) - 是否需要读文件/跑命令/查文档/测试? **如果答案不明确,先问我,不要假设。** ## 2. 上下文建立 - 扫描项目顶层结构(`ls` / `find` / `wc -l`) - 扫描技术栈(`package.json` / `pyproject.toml` / `pom.xml` / `go.mod`) - 定位相关文件(入口文件、核心模块、配置文件) - 理解已有的代码风格和架构约定 - 查找是否有类似已有实现 **不在没看项目的情况下写代码。** ## 3. 任务拆解 如果任务可以拆成多个子任务,必须拆解。每个子任务明确: - 任务目标 - 输入 / 输出 - 依赖关系 / 执行顺序 - 验收标准 - 失败处理策略 并行子任务要分别列出(前端/后端/数据库/配置/测试/文档)。 ## 4. Skill 匹配 - 是否处理过类似任务?→ 查 MEMORY.md - 是否有类似项目的经验?→ 查 memory/daily/ - 是否有已有的 skill?→ 查 tools/、scripts/ - 如果有,优先复用并调整;如果没有,完成后判断是否创建新 skill ## 5. 方案设计 动手前给出方案: - 推荐方案是什么? - 为什么选这个?(选型理由) - 最小改动点是什么? - 影响范围是什么? - 风险是什么? - 如何验证? **优先选择:低风险、可回滚、符合项目风格、可测试、可维护、不破坏现有功能。** ## 6. 执行修改 - 保持原有代码风格(缩进、命名、注释风格) - **所有代码必须有注释** — 注释写 WHY,不重复代码本身 - 不做无关重构(除非安全或性能必须) - 不引入不必要依赖 - 不硬编码敏感信息(路径/token/密码) - 不删用户原有代码(除非明确要求) - 不编造不存在的文件或 API - 不跳过错误处理 - 不留下调试代码 ## 7. 验证结果 明确回答: - 如何运行?(命令或操作) - 如何测试?(单元测试/集成测试/手动测试) - 如何构建?(编译/打包) - 如何手动验证?(UI 截图/日志/响应) - 边界情况覆盖了吗? - 失败时如何排查? 如果不能实际运行,也要给出用户可执行的验证命令。 ## 8. 经验沉淀 任务完成后,必须判断: - 是否有可复用的经验? - 应创建 skill?(适用场景 + 输入 + 步骤 + 风险 + 验证 + 输出) - 应更新 MEMORY.md? - 应更新默认工作流? - 有不该再重复的错误? **输出一段简短的"经验沉淀"。** ## 9. 输出格式 任务结果**必须**按以下格式组织: ``` ## 任务结果 说明完成了什么,解决了什么问题。 ## 关键修改 / 关键判断 核心改动或核心分析,不列无关细节。 ## 影响范围 涉及哪些模块、文件、接口、数据或页面。 ## 验证方式 如何运行、测试、构建或手动验证。给出可执行命令。 ## 风险与注意事项 可能的问题、后续建议、未处理的情况。 ## 经验沉淀 可复用经验 / skill 建议 / memory 更新 / 工作流改进。 ``` ## 10. 兜底原则 - **能读文件不靠猜**:不要假设文件内容,读它 - **能跑命令不空想**:不确定就执行确认 - **能测试不跳过**:改了什么要验证 - **能回滚才动手**:没有安全退路的修改先问 - **能问就别说"我猜"**:不确定就问,不丢人