# Agent 任务拆解规范（v2）

> 2026-05-31 从红尘提供的拆解框架内化 + 自审迭代
> 本版本修复了 v1 的 6 个已知漏洞

## 核心原则

1. **Agent Package 是可被单个 Agent 独立完成的最小工作单元**
2. **优先考虑上下文容量**，不追求任务少，追求一次能完成
3. **禁止出现 XL 级任务**（耗时 > 120分钟）
4. **最大化并行能力**，多个 Agent 同时启动
5. **每个包必须有明确的风险评估**，不能无脑分工

## 任务拆解流程

```
Step1：构建项目全景图
  ├─ 产品层 / 前端层 / 后端层 / 数据层
  ├─ 中间件层 / 基础设施层 / 运维层 / 测试层
  └─ 形成系统架构地图（8层全覆盖）

Step2：构建模块树
  └─ 按业务域划分模块（用户系统/资源系统/评论系统...）
  └─ 每模块标注：P0/P1/P2/P3 优先级

Step3：构建依赖图
  ├─ 模块依赖（模块A → 模块B）
  ├─ 数据依赖（表A → 表B）
  ├─ API依赖（接口A → 接口B）
  └─ 开发顺序依赖（必须先做什么）

Step4：任务拆解（逐层）
  模块 → Feature → Task → Agent Package
  每步检查：是否拆到可独立交付的最小粒度？
```

## Agent Package 标准格式

```
## Agent-ID: P<优先级>-<序号>

### Objective
任务目标（一句话说清）

### Scope
影响范围（模块/层/文件范围）

### Inputs
需要阅读的文件（列出具体路径，≤15个）

### Outputs
需要产出的内容（代码/配置/文档/脚本）

### Dependencies
依赖哪些 Agent Package（用 ID 引用）

### Deliverables
交付物清单（具体文件路径）

### Acceptance Criteria
验收标准（可测试、可验证的条件）

### Risk Assessment
风险评估（每个包单独评估，见下方 Risk 分类）

### Estimated Complexity
复杂度评估（Small / Medium / Large，XL禁止）

### Efficiency Score
效率评分（1-10，[8,10]为合格，<8 需重构边界）
```

## Task Size 等级

| 等级 | 耗时 | 阅读文件 | 修改文件 | 新增代码 |
|------|------|----------|----------|----------|
| Small | 5-15min | ≤ 3 | ≤ 2 | ≤ 300行 |
| Medium | 15-45min | ≤ 8 | ≤ 5 | ≤ 800行 |
| Large | 45-120min | ≤ 15 | ≤ 10 | ≤ 1500行 |
| XL | > 120min | ❌ 禁止 | ❌ 禁止 | ❌ 禁止 |

## XL → Large 拆分策略

如果发现 XL，按以下策略拆解（不直接说"禁止"了事）：

```
XL 任务
├─ 跨模块拆分 → 每个模块独立为一个 Medium
├─ 跨层拆分   → 前端/后端/数据库各为一个 Medium
├─ 大文件拆分 → 核心逻辑 / 辅助逻辑 / 配置 各为一个 Small
├─ 复杂业务流 → 按步骤拆为链式 Small（A→B→C）
└─ 大代码量   → 按功能切片，每片 ≤ 300 行
```

## 效率评分规则

每个 Agent Package 从 4 个维度评分，加总后 [1, 10]：

```
Complexity（复杂度）：1=单文件修改，3=多文件联动，5=跨模块
Context Usage（上下文使用率）：1=读满15个文件，3=读8个，5=读3个
Dependency Count（依赖数）：1=依赖3+个包，3=依赖1-2个，5=零依赖
Parallelism（可并行度）：1=阻塞链中，3=可部分并行，5=完全独立
```

**公式：** `Score = (Complexity + Context + Dependencies + Parallelism) × 0.5`

**合格线：≥ 8**。低于 8 分继续拆分或重构任务边界。

## 风险分析

每个 Agent Package 必须评估以下风险，写出规避方式：

| 风险类型 | 检查项 |
|----------|--------|
| 架构风险 | 是否引入新依赖？是否改变模块边界？ |
| 数据风险 | 是否改数据库结构？是否有迁移脚本？ |
| 并发风险 | 是否有资源竞争？是否有锁问题？ |
| 安全风险 | 是否涉及鉴权？是否有输入校验？ |
| Agent 协作风险 | 依赖的其他包失败如何自救？ |
| 上下文超限风险 | 是否需要的上下文超出预算？ |

## Large 任务审查

只有 Large 及以上需要此审查：

```
## Large Task Justification

1. 为什么无法继续拆分？
2. 为什么需要多个文件协同？
3. 为什么仍适合单 Agent 完成？

如果解释不成立 → 自动重新拆分。
```

## 开发路线图

| 等级 | 内容 | 特征 |
|------|------|------|
| **P0** | 核心基础设施 | 数据库、认证、基础框架 |
| **P1** | 核心业务功能 | 主要业务逻辑、关键 API |
| **P2** | 增强功能 | 辅助业务、优化功能 |
| **P3** | 优化功能 | 性能、UI 打磨、文档 |

## 依赖图输出格式

```
P0-01: 用户模型（无依赖）
   ↓
P1-01: 注册API（依赖P0-01）
   ↓（可并行）
P1-02: 文章模型（无依赖）
   ↓
P2-01: 文章CRUD（依赖P1-01, P1-02）
```

## 最终自检

输出前逐项检查：

- [ ] 所有 Agent Package 总耗时是否 > 2小时？（每包单独评估，不是总时间）
- [ ] 是否存在 XL 任务？（不直接说"禁止"→ 给出拆分方案）
- [ ] 是否存在上下文超限任务？（阅读 > 15 文件？修改 > 10 文件？新增 > 1500 行？）
- [ ] 是否存在不可并行的阻塞链？（A→B→C→D→E 这种长链要优化）
- [ ] 是否存在跨业务域任务？（→ 必须拆分）
- [ ] 是否存在效率评分 < 8 的包？
- [ ] 是否存在没有风险评估的包？
- [ ] 是否存在循环依赖？

如果任意一项为"是" → 自动重新拆分 → 直到全部通过。
